diff --git a/local-tool/installer/linux/build-appimage.sh b/local-tool/installer/linux/build-appimage.sh index b82a55a..566be86 100755 --- a/local-tool/installer/linux/build-appimage.sh +++ b/local-tool/installer/linux/build-appimage.sh @@ -140,8 +140,15 @@ chmod +x "$APPDIR/AppRun" echo "==> 檢查 appimagetool" if ! command -v appimagetool &> /dev/null; then echo "❌ appimagetool 未安裝。" - echo " 下載:https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-x86_64.AppImage" - echo " 安裝:chmod +x appimagetool-x86_64.AppImage && sudo mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool" + echo "" + echo " 一鍵安裝(推薦):" + echo " curl -fsSL https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -o /tmp/appimagetool \\" + echo " && chmod +x /tmp/appimagetool \\" + echo " && sudo mv /tmp/appimagetool /usr/local/bin/appimagetool" + echo "" + echo " 或重跑 bootstrap-linux.sh(會自動安裝所有依賴):" + echo " bash scripts/bootstrap-linux.sh" + echo "" exit 1 fi diff --git a/local-tool/scripts/bootstrap-linux.sh b/local-tool/scripts/bootstrap-linux.sh index 582b94c..88cea07 100755 --- a/local-tool/scripts/bootstrap-linux.sh +++ b/local-tool/scripts/bootstrap-linux.sh @@ -60,13 +60,27 @@ if ! command -v node >/dev/null || [[ "$(node -v)" != v20.* ]]; then fi command -v pnpm >/dev/null || sudo npm i -g pnpm -log "[4/5] 安裝 Wails CLI" +log "[4/6] 安裝 Wails CLI" if ! command -v wails >/dev/null; then go install github.com/wailsapp/wails/v2/cmd/wails@latest fi wails doctor || log "wails doctor 有警告,繼續" -log "[5/5] 開始 build(target=$TARGET)" +log "[5/6] 安裝 appimagetool(打包 AppImage 用)" +# appimagetool 只在 target=appimage 時才真的需要,但一併裝起來省事。 +# 官方 release 就是一個 self-contained AppImage,下載後 chmod +x 即可用。 +if ! command -v appimagetool >/dev/null; then + APPIMAGETOOL_URL="https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage" + log " → 下載 appimagetool from $APPIMAGETOOL_URL" + curl -fsSL "$APPIMAGETOOL_URL" -o /tmp/appimagetool + chmod +x /tmp/appimagetool + sudo mv /tmp/appimagetool /usr/local/bin/appimagetool + log " → 已安裝到 /usr/local/bin/appimagetool" +else + log " → appimagetool 已安裝,跳過" +fi + +log "[6/6] 開始 build(target=$TARGET)" log "ffmpeg 使用 LGPL v3 build(v2 TDD §4:BtbN n7.1 LGPL)" make vendor-python-linux vendor-wheels-linux vendor-ffmpeg-linux