diff options
Diffstat (limited to 'contrib/ipfilter/bsdinstall')
-rwxr-xr-x | contrib/ipfilter/bsdinstall | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/contrib/ipfilter/bsdinstall b/contrib/ipfilter/bsdinstall new file mode 100755 index 000000000000..ce921b60fa47 --- /dev/null +++ b/contrib/ipfilter/bsdinstall @@ -0,0 +1,83 @@ +#! /bin/sh +# +# @(#)install.sh 4.5 (Berkeley) 10/12/83 +# +cmd=/bin/mv +strip="" +chmod="chmod 755" +chown="chown -f root" +chgrp="chgrp -f bin" +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 |