[PATCH 1/3] applets/install: respect noclobber for script wrappers too

Yann E. MORIN yann.morin.1998 at free.fr
Thu Dec 28 22:49:47 UTC 2017


Simplify the handling of --noclobber so that it applies to all types of
installation types, even to script wrappers.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
---
 applets/install.sh | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/applets/install.sh b/applets/install.sh
index f6c097e57..4b70df96e 100755
--- a/applets/install.sh
+++ b/applets/install.sh
@@ -77,6 +77,10 @@ install -m 755 busybox "$prefix/bin/busybox" || exit 1
 for i in $h; do
 	appdir=`dirname "$i"`
 	app=`basename "$i"`
+	if [ "$noclobber" = "1" ] && [ -e "$prefix/$i" ]; then
+		echo "  $prefix/$i already exists"
+		continue
+	fi
 	mkdir -p "$prefix/$appdir" || exit 1
 	if [ "$scriptwrapper" = "y" ]; then
 		if [ "$swrapall" != "y" ] && [ "$i" = "/bin/sh" ]; then
@@ -90,12 +94,8 @@ for i in $h; do
 	elif [ "$binaries" = "y" ]; then
 		# Copy the binary over rather
 		if [ -e $sharedlib_dir/$app ]; then
-			if [ "$noclobber" = "0" ] || [ ! -e "$prefix/$i" ]; then
-				echo "   Copying $sharedlib_dir/$app to $prefix/$i"
-				cp -pPR $sharedlib_dir/$app $prefix/$i || exit 1
-			else
-				echo "  $prefix/$i already exists"
-			fi
+			echo "   Copying $sharedlib_dir/$app to $prefix/$i"
+			cp -pPR $sharedlib_dir/$app $prefix/$i || exit 1
 		else
 			echo "Error: Could not find $sharedlib_dir/$app"
 			exit 1
@@ -123,12 +123,8 @@ for i in $h; do
 			;;
 			esac
 		fi
-		if [ "$noclobber" = "0" ] || [ ! -e "$prefix/$i" ]; then
-			echo "  $prefix/$i -> $bb_path"
-			ln $linkopts "$bb_path" "$prefix/$i" || exit 1
-		else
-			echo "  $prefix/$i already exists"
-		fi
+		echo "  $prefix/$i -> $bb_path"
+		ln $linkopts "$bb_path" "$prefix/$i" || exit 1
 	fi
 done
 
-- 
2.11.0



More information about the busybox mailing list