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

Bug#537969: lintian: [checks/patch-systems] Add test for README.source



Package: lintian
Version: 2.2.12
Severity: wishlist
Tags: patch


Hi:

This is actually just a partial patch. I can add the tests, but I don't know where
tags are defined. Basically, this test ensures that if you are using a patch system,
you provide instructions on how to use it (via README.source), per Standards-Version
> 3.8.0.

It's a relatively simple patch:
--- a/checks/patch-systems
+++ b/checks/patch-systems
@@ -166,6 +166,13 @@ sub run {
                }
        }
 
+        #----- look for README.source
+        if ($uses_patch_system && ! -f debian/README.source) {
+                tag "patch-system-but-no-source-readme";
+        }
+        if (!$uses_patch_system && -f debian/README.source) {
+                tag "source-readme-but-no-patch-system";
+        }
 
        #----- general cruft checking:
        if ($uses_patch_system > 1) {

The problem is that I don't know where tags are defined. Also, in order for the
patch to really be useful, it needs to be able to detect what Standards-Version
the package is under, since it's only relevant for Standards-Version > 3.8.0.
I couldn't find anything to do that in a cursory search of the POD files.

I tried to grep on my git repository for the tag list, but can't find it. Here
is some recommended text for those tags:

patch-system-but-no-source-readme
Certainty: certain
N:    It looks like a patch system is in use, however there is no
N:    debian/README.source. This file is required by Debian Policy 3.8.0.

source-readme-but-no-patch-system
Certainty: certain
N:    It does not look like a patch system is in use, however there is an
N:    included debian/README.source. This is probably the remnants of a
N:    removed patch, and is not necessary.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable'), (1, 'experimental'), (1, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.24-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash



Reply to: