diff options
Diffstat (limited to 'install-sh')
| -rwxr-xr-x | install-sh | 29 | 
1 files changed, 11 insertions, 18 deletions
| @@ -1,7 +1,7 @@  #!/bin/sh  # install - install a program, script, or datafile -scriptversion=2011-01-19.21; # UTC +scriptversion=2009-04-28.21; # UTC  # This originates from X11R5 (mit/util/scripts/install.sh), which was  # later released in X11R6 (xc/config/util/install.sh) with the @@ -156,10 +156,6 @@ while test $# -ne 0; do      -s) stripcmd=$stripprog;;      -t) dst_arg=$2 -	# Protect names problematic for `test' and other utilities. -	case $dst_arg in -	  -* | [=\(\)!]) dst_arg=./$dst_arg;; -	esac  	shift;;      -T) no_target_directory=true;; @@ -190,10 +186,6 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then      fi      shift # arg      dst_arg=$arg -    # Protect names problematic for `test' and other utilities. -    case $dst_arg in -      -* | [=\(\)!]) dst_arg=./$dst_arg;; -    esac    done  fi @@ -208,11 +200,7 @@ if test $# -eq 0; then  fi  if test -z "$dir_arg"; then -  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 +  trap '(exit $?); exit' 1 2 13 15    # Set umask so as not to create temps with too-generous modes.    # However, 'strip' requires both read and write access to temps. @@ -240,9 +228,9 @@ fi  for src  do -  # Protect names problematic for `test' and other utilities. +  # Protect names starting with `-'.    case $src in -    -* | [=\(\)!]) src=./$src;; +    -*) src=./$src;;    esac    if test -n "$dir_arg"; then @@ -264,7 +252,12 @@ do        echo "$0: no destination specified." >&2        exit 1      fi +      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 double slashes aren't ignored. @@ -392,7 +385,7 @@ do        case $dstdir in  	/*) prefix='/';; -	[-=\(\)!]*) prefix='./';; +	-*) prefix='./';;  	*)  prefix='';;        esac @@ -410,7 +403,7 @@ do        for d        do -	test X"$d" = X && continue +	test -z "$d" && continue  	prefix=$prefix$d  	if test -d "$prefix"; then | 
