|
|
|
@ -1,7 +1,7 @@ |
|
|
|
|
#!/bin/sh |
|
|
|
|
# install - install a program, script, or datafile |
|
|
|
|
|
|
|
|
|
scriptversion=2006-01-12.21 |
|
|
|
|
scriptversion=2006-04-25.22 |
|
|
|
|
|
|
|
|
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was |
|
|
|
|
# later released in X11R6 (xc/config/util/install.sh) with the |
|
|
|
@ -109,7 +109,7 @@ Environment variables override the default commands: |
|
|
|
|
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG |
|
|
|
|
" |
|
|
|
|
|
|
|
|
|
while test -n "$1"; do |
|
|
|
|
while test $# -ne 0; do |
|
|
|
|
case $1 in |
|
|
|
|
-c) shift |
|
|
|
|
continue;; |
|
|
|
@ -150,25 +150,33 @@ while test -n "$1"; do |
|
|
|
|
|
|
|
|
|
--version) echo "$0 $scriptversion"; exit $?;; |
|
|
|
|
|
|
|
|
|
*) # When -d is used, all remaining arguments are directories to create. |
|
|
|
|
# When -t is used, the destination is already specified. |
|
|
|
|
test -n "$dir_arg$dstarg" && break |
|
|
|
|
# Otherwise, the last argument is the destination. Remove it from $@. |
|
|
|
|
for arg |
|
|
|
|
do |
|
|
|
|
if test -n "$dstarg"; then |
|
|
|
|
# $@ is not empty: it contains at least $arg. |
|
|
|
|
set fnord "$@" "$dstarg" |
|
|
|
|
shift # fnord |
|
|
|
|
fi |
|
|
|
|
shift # arg |
|
|
|
|
dstarg=$arg |
|
|
|
|
done |
|
|
|
|
--) shift |
|
|
|
|
break;; |
|
|
|
|
|
|
|
|
|
-*) echo "$0: invalid option: $1" >&2 |
|
|
|
|
exit 1;; |
|
|
|
|
|
|
|
|
|
*) break;; |
|
|
|
|
esac |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
if test -z "$1"; then |
|
|
|
|
if test $# -ne 0 && test -z "$dir_arg$dstarg"; then |
|
|
|
|
# When -d is used, all remaining arguments are directories to create. |
|
|
|
|
# When -t is used, the destination is already specified. |
|
|
|
|
# Otherwise, the last argument is the destination. Remove it from $@. |
|
|
|
|
for arg |
|
|
|
|
do |
|
|
|
|
if test -n "$dstarg"; then |
|
|
|
|
# $@ is not empty: it contains at least $arg. |
|
|
|
|
set fnord "$@" "$dstarg" |
|
|
|
|
shift # fnord |
|
|
|
|
fi |
|
|
|
|
shift # arg |
|
|
|
|
dstarg=$arg |
|
|
|
|
done |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
if test $# -eq 0; then |
|
|
|
|
if test -z "$dir_arg"; then |
|
|
|
|
echo "$0: no input file specified." >&2 |
|
|
|
|
exit 1 |
|
|
|
@ -230,8 +238,7 @@ do |
|
|
|
|
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
|
|
|
|
X"$dst" : 'X\(//\)[^/]' \| \ |
|
|
|
|
X"$dst" : 'X\(//\)$' \| \ |
|
|
|
|
X"$dst" : 'X\(/\)' \| \ |
|
|
|
|
. : '\(.\)' 2>/dev/null || |
|
|
|
|
X"$dst" : 'X\(/\)' \| . 2>/dev/null || |
|
|
|
|
echo X"$dst" | |
|
|
|
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
|
|
|
|
s//\1/ |
|
|
|
|