home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- #
- # SGI install emulator for Suns
- # Note, uses cp -p option.
- #
-
- mode=755
- owner=:
- group=:
- new=-p
- verb=:
- dir=
- src=
-
- Toss() { rm -f "$1"; }
-
- Usage=\
- "Usage: $0 [-m mode] [-u owner] [-g group] [-new] [-o] [-O] [-v]
- [-F dir] file ...
- Emulates SGI install -- installs file(s) in given directories."
-
- if [ "$#" = 0 ]; then
- echo "$Usage" >&2
- exit 1
- fi
- while
- case "$1" in
- -m) mode=$2; shift 2 ;;
- -u) owner="chmod $2"; shift 2 ;;
- -g) group="chgrp $2"; shift 2 ;;
- -new) new= ; shift ;;
- -o) Toss() { mv "$1" "$2"; }; shift ;;
- -O) Toss() { rm -f "$1" || mv -f "$1" "$2"; } ; shift ;;
- -v) verb=echo ; shift ;;
- -root) ROOT="$2"; shift ;;
- -f) dir="$2"; shift 2 ;;
- -F) dir="$2"; mkem=1; shift 2 ;;
- -*) echo "$Usage" >&2; exit 1 ;;
- *) test ;;
- esac
- do
- :
- done
-
- echo "Installing $@"
-
- if [ "$dir" = "" ]; then
- echo "install: needs -f or -F option to specify destination dir" >&2
- exit 1
- fi
-
- if [ "$mkem" != "" -a ! -d "$dir" ]; then
- # Make all necessary directories.
- Ds="$dir"
- D="$dir"
- while
- D=`expr "$D//" : "\(.*\)/[^/]*//"`
- test ! -d "$D"
- do
- Ds="$D $Ds"
- done
- mkdir $Ds
- fi
-
- if [ "$ROOT" != "" ]; then dir="$ROOT/$dir"; fi
-
- for f in $@; do
- g=`expr "//$f" : ".*/\([^/]*\)"`
- test -f "$dir/$g" && Toss "$dir/$g" "$dir/OLD$g"
- cp ${new} "$f" "$dir/$g"
- chmod ${mode} "$dir/$g"
- ${owner} "$dir/$g"
- ${group} "$dir/$g"
- $verb "$f installed as $dir/$g"
- done
-