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