#1072520 bash: Update to debhelper 13; use standard dh sequence

Package:
src:bash
Source:
src:bash
Submitter:
Gioele Barabucci
Date:
2024-08-20 09:45:01 UTC
Severity:
normal
Tags:
#1072520#5
Date:
2024-06-03 14:38:30 UTC
From:
To:
Dear bash maintainer,

could you please update the bash packaging to debhelper compat 13 and
make `debian/rules` use the standard dh sequence?

You can find a set of patches at

https://salsa.debian.org/gioele/bash/-/compare/shell-sh...rules-std-dh

The updated `debian/rules` file is much shorter and simpler to follow
compared to the current hand-written set of rules.

`debian/rules` could be further improved and simplified. However this
will lead to small changes in the resulting packages.

diffoscope says that the binary packages generated using the proposed
set of patch are identical to the current binary packages (except for
unavoidable build ID changes in `.gnu_debuglink`).

Please note that these patches build on the `nodoc`, `rrr-no` and
`shell-sh` series related to <https://bugs.debian.org/1067150>,
<https://bugs.debian.org/1067394> and <https://bugs.debian.org/1067400>.

Regards,

#1072520#10
Date:
2024-08-20 07:57:12 UTC
From:
To:
For packages doing more than one build, I consider the sequencer a
complicator, not a helper.

For the debhelper update, what is exactly needed in compat 13, that
doesn't exist yet in 11?

#1072520#17
Date:
2024-08-20 08:09:11 UTC
From:
To:
Control: tags -1 - wontfix


Hi,

maybe you have misinterpreted the patch. As you can see comparing

[1] https://salsa.debian.org/gioele/bash/-/blob/0e52fc/debian/rules

to

[2] https://salsa.debian.org/gioele/bash/-/blob/fc131d/debian/rules

the version with the standard sequence [1] is shorter (5 KB vs 13 KB!)
and easier to understand. (And produces bit-identical results.) (And
could be further simplified by dropping the need to produce
bit-identical packages.)

Based on what do you classify the version with the standard sequence as
more complex?

Regards,

#1072520#24
Date:
2024-08-20 08:10:20 UTC
From:
To:
Combined with the rest of the proposed changes, compat 13 handles most
of the work to make the Salsa CI test pass, including when building with
<nodoc> and <nocheck>.

Regards,

#1072520#29
Date:
2024-08-20 09:07:02 UTC
From:
To:
it's a pita to restart a partially failed build in the target where it
failed. yes, this is more complex with the sequencer.

#1072520#34
Date:
2024-08-20 09:43:47 UTC
From:
To:
How is that different? One can still call the individual targets of
d/rules or the single target handlers like "dh_auto_build
--builddirectory=foo".

BTW, the build is now much much faster.

The standard sequence + compat 13 enable parallel builds. sbuild logs
tell me that a full package build with `gbp buildpackage` (with <nodoc>
and <nocheck>) takes about a minute (most of which spent waiting for
autoconf).

Doing full build in sbuild is now faster than resuming partial builds
using the non-standard d/rules file.

I built the package ~400 times to complete the conversion (including the
no-doc and rrr-no patchsets), with plenty of errors in the middle of the
build process. My experience is that once I reached a point in which dh
(= standard sequence) was the main driver, I could iterate much faster.

Regards,