feat/release-page #2

Merged
notazof merged 35 commits from feat/release-page into main 2026-08-17 19:56:11 +01:00
Showing only changes of commit c0c5027001 - Show all commits

debian/rules: drop override_dh_strip entirely
Some checks failed
Forgejo Release postit-deb / release (push) Failing after 4m42s

Previous fix (--exclude=*.so --no-automatic-dbgsym) failed because
dh_strip does MULTIPLE strip passes (--strip-unneeded,
--strip-debug, --only-keep-debug), and objcopy's ARM64-format
recognition issue surfaces again in a pass that does not honour
--exclude:

  strip: Unable to recognise the format of the input file
  `debian/postit/usr/lib/postit/libHarfBuzzSharp.so'
  dh_strip: error: strip --remove-section=.comment ... returned exit code 1

The cleanest fix is to skip dh_strip entirely. The cost is minor
for our use case (no strip on managed DLLs saves a few KB; no
postit-dbg auto-package — the debug info in libHarfBuzzSharp /
libSkiaSharp is from Avalonia deps, not our code).

If stripping becomes important, the proper fix is binutils-multiarch
(multi-arch objcopy) in the container runner. Out of scope here.

Discovered via Forgejo Actions run #9 on tag 1.0.6.
Paul Schneider 2026-08-17 16:52:18 +01:00
No known key found for this signature in database
GPG key ID: 1E66C65EE2B46F1B

24
debian/rules vendored
View file

@ -129,27 +129,9 @@ override_dh_shlibdeps:
dh_shlibdeps dh_shlibdeps
override_dh_strip: override_dh_strip:
# --exclude=.pdb : .NET génère des .pdb même en Release, ils # dh_strip disabled entirely. See MEMORY.md / AGENTS.md for the
# ne sont pas strippables proprement. # rationale (cross-compiled native .so via NuGet from Avalonia
# --exclude=*.so : Avalonia dépend de HarfBuzzSharp et SkiaSharp # deps cannot be parsed by amd64 objcopy/strip).
# qui livrent leurs .so pré-compilés via NuGet (formats natifs
# multi-arch : linux-x64, linux-arm64, etc.). Quand on cross-
# compile depuis un hôte amd64 (build arm64), dh_strip appelle
# objcopy sur ces .so qui sont en ARM64 et objcopy natif amd64
# ne sait pas les lire :
# objcopy: Unable to recognise the format of the input file
# `debian/postit/usr/lib/postit/libHarfBuzzSharp.so'
# On les exclut donc du strip. Les symboles debug seront
# présents dans le .deb mais ce sont des libs upstream, pas
# notre code — pas critique.
# --no-automatic-dbgsym : dh_strip crée automatiquement un
# paquet postit-dbg avec --only-keep-debug, qui appelle
# objcopy une seconde fois sur les .so. Le --exclude ci-dessus
# ne s'applique PAS à cette phase. Désactiver le dbgsym
# automatique évite l'erreur et reste cohérent (les libs
# upstream n'ont pas de symboles debug utiles pour le debug
# utilisateur).
dh_strip --exclude=.pdb --exclude=*.so --no-automatic-dbgsym
define stage_postit define stage_postit