Repository navigation
AppImage revival - #827
Draft
soredake wants to merge 43 commits into
Draft
AppImage revival#827soredake wants to merge 43 commits into
soredake wants to merge 43 commits into
Conversation
- Use uv for package management during development - Update the qt.py bindings - Replace packaging with pyinstaller
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the Windows Vista style with PySide6 on Windows.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
soredake
marked this pull request as draft
November 6, 2026 10:52
ci/appimage-script.sh now builds two AppImage variants using the official linuxdeploy: - appimage-2.0 (fuse2) for Ubuntu 22.04 and older - appimage-3.0 (fuse3) for Ubuntu 24.04 and newer New .github/workflows/appimage.yml builds and validates both variants with appimagelint on every push and pull request, uploading each as a separate artifact.
The --appimage-type flag belongs to appimagetool, not linuxdeploy core. The linuxdeploy-plugin-appimage is just a wrapper around appimagetool and does not expose that flag. Now downloads appimagetool directly from AppImageKit and uses it with --appimage-type to build both fuse2 (appimage-2.0) and fuse3 (appimage-3.0) variants from the same AppDir.
… variants" This reverts commit 19bce60.
Remove the --appimage-type flag from the linuxdeploy command (that flag belongs to appimagetool, not linuxdeploy, and caused 'Flag could not be matched'). Per the linuxdeploy user guide, linuxdeploy builds the AppDir; --appimage-type is selected via appimagetool (which linuxdeploy's appimage plugin wraps). Build the AppDir with linuxdeploy, then use appimagetool with --appimage-type=appimage-2.0 (fuse2, Ubuntu 22.04 and older) and --appimage-type=appimage-3.0 (fuse3, Ubuntu 24.04 and newer) to produce both variants from the same AppDir.
Hardcoded /usr/lib/x86_64-linux-gnu/ paths failed when a library was not present at that exact location on the CI runner (e.g. libxkbcommon-x11.so.0). Add a resolve_lib() helper that checks common multiarch paths then falls back to ldconfig, and use it for all -l flags passed to linuxdeploy. Also install libxkbcommon-x11-0, libxcb1 and libglib2.0-0 in CI so the libraries exist.
… appimagetool Remove --appimage-type (not implemented in the available appimagetool, '--appimage-type=appimage-3.0 is not yet implemented'). Build the AppDir with linuxdeploy per its user guide, then create both AppImages with plain appimagetool (no type flag) from the same AppDir, named per target Ubuntu version: - Syncplay-<ver>-x86_64.AppImage (fuse2, Ubuntu 22.04 and older) - Syncplay-<ver>-fuse3-x86_64.AppImage (fuse3, Ubuntu 24.04 and newer) Download appimagetool from the new AppImage/appimagetool repo (the old AppImage/AppImageKit continuous release is marked obsolete).
The appdata.xml screenshot element had mismatched tags (img vs screenshot), causing appstreamcli to fail validation and the fuse3 build to fail. Fix the opening/ending tag mismatch so AppStream metadata parses cleanly.
appstreamcli fails with screenshot-no-media because it cannot fetch or validate media from the syncplay.pl screenshot URL. Remove the screenshots block so AppStream metadata passes validation (content-rating-missing and developer-info-missing are only informational, not errors).
…r variant The script previously produced identical AppImages for both variants (no fuse library was bundled at all, and --appimage-type is unimplemented). Now each variant runs linuxdeploy separately with FUSE_LIB set so the matching shared library is bundled into the AppDir: - fuse2 variant bundles libfuse.so.2 (Ubuntu 22.04 and older) - fuse3 variant bundles libfuse3.so.3 (Ubuntu 24.04 and newer) Each CI job still installs both libfuse2 and libfuse3 so appimagetool can run on either runner, but the resulting AppImages now differ in their fuse dependency.
appimage-fuse2 job installs only libfuse2 (Ubuntu 22.04 runner). appimage-fuse3 job installs only libfuse3-3 (Ubuntu 24.04 runner). The matching fuse shared library is bundled into each AppImage by linuxdeploy via FUSE_LIB.
soredake
force-pushed
the
modern-appimage
branch
from
November 6, 2026 11:02
43d0c30 to
cbcde1f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Based on https://github.com/soredake/syncplay/tree/modernize-project-setup
Latest fuse3 artifact https://github.com/soredake/syncplay/actions/runs/42207254749/artifacts/13498095377
Latest fuse2 artifact https://github.com/soredake/syncplay/actions/runs/42207254749/artifacts/13496819754