[pacman-dev] [PATCH] makepkg: list files containing $srcdir (FS#31558)
Allan McRae
allan at archlinux.org
Mon May 20 07:07:27 EDT 2013
On 20/05/13 20:58, Dave Reisner wrote:
> 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
Also not you do not need the whole for loop here. Just
printf " %s\n" "${srcdir_refs[@]}"
>> 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