| 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 |