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 efddac2942 - Show all commits

workflow: install binutils-aarch64-linux-gnu for dh_makeshlibs
Some checks failed
Forgejo Release postit-deb / release (push) Failing after 1m51s

dh_makeshlibs is invoked by debhelper during cross-builds to
produce the .shlibs cache, and it calls arch-specific objdump
to read ELF symbols of the bin we're shipping. For arm64 that
means aarch64-linux-gnu-objdump, which is provided by
binutils-aarch64-linux-gnu (~50 Mo in apt).

binutils-aarch64-linux-gnu ships the cross-binutils without
the cross-gcc; we don't need gcc-arm64 because there's no C
code in this package (the build is pure dotnet publish).
Paul Schneider 2026-08-17 18:52:20 +01:00
No known key found for this signature in database
GPG key ID: 1E66C65EE2B46F1B

View file

@ -76,18 +76,19 @@ jobs:
apt-get update apt-get update
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends \
build-essential debhelper imagemagick librsvg2-bin \ build-essential debhelper imagemagick librsvg2-bin \
ca-certificates ca-certificates binutils-aarch64-linux-gnu
# No arm64 shlibs install needed: \`dotnet publish # binutils-aarch64-linux-gnu provides aarch64-linux-gnu-objdump,
# --runtime linux-arm64\` cross-compiles natively on amd64 # which dh_makeshlibs needs to read the ELF symbol table of
# (no arm64 toolchain required), and dpkg-buildpackage # the PostIt.Desktop arm64 binary. Without it, dh_makeshlibs
# is invoked with -Pcross so debhelper skips the # fails with "Can't exec 'aarch64-linux-gnu-objdump': No
# arch-specific helper tools (aarch64-linux-gnu-objdump # such file or directory" (~50 Mo, standard cross-toolkit
# for dh_makeshlibs, etc.) that aren't available on the # binutils — no arm64 GCC needed because there's no C code to
# host. dh_shlibdeps works without arm64 libs because # compile, only .NET to publish).
# we don't ship arm64 build dependencies in debian/control #
# (the dotnet-sdk-10.0 there is only meaningful for amd64 # We don't install libc6:arm64 etc. — dpkg-buildpackage -d
# native builds; dpkg-buildpackage -d skips that check # skips the build-deps check (we don't need the arm64 SDK),
# for arm64 cross). # and -Pcross toggles the cross-build profile so debhelper
# adapts to the cross-build context.
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
: > "$STATE_FILE" : > "$STATE_FILE"