libsoup3: first autopatch config — package translations when %check is skipped, skip the 2 GiB logger test on 32-bit #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "triage/fix-libsoup3-78"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Automatically opened by releng-monitoring: the AlmaLinux build of
libsoup3failed, and the fix below changes what autopatch-tool applies to the upstream import.Diagnosis
libsoup3-3.8.0-1.el10 fails in two separate, reproducible ways. Both build attempts of build 92345 failed the same way, so this is not a flaky failure. x86_64/aarch64 are not in the failed set.
riscv64 (task 469676): %install runs cleanly, and meson installs the po/*/LC_MESSAGES/libsoup-3.0.mo catalogs. The spec, however, puts
%find_lang libsoup-3.0inside %check, right after%meson_test. On riscv64 the %check scriptlet runs with an empty body (in the log,Executing(%check)is followed directly byProcessing files). So %find_lang never runs and rpmbuild aborts withCould not open %files file .../libsoup-3.0.lang. This is a spec placement bug: %find_lang belongs in %install, so the build works whenever tests are skipped.i686 (task 469611): %check fails 1 of 38 meson tests. logger-test case /logger/long-invalid-body-length hits
GLib-FATAL-ERROR: ../glib/gmem.c:106: failed to allocate 2147483648 bytesand is killed by SIGTRAP. A 2 GiB allocation cannot succeed in a 32-bit address space, so on i686 this test case in 3.8.0 fails every time and does not point to a library bug. It needs to be skipped on 32-bit.libsoup3 is not autopatch-managed, and it has no earlier triage history (this is the first failure, after the 3.6.6 to 3.8.0 update). The fix is a small downstream spec change.
What this changes
Files:
config.yaml,files/1000-logger-test-skip-long-invalid-body-length-on-32-bit.patchThis is the first autopatch config of
libsoup3. Merging it puts the package under autopatch ona10s: every later upstream import gets this config applied and an.alma.Nrelease, until the config is changed or the branch is deprecated.The libsoup3 3.8.0 build fails in two ways. This first autopatch config fixes both.
riscv64:
libsoup-3.0.langis missing. The spec ran%find_lang libsoup-3.0inside%check, after%meson_test. When%checkis skipped, as it is on the riscv64 builders,%find_langnever runs.%files -f libsoup-3.0.langthen fails with "Could not open %files file". The config moves%find_lang libsoup-3.0to the end of%install, after thelibsoup.suppinstall line. It uses tworeplaceactions, each withcount: 1.i686: logger-test aborts. 3.8.0 adds the test case
/logger/long-invalid-body-length. Its server handler allocatesG_MAXINT32 + 1bytes (2 GiB), which a 32-bit process cannot do. GLib aborts withfailed to allocate 2147483648 bytesand SIGTRAP. The new patch1000-logger-test-skip-long-invalid-body-length-on-32-bit.patchmakes that one test case callg_test_skip()whensizeof (gsize) < 8. The other logger tests and the whole suite still run on every architecture, and 64-bit builds behave exactly as before.The config also adds the
.alma.1release suffix and a changelog entry.Patch-author notes: I checked the config with autopatch_validate_config, applied it to a fresh copy of rpms/ with autopatch, and read the spec diff. %find_lang is now in %install, and Patch 1000 is added and applied by %autosetup.
rpmbuild -bpexited 0. I did not compile or run the test itself; the patch only adds an earlyg_test_skip/return when sizeof(gsize) < 8. The Release suffix was handled by autopatch-tool's %autorelease path: the log says it added the suffix, but the spec diff shows no change to the Release line.How it was verified
In a fresh offline container, autopatch-tool validated the config and applied it to the upstream import, and
rpmbuild -bp(%prep) passed on the result — independently of the agent that wrote it.The spec after autopatch-tool applies the config
What happens after you merge
Merging pushes this to
a10s, which makes autopatch-tool re-run and tagchanged/a10s/<nvr>.alma.N. releng-monitoring then rebuildslibsoup3from that tag by itself — nothing else is needed from you.Failed build: https://build.almalinux.org/build/92345
Upstream import:
imports/c10s/libsoup3-3.8.0-1.el10