Update install-sh to the one from autoconf 2.52

This commit is contained in:
hpa 2001-11-13 00:00:06 +00:00
parent dcd640b2b7
commit 713e1fe868

View file

@ -1,15 +1,27 @@
#! /bin/sh #!/bin/sh
# #
# install - install a program, script, or datafile # install - install a program, script, or datafile
# This comes from X11R5. # This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
# #
# 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
# from scratch. # from scratch. It can only install one file at a time, a restriction
# # shared with many OS's install programs.
# set DOITPROG to echo to test this script # set DOITPROG to echo to test this script
@ -29,7 +41,7 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}" rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}" mkdirprog="${MKDIRPROG-mkdir}"
tranformbasename="" transformbasename=""
transform_arg="" transform_arg=""
instcmd="$mvprog" instcmd="$mvprog"
chmodcmd="$chmodprog 0755" chmodcmd="$chmodprog 0755"
@ -97,7 +109,7 @@ then
echo "install: no input file specified" echo "install: no input file specified"
exit 1 exit 1
else else
true :
fi fi
if [ x"$dir_arg" != x ]; then if [ x"$dir_arg" != x ]; then
@ -106,8 +118,9 @@ if [ x"$dir_arg" != x ]; then
if [ -d $dst ]; then if [ -d $dst ]; then
instcmd=: instcmd=:
chmodcmd=""
else else
instcmd=mkdir instcmd=$mkdirprog
fi fi
else else
@ -117,7 +130,7 @@ else
if [ -f $src -o -d $src ] if [ -f $src -o -d $src ]
then then
true :
else else
echo "install: $src does not exist" echo "install: $src does not exist"
exit 1 exit 1
@ -128,7 +141,7 @@ else
echo "install: no destination specified" echo "install: no destination specified"
exit 1 exit 1
else else
true :
fi fi
# If destination is a directory, append the input filename; if your system # If destination is a directory, append the input filename; if your system
@ -138,7 +151,7 @@ else
then then
dst="$dst"/`basename $src` dst="$dst"/`basename $src`
else else
true :
fi fi
fi fi
@ -150,8 +163,8 @@ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Skip lots of stat calls in the usual case. # Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then if [ ! -d "$dstdir" ]; then
defaultIFS=' defaultIFS='
' '
IFS="${IFS-${defaultIFS}}" IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}" oIFS="${IFS}"
@ -170,7 +183,7 @@ while [ $# -ne 0 ] ; do
then then
$mkdirprog "${pathcomp}" $mkdirprog "${pathcomp}"
else else
true :
fi fi
pathcomp="${pathcomp}/" pathcomp="${pathcomp}/"
@ -181,10 +194,10 @@ if [ x"$dir_arg" != x ]
then then
$doit $instcmd $dst && $doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi
else else
# If we're going to rename the final executable, determine the name now. # If we're going to rename the final executable, determine the name now.
@ -203,7 +216,7 @@ else
then then
dstfile=`basename $dst` dstfile=`basename $dst`
else else
true :
fi fi
# Make a temp file name in the proper directory. # Make a temp file name in the proper directory.
@ -222,10 +235,10 @@ else
# ignore errors from any of these, just make sure not to ignore # ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command. # errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi &&
# Now rename the file to the real destination. # Now rename the file to the real destination.