svn commit: r248332 - stable/9/tools

Brooks Davis brooks at FreeBSD.org
Fri Mar 15 15:21:35 UTC 2013


Author: brooks
Date: Fri Mar 15 15:21:34 2013
New Revision: 248332
URL: http://svnweb.freebsd.org/changeset/base/248332

Log:
  MFC r245751,245893:
  
  r245751:
  Implement the -l option using ln(1) to facilitate boostrapping.
  
  Ignore the new options -D, -h, -T, and -U.  Adjust -M support to ignore
  an argument.
  
  Sponsored by:	DARPA, AFRL
  Reviewed by:	ian, ray, rpaulo
  
  r245893:
  Use = not == in test arguments.
  
  Submitted by:	Christoph Mallon <christoph.mallon at gmx.de>

Modified:
  stable/9/tools/install.sh
Directory Properties:
  stable/9/tools/   (props changed)

Modified: stable/9/tools/install.sh
==============================================================================
--- stable/9/tools/install.sh	Fri Mar 15 15:19:33 2013	(r248331)
+++ stable/9/tools/install.sh	Fri Mar 15 15:21:34 2013	(r248332)
@@ -30,12 +30,22 @@
 
 # parse install's options and ignore them completely.
 dirmode=""
+linkmode=""
 while [ $# -gt 0 ]; do
     case $1 in
     -d) dirmode="YES"; shift;;
-    -[bCcMpSsv]) shift;;
-    -[Bfgmo]) shift; shift;;
-    -[Bfgmo]*) shift;;
+    -[bCcpSsv]) shift;;
+    -[BDfghMmNoTU]) shift; shift;;
+    -[BDfghMmNoTU]*) shift;;
+    -l)
+	shift
+	case $1 in
+	*[sm]*) linkmode="symbolic";;	# XXX: 'm' should prefer hard
+	*h*) linkmode="hard";;
+	*) echo "invalid link mode"; exit 1;;
+	esac
+	shift
+	;;
     *) break;
     esac
 done
@@ -51,7 +61,13 @@ if [ -z "$dirmode" ] && [ "$#" -lt 2 ]; 
 fi
 
 # the remaining arguments are assumed to be files/dirs only.
-if [ -z "$dirmode" ]; then
+if [ -n "${linkmode}" ]; then
+	if [ "${linkmode}" = "symbolic" ]; then
+		ln -fsh "$@"
+	else
+		ln -f "$@"
+	fi
+elif [ -z "$dirmode" ]; then
 	exec install -p "$@"
 else
 	exec install -d "$@"


More information about the svn-src-all mailing list