Re: [Rpm-maint] [rpm-software-management/rpm] Testsuite failure with rpm 4.18.2 (Issue #2874)

2024-02-13 Thread Michal Domonkos
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)

2024-01-25 Thread Panu Matilainen
: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)

2024-01-25 Thread Panu Matilainen
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)

2024-01-25 Thread Panu Matilainen
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)

2024-01-25 Thread Panu Matilainen
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)

2024-01-25 Thread Michal Domonkos
> ```
> 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)

2024-01-25 Thread Michal Domonkos
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)

2024-01-25 Thread Neal H. Walfield
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)

2024-01-25 Thread Michal Domonkos
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)

2024-01-25 Thread Panu Matilainen
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)

2024-01-25 Thread Panu Matilainen
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)

2024-01-25 Thread Neal H. Walfield
> 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)

2024-01-25 Thread Panu Matilainen
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)

2024-01-25 Thread Michal Domonkos
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)

2024-01-25 Thread Neal H. Walfield
> 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)

2024-01-24 Thread Michal Domonkos
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)

2024-01-24 Thread Michal Domonkos
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