diff --git a/rpi/sanitize-for-image.sh b/rpi/sanitize-for-image.sh index 6740a5d..613b9c0 100755 --- a/rpi/sanitize-for-image.sh +++ b/rpi/sanitize-for-image.sh @@ -292,16 +292,22 @@ if [ -n "$STEGASOO_DIR" ] && [ -d "$STEGASOO_DIR/venv" ]; then echo " Building jpegio for ARM64 (this may take a minute)..." # Install build deps sudo -u "$STEGASOO_USER" "$STEGASOO_DIR/venv/bin/pip" install --quiet cython numpy - JPEGIO_DIR=$(mktemp -d) - git clone --quiet https://github.com/dwgoon/jpegio.git "$JPEGIO_DIR" - # Apply patch to remove -m64 flag - if [ -f "$STEGASOO_DIR/rpi/patches/jpegio/apply-patch.sh" ]; then - bash "$STEGASOO_DIR/rpi/patches/jpegio/apply-patch.sh" "$JPEGIO_DIR" - else - sed -i "s/cargs.append('-m64')/pass # ARM64 fix/g" "$JPEGIO_DIR/setup.py" - fi - sudo -u "$STEGASOO_USER" "$STEGASOO_DIR/venv/bin/pip" install --quiet "$JPEGIO_DIR" + JPEGIO_DIR="/tmp/jpegio-build-$$" rm -rf "$JPEGIO_DIR" + if git clone https://github.com/dwgoon/jpegio.git "$JPEGIO_DIR" 2>/dev/null; then + # Apply patch to remove -m64 flag + if [ -f "$STEGASOO_DIR/rpi/patches/jpegio/apply-patch.sh" ]; then + bash "$STEGASOO_DIR/rpi/patches/jpegio/apply-patch.sh" "$JPEGIO_DIR" + else + sed -i "s/cargs.append('-m64')/pass # ARM64 fix/g" "$JPEGIO_DIR/setup.py" + fi + # Change ownership so user can build + chown -R "$STEGASOO_USER:$STEGASOO_USER" "$JPEGIO_DIR" + sudo -u "$STEGASOO_USER" "$STEGASOO_DIR/venv/bin/pip" install "$JPEGIO_DIR" + rm -rf "$JPEGIO_DIR" + else + echo " Warning: Failed to clone jpegio, DCT mode may not work" + fi fi sudo -u "$STEGASOO_USER" "$STEGASOO_DIR/venv/bin/pip" install --quiet -e "$STEGASOO_DIR[web]"