]> git.sesse.net Git - rdpsrv/blobdiff - Xserver/config/util/bsdinst.sh
Import X server from vnc-3.3.7.
[rdpsrv] / Xserver / config / util / bsdinst.sh
diff --git a/Xserver/config/util/bsdinst.sh b/Xserver/config/util/bsdinst.sh
new file mode 100755 (executable)
index 0000000..3ac7afa
--- /dev/null
@@ -0,0 +1,168 @@
+#!/bin/sh
+
+# $XFree86: xc/config/util/bsdinst.sh,v 3.3 1996/12/23 05:56:13 dawes Exp $
+#
+# This accepts bsd-style install arguments and makes the appropriate calls
+# to the System V install.
+# $XConsortium: bsdinst.sh /main/8 1996/09/28 16:16:11 rws $
+
+flags=""
+dst=""
+src=""
+dostrip=""
+owner=""
+group=""
+mode=""
+bargs=$*
+
+while [ x$1 != x ]; do
+    case $1 in 
+       -c) shift
+           continue;;
+
+       -m) flags="$flags $1 $2 "
+           mode="$2"
+           shift
+           shift
+           continue;;
+
+       -o) flags="$flags -u $2 "
+           owner="$2"
+           shift
+           shift
+           continue;;
+
+       -g) flags="$flags $1 $2 "
+           group="$2"
+           shift
+           shift
+           continue;;
+
+       -s) dostrip="strip"
+           shift
+           continue;;
+
+       *)  if [ x$src = x ] 
+           then
+               src=$1
+           else
+               dst=$1
+           fi
+           shift
+           continue;;
+    esac
+done
+
+if [ x$src = x ] 
+then
+       echo "$0:  no input file specified"
+       exit 1
+fi
+
+if [ x$dst = x ] 
+then
+       echo "$0:  no destination specified"
+       exit 1
+fi
+
+if [ -x /usr/ucb/install ]
+then
+       if [ -d "$dst" ]
+       then
+               dst=$dst/`basename "$src"`
+       fi
+       case "$group" in
+       "")
+               bargs="-g other $bargs"
+               ;;
+       esac
+       /usr/ucb/install $bargs
+       if [ x$dostrip = xstrip -a -x /usr/bin/mcs ]
+       then
+               /usr/bin/mcs -d $dst
+       fi
+       exit 0
+fi
+       
+case "$mode" in
+"")
+       ;;
+*)
+       case "$owner" in
+       "")
+               flags="$flags -u root"
+               ;;
+       esac
+       ;;
+esac
+
+
+# set up some variable to be used later
+
+rmcmd=""
+srcdir="."
+
+# if the destination isn't a directory we'll need to copy it first
+
+if [ ! -d $dst ]
+then
+       dstbase=`basename $dst`
+       cp $src /tmp/$dstbase
+       rmcmd="rm -f /tmp/$dstbase"
+       src=$dstbase
+       srcdir=/tmp
+       dst="`echo $dst | sed 's,^\(.*\)/.*$,\1,'`"
+       if [ x$dst = x ]
+       then
+               dst="."
+       fi
+fi
+
+
+# If the src file has a directory, copy it to /tmp to make install happy
+
+srcbase=`basename $src`
+
+if [ "$src" != "$srcbase" ] && [ "$src" != "./$srcbase" ] 
+then
+       cp $src /tmp/$srcbase
+       src=$srcbase
+       srcdir=/tmp
+       rmcmd="rm -f /tmp/$srcbase"
+fi
+
+# do the actual install
+
+if [ -f /usr/sbin/install ]
+then
+       installcmd=/usr/sbin/install
+elif [ -f /etc/install ]
+then
+       installcmd=/etc/install
+else
+       installcmd=install
+fi
+
+# This rm is commented out because some people want to be able to
+# install through symbolic links.  Uncomment it if it offends you.
+# rm -f $dst/$srcbase
+(cd $srcdir ; $installcmd -f $dst $flags $src)
+
+if [ x$dostrip = xstrip ]
+then
+       strip $dst/$srcbase
+       if [ -x /usr/bin/mcs ]
+       then
+               /usr/bin/mcs -d $dst/$srcbase
+       fi
+fi
+
+if [ x$mode != x ]
+then
+       chmod $mode $dst/$srcbase
+fi
+
+# and clean up
+
+$rmcmd
+