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
This commit is contained in:
brooks 2013-01-21 22:32:00 +00:00
parent 5ab6899eb1
commit af380cc2bf

View File

@ -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 ]; then
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 "$@"