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

[SCM] Debian package checker branch, master, updated. 2.5.11-85-g496079a



The following commit has been merged in the master branch:
commit 496079aefe7cde92d8caf28aca006b9ef2d3fafa
Author: Niels Thykier <niels@thykier.net>
Date:   Mon Jan 21 16:51:07 2013 +0100

    c/init.d: Fix init.d regex
    
    Signed-off-by: Niels Thykier <niels@thykier.net>

diff --git a/checks/init.d b/checks/init.d
index 83c76ea..00433b4 100644
--- a/checks/init.d
+++ b/checks/init.d
@@ -24,7 +24,7 @@ use warnings;
 
 use Lintian::Data;
 use Lintian::Tags qw(tag);
-use Lintian::Util qw(fail $PKGNAME_REGEX);
+use Lintian::Util qw(fail);
 
 # A list of valid LSB keywords.  The value is 0 if optional and 1 if required.
 my %lsb_keywords = (provides            => 1,
@@ -61,6 +61,11 @@ my %implied_dependencies =
     );
 
 our $VIRTUAL_FACILITIES = Lintian::Data->new('init.d/virtual_facilities');
+# Regex to match names of init.d scripts; it is a bit more lax than
+# package names (e.g. allows "_").  We do not allow it to start with a
+# "dash" to avoid confusing it with a command-line option (also,
+# update-rc.d does not allow this).
+our $INITD_NAME_REGEX = qr/[\w\.\+][\w\-\.\+]*/;
 
 sub run {
 
@@ -86,7 +91,7 @@ if (open(IN, '<', $postinst)) {
         next if /$exclude_r/o;
         s/\#.*$//o;
         next unless /^(?:.+;|^\s*system[\s\(\']+)?\s*update-rc\.d\s+
-            (?:$opts_r)*($PKGNAME_REGEX)\s+($action_r)/xo;
+            (?:$opts_r)*($INITD_NAME_REGEX)\s+($action_r)/xo;
         my ($name,$opt) = ($1,$2);
         next if $opt eq 'remove';
         if ($initd_postinst{$name}++ == 1) {
@@ -106,7 +111,7 @@ if (open(IN, '<', $preinst)) {
         next if /$exclude_r/o;
         s/\#.*$//o;
         next unless m/update-rc\.d \s+
-                       (?:$opts_r)*($PKGNAME_REGEX) \s+
+                       (?:$opts_r)*($INITD_NAME_REGEX) \s+
                        ($action_r)/ox;
         my ($name,$opt) = ($1,$2);
         next if $opt eq 'remove';
@@ -120,7 +125,7 @@ if (open(IN, '<', $postrm)) {
     while (<IN>) {
         next if /$exclude_r/o;
         s/\#.*$//o;
-        next unless m/update-rc\.d\s+($opts_r)*($PKGNAME_REGEX)/o;
+        next unless m/update-rc\.d\s+($opts_r)*($INITD_NAME_REGEX)/o;
         if ($initd_postrm{$2}++ == 1) {
             tag 'duplicate-updaterc.d-calls-in-postrm', $2;
             next;
@@ -137,7 +142,7 @@ if (open(IN, '<', $prerm)) {
     while (<IN>) {
         next if /$exclude_r/o;
         s/\#.*$//o;
-        next unless m/update-rc\.d\s+($opts_r)*($PKGNAME_REGEX)/o;
+        next unless m/update-rc\.d\s+($opts_r)*($INITD_NAME_REGEX)/o;
         tag 'prerm-calls-updaterc.d', $2;
     }
     close(IN);
diff --git a/debian/changelog b/debian/changelog
index 940a5bc..23f6e21 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -46,6 +46,10 @@ lintian (2.5.12) UNRELEASED; urgency=low
       to suppress empty-binary-package.  Lintian will still
       accept it the phrase for now.
     + [NT] Accept libx32 as an bi-arch directory.
+  * checks/init.d:
+    + [NT] Fix regression where Lintian would not properly match
+      init.d passed to update-rc.d.  Thanks to Michael Meskes for
+      reporting.  (Closes: #698602)
   * checks/menu-format{,.desc}:
     + [NT] Apply patch from Bastien Roucariès to detect missing
       "Keywords" in desktop files.  Thanks to Jeremy Bicha for

-- 
Debian package checker


Reply to: