From 3d07446cef196c8c6f92a4d8006a56d348fca062 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Tue, 17 Jul 2018 13:40:45 +0300 Subject: 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 --- applets/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'applets') 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 -- cgit v1.2.3