On 29/09/10 22:06, Marc - A. Dahlhaus wrote:
Am Mittwoch, den 29.09.2010, 21:59 +1000 schrieb Allan McRae:
The checking of the package for $srcdir references was overly
sensitive and gave a lot of what appear to be false positives with
binary files (in particular with debugging symbols kept).

Restrict the search for $srcdir to non-binary files as this should
still catch the majority of configuration issues the check was
initially designed to catch. Also, add a similar check for $pkgdir.

Signed-off-by: Allan McRae<al...@archlinux.org>
---
  scripts/makepkg.sh.in |    9 +++++++--
  1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index ed1380d..01d73f8 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -972,10 +972,15 @@ check_package() {
                fi
        done

-       # check for references to the build directory
-       if find "${pkgdir}" -type f -exec grep -q "${srcdir}" {} +; then
+       # check for references to the build and package directory
+       local filelist=$(find "${pkgdir}" -type f)
+       if grep -q -I "${srcdir}" $filelist; then
                warning "$(gettext "Package contains reference to %s")" 
"\$srcdir"
        fi
+       if grep -q -I "${pkgdir}" $filelist; then
+               warning "$(gettext "Package contains reference to %s")" 
"\$pkgdir"
+       fi
+
  }

  create_package() {

This change could exeed the maximum number of allowed params for large
packages. It would be better to continue to use the exec param for find
IMO.

That is a good point. I did not want to run the find twice but I guess that will be mostly cached anyway so it will make little difference. I will make this change on my working branch.

Allan

Reply via email to