[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[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: