Blame install.sh

Packit cdaae3
#!/bin/sh
Packit cdaae3
Packit cdaae3
#
Packit cdaae3
# install - install a program, script, or datafile
Packit cdaae3
# This comes from X11R5; it is not part of GNU.
Packit cdaae3
#
Packit cdaae3
# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
Packit cdaae3
#
Packit cdaae3
# This script is compatible with the BSD install script, but was written
Packit cdaae3
# from scratch.
Packit cdaae3
#
Packit cdaae3
Packit cdaae3
Packit cdaae3
# set DOITPROG to echo to test this script
Packit cdaae3
Packit cdaae3
# Don't use :- since 4.3BSD and earlier shells don't like it.
Packit cdaae3
doit="${DOITPROG-}"
Packit cdaae3
Packit cdaae3
Packit cdaae3
# put in absolute paths if you don't have them in your path; or use env. vars.
Packit cdaae3
Packit cdaae3
mvprog="${MVPROG-mv}"
Packit cdaae3
cpprog="${CPPROG-cp}"
Packit cdaae3
chmodprog="${CHMODPROG-chmod}"
Packit cdaae3
chownprog="${CHOWNPROG-chown}"
Packit cdaae3
chgrpprog="${CHGRPPROG-chgrp}"
Packit cdaae3
stripprog="${STRIPPROG-strip}"
Packit cdaae3
rmprog="${RMPROG-rm}"
Packit cdaae3
Packit cdaae3
instcmd="$mvprog"
Packit cdaae3
chmodcmd=""
Packit cdaae3
chowncmd=""
Packit cdaae3
chgrpcmd=""
Packit cdaae3
stripcmd=""
Packit cdaae3
rmcmd="$rmprog -f"
Packit cdaae3
mvcmd="$mvprog"
Packit cdaae3
src=""
Packit cdaae3
dst=""
Packit cdaae3
Packit cdaae3
while [ x"$1" != x ]; do
Packit cdaae3
    case $1 in
Packit cdaae3
	-c) instcmd="$cpprog"
Packit cdaae3
	    shift
Packit cdaae3
	    continue;;
Packit cdaae3
Packit cdaae3
	-m) chmodcmd="$chmodprog $2"
Packit cdaae3
	    shift
Packit cdaae3
	    shift
Packit cdaae3
	    continue;;
Packit cdaae3
Packit cdaae3
	-o) chowncmd="$chownprog $2"
Packit cdaae3
	    shift
Packit cdaae3
	    shift
Packit cdaae3
	    continue;;
Packit cdaae3
Packit cdaae3
	-g) chgrpcmd="$chgrpprog $2"
Packit cdaae3
	    shift
Packit cdaae3
	    shift
Packit cdaae3
	    continue;;
Packit cdaae3
Packit cdaae3
	-s) stripcmd="$stripprog"
Packit cdaae3
	    shift
Packit cdaae3
	    continue;;
Packit cdaae3
Packit cdaae3
	*)  if [ x"$src" = x ]
Packit cdaae3
	    then
Packit cdaae3
		src=$1
Packit cdaae3
	    else
Packit cdaae3
		dst=$1
Packit cdaae3
	    fi
Packit cdaae3
	    shift
Packit cdaae3
	    continue;;
Packit cdaae3
    esac
Packit cdaae3
done
Packit cdaae3
Packit cdaae3
if [ x"$src" = x ]
Packit cdaae3
then
Packit cdaae3
	echo "install:  no input file specified"
Packit cdaae3
	exit 1
Packit cdaae3
fi
Packit cdaae3
Packit cdaae3
if [ x"$dst" = x ]
Packit cdaae3
then
Packit cdaae3
	echo "install:  no destination specified"
Packit cdaae3
	exit 1
Packit cdaae3
fi
Packit cdaae3
Packit cdaae3
Packit cdaae3
# If destination is a directory, append the input filename; if your system
Packit cdaae3
# does not like double slashes in filenames, you may need to add some logic
Packit cdaae3
Packit cdaae3
if [ -d $dst ]
Packit cdaae3
then
Packit cdaae3
	dst="$dst"/`basename $src`
Packit cdaae3
fi
Packit cdaae3
Packit cdaae3
# Make a temp file name in the proper directory.
Packit cdaae3
Packit cdaae3
dstdir=`dirname $dst`
Packit cdaae3
dsttmp=$dstdir/#inst.$$#
Packit cdaae3
Packit cdaae3
# Move or copy the file name to the temp name
Packit cdaae3
Packit cdaae3
$doit $instcmd $src $dsttmp
Packit cdaae3
Packit cdaae3
# and set any options; do chmod last to preserve setuid bits
Packit cdaae3
Packit cdaae3
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
Packit cdaae3
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
Packit cdaae3
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
Packit cdaae3
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
Packit cdaae3
Packit cdaae3
# Now rename the file to the real destination.
Packit cdaae3
Packit cdaae3
$doit $rmcmd $dst
Packit cdaae3
$doit $mvcmd $dsttmp $dst
Packit cdaae3
Packit cdaae3
Packit cdaae3
exit 0