feat(flathub): stage Flathub-strict manifest in packaging/flathub/ - #16
Merged
Merged
Conversation
Companion to the existing internal Flatpak build template — adds a
parallel, fully-pinned manifest formatted to Flathub's submission
policy (every source pinned by sha256 or tag+commit, no template
variables, no mutable branch refs).
Internal day-to-day Flatpak builds continue to use
packaging/linux/flatpak/org.amule.aMule.yaml.in (branch: master for
flexibility); the Flathub-strict version is parallel and standalone.
Differences from the internal template, by module:
- cryptopp: existing tag augmented with commit SHA.
- amule: branch ${AMULE_REVISION} replaced with tag + commit.
- everything else: ${...} template vars resolved to concrete values.
The amule commit SHA points at 3.0.0 for now and will be bumped to
the post-icon-refresh master tip once amule-org#15 lands.
…+ amule-project#17 PR amule-project#15 (icon refresh) and amule-project#17 (metainfo/desktop polish) have merged. The new master tip eb75041 carries both, so the Flathub build now ships with the higher-resolution icons, 3.0.0-tag-pinned screenshot URLs in metainfo, the <release> description + URL, and the .desktop GenericName/Keywords additions.
…project#19 Two updates piggybacked onto the same yaml since they target the same manifest block: 1. -DENABLE_BFD=NO config-opt for the amule module. Mirrors the change the internal flatpak manifest got in amule-project#19 — needed because the GNOME 49 runtime doesn't ship libbfd. Without this, the Flathub- built bundle would hit the same startup failure as the local bundle did before amule-project#19 (libbfd-2.46.so: cannot open shared object file, see amule-project#13). 2. amule source pin bumped from eb75041 (post-amule-project#15 + amule-project#17) to 6985ba0 (master tip including amule-project#19). Keeps the immutable commit reference aligned with the latest stabilisation work intended for the Flathub listing.
got3nks
marked this pull request as ready for review
June 8, 2026 16:10
got3nks
added a commit
that referenced
this pull request
Jun 14, 2026
…atforms
The macOS-only `std::_Exit(0)` block in OnExit() was added to dodge a
wxWebSessionURLSession dtor bug under wx 3.3.2. Turns out the
Linux backend (wxWebSessionCURL, wx 3.2.6) hits the same class of
shutdown crash: its dtor calls curl_multi_cleanup, libcurl invokes the
registered socket callback (wxWebSessionCURL::SocketCallback) to drop
tracked sockets, and that callback dereferences session state the
dtor's earlier steps have already torn down. wxASSERT fires,
wxFatalSignalHandler raise(SIGABRT)s.
Verified with a debug-symbol Flatpak + gdb on a user-supplied core,
fully symbolicated:
#19 main amule-gui.cpp:98
#18 wxEntry wx/init.cpp:500
#17 wxEntryCleanup wx/init.cpp:205
#16 wxModule::CleanUpModules wx/module.cpp:191
#15 wxModule::DoCleanUpModules wx/module.cpp:200
#14 wxRefCounterMT::DecRef
wxWebSession::Close wx/webrequest.cpp:1074
#13 wxWebSessionCURL::~wxWebSessionCURL wx/webrequest_curl.cpp:932
#12 wxWebSessionCURL::~wxWebSessionCURL wx/webrequest_curl.cpp:929
#11-#6 libcurl curl_multi_cleanup
#5 wxWebSessionCURL::SocketCallback wx/webrequest_curl.cpp:1047
#4 raise()
#3 wxFatalSignalHandler wx/unix/utilsunx.cpp:1523
#0 abort
Same justification used for the macOS guard applies on every
platform: by this point in OnExit we have saved state, joined
threads, and flushed logs -- nothing aMule-owned remains to clean up.
_Exit bypasses atexit and static destructors uniformly, so the buggy
wx dtor never runs and the process terminates cleanly.
Remove this once the upstream wx fix lands in a release we depend on.
Reported in #18.
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.
Summary
Stages the Flathub-strict version of the aMule Flatpak manifest in
packaging/flathub/for review and refresh tracking. This is the file we will submit toflathub/flathubto land aMule on the Flathub catalogue.The internal day-to-day Flatpak build keeps using
packaging/linux/flatpak/org.amule.aMule.yaml.in(template with${...}vars,branch: masterfor aMule); the Flathub-strict manifest is parallel and standalone.What's different from the internal template
cryptopptag: CRYPTOPP_${CRYPTOPP_TAG_SUFFIX}tag: CRYPTOPP_8_9_0+commit: 041cf66e...amulebranch: ${AMULE_REVISION}(defaultmaster)tag: 3.0.0+commit: <SHA>${...}template variablesAll other modules were already
archive+sha256pinned; no functional change. The runtime,finish-args,build-options, and cleanup rules are unchanged from the internal template.Blocked on
This PR is held in draft until #15 lands. That PR adds the higher-resolution Linux hicolor icons and pins the metainfo screenshot URLs to the 3.0.0 tag. If we submit Flathub before #15 merges, Flathub builds will render with the old 128×128 icon and screenshot URLs that drift with master.
When #15 lands, the
amulesource block will be updated to point at the new master tip:Flathub does not require the pin to be at a release tag — an immutable commit anywhere on a public branch is sufficient. The Flatpak still self-identifies as
3.0.0because the source's version macro is unchanged; only icons + a metainfo URL moved.Files
packaging/flathub/org.amule.aMule.yaml— the Flathub-strict manifest, 12 modules, all sources immutably pinned. YAML validated; every module is eitherarchive+sha256orgit+tag+commit, zero branch refs.packaging/flathub/README.md— workflow doc: why two manifests, how to refresh on release, how to submit toflathub/flathub.Next steps after this lands
amulecommit:to the new master tip.flathub/flathub, addorg.amule.aMule/org.amule.aMule.yaml(verbatim copy), open PR toflathub/flathub:new-pr.--filesystem=home, demonstrate domain ownership fororg.amule.aMule).