commit: bfe1074c3c21d90720a1df8ec8e416d09875092c
Author: Marco Sirabella <marco <AT> sirabella <DOT> org>
AuthorDate: Sat May 22 18:30:42 2021 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 10 19:25:50 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bfe1074c
eclass/common-lisp-3: Properly escape recursive install files
This is a bit of a roundabout way to do it, but since we want to pass
the results of `find` to a bash function, this is what we need to do.
All of these functions are a bit convoluted, I believe something similar
could be hacked together that looks like `find -type f -name '*.lisp'
-exec doins` (or xargs) without the recursive calling or escaping mess
Signed-off-by: Marco Sirabella <marco <AT> sirabella.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/common-lisp-3.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/common-lisp-3.eclass b/eclass/common-lisp-3.eclass
index 5314e391db8f..df624d51607c 100644
--- a/eclass/common-lisp-3.eclass
+++ b/eclass/common-lisp-3.eclass
@@ -127,7 +127,9 @@ common-lisp-install-sources() {
if [[ -f ${path} ]] ; then
common-lisp-install-one-source ${fpredicate} "${path}"
"$(dirname "${path}")"
elif [[ -d ${path} ]] ; then
- common-lisp-install-sources -t ${ftype} $(find
"${path}" -type f)
+ local files
+ readarray -d '' files < <(find "${path}" -type f
-print0 || die "cannot traverse ${path}" )
+ common-lisp-install-sources -t ${ftype} "${files[@]}"
|| die
else
die "${path} is neither a regular file nor a directory"
fi