config/functions: fix safe_remove of multiple files

Several packages call safe_remove with a wildcard to remove
multiple files but safe_remove only deleted the first one.

Fix this by iterating over all arguments passed into safe_remove
so unwanted files don't end up in the image.

Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
Matthias Reichl 2020-02-09 02:54:53 +01:00
parent 24c4c14ab2
commit e96a892a10

View File

@ -132,10 +132,9 @@ build_msg() {
# prints a warning if the file slated for removal doesn't exist # prints a warning if the file slated for removal doesn't exist
# this allows us to continue instead of bailing out with just "rm" # this allows us to continue instead of bailing out with just "rm"
safe_remove() { safe_remove() {
local path="$1" local path
[ -z "${path}" ] && return 0
for path in "$@" ; do
if [ -e "${path}" -o -L "${path}" ]; then if [ -e "${path}" -o -L "${path}" ]; then
rm -r "${path}" rm -r "${path}"
elif [ -n "${PKG_NAME}" ]; then elif [ -n "${PKG_NAME}" ]; then
@ -143,6 +142,7 @@ safe_remove() {
else else
print_color CLR_WARNING "safe_remove: path does not exist: ${path}\n" print_color CLR_WARNING "safe_remove: path does not exist: ${path}\n"
fi fi
done
} }
### BUILDSYSTEM HELPERS ### ### BUILDSYSTEM HELPERS ###