|
version 1.1, 2012/02/21 16:32:16
|
version 1.1.1.2, 2012/10/09 09:36:45
|
|
Line 1
|
Line 1
|
| #!/bin/sh |
#!/bin/sh |
| # install - install a program, script, or datafile |
# install - install a program, script, or datafile |
| |
|
| scriptversion=2009-04-28.21; # UTC | scriptversion=2011-01-19.21; # UTC |
| |
|
| # This originates from X11R5 (mit/util/scripts/install.sh), which was |
# This originates from X11R5 (mit/util/scripts/install.sh), which was |
| # later released in X11R6 (xc/config/util/install.sh) with the |
# later released in X11R6 (xc/config/util/install.sh) with the |
|
Line 156 while test $# -ne 0; do
|
Line 156 while test $# -ne 0; do
|
| -s) stripcmd=$stripprog;; |
-s) stripcmd=$stripprog;; |
| |
|
| -t) dst_arg=$2 |
-t) dst_arg=$2 |
| |
# Protect names problematic for `test' and other utilities. |
| |
case $dst_arg in |
| |
-* | [=\(\)!]) dst_arg=./$dst_arg;; |
| |
esac |
| shift;; |
shift;; |
| |
|
| -T) no_target_directory=true;; |
-T) no_target_directory=true;; |
|
Line 186 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
Line 190 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
| fi |
fi |
| shift # arg |
shift # arg |
| dst_arg=$arg |
dst_arg=$arg |
| |
# Protect names problematic for `test' and other utilities. |
| |
case $dst_arg in |
| |
-* | [=\(\)!]) dst_arg=./$dst_arg;; |
| |
esac |
| done |
done |
| fi |
fi |
| |
|
|
Line 200 if test $# -eq 0; then
|
Line 208 if test $# -eq 0; then
|
| fi |
fi |
| |
|
| if test -z "$dir_arg"; then |
if test -z "$dir_arg"; then |
| trap '(exit $?); exit' 1 2 13 15 | do_exit='(exit $ret); exit $ret' |
| | trap "ret=129; $do_exit" 1 |
| | trap "ret=130; $do_exit" 2 |
| | trap "ret=141; $do_exit" 13 |
| | trap "ret=143; $do_exit" 15 |
| |
|
| # Set umask so as not to create temps with too-generous modes. |
# Set umask so as not to create temps with too-generous modes. |
| # However, 'strip' requires both read and write access to temps. |
# However, 'strip' requires both read and write access to temps. |
|
Line 228 fi
|
Line 240 fi
|
| |
|
| for src |
for src |
| do |
do |
| # Protect names starting with `-'. | # Protect names problematic for `test' and other utilities. |
| case $src in |
case $src in |
| -*) src=./$src;; | -* | [=\(\)!]) src=./$src;; |
| esac |
esac |
| |
|
| if test -n "$dir_arg"; then |
if test -n "$dir_arg"; then |
|
Line 252 do
|
Line 264 do
|
| echo "$0: no destination specified." >&2 |
echo "$0: no destination specified." >&2 |
| exit 1 |
exit 1 |
| fi |
fi |
| |
|
| dst=$dst_arg |
dst=$dst_arg |
| # Protect names starting with `-'. |
|
| case $dst in |
|
| -*) dst=./$dst;; |
|
| esac |
|
| |
|
| # If destination is a directory, append the input filename; won't work |
# If destination is a directory, append the input filename; won't work |
| # if double slashes aren't ignored. |
# if double slashes aren't ignored. |
|
Line 385 do
|
Line 392 do
|
| |
|
| case $dstdir in |
case $dstdir in |
| /*) prefix='/';; |
/*) prefix='/';; |
| -*) prefix='./';; | [-=\(\)!]*) prefix='./';; |
| *) prefix='';; |
*) prefix='';; |
| esac |
esac |
| |
|
|
Line 403 do
|
Line 410 do
|
| |
|
| for d |
for d |
| do |
do |
| test -z "$d" && continue | test X"$d" = X && continue |
| |
|
| prefix=$prefix$d |
prefix=$prefix$d |
| if test -d "$prefix"; then |
if test -d "$prefix"; then |