From f96cfe019a4d1190ef3199594ad38b7bf67953fb Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Wed, 19 Feb 2020 05:15:04 +0800 Subject: [PATCH] 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 --- scripts/clean-package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/clean-package.sh b/scripts/clean-package.sh index 6dd9bf73068..035725625d1 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" | (