From: Baruch Siach Date: Tue, 17 Jul 2018 10:40:45 +0000 (+0300) Subject: install.sh: don't clobber dangling symlinks X-Git-Tag: 1_30_0~495 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3d07446cef196c8c6f92a4d8006a56d348fca062;p=oweals%2Fbusybox.git install.sh: don't clobber dangling symlinks Symlinks in a subdirectory that is to become target rootfs are sometimes dangling because they link to canonical file names that are not present on the host, but are present relative to the target rootfs root. Don't copy over dangling symlinks when noclobber is enabled The -e test treats dangling symlinks as non-existent files. Add -h test that returns true for all symlinks. Cc: Yann E. MORIN Signed-off-by: Baruch Siach Signed-off-by: Denys Vlasenko --- diff --git a/applets/install.sh b/applets/install.sh index 9aede0f53..415896893 100755 --- a/applets/install.sh +++ b/applets/install.sh @@ -83,7 +83,7 @@ install -m 755 busybox "$prefix/bin/busybox" || exit 1 for i in $h; do appdir=`dirname "$i"` app=`basename "$i"` - if [ x"$noclobber" = x"1" ] && [ -e "$prefix/$i" ]; then + if [ x"$noclobber" = x"1" ] && ([ -e "$prefix/$i" ] || [ -h "$prefix/$i" ]); then echo " $prefix/$i already exists" continue fi