Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Mar 2013 15:21:35 +0000 (UTC)
From:      Brooks Davis <brooks@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r248332 - stable/9/tools
Message-ID:  <201303151521.r2FFLZuH062375@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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 "$@"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303151521.r2FFLZuH062375>