Bug#999665: dh_strip_nondeterminism breaks Multi-Arch: same in binNMUs

Helmut Grohne helmut at subdivi.de
Wed Dec 1 10:44:50 UTC 2021

Control: tags -1 + patch

Hi Chris,

On Wed, Dec 01, 2021 at 01:13:03AM -0000, Chris Lamb wrote:
> In other words, it's not a lack of interest or an uncaring disregard
> for other parts of Debian (!), something that other mails in this
>   thread might have accidentally implied.

I did not mean to imply intent. The fact is that this issue is causing
significant pain for a significant amount of time and the reproducible
builds folks have generally not reacted to it in any helpful way. I also
note that your reply is fully consistent with this observation: You
acknowledge the problem and double down on keeping the broken status

> I'd be more than happy to change dh_strip_nondeterminism now to fix
> this longstanding issue for all of us, although with the proviso that
> the solution we want to get behind can be outlined in brief; and we
> seem to be close to there.

You seem to be referring to Niels' approach here. I think he already put
it quite precise. Is there anything you find missing? Moving ahead with
that would be my preference.

> > [Option:]
> >  * We phase out dh_strip_nondeterminism in the next compat level.
> Not the ideal place for this info but unfortunately I don't think the
> rest of the archive is in a place to drop strip-nondeterminism on the
> next compat level. From memory, this is chiefly due to some key
> toolchain packages, where the required changes are not forthcoming,
> changes are blocking on upstream, patches have not been applied in
> Debian, or the discussion has stalled for various reasons.

As much as I see the other side of the picture and as much as I value
the achievements of reproducible builds, I come to the conclusion that
it is irrelevant. dh_strip_nondeterminism was accepted on the grounds of
not breaking stuff. Those grounds no longer exist. So the question
whether it still is needed, is secondary. The question of whether it
still is affordable already has an answer: no.

The more I deal with this issue, the more I am convinced that
dh_strip_nondeterminism should be removed from debhelper as soon as
possible. It wasn't added in a compat level. It doesn't need a compat
level to be dropped.

I think we can afford about a month for finding a better solution.
Failing that, we should move forward with the one we have.

-------------- next part --------------
diff --minimal -Nru debhelper-13.5.2/debian/changelog debhelper-13.5.2+nmu1/debian/changelog
--- debhelper-13.5.2/debian/changelog	2021-09-23 18:44:25.000000000 +0200
+++ debhelper-13.5.2+nmu1/debian/changelog	2021-12-01 11:25:45.000000000 +0100
@@ -1,3 +1,10 @@
+debhelper (13.5.2+nmu1) UNRELEASED; urgency=medium
+  * Non-maintainer upload.
+  * Do not call dh_strip_nondeterminism. (Closes: #999665)
+ -- Helmut Grohne <helmut at subdivi.de>  Wed, 01 Dec 2021 11:25:45 +0100
 debhelper (13.5.2) unstable; urgency=medium
   [ Niels Thykier ]
diff --minimal -Nru debhelper-13.5.2/debian/control debhelper-13.5.2+nmu1/debian/control
--- debhelper-13.5.2/debian/control	2021-09-06 20:16:48.000000000 +0200
+++ debhelper-13.5.2+nmu1/debian/control	2021-12-01 11:24:59.000000000 +0100
@@ -22,10 +22,6 @@
 # Constraint can be relaxed if packages do not rely/require any of the
 # above fixes
          dh-autoreconf (>= 17~),
-# Version constraint is to get a version of dh-strip-nondeterminism
-# without several bugs.  The constraint can be relaxed if an older
-# version is sufficient.
-         dh-strip-nondeterminism (>= 0.028~),
 # dbgsym support landed in 1.18.0, 1.18.2 fixes a related nasty bug.
          dpkg (>= 1.18.0~),
          dpkg-dev (>= 1.18.2~),
diff --minimal -Nru debhelper-13.5.2/debian/rules debhelper-13.5.2+nmu1/debian/rules
--- debhelper-13.5.2/debian/rules	2021-08-16 19:36:28.000000000 +0200
+++ debhelper-13.5.2+nmu1/debian/rules	2021-12-01 11:25:26.000000000 +0100
@@ -15,8 +15,8 @@
 	./run dh $@ --without autoreconf --with build-stamp
 # Disable as they are unneeded (and we can then be sure debhelper
-# builds without needing autotools-dev, dh-strip-nondeterminism etc.)
-override_dh_update_autotools_config override_dh_strip_nondeterminism:
+# builds without needing autotools-dev etc.)
 	PERLLIBDIR=$$($(PERL) -MConfig -e 'print $$Config{vendorlib}')/ ; \
diff --minimal -Nru debhelper-13.5.2/lib/Debian/Debhelper/Sequence/root_sequence.pm debhelper-13.5.2+nmu1/lib/Debian/Debhelper/Sequence/root_sequence.pm
--- debhelper-13.5.2/lib/Debian/Debhelper/Sequence/root_sequence.pm	2021-08-16 19:30:02.000000000 +0200
+++ debhelper-13.5.2+nmu1/lib/Debian/Debhelper/Sequence/root_sequence.pm	2021-12-01 11:24:40.000000000 +0100
@@ -76,7 +76,6 @@
-	dh_strip_nondeterminism
diff --minimal -Nru debhelper-13.5.2/t/override_target.t debhelper-13.5.2+nmu1/t/override_target.t
--- debhelper-13.5.2/t/override_target.t	2020-07-17 18:52:21.000000000 +0200
+++ debhelper-13.5.2+nmu1/t/override_target.t	2021-12-01 11:25:40.000000000 +0100
@@ -16,7 +16,7 @@
 	PATH=../..:\$\$PATH PERL5LIB=../../lib $binpath/dh \$@ --without autoreconf
-override_dh_update_autotools_config override_dh_strip_nondeterminism:
 	echo "override called"

More information about the rb-general mailing list