[SCM] Debian package checker branch, master, updated. 2.5.12-32-g13036b3
The following commit has been merged in the master branch:
commit 13036b333de9c4fc3d33d9fe22b2e92d6ddcabda
Author: Niels Thykier <niels@thykier.net>
Date: Sun Apr 21 13:14:32 2013 +0200
c/conffiles: Add check for conffiles not being in the pkg
Signed-off-by: Niels Thykier <niels@thykier.net>
diff --git a/checks/conffiles b/checks/conffiles
index f13e2ed..45e45b3 100644
--- a/checks/conffiles
+++ b/checks/conffiles
@@ -63,6 +63,10 @@ if (-f $cf) {
next;
}
+ if (not defined($info->index($filename))) {
+ tag 'conffile-is-not-in-package', $filename;
+ }
+
if ($filename =~ m{^ usr/ }xsm) {
tag 'file-in-usr-marked-as-conffile', $filename;
} else {
diff --git a/checks/conffiles.desc b/checks/conffiles.desc
index f679cd3..deef49b 100644
--- a/checks/conffiles.desc
+++ b/checks/conffiles.desc
@@ -59,3 +59,15 @@ Info: The conffiles lists this path, which is not a file. This will
almost certainly not work.
.
Note that dpkg does not support symlinks being conffiles.
+
+Tag: conffile-is-not-in-package
+Severity: important
+Certainty: certain
+Info: The conffiles control file lists this path, but the path does
+ not appear to exist in the package. Lintian may also emit this tag
+ when the file exists, but the canonical name is used in the
+ "conffiles" control file (e.g. if a parent segment are symlinks).
+ .
+ Note that dpkg and Lintian strips all whitespace from the right hand
+ side of each line. Thus it is not possible for a file ending with
+ trailing whitespace to be marked as a conffile.
diff --git a/debian/changelog b/debian/changelog
index a9c83e3..a87b0fe 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,9 @@
lintian (2.5.13) UNRELEASED; urgency=low
+ * Summary of tag changes:
+ + Added:
+ - conffile-is-not-in-package
+
* checks/*:
+ [NT] Use Lintian::Path objects as arguments to unpacked
and control where these objects are available.
@@ -14,6 +18,8 @@ lintian (2.5.13) UNRELEASED; urgency=low
other tags related to that conffile. The exception to
this is relative-conffile where the original file might
not have triggered that tag.
+ + [NT] Test that all paths listed in the "conffiles" control
+ file is actually in the package being tested.
* checks/fields.desc:
+ [NT] Clarify that the "canonical URI" for Vcs fields is
based on an announcement from the Alioth admins. Thanks
diff --git a/t/tests/conffiles-general/desc b/t/tests/conffiles-general/desc
index 4b9b2ce..af4482a 100644
--- a/t/tests/conffiles-general/desc
+++ b/t/tests/conffiles-general/desc
@@ -4,6 +4,7 @@ Version: 1.0
Description: Test for conffile-related checks
Test-For:
conffile-has-bad-file-type
+ conffile-is-not-in-package
duplicate-conffile
file-in-etc-rc.d-marked-as-conffile
file-in-usr-marked-as-conffile
diff --git a/t/tests/conffiles-general/tags b/t/tests/conffiles-general/tags
index afecc53..a1fb0bb 100644
--- a/t/tests/conffiles-general/tags
+++ b/t/tests/conffiles-general/tags
@@ -1,4 +1,7 @@
E: conffiles-general: conffile-has-bad-file-type etc/symlink
+E: conffiles-general: conffile-is-not-in-package etc/rc2.d/file
+E: conffiles-general: conffile-is-not-in-package usr/share/foo
+E: conffiles-general: conffile-is-not-in-package var/cache/foo
E: conffiles-general: duplicate-conffile etc/foo
E: conffiles-general: file-in-etc-rc.d-marked-as-conffile etc/rc2.d/file
E: conffiles-general: file-in-usr-marked-as-conffile usr/share/foo
--
Debian package checker
Reply to: