Bug#1100674: Subject: pkg-perl-tools: please stop Suggesting: cdbs
gregor herrmann
gregoa at debian.org
Thu Aug 14 13:24:22 BST 2025
On Tue, 12 Aug 2025 21:07:46 +0200, Alexandre Detiste wrote:
> Maybe I could already stage these changes now ?
> (nothing smart, just going through "grep -ri cdbs")
Thanks for coming back to this bug report.
Let's have a look:
(diff rearranged)
> diff --git a/debian/control b/debian/control
> index 008f86d..2de7b7b 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -92,7 +92,6 @@ Recommends: autodep8,
> sensible-utils,
> w3m
> Suggests: bc,
> - cdbs,
> duck,
> lintian-brush,
> moreutils,
> diff --git a/debian/pkg-perl-tools.lintian-overrides
> b/debian/pkg-perl-tools.lintian-overrides
> index db21c19..d2c7b47 100644
> --- a/debian/pkg-perl-tools.lintian-overrides
> +++ b/debian/pkg-perl-tools.lintian-overrides
> @@ -1,6 +1,5 @@
> # we do this on purpose
> pkg-perl-tools: binary-package-depends-on-toolchain-package Depends: debhelper
> -pkg-perl-tools: binary-package-depends-on-toolchain-package Suggests: cdbs
>
> # the same hook script is needed after successful and failed builds
> pkg-perl-tools: duplicate-files
> usr/share/doc/pkg-perl-tools/examples/pbuilder-hooks/B00iptables
> usr/share/doc/pkg-perl-tools/examples/pbuilder-hooks/C00iptables
These changes are obviously fine, and that's what this bug report is
about.
> diff --git a/lib/Debian/PkgPerl/Util.pm b/lib/Debian/PkgPerl/Util.pm
> index c670425..a51d9c9 100644
> --- a/lib/Debian/PkgPerl/Util.pm
> +++ b/lib/Debian/PkgPerl/Util.pm
> @@ -45,7 +45,6 @@ sub probable_build_dependency {
> | automake
> | bash-completion
> | bison
> - | cdbs
> | chrpath
> | debhelper
> | dh-
This is IMO wrong. The list here comprises packages which shouldn't
get a "<!notest>" annotation in Build-Depends{,-Indep} as they are
needed for the actual build, and that is and also will be the case in
the future for cdbs; even if we (well you in your tremendous effort!)
manage to get rid of most of cdbs there will be leftovers, and
third-party packages, and backports, and whatnot. And having it here
in this regexp doesn't hurt.
Now for the other cases:
> diff --git a/examples/mass-commit b/examples/mass-commit
> index 5ccb3a8..5f5e945 100755
> --- a/examples/mass-commit
> +++ b/examples/mass-commit
> @@ -11,7 +11,6 @@
>
> set -eu
>
> -CDBS=0
> DEBUG=0
>
> usage() {
> @@ -20,7 +19,6 @@ usage() {
> echo
> echo " Parameters:"
> echo " -h help"
> - echo " -c exclude CDBS packages"
> echo " -d debug / dry-run"
> exit 0
> }
> @@ -56,9 +54,6 @@ die() {
>
> while getopts cdh OPT; do
> case "$OPT" in
> - c)
> - CDBS=1
> - ;;
> d)
> DEBUG=1
> ;;
> @@ -79,9 +74,6 @@ for PKG in $(ls -1d */ | sed -e 's:/$::') ; do
> dh_testdir || { skip "$PKG doesn't look like a debian package.";
> continue; }
> [ -d .git ] || { skip "No .git directory in $PKG."; continue; }
> git checkout master
> - if [ "$CDBS" = "1" ] ; then
> - grep -q cdbs debian/control && { skip "Skipping CDBS package
> $PKG."; continue; }
> - fi
>
> # start real work
> # ADJUSTME start
> diff --git a/scripts/new-upstream b/scripts/new-upstream
> index f72db5e..0067777 100755
> --- a/scripts/new-upstream
> +++ b/scripts/new-upstream
> @@ -115,7 +115,6 @@ foreach (@newupstream) {
> unless -f $controlfile;
> my $control = Dpkg::Control::Info->new($controlfile); #
> Dpkg::Control object
> my $build_depends = $control->get_source()->{'Build-Depends'}; # string!
> - my $cdbs = $build_depends =~ /cdbs/m;
>
> # categorize new upstream releases
> my $pkg = {
> @@ -127,13 +126,12 @@ foreach (@newupstream) {
> push @{ $new_categorized->{'ignore-version'} }, $pkg if $ignore_version;
> push @{ $new_categorized->{'waits-for'} }, $pkg if $waits_for;
> push @{ $new_categorized->{'problem'} }, $pkg if $problem;
> - push @{ $new_categorized->{'cdbs'} }, $pkg if $cdbs;
> push @{ $new_categorized->{'default'} }, $pkg
> - unless ( $ignore_version or $waits_for or $problem or $cdbs );
> + unless ( $ignore_version or $waits_for or $problem );
>
> }
>
> -my @categories = (qw/default cdbs problem ignore-version waits-for/);
> +my @categories = (qw/default problem ignore-version waits-for/);
> foreach (@categories) {
> my $category = $_;
> next unless defined( $new_categorized->{$category} );
For historical reasons both examples/mass-commit and dpt-new-upstream
either allow one to or unconditionally special-case packages using
cdbs. The resaon for this is that there was a strong correlation
between preference for using cdbs and preference for using specific
other packaging styles, and it made sense (to me) to exempt them from
routine updates and common changes. -- Not sure if this still is the
case but OTOH this special casing also doesn't cause any harm and is
no active promotion of cdbs. -- On yet another other hand :) if there
are (soon) no more cdbs packages it also has no function within the
team anymore.
I see that you've already committed these changes in
https://salsa.debian.org/perl-team/modules/packages/pkg-perl-tools/-/commit/68c14cfa85c8d13fedcb4dca5b0fb55b7c0b0672
Please at least revert the change in lib/Debian/PkgPerl/Util.pm
(not sure about examples/mass-commit and dpt-new-upstream … I guess I
could be convinced to acknowledge that the options soon will have no
relevance …)
Cheers,
gregor
--
.''`. https://info.comodo.priv.at -- Debian Developer https://www.debian.org
: :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06
`. `' Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
`- BOFH excuse #156: Zombie processes haunting the computer
More information about the pkg-perl-maintainers
mailing list