summaryrefslogtreecommitdiff
path: root/contrib/ipfilter/bsdinstall
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ipfilter/bsdinstall')
-rwxr-xr-xcontrib/ipfilter/bsdinstall83
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