diff options
Diffstat (limited to 'contrib/file/install-sh')
-rwxr-xr-x | contrib/file/install-sh | 59 |
1 files changed, 23 insertions, 36 deletions
diff --git a/contrib/file/install-sh b/contrib/file/install-sh index 11870f1b0192a..89fc9b098b8c5 100755 --- a/contrib/file/install-sh +++ b/contrib/file/install-sh @@ -1,27 +1,15 @@ -#!/bin/sh +#! /bin/sh # # install - install a program, script, or datafile -# 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. +# This comes from X11R5. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. +# from scratch. +# # set DOITPROG to echo to test this script @@ -41,7 +29,7 @@ stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" -transformbasename="" +tranformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" @@ -109,7 +97,7 @@ then echo "install: no input file specified" exit 1 else - : + true fi if [ x"$dir_arg" != x ]; then @@ -118,9 +106,8 @@ if [ x"$dir_arg" != x ]; then if [ -d $dst ]; then instcmd=: - chmodcmd="" else - instcmd=$mkdirprog + instcmd=mkdir fi else @@ -128,9 +115,9 @@ else # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. - if [ -f "$src" ] || [ -d "$src" ] + if [ -f $src -o -d $src ] then - : + true else echo "install: $src does not exist" exit 1 @@ -141,7 +128,7 @@ else echo "install: no destination specified" exit 1 else - : + true fi # If destination is a directory, append the input filename; if your system @@ -151,7 +138,7 @@ else then dst="$dst"/`basename $src` else - : + true fi fi @@ -163,8 +150,8 @@ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then -defaultIFS=' - ' +defaultIFS=' +' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" @@ -183,7 +170,7 @@ while [ $# -ne 0 ] ; do then $mkdirprog "${pathcomp}" else - : + true fi pathcomp="${pathcomp}/" @@ -194,10 +181,10 @@ if [ x"$dir_arg" != x ] then $doit $instcmd $dst && - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. @@ -216,7 +203,7 @@ else then dstfile=`basename $dst` else - : + true fi # Make a temp file name in the proper directory. @@ -235,10 +222,10 @@ else # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. |