[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



On Mon, Aug 31, 2015 at 11:42:56AM +0000, Mattia Rizzolo wrote:
> Yes, please add /build and /tmp/buildd to this check, where the actual
> builds happen inside the chroots.
> 
> Patch attached.


Ok, that one was a bit broken.
I also moved the check a bit up and checked for the directory itself
(removing the final dot from the regexp).
Looks a bit cleaner.
Thanks to abe!


-- 
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 f86e21aa1e8003fdb2d577f08a3b2fa8eb3c65bd 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

Also, move the check up in the "check tree" to get this tag always emitted.
Also, emit the tag also for the top level directories themselves.
---
 checks/files.pm                                | 20 +++++++++++---------
 debian/changelog                               |  3 +++
 t/tests/files-foo-in-bar/debian/debian/install |  2 ++
 t/tests/files-foo-in-bar/tags                  | 12 ++++++++++++
 4 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/checks/files.pm b/checks/files.pm
index b816ed8..19e80a0 100644
--- a/checks/files.pm
+++ b/checks/files.pm
@@ -441,8 +441,18 @@ sub run {
             }
         }
 
+        # build directory
+        if ($fname =~ m,^var/cache/pbuilder/build/,
+            or $fname =~ m,^var/lib/sbuild/,
+            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;
+            }
+        }
         # ---------------- /etc
-        if ($fname =~ m,^etc/,) {
+        elsif ($fname =~ m,^etc/,) {
             # /etc/apt
             if ($fname =~ m,^etc/apt/,) {
                 # -----------------/etc/apt/preferences
@@ -952,14 +962,6 @@ sub run {
         elsif ($fname =~ m,^srv/.,) {
             tag 'dir-or-file-in-srv', $file;
         }
-        # build directory
-        elsif ($fname =~ m,^var/cache/pbuilder/build/.,
-            or $fname =~ m,^var/lib/sbuild/.,
-            or $fname =~ m,^var/lib/buildd/.,) {
-            unless ($source_pkg eq 'sbuild') {
-                tag 'dir-or-file-in-build-tree', $file;
-            }
-        }
         # ---------------- FHS directory?
         elsif (
                 $fname =~ m,^[^/]+/$,o
diff --git a/debian/changelog b/debian/changelog
index 60299e4..c8d841e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -42,6 +42,9 @@ lintian (2.5.37) UNRELEASED; urgency=medium
       Thanks to Jean-Michel Vourgère for reporting the issue.
     + [AB] Also emit package-relation-with-perl-module for build-*
       relations. Thanks gregor herrmann! (Closes: #798385)
+  * 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.  (Closes: #797532)
   * checks/obsolete-sites.{desc,pm}:
     + [AB] New check with tag obsolete-url-in-packaging to check for URLs
       of hosting sites with frozen contents or (soon to be) closed hosting
diff --git a/t/tests/files-foo-in-bar/debian/debian/install b/t/tests/files-foo-in-bar/debian/debian/install
index af63a20..50d65b4 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 build/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..62ca87f 100644
--- a/t/tests/files-foo-in-bar/tags
+++ b/t/tests/files-foo-in-bar/tags
@@ -1,6 +1,17 @@
 E: files-foo-in-bar: dir-in-usr-local usr/local/foo/
+E: files-foo-in-bar: dir-or-file-in-build-tree build/
+E: files-foo-in-bar: dir-or-file-in-build-tree build/dir/
+E: files-foo-in-bar: dir-or-file-in-build-tree build/dir/foo/
+E: files-foo-in-bar: dir-or-file-in-build-tree build/dir/foo/bar
+E: files-foo-in-bar: dir-or-file-in-build-tree tmp/buildd/
+E: files-foo-in-bar: dir-or-file-in-build-tree tmp/buildd/dir/
+E: files-foo-in-bar: dir-or-file-in-build-tree tmp/buildd/dir/foo/
+E: files-foo-in-bar: dir-or-file-in-build-tree tmp/buildd/dir/foo/bar
+E: files-foo-in-bar: dir-or-file-in-build-tree var/cache/pbuilder/build/
 E: files-foo-in-bar: dir-or-file-in-build-tree var/cache/pbuilder/build/bar
+E: files-foo-in-bar: dir-or-file-in-build-tree var/lib/buildd/
 E: files-foo-in-bar: dir-or-file-in-build-tree var/lib/buildd/bar
+E: files-foo-in-bar: dir-or-file-in-build-tree var/lib/sbuild/
 E: files-foo-in-bar: dir-or-file-in-build-tree var/lib/sbuild/bar
 E: files-foo-in-bar: dir-or-file-in-etc-opt etc/opt/bar
 E: files-foo-in-bar: dir-or-file-in-home home/johndoe/
@@ -58,6 +69,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 build/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: