So, I did some tests here. Helmut, look below:
On Tue, Dec 07, 2021 at 09:20:09PM +0100, Niels Thykier wrote: > You can either depend on it or do a runtime check for the new function > to see if the feature is available - whatever floats your boat. :) I went this way indeed: --- strip-nondeterminism.orig/bin/dh_strip_nondeterminism +++ strip-nondeterminism/bin/dh_strip_nondeterminism @@ -91,7 +91,13 @@ find(\&testfile,$tmp); next unless @nondeterministic_files; - $File::StripNondeterminism::canonical_time = get_source_date_epoch(); + if (eval "get_non_binnmu_date_epoch()") { + $File::StripNondeterminism::canonical_time + = get_non_binnmu_date_epoch(); + $ENV{SOURCE_DATE_EPOCH} = get_non_binnmu_date_epoch() + } else { + $File::StripNondeterminism::canonical_time = get_source_date_epoch(); + } verbose_print("Using $File::StripNondeterminism::canonical_time as canonical time"); And then I built and then binNMUed p11-kit/0.24.0-2 - which was one of those packages affected by this "bug". I confirm that for all 2 builds, strip-nondeterminism used 1630835345 as timestamp, so the patch works. However, in that particular package, there is still this change: │ │ │ ├── ./usr/share/man/man1/trust.1.gz │ │ │ │ ├── trust.1 │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ '\" t │ │ │ │ │ .\" Title: trust │ │ │ │ │ .\" Author: Stef Walter <s...@thewalter.net> │ │ │ │ │ .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> │ │ │ │ │ -.\" Date: 09/05/2021 │ │ │ │ │ +.\" Date: 12/11/2021 │ │ │ │ │ .\" Manual: User Commands │ │ │ │ │ .\" Source: p11-kit │ │ │ │ │ .\" Language: English │ │ │ │ │ .\" │ │ │ │ │ .TH "TRUST" "1" "" "p11-kit" "User Commands" │ │ │ │ │ .\" ----------------------------------------------------------------- │ │ │ │ │ .\" * Define some portability stuff │ │ │ ├── ./usr/share/man/man5/pkcs11.conf.5.gz │ │ │ │ ├── pkcs11.conf.5 │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ '\" t │ │ │ │ │ .\" Title: pkcs11.conf │ │ │ │ │ .\" Author: Stef Walter <s...@thewalter.net> │ │ │ │ │ .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> │ │ │ │ │ -.\" Date: 09/05/2021 │ │ │ │ │ +.\" Date: 12/11/2021 │ │ │ │ │ .\" Manual: System Files │ │ │ │ │ .\" Source: p11-kit │ │ │ │ │ .\" Language: English │ │ │ │ │ .\" │ │ │ │ │ .TH "PKCS11\&.CONF" "5" "" "p11-kit" "System Files" │ │ │ │ │ .\" ----------------------------------------------------------------- │ │ │ │ │ .\" * Define some portability stuff │ │ │ ├── ./usr/share/man/man8/p11-kit.8.gz │ │ │ │ ├── p11-kit.8 │ │ │ │ │ @@ -1,12 +1,12 @@ │ │ │ │ │ '\" t │ │ │ │ │ .\" Title: p11-kit │ │ │ │ │ .\" Author: Stef Walter <s...@thewalter.net> │ │ │ │ │ .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> │ │ │ │ │ -.\" Date: 09/05/2021 │ │ │ │ │ +.\" Date: 12/11/2021 │ │ │ │ │ .\" Manual: System Commands │ │ │ │ │ .\" Source: p11-kit │ │ │ │ │ .\" Language: English │ │ │ │ │ .\" │ │ │ │ │ .TH "P11\-KIT" "8" "" "p11-kit" "System Commands" │ │ │ │ │ .\" ----------------------------------------------------------------- │ │ │ │ │ .\" * Define some portability stuff Now, this is in the binary package p11-kit, which is not m-a:same, so it doesn't matter, but I guess this is some kind of "proof" that strip-nondeterminism is not really "at fault" for things, IMHO. That said, I do suppose we can go ahead with this change, since it has the possibility of greatly lowering the chances of conflicts. Indeed, the .png that caused troubles in #995162 has the same content, however different filesystem metadata (which is exactly what we wanted to achieve.) I committed my change to git, feel free to adjust if my non-existent perl knowledge made things worse! https://salsa.debian.org/reproducible-builds/strip-nondeterminism/-/commit/96fcd0f6391a8d05a30af2fb9b77f530b9f88adb -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. More about me: https://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `-
signature.asc
Description: PGP signature