From: Jeffery To Date: Tue, 18 Feb 2020 21:15:04 +0000 (+0800) Subject: build: Fix directory symlinks not removed when cleaning STAGING_DIR X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f96cfe019a4d1190ef3199594ad38b7bf67953fb;p=openwrt%2Fstaging%2F981213.git 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 --- diff --git a/scripts/clean-package.sh b/scripts/clean-package.sh index 6dd9bf7306..035725625d 100755 --- a/scripts/clean-package.sh +++ b/scripts/clean-package.sh @@ -12,7 +12,7 @@ cat "$1" | ( cd "$2" while read entry; do [ -n "$entry" ] || break - [ -f "$entry" ] && rm -f $entry + [ ! -d "$entry" ] || [ -L "$entry" ] && rm -f "$entry" done ) sort -r "$1" | (