#! /bin/sh | |
# | |
# @(#)install.sh 4.5 (Berkeley) 10/12/83 | |
# | |
cmd=/bin/mv | |
strip="" | |
chmod="chmod 755" | |
if [ "`uname -s`" = "HP-UX" ] ; then | |
chown="chown root" | |
chgrp="chgrp bin" | |
else | |
chown="chown -f root" | |
chgrp="chgrp -f bin" | |
fi | |
while true ; do | |
case $1 in | |
-s ) strip="strip" | |
shift | |
;; | |
-c ) cmd="cp" | |
shift | |
;; | |
-m ) chmod="chmod $2" | |
shift | |
shift | |
;; | |
-o ) chown="chown -f $2" | |
shift | |
shift | |
;; | |
-g ) chgrp="chgrp -f $2" | |
shift | |
shift | |
;; | |
-d ) cmd="mkdir" | |
shift | |
;; | |
* ) break | |
;; | |
esac | |
done | |
if [ ! ${2-""} ] | |
then echo "install: no destination specified" | |
exit 1 | |
fi | |
if [ ${3-""} ] | |
then echo "install: too many files specified -> $*" | |
exit 1 | |
fi | |
if [ $1 = $2 -o $2 = . ] | |
then echo "install: can't move $1 onto itself" | |
exit 1 | |
fi | |
case $cmd in | |
/bin/mkdir ) | |
file=$2/$1 | |
;; | |
* ) | |
if [ '!' -f $1 ] | |
then echo "install: can't open $1" | |
exit 1 | |
fi | |
if [ -d $2 ] | |
then file=$2/$1 | |
else file=$2 | |
fi | |
/bin/rm -f $file | |
;; | |
esac | |
case $cmd in | |
/bin/mkdir ) | |
if [ ! -d "$file" ] | |
then $cmd $file | |
fi | |
;; | |
* ) | |
$cmd $1 $file | |
if [ $strip ] | |
then $strip $file | |
fi | |
;; | |
esac | |
$chown $file | |
$chgrp $file | |
$chmod $file |