Your message dated Thu, 19 Jan 2006 07:17:09 -0800
with message-id <[EMAIL PROTECTED]>
and subject line Bug#344609: fixed in lintian 1.23.15
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 24 Dec 2005 01:34:25 +0000
>From [EMAIL PROTECTED] Fri Dec 23 17:34:24 2005
Return-path: <[EMAIL PROTECTED]>
Received: from smtp1.stanford.edu ([171.67.16.123])
        by spohr.debian.org with esmtp (Exim 4.50)
        id 1EpyIi-0002wG-SL
        for [EMAIL PROTECTED]; Fri, 23 Dec 2005 17:34:24 -0800
Received: from windlord.stanford.edu (windlord.Stanford.EDU [171.64.19.147])
        by smtp1.Stanford.EDU (8.12.11/8.12.11) with ESMTP id jBO1YNkf000838
        for <[EMAIL PROTECTED]>; Fri, 23 Dec 2005 17:34:23 -0800
Received: by windlord.stanford.edu (Postfix, from userid 1000)
        id 590D1E78E2; Fri, 23 Dec 2005 17:34:23 -0800 (PST)
Content-Type: multipart/mixed; boundary="===============1435314799=="
MIME-Version: 1.0
From: Russ Allbery <[EMAIL PROTECTED]>
To: Debian Bug Tracking System <[EMAIL PROTECTED]>
Subject: lintian: better build-depends-indep check
Message-ID: <[EMAIL PROTECTED]>
X-Mailer: reportbug 3.18
Date: Fri, 23 Dec 2005 17:31:23 -0800
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE 
        autolearn=no version=2.60-bugs.debian.org_2005_01_02

This is a multi-part MIME message sent by reportbug.

--===============1435314799==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Package: lintian
Version: 1.23.14
Severity: normal
Tags: patch

While sponsoring a package (cdrbq), I noticed that lintian complaints about
build-depends-without-arch-dep for Build-Depends: dpatch.  However, if one
uses the makefile include method for integrating dpatch, dpatch does have
to be installed to run make clean and therefore should be in Build-Depends.
Similar problems exist for cdbs and dbs.

While I was fixing this, I noticed that the regex in the existing check is
insufficiently conservative and:

    Build-Depends: debhelper (>= 4.0.0), python-dev (>> 2.3)

will be judged as fine because \(.+?\) will pick up everything to the end
of the line.  +? just stops matching at the earliest point it *can* and
not change the success of the overall match; if it has to match farther
in order to make the whole expression match, it will.

This patch pulls the database of things to look for out into a global
variable, makes the check easier to extend down the road, and also adds
a special case for yada packages (allowing yada in Build-Depends if the
debian/packages file exists).  Applying this patch will therefore also
close #321135.

I considered also ensuring that the packages discovered were listed in
Build-Depends, but I think that's too likely to turn up false positives
(if, for instance, someone did something sneaky and made the inclusion
of the dpatch makefile fragment conditional).  But it wouldn't be too
hard to add if it turns out to be a good idea.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12-1-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)

Versions of packages lintian depends on:
ii  binutils             2.16.1cvs20051214-1 The GNU assembler, linker and bina
ii  diffstat             1.41-1              produces graph of changes introduc
ii  dpkg-dev             1.13.11             package building tools for Debian
ii  file                 4.15-2              Determines file type using "magic"
ii  gettext              0.14.5-2            GNU Internationalization utilities
ii  intltool-debian      0.34.1+20050828     Help i18n of RFC822 compliant conf
ii  libparse-debianchang 1.0-1               parse Debian changelogs and output
ii  man-db               2.4.3-3             The on-line manual pager
ii  perl [libdigest-md5- 5.8.7-10            Larry Wall's Practical Extraction 

lintian recommends no packages.

-- no debconf information

--===============1435314799==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="lintian.patch"

diff -ru lintian-1.23.14/checks/fields lintian-new/checks/fields
--- lintian-1.23.14/checks/fields       2005-08-12 16:44:18.000000000 -0700
+++ lintian-new/checks/fields   2005-12-23 17:23:11.000000000 -0800
@@ -29,6 +29,28 @@
 use Tags;
 use Util;
 
+# Certain build tools must be listed in Build-Depends even if there are no
+# arch-specific packages because they're required in order to run the clean
+# rule.  (See Policy 7.6.)  The following is a list of pairs of packages and
+# regular expressions that, if they match anywhere in the debian/rules file,
+# say that this package is allowed in Build-Depends.
+my @global_depends = (
+       [ cdbs => '^include\s+/usr/share/cdbs/' ],
+       [ dbs => '^include\s+/usr/share/dbs/' ],
+       [ debhelper => '^include\s+/usr/share/cdbs/1/rules/debhelper.mk' ],
+       [ dpatch => '^include\s+/usr/share/dpatch/' ]
+);
+
+# Similarly, these pairs of packages and regexes say that if the regex matches
+# in one of clean, build-arch, or binary-arch, this package is allowed in
+# Build-Depends.
+my @rule_depends = (
+       [ debhelper => '^\s+dh_.+' ]
+);
+
+# Note that yada is handled as a special case, based on the existence of
+# debian/packages.
+
 sub run {
 
 my $pkg = shift;
@@ -403,23 +425,34 @@
                        my $build_depends = <BD>;
                        close BD;
 
-                       my $uses_dh = 0;
+                       my @allowed;
                        if (not open (RULES, "debfiles/rules")) {
                                fail("cannot read debfiles/rules: $!");
                        } else {
                                my $target = "none";
                                local $/ = "\n"; #Read this linewise            
                
                                while (<RULES>) {
+                                       for my $rule (@global_depends) {
+                                               if ($_ =~ /$rule->[1]/) {
+                                                       push (@allowed, 
$rule->[0]);
+                                               }
+                                       }
                                        $target = $1 if (/^(\S+):/);
-                                       if (/^\s+dh_.+/ && grep ($_ eq $target, 
qw(clean binary-arch build-arch)) or
-                                                       
m#^include\s+/usr/share/cdbs/1/rules/debhelper.mk#) {
-                                               $uses_dh = "yes";
-                                               last
+                                       if (grep ($_ eq $target, qw(clean 
binary-arch build-arch))) {
+                                               for my $rule (@rule_depends) {
+                                                       if ($_ =~ /$rule->[1]/) 
{
+                                                               push (@allowed, 
$rule->[0]);
+                                                       }
+                                               }
                                        }
                                }
                                close RULES;
                        }
-                       unless ($build_depends =~ 
/^\s*debhelper(?:\s+\((.+?)\))?(?:\s+(\[.+?\]))?\s*$/ && $uses_dh){
+                       my $packages = join ('|', @allowed);
+                       if (-e "debfiles/packages") {
+                               $packages .= '|yada';
+                       }
+                       unless ($build_depends =~ 
/^(?:\s*(?:$packages)(?:\s+\(([^\)]+?)\))?(?:\s+(\[[^\]]+?\]))?\s*,?)*$/) {
                                tag "build-depends-without-arch-dep", ""
                        }
                }

--===============1435314799==--

---------------------------------------
Received: (at 344609-close) by bugs.debian.org; 19 Jan 2006 15:21:13 +0000
>From [EMAIL PROTECTED] Thu Jan 19 07:21:13 2006
Return-path: <[EMAIL PROTECTED]>
Received: from katie by spohr.debian.org with local (Exim 4.50)
        id 1EzbXB-0000YE-8K; Thu, 19 Jan 2006 07:17:09 -0800
From: Frank Lichtenheld <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
X-Katie: $Revision: 1.65 $
Subject: Bug#344609: fixed in lintian 1.23.15
Message-Id: <[EMAIL PROTECTED]>
Sender: Archive Administrator <[EMAIL PROTECTED]>
Date: Thu, 19 Jan 2006 07:17:09 -0800
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
        autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-CrossAssassin-Score: 9

Source: lintian
Source-Version: 1.23.15

We believe that the bug you reported is fixed in the latest version of
lintian, which is due to be installed in the Debian FTP archive:

lintian_1.23.15.dsc
  to pool/main/l/lintian/lintian_1.23.15.dsc
lintian_1.23.15.tar.gz
  to pool/main/l/lintian/lintian_1.23.15.tar.gz
lintian_1.23.15_all.deb
  to pool/main/l/lintian/lintian_1.23.15_all.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Frank Lichtenheld <[EMAIL PROTECTED]> (supplier of updated lintian package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Thu, 19 Jan 2006 15:13:02 +0100
Source: lintian
Binary: lintian
Architecture: source all
Version: 1.23.15
Distribution: unstable
Urgency: low
Maintainer: Debian Lintian Maintainers <[EMAIL PROTECTED]>
Changed-By: Frank Lichtenheld <[EMAIL PROTECTED]>
Description: 
 lintian    - Debian package checker
Closes: 234531 321135 329953 339750 343865 344609 344899 344928 345005 346335 
347999 348380
Changes: 
 lintian (1.23.15) unstable; urgency=low
 .
   * The "www.no-name-yet.eu" release
 .
   * debian/changelog:
     + [FL] Fix wrapping of last changelog entry (Closes: #344899)
 .
   * checks/common_data.pm:
     + [FL] Add xlibs-dev and debmake to %known_obsolete_packages
   * checks/debconf:
     + [CW] Show template name for empty-translated-choices,
       mismatch-translated-choices, and unknown-field-in-templates.
   * checks/debhelper:
     + [FL] Also check for debhelper build-dependency in debhelper-using
       cdbs based packages
     + [FL] Indicate where we found which compat version in
       declares-possibly-conflicting-debhelper-compat-versions
       (Closes: #329953)
     + [FL] Add dh_installtexfonts to list of commands that modfiy
       the maintainer scripts
     + [FL] Try a little harder to find the DH_COMPAT setting in debian/rules
       (Closes: #348380)
   * checks/fields:
     + [FL] Allow version numbers of 0 by correctly checking the output
       of _valid_version for definedness and not the boolean value
       (Closes: #345005)
     + [FL] Better check for false postives of build-depends-without-arch-dep.
       Should fix false positives for cdbs, dbs, dpatch and yada. Based on
       a patch by Russ Allbery (Closes: #344609, #321135, #339750)
     + [FL] Also check for build-dependencies on obsolete packages not
       only dependencies (Closes: #234531)
   * checks/fields.desc:
     + [JvW] Fix typo in description
   * checks/init.d:
     + [FL] Only try to validate update-rc.d calls where the name of the
       script matches [\w.-]+. That accounts for all today known init
       scripts and eliminates false positives like shell variables in the
       name (Closes: #343865)
   * checks/manpages:
     + [FL] Fix stupid mistake in regex to strip of filenames from roff
       output (which was hidden by another stupid mistake in the test
       suite). Patch by Nicolas François (Closes: #347999)
   * checks/scripts:
     + [FL] Make mknod-in-maintainer-script an error since this is now
       a must in policy. Pointed out by Bartosz Fenski (Closes: #344928)
     + [FL] dpkg --print-installation-architecture is deprecated
       so delete dpkg-print-architecture-in-maintainer-script
     + [FL] Add parrot to list of valid interpreters (Closes: #346335)
Files: 
 1cb9288f27a0158fc95a87839f3dea83 772 devel optional lintian_1.23.15.dsc
 64e888db4f4a298e3ea1a1c4aab5693e 270918 devel optional lintian_1.23.15.tar.gz
 b8d43dbde7a88efb563ccdbdab8c065f 235350 devel optional lintian_1.23.15_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDz6q8Qbn06FtxPfARAioXAJ4gSTA8GVVkSx/4W/t3rNIH8I+HAACeMHSg
Zs19ZJ9ZD1XukHKu9y/z8IQ=
=Mc6Q
-----END PGP SIGNATURE-----


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to