124139Sjoerg#!/bin/sh
224139Sjoerg#
324139Sjoerg# this shell script is amazingly similar to the old and lamented
424139Sjoerg# BSD "install" command.  It recognized the following options:
524139Sjoerg#
624139Sjoerg#	-o target file owner
724139Sjoerg#	-m target file mode
824139Sjoerg#	-g target file group owner
924139Sjoerg#
1024139Sjoerg#
1124139Sjoerg# scan the options
1224139Sjoerg#
1324139Sjoergwhile [ $# -gt 0 ]; do
1424139Sjoerg    case $1 in
1524139Sjoerg      -o)
1624139Sjoerg	owner=$2
1724139Sjoerg	shift ; shift
1824139Sjoerg	;;
1924139Sjoerg
2024139Sjoerg      -m)
2124139Sjoerg	mode=$2
2224139Sjoerg	shift; shift
2324139Sjoerg	;;
2424139Sjoerg
2524139Sjoerg      -g)
2624139Sjoerg	group=$2
2724139Sjoerg	shift ; shift
2824139Sjoerg	;;
2924139Sjoerg
3024139Sjoerg      -*)
3124139Sjoerg	echo "install: unknown option $1"
3224139Sjoerg	exit
3324139Sjoerg	;;
3424139Sjoerg
3524139Sjoerg      *)
3624139Sjoerg	break
3724139Sjoerg	;;
3824139Sjoerg    esac
3924139Sjoergdone
4024139Sjoerg#
4124139Sjoerg# we need two more:  filename and destination
4224139Sjoerg#
4324139Sjoergif [ $# -ne 2 ]; then
4424139Sjoerg    echo "Usage:  install [ -o owner ] [ -m mode ] [ -g group ] file destination"
4524139Sjoerg    exit
4624139Sjoergfi
4724139Sjoerg#
4824139Sjoerg# first, copy
4924139Sjoerg#
5024139Sjoergcp $1 $2
5124139Sjoerg#
5224139Sjoerg# normalize the name
5324139Sjoerg#
5424139Sjoergdest=$2
5524139Sjoergif [ -d $2 ]; then
5624139Sjoerg    dest=$2/`basename $1`
5724139Sjoergfi
5824139Sjoerg#
5924139Sjoerg# do optional things
6024139Sjoerg#
6124139Sjoergif [ "$owner" ]; then
6224139Sjoerg    chown $owner $dest
6324139Sjoergfi
6424139Sjoergif [ "$group" ]; then
6524139Sjoerg    chgrp $group $dest
6624139Sjoergfi
6724139Sjoergif [ "$mode" ]; then
6824139Sjoerg    chmod $mode $dest
6924139Sjoergfi
70