Fixes FS#31558
Signed-off-by: Ashley Whetter <[email protected]>
---
.../libmakepkg/lint_package/build_references.sh.in | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/scripts/libmakepkg/lint_package/build_references.sh.in
b/scripts/libmakepkg/lint_package/build_references.sh.in
index 67c14e6..dd6b88c 100644
--- a/scripts/libmakepkg/lint_package/build_references.sh.in
+++ b/scripts/libmakepkg/lint_package/build_references.sh.in
@@ -29,10 +29,24 @@ 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"
+ warn_single_build_references "$srcdir" srcdir
+ warn_single_build_references "$pkgdirbase" pkgdir
+}
+
+warn_single_build_references() {
+ local to_find=$1 ref_name=$2
+
+ mapfile -t refs < <(cd "$pkgdir" && find_files_that_ref "$to_find")
+ if (( ${#refs[*]} )); then
+ warning "$(gettext "Package contains reference to %s")"
"\$$ref_name"
+ printf " %s\n" "${refs[@]}"
fi
- if find "${pkgdir}" -type f -print0 | xargs -0 grep -q -I
"${pkgdirbase}" ; then
- warning "$(gettext "Package contains reference to %s")"
"\$pkgdir"
+}
+
+find_files_that_ref() {
+ if [[ -z "$1" ]]; then
+ return 1
fi
+
+ find -type f -exec grep -Il "$1" {} +
}
--
2.8.2