diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2017-12-22 14:27:43 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2017-12-22 14:27:43 +0200 |
commit | 04235ff1134e404b133917020fa4eac1038947a0 (patch) | |
tree | 3d91d5c2b96c17048cd70491082c008977985c26 /install-sh | |
parent | a8f1600b7ba13834f476e455d382d188b49eef9e (diff) | |
parent | d2dde96decab77927a04af75fd9183666c25a624 (diff) | |
download | egawk-04235ff1134e404b133917020fa4eac1038947a0.tar.gz egawk-04235ff1134e404b133917020fa4eac1038947a0.tar.bz2 egawk-04235ff1134e404b133917020fa4eac1038947a0.zip |
Merge branch 'gawk-4.2-stable'
Diffstat (limited to 'install-sh')
-rwxr-xr-x | install-sh | 20 |
1 files changed, 14 insertions, 6 deletions
@@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2016-01-11.22; # UTC +scriptversion=2017-09-23.17; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -271,15 +271,18 @@ do fi dst=$dst_arg - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. + # If destination is a directory, append the input filename. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst - dst=$dstdir/`basename "$src"` + dstbase=`basename "$src"` + case $dst in + */) dst=$dst$dstbase;; + *) dst=$dst/$dstbase;; + esac dstdir_status=0 else dstdir=`dirname "$dst"` @@ -288,6 +291,11 @@ do fi fi + case $dstdir in + */) dstdirslash=$dstdir;; + *) dstdirslash=$dstdir/;; + esac + obsolete_mkdir_used=false if test $dstdir_status != 0; then @@ -427,8 +435,8 @@ do else # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ + dsttmp=${dstdirslash}_inst.$$_ + rmtmp=${dstdirslash}_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 |