[pacman-dev] [PATCH] makepkg: list files containing $srcdir (FS#31558)

Dave Reisner d at falconindy.com
Mon May 20 06:58:48 EDT 2013


On May 20, 2013 3:08 AM, "Phillip Smith" <lists at fukawi2.nl> wrote:
>
> From: Phillip Smith <fukawi2 at gmail.com>
>
> when checking for files in a built package that contain references to
> $srcdir or $pkgdir_base, show the files that match to assist in
> debugging.
>
> Signed-off-by: Phillip Smith <fukawi2 at gmail.com>
> ---
>  scripts/makepkg.sh.in | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index 75ddfe5..1b3cc5a 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -1606,11 +1606,19 @@ tidy_install() {
>         done
>
>         # check for references to the build and package directory
> -       if find "${pkgdir}" -type f -print0 | xargs -0  grep -q -I
"${srcdir}" ; then
> -               warning "$(gettext "Package contains reference to %s")"
"\$srcdir"
> +       mapfile -t srcdir_refs <<< $(cd "${pkgdir}" && find -type f -exec
grep -I -l "$srcdir" {} \;)

Not what I had in mind (or gave you). This will "work", but the process
substitution is preferable over the here string.

> +       if [[ -n ${srcdir_refs[*]} ]] ; then
> +               warning "$(gettext "The following files within the
package reference %s")" "\$srcdir"
> +               for fname in ${srcdir_refs[*]} ; do
> +                       printf "  %s\n" "$fname"
> +               done
>         fi
> -       if find "${pkgdir}" -type f -print0 | xargs -0  grep -q -I
"${pkgdirbase}" ; then
> -               warning "$(gettext "Package contains reference to %s")"
"\$pkgdir"
> +       mapfile -t pkgdir_refs <<< $(cd "${pkgdir}" && find -type f -exec
grep -I -l "${pkgdirbase}" {} \;)
> +       if [[ -n ${pkgdir_refs[*]} ]] ; then
> +               warning "$(gettext "The following files within the
package reference %s")" "\$pkgdir"
> +               for fname in ${pkgdir_refs[*]} ; do
> +                       printf "  %s\n" "$fname"
> +               done
>         fi
>
>         if check_option "zipman" "y" && [[ -n ${MAN_DIRS[*]} ]]; then
> --
> 1.8.2.3
>
>


More information about the pacman-dev mailing list