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