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

[SCM] Debian package checker branch, master, updated. 2.5.4-25-g26e66e8



The following commit has been merged in the master branch:
commit 26e66e8a1ea8160c31bae7be30bb2f4918f8f943
Author: Evan Broder <evan@ebroder.net>
Date:   Fri Dec 2 15:32:44 2011 -0800

    Added check for maintscript-helper in preinst without dpkg Pre-Depends
    
    dpkg in Squeeze is new enough that this is not strictly necessary,
    making this pedantic in Debian. However, dpkg in Lucid does not have
    dpkg-maintscript-helper, making this serious as it could break the
    upgrade path.
    
    Signed-off-by: Evan Broder <evan@ebroder.net>
    Acked-by: Niels Thykier <niels@thykier.net>

diff --git a/checks/scripts b/checks/scripts
index 46bc373..69e38b0 100644
--- a/checks/scripts
+++ b/checks/scripts
@@ -886,6 +886,12 @@ while (<SCRIPTS>) {
         if (m,\bsuidregister\b,) {
             tag 'suidregister-used-in-maintainer-script', $file;
         }
+        if ($file eq 'preinst') {
+            if (m/^\s*dpkg-maintscript-helper(?:\s|\z)/ &&
+                !$info->relation('pre-depends')->implies('dpkg (>= 1.15.7.2~)')) {
+                tag 'preinst-uses-dpkg-maintscript-helper-without-predepends', "$file:$.";
+            }
+        }
         if ($file eq 'postrm') {
             if (m,update\-alternatives \-\-remove,) {
                 tag 'update-alternatives-remove-called-in-postrm';
diff --git a/checks/scripts.desc b/checks/scripts.desc
index 113e30c..e79d957 100644
--- a/checks/scripts.desc
+++ b/checks/scripts.desc
@@ -154,6 +154,14 @@ Info: The package contains a <tt>preinst</tt> maintainer script that uses
  section 3.5).
 Ref: policy 7.2
 
+Tag: preinst-uses-dpkg-maintscript-helper-without-predepends
+Severity: pedantic
+Certainty: possible
+Info: The package contains a <tt>preinst</tt> maintainer script that
+ uses <tt>dpkg-maintscript-helper</tt> but does not declare a
+ versoned pre-dependency on <tt>dpkg (&gt;= 1.15.7.2~)</tt> that provides that
+ script.
+
 Tag: control-interpreter-without-depends
 Severity: serious
 Certainty: possible
diff --git a/debian/changelog b/debian/changelog
index 7b2820a..8fa85db 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,9 @@
 lintian (2.5.5) UNRELEASED; urgency=low
 
+  * Summary of tag changes:
+    + Added:
+      - preinst-uses-dpkg-maintscript-helper-without-predepends
+
   * checks/*:
     + [NT] Fixed assumptions about certain fields being present.
       Where needed, Lintian will make guesses to the most likely
@@ -11,6 +15,11 @@ lintian (2.5.5) UNRELEASED; urgency=low
   * checks/files:
     + [JW,NT] Skip "Multi-Arch: same" check of gzip files if their
       install path contains the architecture.  (Closes: #650665)
+  * checks/scripts:
+    + [NT] Accepted patch from Evan Broder to check for missing
+      versioned pre-depends on dpkg when using maintscript helper.
+      This dependency is trivially satisfied in Debian, but may
+      complicate Ubuntu LTS upgrades.  (Closes: #602249)
   * checks/symlinks:
     + [NT] Ignore langpack symlinks if they appear to be consistent.
       Thanks to Evan Broder for the report.  (Closes: #650793)
diff --git a/profiles/ubuntu/main.profile b/profiles/ubuntu/main.profile
index 753fd36..fd84533 100644
--- a/profiles/ubuntu/main.profile
+++ b/profiles/ubuntu/main.profile
@@ -7,6 +7,7 @@ Disable-Tags: debian-changelog-file-is-a-symlink,
  upstart-job-in-etc-init.d-not-registered-via-update-rc.d
 
 # Serious as it may break Lucid upgrade path
-Tags: data.tar.xz-member-without-dpkg-pre-depends
+Tags: data.tar.xz-member-without-dpkg-pre-depends,
+ preinst-uses-dpkg-maintscript-helper-without-predepends
 Severity: serious
 

-- 
Debian package checker


Reply to: