[SCM] Debian package checker branch, master, updated. 2.2.14-21-g7d00038
The following commit has been merged in the master branch:
commit 7d0003890c9f8b1ed2d207b7cb8d1b80387b79d7
Author: Russ Allbery <rra@debian.org>
Date: Sat Sep 12 20:36:49 2009 -0700
Check for build-dependencies on non-build packages
* checks/fields{,.desc}:
+ [RA] Check for build dependencies on packages that should not be
used for builds. (Closes: #540594)
* data/fields/no-build-depends:
+ [RA] New list of packages that should not be used as build
dependencies, currently containing only java-propose-classpath.
Thanks, Josh Triplett.
diff --git a/checks/fields b/checks/fields
index 973fbe2..6535111 100644
--- a/checks/fields
+++ b/checks/fields
@@ -38,6 +38,7 @@ use Lintian::Relation::Version qw(versions_compare);
our $KNOWN_ARCHS = Lintian::Data->new('fields/architectures');
our $KNOWN_ESSENTIAL = Lintian::Data->new('fields/essential');
our $KNOWN_METAPACKAGES = Lintian::Data->new('fields/metapackages');
+our $NO_BUILD_DEPENDS = Lintian::Data->new('fields/no-build-depends');
our %known_archive_parts = map { $_ => 1 }
('non-free', 'contrib');
@@ -686,6 +687,9 @@ if ($type eq "source") {
tag "build-depends-on-metapackage", "$field: $part_d_orig"
if ($KNOWN_METAPACKAGES->known($d_pkg) and &$is_dep_field($field));
+ tag 'build-depends-on-non-build-package', "$field: $part_d_orig"
+ if ($NO_BUILD_DEPENDS->known($d_pkg) and &$is_dep_field($field));
+
tag "build-depends-on-1-revision", "$field: $part_d_orig"
if ($d_version->[0] eq '>=' && $d_version->[1] =~ /-1$/ && &$is_dep_field($field));
diff --git a/checks/fields.desc b/checks/fields.desc
index c67b19f..d7fe169 100644
--- a/checks/fields.desc
+++ b/checks/fields.desc
@@ -543,6 +543,15 @@ Info: The package declares a build-depends on an essential package, e.g. dpkg,
is if you need a particular version of that package, in which case the
version should be given in the dependency.
+Tag: build-depends-on-non-build-package
+Severity: important
+Certainty: certain
+Info: The package declares a build dependency on a package that is not
+ appropriate for build dependencies, usually because it's only for
+ interactive use or cannot be correctly installed in a build environment.
+ See the description or documentation of the package for more
+ information.
+
Tag: virtual-package-depends-without-real-package-depends
Severity: normal
Certainty: possible
diff --git a/data/fields/no-build-depends b/data/fields/no-build-depends
new file mode 100644
index 0000000..86e4b07
--- /dev/null
+++ b/data/fields/no-build-depends
@@ -0,0 +1,6 @@
+# This file lists packages that should not be listed as build
+# dependencies, generally because they require interactivity or cannot be
+# correctly installed in a build environment. It is presently maintained
+# manually.
+
+java-propose-classpath
diff --git a/debian/changelog b/debian/changelog
index 4f8a811..b59227c 100755
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,9 @@
lintian (2.2.15) UNRELEASED; urgency=low
+ * Summary of tag changes:
+ + Added:
+ - build-depends-on-non-build-package
+
* checks/changelog-file:
+ [RA] Don't warn about a symlinked changelog file if the version
contains ubuntu. Thanks, Benjamin Drung. (Closes: #536434)
@@ -11,13 +15,15 @@ lintian (2.2.15) UNRELEASED; urgency=low
+ [RA] Ignore whitespace when checking debian/compat, since Perl will
when converting it to a number. Thanks, Niels Thykier.
(Closes: #545430)
- * checks/fields:
+ * checks/fields{,.desc}:
+ [RA] Exclude base-files from the needlesly-depends-on-awk tag
and from the warning about depending on a virtual package without
a real package for the awk virtual package.
+ [RA] Use Lintian::Data to read the essential package list.
+ [RA] Stop allowing unversioned build dependencies on coreutils. The
migration from fileutils is long since finished.
+ + [RA] Check for build dependencies on packages that should not be
+ used for builds. (Closes: #540594)
* checks/files{,.desc}:
+ [RA] Suppress non-standard-dir-perm for /tmp, /var/tmp, /var/local,
/var/lock, and /usr/src if they have their normal owner and
@@ -60,6 +66,10 @@ lintian (2.2.15) UNRELEASED; urgency=low
+ [RA] New list of essential packages.
+ [RA] Add dash. (Closes: #541744)
+ [RA] Add diffutils and remove diff. (Closes: #544277)
+ * data/fields/no-build-depends:
+ + [RA] New list of packages that should not be used as build
+ dependencies, currently containing only java-propose-classpath.
+ Thanks, Josh Triplett.
* data/files/fonts:
+ [RA] Refresh and include Type 1 fonts and packages as well.
diff --git a/t/tests/fields-depends-general/debian/debian/control.in b/t/tests/fields-depends-general/debian/debian/control.in
index e63ee3b..b4f67e6 100644
--- a/t/tests/fields-depends-general/debian/debian/control.in
+++ b/t/tests/fields-depends-general/debian/debian/control.in
@@ -3,7 +3,7 @@ Priority: extra
Section: {$section}
Maintainer: {$author}
Standards-Version: {$standards_version}
-Build-Depends: debhelper (>= 7.0.50~), xorg-dev
+Build-Depends: debhelper (>= 7.0.50~), xorg-dev, java-propose-classpath
Package: {$srcpkg}
Architecture: {$architecture}
diff --git a/t/tests/fields-depends-general/desc b/t/tests/fields-depends-general/desc
index 8696843..d611d25 100644
--- a/t/tests/fields-depends-general/desc
+++ b/t/tests/fields-depends-general/desc
@@ -4,4 +4,6 @@ Version: 1.0
Description: General tests for package dependencies
Test-For:
build-depends-on-metapackage
+ build-depends-on-non-build-package
depends-on-metapackage
+References: Debian Bug#540594
diff --git a/t/tests/fields-depends-general/tags b/t/tests/fields-depends-general/tags
index bef84a4..ef7cc67 100644
--- a/t/tests/fields-depends-general/tags
+++ b/t/tests/fields-depends-general/tags
@@ -1,2 +1,3 @@
E: fields-depends-general source: build-depends-on-metapackage build-depends: xorg-dev
+E: fields-depends-general source: build-depends-on-non-build-package build-depends: java-propose-classpath
E: fields-depends-general: depends-on-metapackage depends: xorg
--
Debian package checker
Reply to: