From 8b73217ff81ecf50815c83e2782f699589a7e14c Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Tue, 19 Aug 2025 17:37:36 -0700 Subject: [PATCH 1/2] remove libwayland from appimage? --- .github/workflows/build.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8b9d267..71c7de1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -198,6 +198,43 @@ jobs: src-tauri/target/${{ inputs.target }}/release/bundle/macos/*.app retention-days: 30 + - name: Remove libwayland-client.so from AppImage + if: contains(inputs.platform, 'ubuntu') + run: | + # Find the AppImage file + APPIMAGE_PATH=$(find src-tauri/target/release/bundle/appimage -name "*.AppImage" | head -1) + + if [ -n "$APPIMAGE_PATH" ]; then + echo "Processing AppImage: $APPIMAGE_PATH" + + # Make AppImage executable + chmod +x "$APPIMAGE_PATH" + + # Extract AppImage + cd "$(dirname "$APPIMAGE_PATH")" + APPIMAGE_NAME=$(basename "$APPIMAGE_PATH") + EXTRACT_DIR="${APPIMAGE_NAME%.AppImage}_extracted" + + "./$APPIMAGE_NAME" --appimage-extract + + # Remove libwayland-client.so files + find squashfs-root -name "libwayland-client.so*" -delete + + # Get appimagetool + wget -q https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage + chmod +x appimagetool-x86_64.AppImage + + # Repackage AppImage + ARCH=x86_64 ./appimagetool-x86_64.AppImage squashfs-root "$APPIMAGE_NAME" + + # Clean up + rm -rf squashfs-root appimagetool-x86_64.AppImage + + echo "libwayland-client.so removed from AppImage" + else + echo "No AppImage found to process" + fi + - name: Upload artifacts (Linux) if: inputs.upload-artifacts && contains(inputs.platform, 'ubuntu') uses: actions/upload-artifact@v4 From c8aa9e84f4e056408bc4a90a95578369228cb026 Mon Sep 17 00:00:00 2001 From: CJ Pais Date: Tue, 19 Aug 2025 17:53:51 -0700 Subject: [PATCH 2/2] try fuse --- .github/workflows/build.yml | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 71c7de1..f638121 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -198,6 +198,12 @@ jobs: src-tauri/target/${{ inputs.target }}/release/bundle/macos/*.app retention-days: 30 + - name: Install FUSE for AppImage processing + if: contains(inputs.platform, 'ubuntu') + run: | + sudo apt-get update + sudo apt-get install -y fuse libfuse2 + - name: Remove libwayland-client.so from AppImage if: contains(inputs.platform, 'ubuntu') run: | @@ -213,24 +219,32 @@ jobs: # Extract AppImage cd "$(dirname "$APPIMAGE_PATH")" APPIMAGE_NAME=$(basename "$APPIMAGE_PATH") - EXTRACT_DIR="${APPIMAGE_NAME%.AppImage}_extracted" + # Extract using the AppImage itself "./$APPIMAGE_NAME" --appimage-extract # Remove libwayland-client.so files - find squashfs-root -name "libwayland-client.so*" -delete + echo "Removing libwayland-client.so files..." + find squashfs-root -name "libwayland-client.so*" -type f -delete + + # List what was removed for verification + echo "Files remaining in lib directories:" + find squashfs-root -name "lib*" -type d | head -5 | while read dir; do + echo "Contents of $dir:" + ls "$dir" | grep -E "(wayland|fuse)" || echo " No wayland/fuse libraries found" + done # Get appimagetool wget -q https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage chmod +x appimagetool-x86_64.AppImage - # Repackage AppImage - ARCH=x86_64 ./appimagetool-x86_64.AppImage squashfs-root "$APPIMAGE_NAME" + # Repackage AppImage with no-appstream to avoid warnings + ARCH=x86_64 ./appimagetool-x86_64.AppImage --no-appstream squashfs-root "$APPIMAGE_NAME" # Clean up rm -rf squashfs-root appimagetool-x86_64.AppImage - echo "libwayland-client.so removed from AppImage" + echo "libwayland-client.so removed from AppImage successfully" else echo "No AppImage found to process" fi