diff install-sh @ 1826:6a621a625b04

New release
author Adam Chlipala <adam@chlipala.net>
date Tue, 25 Sep 2012 08:16:58 -0400
parents 27d68ccb2c9e
children
line wrap: on
line diff
--- a/install-sh	Sun Sep 23 20:47:20 2012 -0500
+++ b/install-sh	Tue Sep 25 08:16:58 2012 -0400
@@ -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 @@
     -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 @@
     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 @@
 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 @@
 
 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 @@
       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 @@
 
       case $dstdir in
 	/*) prefix='/';;
-	[-=\(\)!]*) prefix='./';;
+	-*) prefix='./';;
 	*)  prefix='';;
       esac
 
@@ -410,7 +403,7 @@
 
       for d
       do
-	test X"$d" = X && continue
+	test -z "$d" && continue
 
 	prefix=$prefix$d
 	if test -d "$prefix"; then