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

Bug#607694: lintian: new check: did the user mean to export patches using gitpkg?



Package: lintian
Version: 2.4.4db1
Severity: wishlist


[Copied from the attached patch]

Rationale: version 0.17 of gitpkg adds the ability to export arbitrary
ranges of git commits as quilt patches. This exporting is optional,
and this check is intended to warn a user who accidentaly fails to

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (900, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lintian depends on:
ii  binutils               2.20.1-15         The GNU assembler, linker and bina
ii  diffstat               1.53-1            produces graph of changes introduc
ii  dpkg-dev               1.15.8.5          Debian package development tools
ii  file                   5.04-5            Determines file type using "magic"
ii  gettext                0.18.1.1-3        GNU Internationalization utilities
ii  intltool-debian        0.35.0+20060710.1 Help i18n of RFC822 compliant conf
ii  libapt-pkg-perl        0.1.24+b1         Perl interface to libapt-pkg
ii  libclass-accessor-perl 0.34-1            Perl module that automatically gen
ii  libipc-run-perl        0.89-1            Perl module for running processes
ii  libparse-debianchangel 1.1.1-2.1         parse Debian changelogs and output
ii  libtimedate-perl       1.2000-1          collection of modules to manipulat
ii  liburi-perl            1.54-2            module to manipulate and access UR
ii  locales                2.11.2-7          Embedded GNU C Library: National L
ii  man-db                 2.5.7-7           on-line manual pager
ii  perl [libdigest-sha-pe 5.10.1-16         Larry Wall's Practical Extraction 

lintian recommends no packages.

Versions of packages lintian suggests:
pn  binutils-multiarch            <none>     (no description available)
ii  libtext-template-perl         1.45-1     Text::Template perl module
ii  man-db                        2.5.7-7    on-line manual pager

-- no debconf information
>From 3c001aeaae1cf3699215406fdb963d12e6f187e8 Mon Sep 17 00:00:00 2001
From: David Bremner <bremner@debian.org>
Date: Sun, 19 Dec 2010 11:01:57 -0400
Subject: [PATCH] checks/debian-source-dir: add check for exporting from d/s/git-patches

If debian/source/git-patches exists, read debian/patches/series, and
see if the first line matches a comment emitted by the relevant gitpkg
hook.

Rationale: version 0.17 of gitpkg adds the ability to export arbitrary
ranges of git commits as quilt patches. This exporting is optional,
and this check is intended to warn a user who accidentaly fails to
enable it.
---
 checks/debian-source-dir      |   12 ++++++++++++
 checks/debian-source-dir.desc |   12 ++++++++++++
 2 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/checks/debian-source-dir b/checks/debian-source-dir
index 91e10c8..94b4cfa 100644
--- a/checks/debian-source-dir
+++ b/checks/debian-source-dir
@@ -46,6 +46,18 @@ if (-e "debfiles/source/format") {
     tag "missing-debian-source-format";
 }
 
+if (-s "debfiles/source/git-patches") {
+    if (! -r "debfiles/patches/series" ) {
+      tag "git-patches-not-exported";
+    } else { 
+      open (DEBSERIES, "debfiles/patches/series") 
+	or fail("cannot open debian/patches/series");
+      my $comment_line = <DEBSERIES>;
+      tag "git-patches-not-exported"
+	unless ($comment_line =~ m/^\#.*quilt-patches-deb-export-hook/);
+    }
+}
+
 if (-d "debfiles/source") {
     opendir(DEBSRC, "debfiles/source") or fail("cannot opendir debian/source/: $!");
     my $file;
diff --git a/checks/debian-source-dir.desc b/checks/debian-source-dir.desc
index 199f717..4df9fac 100644
--- a/checks/debian-source-dir.desc
+++ b/checks/debian-source-dir.desc
@@ -50,3 +50,15 @@ Info: The source package contains a file in debian/source/ that lintian
  files. If that's not the case and if the file can be legitimately be
  expected in source packages, please file a bug against lintian asking
  for the file to be recognized.
+
+Tag: git-patches-not-exported
+Severity: important
+Certainty: possible
+Info: The source package contains a file debian/source/git-patches, which 
+ indicates it was intended to have patches exported via the
+ quilt-patches-deb-export-hook of gitpkg. It doesn't seem the patches
+ were exported in this this source package (this could happen via
+ running dpkg-source -b without some preparation), which may mean the
+ source package is missing patches.  If there is no explanation in 
+ debian/README.source, probably you should file a bug against the source 
+ package.      
-- 
1.7.2.3


Reply to: