From 56c3e9c46d9044bb52d46d5e5ea2b9b8c80510ea Mon Sep 17 00:00:00 2001 From: JieXu Date: Mon, 8 Sep 2025 18:02:54 +0800 Subject: [PATCH] Fix package-appimage.sh bugs. (#7904) * Update package-appimage.sh * Delete pkg2appimage.yml --- package-appimage.sh | 75 ++++++++++++++++++++++++++++++++++++++------- pkg2appimage.yml | 37 ---------------------- 2 files changed, 64 insertions(+), 48 deletions(-) delete mode 100644 pkg2appimage.yml diff --git a/package-appimage.sh b/package-appimage.sh index 77df287b..6a8bfcca 100644 --- a/package-appimage.sh +++ b/package-appimage.sh @@ -1,14 +1,67 @@ #!/bin/bash +set -euo pipefail +# Install deps sudo apt update -y -sudo apt install -y libfuse2 -wget -O pkg2appimage https://github.com/AppImageCommunity/pkg2appimage/releases/download/continuous/pkg2appimage-1eceb30-x86_64.AppImage -chmod a+x pkg2appimage -export AppImageOutputArch=$OutputArch -export OutputPath=$OutputPath64 -./pkg2appimage ./pkg2appimage.yml -mv out/*.AppImage v2rayN-${AppImageOutputArch}.AppImage -export AppImageOutputArch=$OutputArchArm -export OutputPath=$OutputPathArm64 -./pkg2appimage ./pkg2appimage.yml -mv out/*.AppImage v2rayN-${AppImageOutputArch}.AppImage +sudo apt install -y libfuse2 wget file + +# Get tools +wget -qO appimagetool https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage +chmod +x appimagetool + +# x86_64 AppDir +APPDIR_X64="AppDir-x86_64" +rm -rf "$APPDIR_X64" +mkdir -p "$APPDIR_X64/usr/lib/v2rayN" "$APPDIR_X64/usr/bin" "$APPDIR_X64/usr/share/applications" "$APPDIR_X64/usr/share/pixmaps" +cp -rf "$OutputPath64"/* "$APPDIR_X64/usr/lib/v2rayN" || true +[ -f "$APPDIR_X64/usr/lib/v2rayN/v2rayN.png" ] && cp "$APPDIR_X64/usr/lib/v2rayN/v2rayN.png" "$APPDIR_X64/usr/share/pixmaps/v2rayN.png" || true +[ -f "$APPDIR_X64/usr/lib/v2rayN/v2rayN.png" ] && cp "$APPDIR_X64/usr/lib/v2rayN/v2rayN.png" "$APPDIR_X64/v2rayN.png" || true + +printf '%s\n' '#!/bin/sh' 'HERE="$(dirname "$(readlink -f "$0")")"' 'cd "$HERE/usr/lib/v2rayN"' 'exec "$HERE/usr/lib/v2rayN/v2rayN" "$@"' > "$APPDIR_X64/AppRun" +chmod +x "$APPDIR_X64/AppRun" +ln -sf usr/lib/v2rayN/v2rayN "$APPDIR_X64/usr/bin/v2rayN" +cat > "$APPDIR_X64/v2rayN.desktop" < "$APPDIR_ARM64/AppRun" +chmod +x "$APPDIR_ARM64/AppRun" +ln -sf usr/lib/v2rayN/v2rayN "$APPDIR_ARM64/usr/bin/v2rayN" +cat > "$APPDIR_ARM64/v2rayN.desktop" < usr/lib/v2rayN/NotStoreConfigHere.txt - - ln -sf usr/lib/v2rayN/v2rayN usr/bin/v2rayN - - chmod a+x usr/lib/v2rayN/v2rayN - - find usr -type f -exec sh -c 'file "{}" | grep -qi "executable" && chmod +x "{}"' \; - - install -Dm644 usr/lib/v2rayN/v2rayN.png v2rayN.png - - install -Dm644 usr/lib/v2rayN/v2rayN.png usr/share/pixmaps/v2rayN.png - - cat > v2rayN.desktop < AppRun <<\EOF - - #!/bin/sh - - HERE="$(dirname "$(readlink -f "${0}")")" - - cd ${HERE}/usr/lib/v2rayN - - exec ${HERE}/usr/lib/v2rayN/v2rayN $@ - - EOF - - chmod a+x AppRun