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: