On 30/09/10 01:35, Allan McRae wrote:
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<[email protected]> --- 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; thenwarning "$(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
Why not just run it once? I would do something like this:
find "${pkgdir}" -type f -exec grep -q -I -F "${srcdir}
${pkgdir}" {} +;
This also means special characters (like .) won't get misinterpreted,
however unlikely that may be. Not sure if there is a better way to stick
that newline in there...
