diff options
| author | Jeffery To | 2020-02-18 21:15:04 +0000 |
|---|---|---|
| committer | Petr Štetiar | 2020-03-01 20:35:59 +0000 |
| commit | f96cfe019a4d1190ef3199594ad38b7bf67953fb (patch) | |
| tree | 79dc826859bbdb4e04c6824addba1ee76c58bca6 | |
| parent | dddcff25501ddd07546be09758fde2a6b56116ca (diff) | |
| download | openwrt-f96cfe019a4d1190ef3199594ad38b7bf67953fb.tar.gz | |
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>
| -rwxr-xr-x | scripts/clean-package.sh | 2 |
1 files changed, 1 insertions, 1 deletions
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" | ( |