#!@SHELL@ name='rvs' ver='0.7.0' # Copyright (C) 2009 Luke Shumaker # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # Originally written by Luke Shumaker . RVSDIR='@rvsdir@' error() { echo "$name: $1" >> /dev/stderr exit 1 } repo() { repo=".$name" pwd=`pwd` owd="$pwd" while [ "$pwd" != "`pwd`" ] && [ ! -e "`pwd`/$repo" ]; do pwd=`pwd` cd .. done if [ -e "`pwd`/$repo" ]; then echo "`pwd`/$repo" else error "no $name repository found" >> /dev/stderr fi cd "$owd" } init() { repo=`repo 2> /dev/null` if [ -z "$repo" ]; then repo=".$name" install -d "$repo" install -T $RVSDIR/plugins $repo/plugins while read plugin; do echo "initializing plugin \`$plugin'" echo 'foo0' install -d "$repo/$plugin" echo 'foo1' export REPO=.rvs/$plugin echo 'foo2' if [ -e "$RVSDIR/$plugin/init" ]; then $RVSDIR/$plugin/init fi echo 'foo3' done < $repo/plugins else error "repository already exists at \`$repo'" fi } # START OPTION HANDLING # com=$1; # END OPTION HANDLING # case "$com" in '') error 'no command specified';; 'repo') repo; exit $?;; 'init') init;; *) if [ -f "$RVSDIR/$com" ]; then export RVSDIR $RVSDIR/$@ done='yes' else while read plugin; do if [ -f "$RVSDIR/$plugin/$com" ]; then export RVSDIR=$RVSDIR/$plugin export REPO=`repo`/$plugin $RVSDIR/$@ done='yes' break fi done < $REPO/plugins fi if [ "$done" != 'yes' ]; then error "unrecognized command \`$com'" fi :;; esac #args=`getopt -n "$name" -o "${sopt}" -l "${lopt}" -- "$@"` #if [ $? == 0 ]; then # set -- $args # while [ $# -gt 0 ]; do # case "$1" in # -V | --version) mode='version';; # -h | -H | -\? | --help) mode='help';; # # -v | --verbose) volume='-v';; # -q | --quiet) volume='-q';; # # --) shift; break;; # esac # shift; # done #else # error #fi