Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
I've just tried this with the latest RPM snapshot on master and this checksum test still fails, even with commit a0553eb38a01772254cd48fef7ad116294cf801a in place. This time, though, the payload is identical (as confirmed with `rpm2cpio` and `diff`). Strange... -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1940958703 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
:monocle_face: seems most appropriate here... -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1910081323 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
So this is actually another bug fixed by a0553eb38a01772254cd48fef7ad116294cf801a -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1910075031 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
Looking at `cpio -t` output is proving more helpful :smile: This from the Ubuntu-created file: > [pmatilai︎localhost tmp]$ cpio -tv < out |head -4 6 blocks drwx-- 1 root root0 Jun 28 2011 ./a/dir -r 1 root root 15 Jun 28 2011 ./a/file drwx-- 1 bin adm 0 Jun 28 2011 ./b/dir -r 1 bin adm15 Jun 28 2011 ./b/file And this on Fedora: > [pmatilai︎localhost noarch]$ cpio -tv < out |head -4 6 blocks drwx-- 1 root root0 Jun 28 2011 ./a/dir -r 1 root root 15 Jun 28 2011 ./a/file drwx-- 1 daemon adm 0 Jun 28 2011 ./b/dir -r 1 daemon adm15 Jun 28 2011 ./b/file I bet uid 2 is "bin" instead on Ubuntu: [pmatilai︎localhost ~]$ grep ^daemon /etc/passwd daemon:x:2:2:daemon:/sbin:/sbin/nologin In 4.18.x we still do some name->uid lookups in the build even though all that supposedly is unused. I guess not... -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1910066429 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
Okay, the headers are otherwise identical so it's the payload that has to differ then, and that payloaddigest changing throws everything else off too. And indeed, extracting the rpm2cpio output shows some differences (from `diff -u -a` output), eg: ``` -070701001141e8000300014e091988./i/dir070701001289ed000400014e09198f0009./i/fileThis is file i +070701001141e800014e091988./i/dir070701001289ed000400014e09198f0009./i/fileThis is file i ``` What that difference actually is and why it happens, no clue. Rpm writes its own cpio so this isn't due to some cpio utility version differences. -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1910031774 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
> ``` > rpm: --xml: unknown option > ``` This is because `--xml` is a popt alias and you'd have to set `RPM_POPTEXEC_PATH` to where the `rpmpopt*` file is installed, similarly to how `atlocal.in` does it :smile: -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1909921836 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
Thanks! Meanwhile, I did a build of RPM in an Ubuntu 22.04 LTS container and got the exact same package as you, the diff follows: ```diff diff --git a/fedora.xml b/ubuntu.xml index c4f4df7..6546d2e 100644 --- a/fedora.xml +++ b/ubuntu.xml @@ -6,14 +6,14 @@ 5925 - iNEDdobtP19rZ2GLAsxH7w== + mNM0PRkFKXQ5LtOJ4SH0+A== - a42c611d67870c1937623f0da2631eabdf33e948 + 8036a9b66aa7781e4000a441e695bb076acfc450 - eb512d3d8c282d0249701032591c53ffb5904c54c95de04783028387b224d8fe + 94d13620f7058c14f24605c1461a9ef89b5b50b80c421a0a0eb7f0c62fe0f638 attrtest @@ -502,12 +502,12 @@ utf-8 - 116ce41ebb72f1877cda3d7dedaf5b78770e202d6389ade4e415d78548d703a8 + 91438332ac8fe92e4d4fcd45edb64b659323b893d9496a339f8587d19d00531a 8 - 116ce41ebb72f1877cda3d7dedaf5b78770e202d6389ade4e415d78548d703a8 + 91438332ac8fe92e4d4fcd45edb64b659323b893d9496a339f8587d19d00531a ``` So apparently the checksums are affected by the running OS, although all the other tags are equivalent. -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1909915279 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
My built `rpm` doesn't udnerstand `--xml`: ``` us@alice:/tmp/rpm/rpm/b$ ./rpm -qp --xml ./tests/rpmtests.dir/273/testing/build/RPMS/noarch/attrtest-1.0-1.noarch.rpm rpm: --xml: unknown option ``` Instead I've attached the generated rpm file (found in `tests/rpmtests.dir/273/testing/build/RPMS/noarch`). If that is not enough, let me know. [attrtest-1.0-1.noarch.rpm.zip](https://github.com/rpm-software-management/rpm/files/14050418/attrtest-1.0-1.noarch.rpm.zip) -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1909888727 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
Yup, and the CI running on Ubuntu could indeed have an effect on the checksums. I can't see any obvious candidates in the tag list but it would be useful if you could get us the output of `--xml` as @pmatilai suggested above. That way we could compare it to what we get on a Fedora-built version of that package. -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1909842321 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
4.18.2 would be missing at least this: 7ec148c1d61e0b526ae5c917f0ddc2b4a3222146 which could affect it. -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1909841982 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
I remember a case or two where the checksums mismatch due to different libmagic versions producing different strings. I also remember tweaking the test to avoid relying on libmagic stuff there, but don't remember when exactly. But yes, it's fragile. Very. -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1909834215 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
> Hmm, that's indeed strange. I tried to reproduce the same myself (using the > steps you provided, thanks!) but could not - the test passed for me. > > Could you try doing this against a new, fresh build of RPM in another > directory? I did one better, I tried for a fresh Fedora 39 VM :D. There it works for me. Perhaps the issue is that the CI is running the test suite from Ubuntu. Do you think that could be a cause of the problem? -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1909825751 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
If guessing and trying fails, 'runroot rpm -qp --xml /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm' is your friend, one can then diff the output of that between working and non-working files. We should probably dump that output anyway to make it more debuggable. -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1909823909 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
Hmm, that's indeed strange. I tried to reproduce the same myself (using the steps you provided, thanks!) but could not - the test passed for me. Could you try doing this against a new, fresh build of RPM in another directory? -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1909795913 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
> When you build locally, do you see the same failure also _without_ the patch > associated with the PR in that CI job? > > This test has hardcoded checksums to test build reproducibility (with > `SOURCE_DATE_EPOCH` clamping) so whenever the RPM version changes in > `configure.ac` (or `CMakeLists.txt` in 4.19 and later), the checksums change > as well since the RPM version is baked into the header when building > packages. We typically adjust these checksums manually as part of a release > bumping commit. > > There probably are other factors that also cause these checksums to change > but I can't think of anything right now. I reset the rpm-sequoia branch to the last release (v1.5.0), and I see the same error. ``` us@alice:/tmp/rpm/rpm-sequoia$ git reset --hard v1.5.0 HEAD is now at f2e5429 Release 1.5.0. us@alice:/tmp/rpm/rpm-sequoia$ PREFIX=/usr LIBDIR="\${prefix}/lib64" cargo build --release && cargo test --release ... us@alice:/tmp/rpm/rpm/b/tests$ export PKG_CONFIG_PATH=/tmp/rpm/rpm-sequoia/target/release us@alice:/tmp/rpm/rpm/b/tests$ export LD_LIBRARY_PATH=/tmp/rpm/rpm-sequoia/target/release us@alice:/tmp/rpm/rpm/b/tests$ ../../tests/rpmtests 273 ## -- ## ## rpm 4.18.2 test suite. ## ## -- ## 273: rpmkeys -Kv 2FAILED (rpmsigdig.at:159) ## - ## ## Test results. ## ## - ## ERROR: 1 test was run, 1 failed unexpectedly. ## - ## ## rpmtests.log was created. ## ## - ## Please send `tests/rpmtests.log' and all information you think might help: To: Subject: [rpm 4.18.2] rpmtests: 273 failed You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may be found below `tests/rpmtests.dir'. us@alice:/tmp/rpm/rpm/b/tests$ cat rpmtests.dir/273/rpmtests.log # -*- compilation -*- 273. rpmsigdig.at:157: testing rpmkeys -Kv 2 ... ../../tests/rpmsigdig.at:159: if ! [ -d testing/ ]; then cp -aP "${RPMTEST}" . chmod -R u+w testing/ mkdir -p testing/build ln -s ../data/SOURCES testing/build/ fi export RPMTEST="${PWD}/testing" export TOPDIR="${RPMTEST}/build" export HOME="${RPMTEST}" rm -rf "${RPMTEST}"`rpm --eval '%_dbpath'`/* runroot rpm --initdb runroot rpmbuild -bb --quiet \ --define "optflags -O2 -g" \ --define "_target_platform noarch-linux" \ --define "_binary_payload w.ufdio" \ --define "_buildhost localhost" \ --define "use_source_date_epoch_as_buildtime 1" \ --define "source_date_epoch_from_changelog 1" \ --define "clamp_mtime_to_source_date_epoch 1" \ /data/SPECS/attrtest.spec for v in SHA256HEADER SHA1HEADER SIGMD5 PAYLOADDIGEST PAYLOADDIGESTALT; do runroot rpm -q --qf "${v}: %{${v}}\n" /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm done runroot rpmkeys -Kv /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm --- - 2024-01-25 09:03:34.282017503 + +++ /tmp/rpm/rpm/b/tests/rpmtests.dir/at-groups/273/stdout 2024-01-25 09:03:34.277556707 + @@ -1,8 +1,8 @@ -SHA256HEADER: eb512d3d8c282d0249701032591c53ffb5904c54c95de04783028387b224d8fe -SHA1HEADER: a42c611d67870c1937623f0da2631eabdf33e948 -SIGMD5: 88d1037686ed3f5f6b67618b02cc47ef -PAYLOADDIGEST: 116ce41ebb72f1877cda3d7dedaf5b78770e202d6389ade4e415d78548d703a8 -PAYLOADDIGESTALT: 116ce41ebb72f1877cda3d7dedaf5b78770e202d6389ade4e415d78548d703a8 +SHA256HEADER: 94d13620f7058c14f24605c1461a9ef89b5b50b80c421a0a0eb7f0c62fe0f638 +SHA1HEADER: 8036a9b66aa7781e4000a441e695bb076acfc450 +SIGMD5: 98d3343d19052974392ed389e121f4f8 +PAYLOADDIGEST: 91438332ac8fe92e4d4fcd45edb64b659323b893d9496a339f8587d19d00531a +PAYLOADDIGESTALT: 91438332ac8fe92e4d4fcd45edb64b659323b893d9496a339f8587d19d00531a /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm: Header SHA256 digest: OK Header SHA1 digest: OK 273. rpmsigdig.at:157: 273. rpmkeys -Kv 2 (rpmsigdig.at:157): FAILED (rpmsigdig.at:159) ``` -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1909703296 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
One thing I noticed is that, in this case, even the payload checksums have changed. An RPM version bump would only affect the header checksums... So there must be something else at play here. -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1908567422 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)
When you build locally, do you see the same failure also *without* the patch associated with the PR in that CI job? This test has hardcoded checksums to test build reproducibility (with `SOURCE_DATE_EPOCH` clamping) so whenever the RPM version changes in `configure.ac` (or `CMakeLists.txt` in 4.19 and later), the checksums change as well since the RPM version is baked into the header when building packages. We typically adjust these checksums manually as part of a release bumping commit. There probably are other factors that also cause these checksums to change but I can't think of anything right now. -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/2874#issuecomment-1908564570 You are receiving this because you are subscribed to this thread. Message ID: ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint