Bug#737662: debhelper: Please use realclean instead of distclean for perl_build buildsystem
Package: debhelper
Version: 9.20131227
Severity: normal
Tags: patch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Please change the clean action in the perl_build buildsystem from
`perl Build distclean' to `perl Build realclean'.
I stumbled upon this issue when I realized that Module::Build::Tiny
doesn't implement 'distclean'.
Upstream kindly explained the background [0]:
- - 'distclean' is not in the CPAN::API::BuildPL specification, and
therefor not implemented in Module::Build::Tiny, and most probably
also not in other future implementations of the spec
- - 'distclean' (which is realclean + distcheck) is not appropriate in
this context anyway, and like other dist* targets meant for
upstream authors
I've now built and installed debhelper with the attached trivial
patch in a cowbuilder chroot and rebuilt (twice in a row to actually
see the "perl Build realclean" in action) several dozens of packages
which have a Build.PL file and use dh in debian/rules, and I haven't
seen any problems with it.
[Leon, pkg-perl folks: Please chime in if I missed something.]
Cheers,
gregor
[0] https://lists.debian.org/debian-perl/2014/01/msg00067.html
- -- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (990, 'unstable'), (500, 'experimental'), (500, 'testing'), (500, 'stable'), (500, 'oldstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.13-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=de_AT.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages debhelper depends on:
ii binutils 2.24-3
ii dpkg 1.17.6
ii dpkg-dev 1.17.6
ii file 1:5.14-2
ii man-db 2.6.6-1
ii perl 5.18.2-2
ii po-debconf 1.0.16+nmu2
debhelper recommends no packages.
Versions of packages debhelper suggests:
ii dh-make 0.63
- -- no debconf information
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQJrBAEBCgBVBQJS8U6eThSAAAAAAB0AKGlzc3Vlci1mcHJAZ3BnLmNvbW9kby5w
cml2LmF0RDFFMTMxNkU5M0E3NjBBODEwNEQ4NUZBQkIzQTY4MDE4NjQ5QUEwNgAK
CRC7OmgBhkmqBp6BD/0dwMcWeQrlD/EkI8MFDY5EfBNVCZZ9HDiX2Ex8VbKAlHqY
p4D3SOqnsB+1MQEe/EK6+TtcxzZO6J4nSsHYz0scX1Pd427dZs9b7/L+krp816Do
Qghn6NLkdT+mQDWu+S6czuaQVxKUDRV6cfSVbRZqm2KbBaD1K8lT/JdksMKmdWNp
UMdiXCxVyz1a51e41wPhb7LbeqM17cesE9UOmtldK5adgUlCeoZDh98QDLjYDRIx
CbQxUPeu8ERgzqkgSk5BwHGFb9sq0RDzMBCeG9AvzxOO7CcouNa2hdZ5MsZFreUz
dzqb8S2iMfHcmn3E0thdKfct0IlYHWrZsIJtBUmUO9Ueo4npOqO4MItjT5cNZ/uZ
s9JR5Owrc/yVdLIcymhnvrXkSgoh2pPvuQZz9dLy3MoTYSzcN15nbQvcB6wSJ9RA
UlXbEWsNWXbkxDkaZhsEaTcmFSXmAg2o6Qv/P7k31096X/Rm3TOvYQYg3/17RDRJ
sA9/2j9Vim8rxIzdMEYTu2lhYY+qy8t3Adj/rZULXOxhQ8Fx6Y6oNrkVPPGDHQos
HCUD/La1NmgQLEYunPOQAqLEWY+XZ2HMrFTxFomfKcNiSnaAcEgUx/rTVem5Z0+A
2TGy7hudbcwAmHm+iIvSsPW5vwS0D7SB1XZNOgXjfoRYHKBppCm3NGZCdMjtTg==
=jwL0
-----END PGP SIGNATURE-----
>From 2eca23678ddaad0d7f7df2ce79868e27651a96d8 Mon Sep 17 00:00:00 2001
From: gregor herrmann <gregoa@debian.org>
Date: Tue, 4 Feb 2014 17:42:57 +0100
Subject: [PATCH] Use realclean instead of distclean on perl_build buildsystem.
Switch from `Build distclean' to `Build realclean' in the clean action of
the perl_build buildsystem.
'distclean' is not specified in the CPAN::API::BuildPL specification, and
therefor not implemented in Module::Build::Tiny (and other future
implementations). Besides that, the dist* actions are meant for upstream
authors.
---
Debian/Debhelper/Buildsystem/perl_build.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Debian/Debhelper/Buildsystem/perl_build.pm b/Debian/Debhelper/Buildsystem/perl_build.pm
index bfe1c08..4cfbcb4 100644
--- a/Debian/Debhelper/Buildsystem/perl_build.pm
+++ b/Debian/Debhelper/Buildsystem/perl_build.pm
@@ -70,7 +70,7 @@ sub install {
sub clean {
my $this=shift;
if (-e $this->get_sourcepath("Build")) {
- $this->do_perl("Build", "distclean", "--allow_mb_mismatch", 1, @_);
+ $this->do_perl("Build", "realclean", "--allow_mb_mismatch", 1, @_);
}
}
--
1.9.rc1
Reply to: