[SCM] Debian package checker branch, master, updated. 2.0.0-67-g6e0646e
The following commit has been merged in the master branch:
commit 689e22c7047320faefcc640289adcdd8a6060775
Author: Raphael Geissert <atomo64@gmail.com>
Date: Fri Nov 28 17:09:19 2008 +0100
checks/debhelper: Add new tag for dependencies of additional debhelper commands
This complements package-uses-debhelper-but-lacks-build-depends for commands
that are not part of the debhelper package.
diff --git a/checks/debhelper b/checks/debhelper
index 4e0917b..59e8745 100644
--- a/checks/debhelper
+++ b/checks/debhelper
@@ -35,6 +35,7 @@ use Lintian::Data;
my $cdbscompat = 5;
my $maint_commands = Lintian::Data->new ('debhelper/maint_commands');
+my $dh_commands_depends = Lintian::Data->new ('debhelper/dh_commands', '=');
# The version at which debhelper commands were introduced. Packages that use
# one of these commands must have a dependency on that version of debhelper or
@@ -61,6 +62,7 @@ my $compat = '';
my $usescdbs = '';
my $seendhpython = '';
my $usescdbspython = '';
+my %missingbdeps;
open(RULES, '<', "debfiles/rules") or fail("cannot read debian/rules: $!");
my $dhcompatvalue;
@@ -82,6 +84,10 @@ while (<RULES>) {
if ($maint_commands->known($dhcommand) and not m/\s+\-n\s+/) {
$needtomodifyscripts = 1;
}
+ if ($dh_commands_depends->known($dhcommand)) {
+ my $dep = $dh_commands_depends->value($dhcommand);
+ $missingbdeps{$dep} = $dhcommand;
+ }
if ($versions{$dhcommand}) {
push (@versioncheck, $dhcommand);
}
@@ -174,6 +180,11 @@ while (defined(my $file=readdir(DEBIAN))) {
if ($needbuilddepends && ! Dep::implies($bdepends, Dep::parse('debhelper'))) {
tag "package-uses-debhelper-but-lacks-build-depends", "";
}
+ while (my ($dep, $command) = each %missingbdeps) {
+ next if $dep eq 'debhelper'; #handled above
+ tag 'missing-build-dependency-for-dh_-command', "$command=$dep"
+ unless (Dep::implies($bdepends, Dep::parse($dep)));
+ }
} elsif ($file =~ m/^ex\.|\.ex$/i) {
tag "dh-make-template-in-source", "debian/$file";
}
diff --git a/checks/debhelper.desc b/checks/debhelper.desc
index 603eae4..811f544 100644
--- a/checks/debhelper.desc
+++ b/checks/debhelper.desc
@@ -105,6 +105,14 @@ Info: This package uses dh_python but apparently does not tell it to use
may mean that the package has not been converted to the current Python
policy, in which case it probably should be.
+Tag: missing-build-dependency-for-dh_-command
+Type: error
+Severity: important
+Certainty: possible
+Info: The source package appears to be using a dh_ command but doesn't build
+ depend on the package that actually provides it. If it uses it, it must
+ build depend on it.
+
Tag: debhelper-script-needs-versioned-build-depends
Severity: normal
Certainty: certain
diff --git a/debian/changelog b/debian/changelog
index 37db9c8..1c1056f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ lintian (2.1.0) unstable; urgency=low
* Summary of tag changes:
+ Added
+ - missing-build-dependency-for-dh_-command
- quilt-patch-missing-description
- shlib-calls-exit
@@ -17,6 +18,9 @@ lintian (2.1.0) unstable; urgency=low
* checks/debhelper:
+ [FL] Use Lintian::Data for list of debhelper commands that modify
maintainer scripts. Patch by Raphael Geissert.
+ + [FL] Add new tag missing-build-dependency-for-dh_-command for
+ debhelper commands that are not from the debhelper package.
+ Patch by Raphael Geissert.
* checks/fields:
+ [ADB] Ignore non-dependency fields when considering whether a
versioned dependency is satisfied by the perl core packages.
diff --git a/testset/dh-test/debian/rules b/testset/dh-test/debian/rules
index dbe5113..613cf7c 100755
--- a/testset/dh-test/debian/rules
+++ b/testset/dh-test/debian/rules
@@ -81,7 +81,9 @@ binary-arch: build install
# dh_installinit
# dh_installcron
# dh_installinfo
+ dh_installxfonts
dh_installman
+ -dh_gnustep
# dh_dhelp
dh_suidregister
dh_link
@@ -89,6 +91,7 @@ binary-arch: build install
dh_compress
dh_fixperms
# dh_perl
+ -dh_lisp
# dh_python
# dh_makeshlibs
dh_installdeb
diff --git a/testset/tags.dh-test b/testset/tags.dh-test
index 9c6e4a4..4e6249c 100644
--- a/testset/tags.dh-test
+++ b/testset/tags.dh-test
@@ -1,3 +1,5 @@
+E: dh-test source: missing-build-dependency-for-dh_-command dh_gnustep=gnustep-make
+E: dh-test source: missing-build-dependency-for-dh_-command dh_lisp=dh-lisp
E: dh-test: description-is-dh_make-template
E: dh-test: helper-templates-in-copyright
E: dh-test: section-is-dh_make-template
--
Debian package checker
Reply to: