Redirect the per-channel build scratch to /dev/shm and skip UPX, a big win when building from a USB stick / SD card (I/O-bound on flash): - TMPDIR + PIP_CACHE_DIR -> tmpfs - PyInstaller: --workpath -> tmpfs (PYI_WORKPATH); UPX off via TESTIUM_NO_UPX - Flatpak: build dir + ostree repo -> tmpfs (FLATPAK_BUILDDIR/REPODIR); the .flatpak-builder download cache stays on disk - AppImage: bind-mount a tmpfs dir at the in-container AppDir path (APPIMAGE_APPDIR_TMPFS) Scratch is freed on exit. Each build.sh honors the env vars with on-disk defaults, so behavior is unchanged without --ram. With --ram, prefer --serial on RAM-limited machines (flatpak+appimage are ~1 GB each). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
21 lines
546 B
Bash
Executable File
21 lines
546 B
Bash
Executable File
#! /bin/env sh
|
|
|
|
SCRIPT_DIR=$(realpath $( dirname "$0"))
|
|
|
|
rm -rf "${SCRIPT_DIR}/build" "${SCRIPT_DIR}/dist"
|
|
|
|
pwd=$(pwd)
|
|
cd ${SCRIPT_DIR}
|
|
# PYI_WORKPATH (set by build_all --ram) puts the big intermediate build tree on
|
|
# tmpfs; dist/ stays local so build_all can collect the binary.
|
|
WORKARG=""
|
|
[ -n "$PYI_WORKPATH" ] && WORKARG="--workpath $PYI_WORKPATH"
|
|
pyinstaller $WORKARG testium.spec
|
|
RESULT=$?
|
|
if [ -n "$1" ] && [ "$1" = "install" ]; then
|
|
if [ $RESULT -eq 0 ]; then
|
|
install -v "dist/testium" "${HOME}/.local/bin/"
|
|
fi
|
|
fi
|
|
cd $pwd
|