build: Fix directory symlinks not removed when cleaning STAGING_DIR

Currently, a symbolic link whose target is a directory will not be
removed when cleaning packages from STAGING_DIR.

In the first cleaning pass in scripts/clean-package.sh, the -f test for
a directory symlink returns false (because the link target is a
directory) and so the symlink is not removed.

In the second pass, the -d test returns true for a directory symlink,
but the symlink is not removed by rmdir because rmdir only removes
(real) directories.

This updates clean-package.sh to remove all non-directories (including
symbolic links) in the first pass.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
Jeffery To 2020-02-19 05:15:04 +08:00 committed by Petr Štetiar
parent dddcff2550
commit f96cfe019a

View File

@ -12,7 +12,7 @@ cat "$1" | (
cd "$2" cd "$2"
while read entry; do while read entry; do
[ -n "$entry" ] || break [ -n "$entry" ] || break
[ -f "$entry" ] && rm -f $entry [ ! -d "$entry" ] || [ -L "$entry" ] && rm -f "$entry"
done done
) )
sort -r "$1" | ( sort -r "$1" | (