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

Bug#797532: Please checks for /build and /tmp/buildd in dir-or-file-in-build-tree



Package: lintian
Version: 2.5.36.1
Severity: wishlist
Tags: patch
X-Debbugs-CC: 797466@bugs.debian.org

On Mon, Aug 31, 2015 at 01:17:36PM +0200, Jakub Wilk wrote:
> * Niels Thykier <niels@thykier.net>, 2015-08-31, 12:55:
> >lindsay.d.o:/srv/lintian.debian.org/history/tags/<tag-name>.dat
> 
> Aren't those all false positives from #720910?
> 
> >>I'm still curious to know how could it happen.
> >
> >I do not remember how or what happened.  I can trace the tag back to
> >#678857, which includes Andreas Beckmann quoting me from IRC:
> >
> >"""
> ><nthykier> we occasially [sic!] also see buildd paths as well
> >"""
> 
> Perhaps by buildd paths you meant /build (or /tmp/buildd)? I can image that
> these can appear in debs easily by mistake.

Yes, please add /build and /tmp/buildd to this check, where the actual
builds happen inside the chroots.

Patch attached.

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  http://mapreri.org                              : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
From 9ac5395e1f5173993ce7b870a21b0da699068180 Mon Sep 17 00:00:00 2001
From: Mattia Rizzolo <mattia@mapreri.org>
Date: Mon, 31 Aug 2015 11:40:14 +0000
Subject: [PATCH] checks/files.pm: also checks for /build and /tmp/buildd in
 dir-or-file-in-build-tree

---
 checks/files.pm                                | 4 +++-
 debian/changelog                               | 3 +++
 t/tests/files-foo-in-bar/debian/debian/install | 2 ++
 t/tests/files-foo-in-bar/tags                  | 6 ++++++
 4 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/checks/files.pm b/checks/files.pm
index b816ed8..97c4885 100644
--- a/checks/files.pm
+++ b/checks/files.pm
@@ -955,7 +955,9 @@ sub run {
         # build directory
         elsif ($fname =~ m,^var/cache/pbuilder/build/.,
             or $fname =~ m,^var/lib/sbuild/.,
-            or $fname =~ m,^var/lib/buildd/.,) {
+            or $fname =~ m,^var/lib/buildd/.,
+            or $fname =~ m,^build/.,
+            or $fname =~ m,^tmp/buildd.,) {
             unless ($source_pkg eq 'sbuild') {
                 tag 'dir-or-file-in-build-tree', $file;
             }
diff --git a/debian/changelog b/debian/changelog
index 1012308..015febe 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -26,6 +26,9 @@ lintian (2.5.37) UNRELEASED; urgency=medium
     + [JW] Use "an" (instead of "a") before "HTTP".
     + [NT] Assert that -dbgsym packages are in the "debug" section.
       Thanks to Jean-Michel Vourgère for reporting the issue.
+  * checks/files.pm:
+    + Apply patch from Mattia Rizzolo to also check for files in /build and
+      /tmp/buildd in dir-or-file-in-build-tree
   * checks/scripts.pm:
     + [BR] Fix Unescaped left brace in regex.  (Closes: #788926)
   * checks/version-substvars.pm:
diff --git a/t/tests/files-foo-in-bar/debian/debian/install b/t/tests/files-foo-in-bar/debian/debian/install
index af63a20..886b7fe 100644
--- a/t/tests/files-foo-in-bar/debian/debian/install
+++ b/t/tests/files-foo-in-bar/debian/debian/install
@@ -46,6 +46,8 @@ bar etc/opt
 bar var/cache/pbuilder/build
 bar var/lib/sbuild
 bar var/lib/buildd
+bar buildd/dir/foo
+bar tmp/buildd/dir/foo
 bar etc/dhcp3
 
 Bar.pm usr/lib/perl5/Foo
diff --git a/t/tests/files-foo-in-bar/tags b/t/tests/files-foo-in-bar/tags
index 488c306..5616722 100644
--- a/t/tests/files-foo-in-bar/tags
+++ b/t/tests/files-foo-in-bar/tags
@@ -12,6 +12,10 @@ E: files-foo-in-bar: dir-or-file-in-run run/foo/
 E: files-foo-in-bar: dir-or-file-in-run run/foo/bar
 E: files-foo-in-bar: dir-or-file-in-srv srv/foo/
 E: files-foo-in-bar: dir-or-file-in-srv srv/foo/bar
+E: files-foo-in-bar: dir-or-file-in-tmp tmp/buildd/
+E: files-foo-in-bar: dir-or-file-in-tmp tmp/buildd/dir/
+E: files-foo-in-bar: dir-or-file-in-tmp tmp/buildd/dir/foo/
+E: files-foo-in-bar: dir-or-file-in-tmp tmp/buildd/dir/foo/bar
 E: files-foo-in-bar: dir-or-file-in-tmp tmp/foo/
 E: files-foo-in-bar: dir-or-file-in-tmp tmp/foo/bar
 E: files-foo-in-bar: dir-or-file-in-var-lock var/lock/foo/
@@ -27,6 +31,7 @@ E: files-foo-in-bar: file-in-usr-lib-site-python usr/lib/site-python/foo/bar
 E: files-foo-in-bar: file-in-usr-local usr/local/foo/bar
 E: files-foo-in-bar: nested-examples-directory usr/share/doc/files-foo-in-bar/examples/examples/
 E: files-foo-in-bar: non-standard-dir-in-var var/foo/
+E: files-foo-in-bar: non-standard-toplevel-dir buildd/
 E: files-foo-in-bar: non-standard-toplevel-dir emul/
 E: files-foo-in-bar: package-contains-mime-file-outside-package-dir usr/share/mime/foo/
 E: files-foo-in-bar: package-contains-mime-file-outside-package-dir usr/share/mime/foo/bar
@@ -58,6 +63,7 @@ E: files-foo-in-bar: udev-rule-in-etc etc/udev/rules.d/bar
 W: files-foo-in-bar: debug-package-should-be-named-dbg usr/lib/debug/bar
 W: files-foo-in-bar: executable-not-elf-or-script bin/foo/bar
 W: files-foo-in-bar: executable-not-elf-or-script usr/bin/foo/bar
+W: files-foo-in-bar: file-in-unusual-dir buildd/dir/foo/bar
 W: files-foo-in-bar: file-in-unusual-dir emul/bar
 W: files-foo-in-bar: file-in-unusual-dir usr/foo/bar
 W: files-foo-in-bar: file-in-unusual-dir usr/local/foo/bar
-- 
2.5.1

Attachment: signature.asc
Description: Digital signature


Reply to: