Skip to content

packaging: standardise release-asset filenames around <OS>-<arch> naming - #789

Merged
mrjimenez merged 1 commit into
amule-project:masterfrom
got3nks:chore/release-artifact-naming
May 31, 2026
Merged

packaging: standardise release-asset filenames around <OS>-<arch> naming#789
mrjimenez merged 1 commit into
amule-project:masterfrom
got3nks:chore/release-artifact-naming

Conversation

@got3nks

@got3nks got3nks commented May 31, 2026

Copy link
Copy Markdown
Contributor

Standardises the release-asset naming around <OS>-<arch> per #764.

Filename changes

Asset Before After
Windows installer aMule-<version>-Setup-x64.exe aMule-<version>-Windows-Setup-x64.exe
Windows installer aMule-<version>-Setup-arm64.exe aMule-<version>-Windows-Setup-arm64.exe
AppImage aMule-<version>-x86_64.AppImage aMule-<version>-Linux-x64.AppImage
AppImage aMule-<version>-aarch64.AppImage aMule-<version>-Linux-arm64.AppImage
Flatpak aMule-<version>-x86_64.flatpak aMule-<version>-Linux-x64.flatpak
Flatpak aMule-<version>-aarch64.flatpak aMule-<version>-Linux-arm64.flatpak

Unchanged (already conform to the scheme):

  • Windows portable: aMule-<version>-Windows-x64.zip / aMule-<version>-Windows-arm64.zip
  • macOS: aMule-<version>-macOS-universal2.dmg
  • Source tarball: aMule-<version>.tar.gz

Notes

linuxdeploy / appimagetool still receive the uname-spelling arch (x86_64 / aarch64) so the AppImage metadata still validates against the host; only the final artefact filename uses x64 / arm64.

packaging/linux/appimage/AppRun now strips both spellings (-x64 / -arm64 and -x86_64 / -aarch64) plus the new -Linux marker before argv[0] dispatch, so symlinks like amuled, amulecmd, amulegui, amuleweb, ed2k keep working regardless of which filename the AppImage ships under.

NSIS installer.nsi is unchanged — it consumes whatever portable tree cmake --install produced, so the .zip and the .exe always carry identical content.

Flathub's external-data-checker watches the manifest source URL, not the bundled .flatpak filename, so this rename is safe for any future Flathub recipe.

No release has shipped under the old names yet (only CI-event artefacts), so this is a no-cost rename.

Refs #764.

Insert the OS name in every release artefact and switch the Linux
artefacts from the uname spelling (x86_64 / aarch64) to the release-asset
spelling (x64 / arm64). Tracks amule-project#764.

Renames (version omitted for brevity):

  Windows installer  aMule-Setup-x64.exe     -> aMule-Windows-Setup-x64.exe
  Windows installer  aMule-Setup-arm64.exe   -> aMule-Windows-Setup-arm64.exe
  AppImage           aMule-x86_64.AppImage   -> aMule-Linux-x64.AppImage
  AppImage           aMule-aarch64.AppImage  -> aMule-Linux-arm64.AppImage
  Flatpak            aMule-x86_64.flatpak    -> aMule-Linux-x64.flatpak
  Flatpak            aMule-aarch64.flatpak   -> aMule-Linux-arm64.flatpak

Already conformant (unchanged):

  Windows portable   aMule-Windows-x64.zip
  Windows portable   aMule-Windows-arm64.zip
  macOS              aMule-macOS-universal2.dmg
  Source tarball     aMule-<version>.tar.gz

linuxdeploy / appimagetool still receive the uname-spelling arch so the
AppImage metadata validates against the host; only the final artefact
filename uses x64 / arm64. The AppRun argv[0] dispatcher now strips both
new (-x64 / -arm64) and legacy (-x86_64 / -aarch64) suffixes plus the
new -Linux marker so existing symlinks (amuled, amulecmd, ...) keep
working.

NSIS installer.nsi is unchanged; it wraps whatever portable tree
'cmake --install' produced, so the .zip and the .exe still carry
identical contents.

Flathub's external-data-checker watches the manifest source URL, not
the bundled .flatpak filename, so the rename is safe for any future
Flathub recipe.
@mrjimenez
mrjimenez merged commit 58d6a6f into amule-project:master May 31, 2026
7 checks passed
@mrjimenez mrjimenez added the packaging Package related stuff label May 31, 2026
@got3nks
got3nks deleted the chore/release-artifact-naming branch June 3, 2026 14:15
got3nks added a commit to got3nks/amule that referenced this pull request Jun 4, 2026
…ndex

Adds 55+ merged PRs to the 3.0.0 changelog since the last update
(amule-project#747, 2026-05-27). Narrative additions cover:

- Packaging: expanded the top list to include the macOS per-arch .app
  bundles and the Windows NSIS installer alongside the existing
  AppImage / Flatpak / .dmg / .zip entries. New bullets for amule-project#785
  (alc/alcc/cas/wxcas everywhere + Windows amuleweb), amule-project#794 (.dmg
  amuleweb path), amule-project#789 (<OS>-<arch> artifact naming), amule-project#780 / amule-project#796
  (Windows DPI + comctl32 manifest), amule-project#784 (FHS share/amule paths).

- Bug Fixes & Stability: post-amule-project#744 fixes including EC notification
  leak (amule-project#797), big-library scaling (amule-project#736, amule-project#840 superseding amule-project#728),
  amulegui ghost entries (amule-project#810, amule-project#819, amule-project#841, amule-project#824, amule-project#830, amule-project#760),
  PartFile early hash (amule-project#762), server protocol fixes (amule-project#835, amule-project#788,
  amule-project#721, amule-project#787), crypto stream UB (amule-project#779), UAF prevention (amule-project#756),
  Kad rotation (amule-project#795, amule-project#799/amule-project#805), GTK warning silencing (amule-project#833,
  amule-project#826/amule-project#836), and the clang-tidy worklist (amule-project#770, amule-project#772-amule-project#774).

- Translations: late-cycle wave covering French/Turkish manpages
  (amule-project#753/amule-project#754/amule-project#776), Galician (amule-project#763), Slovenian (amule-project#771), pt-BR
  (amule-project#768/amule-project#775/amule-project#812), French (amule-project#811), plus man-page tooling for
  date+version drift (amule-project#802).

- Contributors: added ngosang for UX feedback on the late-3.0
  cycle (amule-project#817/amule-project#818/amule-project#821/amule-project#828/amule-project#844) and ongoing work on the
  user-facing manual at amule-org.github.io.

- Merged PRs flat index: extended with amule-project#746-amule-project#845 + amule-project#841.
got3nks added a commit to got3nks/amule that referenced this pull request Jun 4, 2026
…ndex

Adds 55+ merged PRs to the 3.0.0 changelog since the last update
(amule-project#747, 2026-05-27). Narrative additions cover:

- Packaging: expanded the top list to include the macOS per-arch .app
  bundles and the Windows NSIS installer alongside the existing
  AppImage / Flatpak / .dmg / .zip entries. New bullets for amule-project#785
  (alc/alcc/cas/wxcas everywhere + Windows amuleweb), amule-project#794 (.dmg
  amuleweb path), amule-project#789 (<OS>-<arch> artifact naming), amule-project#780 / amule-project#796
  (Windows DPI + comctl32 manifest), amule-project#784 (FHS share/amule paths).

- Bug Fixes & Stability: post-amule-project#744 fixes including EC notification
  leak (amule-project#797), big-library scaling (amule-project#736, amule-project#840 superseding amule-project#728),
  amulegui ghost entries (amule-project#810, amule-project#819, amule-project#841, amule-project#824, amule-project#830, amule-project#760),
  PartFile early hash (amule-project#762), server protocol fixes (amule-project#835, amule-project#788,
  amule-project#721, amule-project#787), crypto stream UB (amule-project#779), UAF prevention (amule-project#756),
  Kad rotation (amule-project#795, amule-project#799/amule-project#805), GTK warning silencing (amule-project#833,
  amule-project#826/amule-project#836), and the clang-tidy worklist (amule-project#770, amule-project#772-amule-project#774).

- Translations: late-cycle wave covering French/Turkish manpages
  (amule-project#753/amule-project#754/amule-project#776), Galician (amule-project#763), Slovenian (amule-project#771), pt-BR
  (amule-project#768/amule-project#775/amule-project#812), French (amule-project#811), plus man-page tooling for
  date+version drift (amule-project#802).

- Contributors: added ngosang for UX feedback on the late-3.0
  cycle (amule-project#817/amule-project#818/amule-project#821/amule-project#828/amule-project#844) and ongoing work on the
  user-facing manual at amule-org.github.io.

- Merged PRs flat index: extended with amule-project#746-amule-project#845 + amule-project#841.
mrjimenez pushed a commit that referenced this pull request Jun 4, 2026
Adds 55+ merged PRs to the 3.0.0 changelog since the last update
(#747, 2026-05-27). Narrative additions cover:

- Packaging: expanded the top list to include the macOS per-arch .app
  bundles and the Windows NSIS installer alongside the existing
  AppImage / Flatpak / .dmg / .zip entries. New bullets for #785
  (alc/alcc/cas/wxcas everywhere + Windows amuleweb), #794 (.dmg
  amuleweb path), #789 (<OS>-<arch> artifact naming), #780 / #796
  (Windows DPI + comctl32 manifest), #784 (FHS share/amule paths).

- Bug Fixes & Stability: post-#744 fixes including EC notification
  leak (#797), big-library scaling (#736, #840 superseding #728),
  amulegui ghost entries (#810, #819, #841, #824, #830, #760),
  PartFile early hash (#762), server protocol fixes (#835, #788,
  #721, #787), crypto stream UB (#779), UAF prevention (#756),
  Kad rotation (#795, #799/#805), GTK warning silencing (#833,
  #826/#836), and the clang-tidy worklist (#770, #772-#774).

- Translations: late-cycle wave covering French/Turkish manpages
  (#753/#754/#776), Galician (#763), Slovenian (#771), pt-BR
  (#768/#775/#812), French (#811), plus man-page tooling for
  date+version drift (#802).

- Contributors: added ngosang for UX feedback on the late-3.0
  cycle (#817/#818/#821/#828/#844) and ongoing work on the
  user-facing manual at amule-org.github.io.

- Merged PRs flat index: extended with #746-#845 + #841.
got3nks added a commit to got3nks/amule that referenced this pull request Aug 4, 2026
…roject#789)

xgettext is told what to read with --files-from=po/POTFILES.in, so a source
file absent from that list is never scanned: its _() strings never reach
po/amule.pot, never reach Weblate, and render in English in every language
however complete the translation is. Six files were absent, two of them
since 2005 and four added this year.

Nothing could have caught it. The catalogs-in-sync job regenerates the
template from the same list, so the check and the fault share a blind spot --
the catalogs really were in sync with everything that was scanned. Weblate
reports a language as fully translated for the same reason: it only knows
about strings that made it into the template.

Seven strings were being lost. The user-visible one is the dialog that
explains why a directory inside a recursive share cannot be modified, which
is where this surfaced; the rest are log lines from the shared-dir watcher,
the upload thread and the GeoIP database loader. The other two files'
strings already existed in the catalog under an identical msgid from
another source file, so they were translated by accident rather than by
being scanned.

check-potfiles.sh closes the gap: every file whose source marks a string
must appear in the list, and every listed file must exist. It matches only
where the keyword opens a string literal, which is the only form xgettext
can extract anyway and which keeps XPM pixmap rows -- full of "_ (" -- from
registering as translation calls. It runs in the pot-sync job ahead of the
regeneration, so the failure names the file to add rather than surfacing as
drift afterwards.

Checked by mutation in both directions: dropping an entry fails the gate
naming that file, and adding a line for a file that does not exist fails it
too.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

packaging Package related stuff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants