Skip to content

fix(release): make AppDir world-readable/executable before packaging - #23

Merged
t0msk merged 1 commit into
masterfrom
fix/appimage-wrapped-permissions
Oct 30, 2026
Merged

t0msk merged 1 commit into
masterfrom
fix/appimage-wrapped-permissions

Conversation

@t0msk

@t0msk t0msk commented Oct 30, 2026

Copy link
Copy Markdown
Owner

linuxdeploy's AppRun.wrapped came off the GitHub-hosted runner at mode 750 (owner/group rwx, nothing for "other"), which squashfs bakes verbatim into the AppImage. AppImageHub's test bot runs the AppImage under firejail as neither the owning user nor group, so it only sees the "other" bits and gets "Permission denied" on exec - confirmed by extracting the published v0.2.0 asset and inspecting its permissions directly.

chmod -R a+rX on the AppDir before appimagetool runs adds world-read everywhere and world-execute only where an owner/group x bit already exists, so it can't turn a non-executable file into one.

linuxdeploy's AppRun.wrapped came off the GitHub-hosted runner at mode
750 (owner/group rwx, nothing for "other"), which squashfs bakes
verbatim into the AppImage. AppImageHub's test bot runs the AppImage
under firejail as neither the owning user nor group, so it only sees
the "other" bits and gets "Permission denied" on exec - confirmed by
extracting the published v0.2.0 asset and inspecting its permissions
directly.

chmod -R a+rX on the AppDir before appimagetool runs adds world-read
everywhere and world-execute only where an owner/group x bit already
exists, so it can't turn a non-executable file into one.
@t0msk
t0msk merged commit 90bd27f into master Oct 30, 2026
5 checks passed
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