@ -1,9 +1,7 @@
#!/bin/sh
#!/bin/sh
# install - install a program, script, or datafile
# install - install a program, script, or datafile
# config/install-sh
scriptversion=2011-11-20.07; # UTC
scriptversion=2009-08-26.20
# 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
@ -37,7 +35,7 @@ scriptversion=2009-08-26.20
# FSF changes to this file are in the public domain.
# FSF changes to this file are in the public domain.
#
#
# Calling this script install-sh is preferred over install.sh, to prevent
# Calling this script install-sh is preferred over install.sh, to prevent
# ` make' implicit rules from creating a file called install from it
# ' make' implicit rules from creating a file called install from it
# when there is no Makefile.
# when there is no Makefile.
#
#
# This script is compatible with the BSD install script, but was written
# This script is compatible with the BSD install script, but was written
@ -69,12 +67,6 @@ mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
stripprog=${STRIPPROG-strip}
# Darwin normal strip removes symbols from shared libraries that are
# later needed for dynamic linking, so use strip -x.
# http://archives.postgresql.org/pgsql-hackers/2007-10/msg01470.php
case `uname -s` in
Darwin) stripprog="${STRIPPROG-strip -x}";;
esac
posix_glob='?'
posix_glob='?'
initialize_posix_glob='
initialize_posix_glob='
@ -164,6 +156,10 @@ 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;;
@ -194,6 +190,10 @@ 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
@ -202,13 +202,17 @@ if test $# -eq 0; then
echo "$0: no input file specified." >&2
echo "$0: no input file specified." >&2
exit 1
exit 1
fi
fi
# It's OK to call ` install-sh -d' without argument.
# It's OK to call ' install-sh -d' without argument.
# This can happen when creating conditional directories.
# This can happen when creating conditional directories.
exit 0
exit 0
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.
@ -236,9 +240,9 @@ 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
@ -260,12 +264,7 @@ 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.
@ -355,7 +354,7 @@ do
if test -z "$dir_arg" || {
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-write able bit of parent directory when it shouldn't.
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
case $ls_ld_tmpdir in
@ -393,7 +392,7 @@ do
case $dstdir in
case $dstdir in
/*) prefix='/';;
/*) prefix='/';;
-*) prefix='./';;
[ -=\(\)!] *) prefix='./';;
*) prefix='';;
*) prefix='';;
esac
esac
@ -411,7 +410,7 @@ 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
@ -523,5 +522,6 @@ done
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
# End: