Skip to content

fix(linux): run appimagetool without FUSE or pre-extracted - #510

Open
jfb112697 wants to merge 1 commit into
NuvioMedia:Devfrom
jfb112697:fix/appimage-extract-and-run-env
Open

jfb112697 wants to merge 1 commit into
NuvioMedia:Devfrom
jfb112697:fix/appimage-extract-and-run-env

Conversation

@jfb112697

Copy link
Copy Markdown

Problem

scripts/linux/build-appimage.sh invokes appimagetool with the --appimage-extract-and-run CLI flag. That flag is intercepted by the AppImage runtime and never reaches the binary — but only when the invoked path is an actual (Type 2) AppImage. When APPIMAGETOOL points at an already-extracted AppRun (the standard workaround on hosts without libfuse2), the flag leaks through to appimagetool's own option parser and the build fails:

Option parsing failed: Unknown option --appimage-extract-and-run

Solution

Use the APPIMAGE_EXTRACT_AND_RUN=1 environment variable instead of the CLI flag. The runtime honors it identically, and non-AppImage executables simply ignore it, so both invocation styles work — including on hosts without libfuse2.

Testing

Built Nuvio-Linux-x86_64-0.1.21-alpha.AppImage (157 MB) locally both ways:

  • APPIMAGETOOL → extracted AppRun (previously failed with the error above) ✅
  • APPIMAGETOOL → real appimagetool 1.9.1 AppImage on a host without libfuse2 ✅

Pass APPIMAGE_EXTRACT_AND_RUN as an environment variable instead of the
--appimage-extract-and-run CLI flag. The flag is intercepted by the
AppImage runtime, so forwarding it to a non-AppImage executable (e.g. an
extracted AppRun from appimagetool --appimage-extract) makes appimagetool
fail with: Option parsing failed: Unknown option --appimage-extract-and-run.

The environment variable is ignored by non-AppImage executables and
achieves the same no-FUSE behavior on hosts without libfuse2.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant