From 3cdfa2a24cd8279ab5d5204d598f319b175940f2 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 13 Jul 2009 13:23:09 -0400 Subject: rvs 0.6.0 -- major restructuring to: * use a proper build directory, rather than just extracting into / * declare functions in a POSIX/SUS3 compliant way * support systems with out GNU bash, or GNU bash in a place other than /bin/bash --- source/rvs-core/lib/rvsdb | 83 +++++++++++++++++++++++++++++++++++++++++++++++ source/rvs-core/lib/stdio | 57 ++++++++++++++++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100755 source/rvs-core/lib/rvsdb create mode 100755 source/rvs-core/lib/stdio (limited to 'source/rvs-core/lib') diff --git a/source/rvs-core/lib/rvsdb b/source/rvs-core/lib/rvsdb new file mode 100755 index 0000000..8cd4316 --- /dev/null +++ b/source/rvs-core/lib/rvsdb @@ -0,0 +1,83 @@ +#!$$SHELL$$ +# abomination module:rvs:lib:rvsdb +#name='rvs db' +#ver='0.6.0' +logver='0.5.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 . + +source "`rvs -d`/lib/stdio" +#source "`rvs -d`/lib/rvsdb" + +repo='.rvs' + +# getid file +getid() { + #md5sum $file | sed "s/ .*$//" + sha1sum $file | sed "s/ .*$//" +} + +# loginit LOG +loginit() { + log="$1" + echo "#!rvsdb $logver" > "$log"; +} + +# lograw LOG +lograw() { + log="$1" + sed '1s/#!rvsdb .*//' "$log" +} + +# _find LOG FIELD VAL +_find() { + log="$1" + field="$2" + val="$3" + lograw $log | \ + cut -d : -f field | \ + sed -n "/^$val$/=" | \ + tr "\n" , | \ + sed 's/,$//' +} + +# logread LOG VAR +logread() { + log="$1" + var="$2" + lograw "$log" | sed -n "s/^$var://p" + #lograw "$log" | sed -n `_find "$log" '1' "$var"`p | cut -d : -f 2- +} + +# logwrite LOG VAR VAL +logwrite() { + log="$1" + var="$2" + val="$3" + + #lines=`_find "$log" '1' "$var"` + #if [ "$lines" = '' ]; then + if [ `lograw "$log" | grep "^$var:"` = '' ]; then + # no exiswhereting occurances + echo "$var:$val" >> "$log" + else + # found others + sed -i "^s/$var:.*/$var:$val/" "$log" + #lograw "$log" | ?????? + fi +} + +# logfind LOG VAL +logfind() { + log="$1" + val="$2" + # make a comma-delimeted list of the lines with our values + lines=`_find "$log" '2-' "$val"` + lograw "$log" | sed -n ${lines}p | cut -d : -f 1 +} + diff --git a/source/rvs-core/lib/stdio b/source/rvs-core/lib/stdio new file mode 100755 index 0000000..9398a52 --- /dev/null +++ b/source/rvs-core/lib/stdio @@ -0,0 +1,57 @@ +#!$$SHELL$$ +# abomination module:rvs:lib:stdio +#name='rvs stdio' +#ver='0.6.0' +#usage='' +# 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 . + +#source "$RVSDIR/lib/stdio" +#source "$RVSDIR/lib/rvsdb" + +sopt='VhH?vq' +lopt='version,verbose,quiet,help' + +verbose() { + if [ "$volume" == '-v' ]; then + echo $@ + fi +} + +out() { + if [ "$volume" != '-q' ]; then + echo $@ + fi +} + +version() { + echo "$name $ver" + if [ "$volume" != '-q' ]; then + cat << __disclaimer__ +$name is 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 . +__disclaimer__ + fi + exit 0 +} + +error() { + cat << __error__ +$name: $1 +Usage: $name $usage + +Try $name \`--help' for more options. +__error__ + exit 1 +} + -- cgit v1.2.3-2-g168b