We're not very strict about this, but please try to keep the first
line of the commit message fairly short, ideally around 50 characters.

On 10/14/16 at 08:21pm, ivy.fos...@gmail.com wrote:
> From: Ivy Foster <ivy.fos...@gmail.com>
> 
> grep -n output is used to match format of compiler warnings.
> Since rewriting build_references() anyway, tweaked quoting.
> Implements FS#31558.
> 
> Signed-off-by: Ivy Foster <ivy.fos...@gmail.com>
> ---
>  scripts/libmakepkg/lint_package/build_references.sh.in | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/scripts/libmakepkg/lint_package/build_references.sh.in 
> b/scripts/libmakepkg/lint_package/build_references.sh.in
> index 67c14e6..62f705c 100644
> --- a/scripts/libmakepkg/lint_package/build_references.sh.in
> +++ b/scripts/libmakepkg/lint_package/build_references.sh.in
> @@ -25,14 +25,16 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
>  
>  source "$LIBRARY/util/message.sh"
>  
> -
>  lint_package_functions+=('warn_build_references')
>  
>  warn_build_references() {
> -     if find "${pkgdir}" -type f -print0 | xargs -0 grep -q -I "${srcdir}" ; 
> then
> -             warning "$(gettext "Package contains reference to %s")" 
> "\$srcdir"
> -     fi
> -     if find "${pkgdir}" -type f -print0 | xargs -0 grep -q -I 
> "${pkgdirbase}" ; then
> -             warning "$(gettext "Package contains reference to %s")" 
> "\$pkgdir"
> -     fi
> +     local refs
> +
> +     for var in srcdir pkgdir; do
> +             mapfile -t refs < <(find "$pkgdir" -type f -exec grep -n 
> "${!var}" {} +)

For packages with just a single file this won't print the name of the
matching file.  GNU grep has -H for this, but it's not POSIX.  What
about including /dev/null as an argument to grep so that it always has
more than one file?

Also, unrelated to this patch, but we should be using grep -F since
paths can contain regular expression metacharacters.

> +             if  [[ ${#refs} -gt 0 ]]; then
> +                     warning "$(gettext 'Package contains reference to %s')" 
> "\$$var"
> +                     printf '%s\n' "${refs[@]}" >&2
> +             fi
> +     done
>  }
> -- 
> 2.10.0

Reply via email to