summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <luke@HP-dv6426us-u904.(none)>2009-10-26 20:32:15 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-06-26 00:30:18 -0600
commitafcc02550298ee8f1d74ef265d866a9b38397ce4 (patch)
treef7d0bfa78108a241cefa3df3fc58970c9aad0185
parent3ccb49013b94211adbfa81c9d2aa558dd113de7e (diff)
rvs builds! nicely!
-rw-r--r--Makefile4
-rw-r--r--Makefile.in10
-rw-r--r--rvs-build/Makefile87
-rw-r--r--rvs-build/main.mk99
-rw-r--r--rvs-build/plugins/Makefile87
-rw-r--r--rvs-build/plugins/repo/Makefile87
-rw-r--r--rvs-build/plugins/repo/main.mk76
-rwxr-xr-xrvs-build/plugins/repo/out/commit55
-rwxr-xr-xrvs-build/plugins/repo/out/commit.d36
-rwxr-xr-xrvs-build/plugins/repo/out/commit.f33
-rwxr-xr-xrvs-build/plugins/repo/out/get36
-rwxr-xr-xrvs-build/plugins/repo/out/get.d47
-rwxr-xr-xrvs-build/plugins/repo/out/get.f29
-rw-r--r--rvs-build/plugins/repo/out/plugin.conf8
-rwxr-xr-xrvs-build/plugins/repo/out/stdio68
-rw-r--r--rvs-build/plugins/users/Makefile87
-rw-r--r--rvs-build/plugins/users/main.mk76
-rwxr-xr-xrvs-build/plugins/users/out/commit31
-rwxr-xr-xrvs-build/plugins/users/out/init30
-rwxr-xr-xrvs-build/plugins/users/out/login30
-rwxr-xr-xrvs-build/plugins/users/out/logout29
-rwxr-xr-xrvs-build/plugins/users/out/mkuser29
-rw-r--r--rvs-build/plugins/users/out/plugin.conf7
-rwxr-xr-xrvs-build/plugins/users/out/rmuser30
-rwxr-xr-xrvs-build/plugins/users/out/stdio68
-rw-r--r--rvs-build/wrapper/Makefile87
-rw-r--r--rvs-build/wrapper/main.mk79
-rw-r--r--rvs-build/wrapper/plugin-depend.d27
-rw-r--r--rvs-build/wrapper/plugin-depend.obin0 -> 6804 bytes
-rw-r--r--rvs-build/wrapper/plugin-find.d26
-rw-r--r--rvs-build/wrapper/plugin-find.obin0 -> 4876 bytes
-rw-r--r--rvs-build/wrapper/plugin-load.d27
-rw-r--r--rvs-build/wrapper/plugin-load.obin0 -> 5588 bytes
-rw-r--r--rvs-build/wrapper/plugin-parse.d25
-rw-r--r--rvs-build/wrapper/plugin-parse.obin0 -> 6924 bytes
-rw-r--r--rvs-build/wrapper/plugin-run.d26
-rw-r--r--rvs-build/wrapper/plugin-run.obin0 -> 6472 bytes
-rw-r--r--rvs-build/wrapper/plugins.d23
-rw-r--r--rvs-build/wrapper/plugins.obin0 -> 3764 bytes
-rwxr-xr-xrvs-build/wrapper/runcombin0 -> 33820 bytes
-rw-r--r--rvs-build/wrapper/runcom.d28
-rw-r--r--rvs-build/wrapper/runcom.obin0 -> 6324 bytes
-rwxr-xr-xrvs-build/wrapper/rvs110
-rw-r--r--rvs-build/wrapper/rvs.d22
-rw-r--r--rvs-build/wrapper/rvs.obin0 -> 7604 bytes
-rw-r--r--rvs/COPYING340
-rw-r--r--rvs/Makefile.in84
-rwxr-xr-xrvs/configure91
-rw-r--r--rvs/main.mk.in2
-rw-r--r--rvs/plugins/Makefile.in84
-rw-r--r--rvs/plugins/repo/Makefile.in84
-rw-r--r--rvs/plugins/users/Makefile.in84
-rw-r--r--rvs/wrapper/Makefile.in84
-rw-r--r--rvs/wrapper/main.mk.in22
54 files changed, 2519 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index bdc157d..71a3942 100644
--- a/Makefile
+++ b/Makefile
@@ -55,10 +55,12 @@ complete-% : %/
%-build : %/; $(MKDIR) $@
%-build/Makefile : %-build %/configure
cd $<; ../$(patsubst %-build,%/,$<)/configure
- $(MAKE) -C $< Makefile
+ $(MAKE) -C $< Makefiles
build-% : %-build complete-% %-build/Makefile
$(MAKE) -C $<
install-% : %-build build-%
$(MAKE) -C $< install
+clean-% : %-build
+ $(MAKE) -C $< clean
diff --git a/Makefile.in b/Makefile.in
index 3eecd0c..fe2a268 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -63,7 +63,12 @@ $(dirs) :
$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
$(INSTALL_PROGRAM) $< $@
-Makefile %.mk : $(srcdir)/configure
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
$<
# This is taken straight from the GNU `make' manual.
@@ -75,6 +80,5 @@ Makefile %.mk : $(srcdir)/configure
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$
-sources = $(filter %.c,$(filelist))
-include $(sources:.c=.d)
+include $(csources:.c=.d)
diff --git a/rvs-build/Makefile b/rvs-build/Makefile
new file mode 100644
index 0000000..ab10e86
--- /dev/null
+++ b/rvs-build/Makefile
@@ -0,0 +1,87 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 1.0
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# DO NOT edit this file, it has been generated by configure, and will
+# be overwritten. Instead, edit the file `Makefile.in'
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = /usr/local
+exec_prefix = $(prefix)
+bindir = $(exec_prefix)/bin
+sbindir = $(exec_prefix)/sbin
+libexecdir = $(exec_prefix)/libexec
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = /home/luke/Development/abomination/rvs
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs-build/main.mk b/rvs-build/main.mk
new file mode 100644
index 0000000..38827cf
--- /dev/null
+++ b/rvs-build/main.mk
@@ -0,0 +1,99 @@
+#!/usr/bin/make -f
+name = rvs
+ver = 0.8r58
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# DO NOT edit this file, it has been generated by configure, and will
+# be overwritten. Instead, edit the file `main.mk.in'
+
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+export rvs = $(name)
+
+# plugins ##########################################################
+plugins = $(patsubst $(srcdir)/plugins/%,%, \
+ $(shell find $(srcdir)/plugins/* -maxdepth 0 -type d))
+
+build-plugins = $(addprefix p-,$(plugins))
+install-plugins = $(addprefix install-p-,$(plugins))
+uninstall-plugins = $(addprefix uninstall-p-,$(plugins))
+clean-plugins = $(addprefix clean-p-,$(plugins))
+distclean-plugins = $(addprefix distclean-p-,$(plugins))
+dist-plugins = $(addprefix dist-p-,$(plugins))
+
+# phony targets ####################################################
+all : wrapper $(build-plugins)
+.SUFFIXES :
+VPATH = $(srcdir)
+filelist = \
+ COPYING \
+ configure \
+ Makefile.in \
+ main.mk.in \
+ config \
+ HACKING \
+ README \
+ $(patsubst $(srcdir)/%,%,$(shell find $(srcdir)/*/* -type f))
+# install ##########################################################
+
+install : install-wrapper libexec $(install-plugins)
+
+# $(libexecdir)/rvs/*
+libexec : $(libexecdir)/$(rvs)/plugins
+$(libexecdir)/$(rvs)/plugins : $(libexecdir)/$(rvs)
+ $(TOUCH) $@
+
+# uninstall ########################################################
+
+uninstall :
+ $(RM) $(bindir)/$(rvs)
+ $(RM) -r $(libexecdir)/$(rvs)
+
+# clean ############################################################
+
+clean : $(clean-plugins) clean-wrapper
+
+distclean : clean $(distclean-plugins) distclean-wrapper
+ $(RM) Makefile
+
+# wrapper ##########################################################
+
+wrapper : build-wrapper
+build-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $<
+uninstall-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< uninstall
+clean-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< clean
+distclean-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< distclean
+dist-wrapper : wrapper/ wrapper/Makefile; $(MAKE) -C $< dist
+
+install-wrapper : wrapper/ wrapper/Makefile wrapper; $(MAKE) -C $< install
+$(RVS) : install-wrapper
+
+# plugins ##########################################################
+
+install-p-% : plugins/% plugins/%/Makefile p-% libexec $(RVS)
+ $(MAKE) -C $< install
+p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $<
+uninstall-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< uninstall
+clean-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< clean
+distclean-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< distclean
+dist-p-% : plugins/% plugins/%/Makefile ; $(MAKE) -C $< dist
+
+# implicit rules ###################################################
+
+$(libexecdir)/$(rvs) :
+ $(MKDIR) $@
+
diff --git a/rvs-build/plugins/Makefile b/rvs-build/plugins/Makefile
new file mode 100644
index 0000000..ab10e86
--- /dev/null
+++ b/rvs-build/plugins/Makefile
@@ -0,0 +1,87 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 1.0
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# DO NOT edit this file, it has been generated by configure, and will
+# be overwritten. Instead, edit the file `Makefile.in'
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = /usr/local
+exec_prefix = $(prefix)
+bindir = $(exec_prefix)/bin
+sbindir = $(exec_prefix)/sbin
+libexecdir = $(exec_prefix)/libexec
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = /home/luke/Development/abomination/rvs
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs-build/plugins/repo/Makefile b/rvs-build/plugins/repo/Makefile
new file mode 100644
index 0000000..ab10e86
--- /dev/null
+++ b/rvs-build/plugins/repo/Makefile
@@ -0,0 +1,87 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 1.0
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# DO NOT edit this file, it has been generated by configure, and will
+# be overwritten. Instead, edit the file `Makefile.in'
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = /usr/local
+exec_prefix = $(prefix)
+bindir = $(exec_prefix)/bin
+sbindir = $(exec_prefix)/sbin
+libexecdir = $(exec_prefix)/libexec
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = /home/luke/Development/abomination/rvs
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs-build/plugins/repo/main.mk b/rvs-build/plugins/repo/main.mk
new file mode 100644
index 0000000..4c816bc
--- /dev/null
+++ b/rvs-build/plugins/repo/main.mk
@@ -0,0 +1,76 @@
+#!/usr/bin/make -f
+name=repo
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# DO NOT edit this file, it has been generated by configure, and will
+# be overwritten. Instead, edit the file `main.mk.in'
+
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+export rvs ?= rvs
+
+# phony targets ####################################################
+all : $(name)
+.PHONY : $(name) install uninstall clean distclean dist
+.SUFFIXES :
+
+# build ############################################################
+mysrcdir = $(srcdir)/plugins/$(name)
+myoutdir = out
+
+srcFiles = $(filter-out %/Makefile.in,$(shell find $(mysrcdir)/ -type f))
+
+shSrcFiles = $(filter %.sh,$(srcFiles))
+shOutFiles = $(patsubst $(mysrcdir)/%,$(myoutdir)/%,$(basename $(shSrcFiles)))
+
+$(name) : $(myoutdir) $(shOutFiles) $(myoutdir)/plugin.conf
+
+$(myoutdir)/plugin.conf : $(mysrcdir)/plugin.conf
+ $(INSTALL_DATA) $< $@
+
+# (un)install ######################################################
+
+install : all
+ $(RVS) install $(name)-$(ver) $(myoutdir)
+
+uninstall :
+ $(RVS) uninstall $(name)
+
+# clean ############################################################
+
+clean :
+
+distclean : clean
+ $(RM) Makefile
+ $(RM) -r out
+
+# implicit rules ###################################################
+
+b := @
+# build shell scripts
+$(myoutdir)/% : $(mysrcdir)/%.sh $(myoutdir)
+ $(INSTALL_PROGRAM) $< $@
+ $(SED) -i \
+ -e 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' \
+ -e 's/$blibexecdir@/$(subst /,\/,$(libexecdir))/g' \
+ -e 's/$bID@/$(subst /,\/,$(id))/g' \
+ $@
+
+$(libexecdir)/$(rvs) $(myoutdir) :
+ $(MKDIR) $@
+
diff --git a/rvs-build/plugins/repo/out/commit b/rvs-build/plugins/repo/out/commit
new file mode 100755
index 0000000..6565f3d
--- /dev/null
+++ b/rvs-build/plugins/repo/out/commit
@@ -0,0 +1,55 @@
+#!/bin/sh
+name='rvs repo commit'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+source "$libexecdir//stdio"
+
+# commit FILE
+file=${1-.}
+
+if [ ! -e $file ]; then error "file \`$file' does not exist";
+# START file type list
+elif [ -L $file ]; then type='l'; # symbolic link
+elif [ -b $file ]; then type='b'; # block (buffered) special
+elif [ -c $file ]; then type='c'; # character (unbuffered) special
+elif [ -d $file ]; then type='d'; # directory
+elif [ -p $file ]; then type='p'; # named pipe (FIFO)
+elif [ -f $file ]; then type='f'; # regular file
+elif [ -s $file ]; then type='s'; # socket
+#elif [ -D $file ]; then type='D'; # door (Solaris only)
+# END file type list
+else error "could not identify file type of \`$file'"
+fi
+
+out "+$type `pwd`/$file"
+ret=`"$RVS" commit.$type "$file"`
+
+tmp=`mktemp`
+cat << __EOF__ > "$tmp"
+name:$file
+hash:$ret
+type:$type
+author:$user
+owner:$owner
+license:$license
+__EOF__
+
+"$RVS" commit.f "$tmp"
+rm "$tmp"
+
diff --git a/rvs-build/plugins/repo/out/commit.d b/rvs-build/plugins/repo/out/commit.d
new file mode 100755
index 0000000..5e16fb6
--- /dev/null
+++ b/rvs-build/plugins/repo/out/commit.d
@@ -0,0 +1,36 @@
+#!/bin/sh
+name='rvs repo commit.d'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+source "$libexecdir//stdio"
+
+# commit.d DIRNAME
+dir="$1"
+tmp=`mktemp`
+
+cd "$dir"
+for file in *; do
+ hash=`"$RVS" commit "$file"`
+ echo "$file:$hash" >> "$tmp"
+done
+
+"$RVS" commit.f "$tmp"
+rm "$tmp"
+
diff --git a/rvs-build/plugins/repo/out/commit.f b/rvs-build/plugins/repo/out/commit.f
new file mode 100755
index 0000000..6eb78d1
--- /dev/null
+++ b/rvs-build/plugins/repo/out/commit.f
@@ -0,0 +1,33 @@
+#!/bin/sh
+name='rvs repo commit.f'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#source "$libexecdir//stdio"
+
+# commit.f FILENAME
+file="$1"
+
+#hash=`md5sum $file | sed "s/ .*$//"`
+hash=`sha1sum $file | sed "s/ .*$//"`
+if [ ! -f "$REPO//$hash" ]; then
+ install -m 644 -o $USER -g $USER -T "$file" "$REPO//$hash"
+fi
+echo "$hash"
+
diff --git a/rvs-build/plugins/repo/out/get b/rvs-build/plugins/repo/out/get
new file mode 100755
index 0000000..009d280
--- /dev/null
+++ b/rvs-build/plugins/repo/out/get
@@ -0,0 +1,36 @@
+#!/bin/sh
+name='rvs repo get'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+source "$libexecdir//stdio"
+
+# get ID [FILE]
+id="$1"
+tmp=`mktemp`
+"$RVS" get.f "$id" "$tmp"
+type="`sed -n 's/^type://p' "$tmp"`"
+file="${2-`sed -n 's/^name://p' "$tmp"`}"
+hash="`sed -n 's/^hash://p' "$tmp"`"
+
+out "-$type `pwd`/$file"
+"$RVS" get.$type "$hash" "$file"
+
+rm "$tmp"
+
diff --git a/rvs-build/plugins/repo/out/get.d b/rvs-build/plugins/repo/out/get.d
new file mode 100755
index 0000000..9f7b1c5
--- /dev/null
+++ b/rvs-build/plugins/repo/out/get.d
@@ -0,0 +1,47 @@
+#!/bin/sh
+name='rvs repo get.d'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#source "$libexecdir//stdio"
+
+# get.d ID DIRNAME
+id="$1"
+dir="$2"
+
+tmp=`mktemp`
+"$RVS" get.f "$id" "$tmp"
+
+#install -d "$dir"
+mkdir -p "$dir"
+
+cd "$dir"
+rm -rf ./*
+while read line; do
+ # GNU bash optimized version
+ #hash=${line/#*:/}
+ #name=${line/%:${hash}/}
+ # POSIX version
+ hash=`echo "$line" | sed 's/^.*://'`
+ name=`echo "$line" | sed "s/:$hash$//"`
+ "$RVS" get "$hash" "$name"
+done < "$tmp"
+
+rm "$tmp"
+
diff --git a/rvs-build/plugins/repo/out/get.f b/rvs-build/plugins/repo/out/get.f
new file mode 100755
index 0000000..0918ceb
--- /dev/null
+++ b/rvs-build/plugins/repo/out/get.f
@@ -0,0 +1,29 @@
+#!/bin/sh
+name='rvs repo get.f'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#source "$libexecdir//stdio"
+
+# get.f ID FILENAME
+id="$1"
+file="$2"
+
+install -T "$REPO//$id" "$file"
+
diff --git a/rvs-build/plugins/repo/out/plugin.conf b/rvs-build/plugins/repo/out/plugin.conf
new file mode 100644
index 0000000..6028a0f
--- /dev/null
+++ b/rvs-build/plugins/repo/out/plugin.conf
@@ -0,0 +1,8 @@
+# rvs repo plugins.conf
+# ver=0.8r61
+commit
+commit.d
+commit.f
+get
+get.d
+get.f
diff --git a/rvs-build/plugins/repo/out/stdio b/rvs-build/plugins/repo/out/stdio
new file mode 100755
index 0000000..84c1b89
--- /dev/null
+++ b/rvs-build/plugins/repo/out/stdio
@@ -0,0 +1,68 @@
+#!/bin/sh
+#name='rvs repo stdio'
+#ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+verbose() {
+ if [ "$volume" == '-v' ]; then
+ echo $@ >> /dev/stderr
+ fi
+}
+
+out() {
+ if [ "$volume" != '-q' ]; then
+ echo $@ >> /dev/stderr
+ fi
+}
+
+warn () {
+ echo "$name: $1" >> /dev/stderr
+}
+
+fatal () {
+ warn "$1"
+ exit 1
+}
+
+error() {
+ warn "$1"
+ cat << __error__ >> /dev/stderr
+Usage: $name $usage
+
+Try \`$name --help\' for more options.
+__error__
+ exit 1
+}
+
+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 <LukeShu@sbcglobal.net>.
+__disclaimer__
+ fi
+ exit 0
+}
+
diff --git a/rvs-build/plugins/users/Makefile b/rvs-build/plugins/users/Makefile
new file mode 100644
index 0000000..ab10e86
--- /dev/null
+++ b/rvs-build/plugins/users/Makefile
@@ -0,0 +1,87 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 1.0
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# DO NOT edit this file, it has been generated by configure, and will
+# be overwritten. Instead, edit the file `Makefile.in'
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = /usr/local
+exec_prefix = $(prefix)
+bindir = $(exec_prefix)/bin
+sbindir = $(exec_prefix)/sbin
+libexecdir = $(exec_prefix)/libexec
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = /home/luke/Development/abomination/rvs
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs-build/plugins/users/main.mk b/rvs-build/plugins/users/main.mk
new file mode 100644
index 0000000..427764e
--- /dev/null
+++ b/rvs-build/plugins/users/main.mk
@@ -0,0 +1,76 @@
+#!/usr/bin/make -f
+name=users
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# DO NOT edit this file, it has been generated by configure, and will
+# be overwritten. Instead, edit the file `main.mk.in'
+
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+rvs = rvs
+
+# phony targets ####################################################
+all : $(name)
+.PHONY : $(name) install uninstall clean distclean dist
+.SUFFIXES :
+
+# build ############################################################
+mysrcdir = $(srcdir)/plugins/$(name)
+myoutdir = out
+
+srcFiles = $(filter-out %/Makefile.in,$(shell find $(mysrcdir)/ -type f))
+
+shSrcFiles = $(filter %.sh,$(srcFiles))
+shOutFiles = $(patsubst $(mysrcdir)/%,$(myoutdir)/%,$(basename $(shSrcFiles)))
+
+$(name) : $(myoutdir) $(shOutFiles) $(myoutdir)/plugin.conf
+
+$(myoutdir)/plugin.conf : $(mysrcdir)/plugin.conf
+ $(INSTALL_DATA) $< $@
+
+# (un)install ######################################################
+
+install : all
+ $(RVS) install $(name)-$(ver) $(myoutdir)
+
+uninstall :
+ $(RVS) uninstall $(name)
+
+# clean ############################################################
+
+clean :
+
+distclean : clean
+ $(RM) Makefile
+ $(RM) -r out
+
+# implicit rules ###################################################
+
+b := @
+# build shell scripts
+$(myoutdir)/% : $(mysrcdir)/%.sh $(myoutdir)
+ $(INSTALL_PROGRAM) $< $@
+ $(SED) -i \
+ -e 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' \
+ -e 's/$blibexecdir@/$(subst /,\/,$(libexecdir))/g' \
+ -e 's/$bID@/$(subst /,\/,$(id))/g' \
+ $@
+
+$(libexecdir)/$(rvs) $(myoutdir) :
+ $(MKDIR) $@
+
diff --git a/rvs-build/plugins/users/out/commit b/rvs-build/plugins/users/out/commit
new file mode 100755
index 0000000..3dd1ffa
--- /dev/null
+++ b/rvs-build/plugins/users/out/commit
@@ -0,0 +1,31 @@
+#!/bin/sh
+name='rvs users commit'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+source "$libexecdir//stdio"
+
+ret=`$RVS repo-0.7beta/commit $@`
+if [ -f "$REPO//user" ]; then
+ cp "$REPO//user" "$REPO//repo/$ret"
+ echo "$ret"
+else
+ error 'you must be logged in to commit files'
+fi
+
diff --git a/rvs-build/plugins/users/out/init b/rvs-build/plugins/users/out/init
new file mode 100755
index 0000000..12e39c7
--- /dev/null
+++ b/rvs-build/plugins/users/out/init
@@ -0,0 +1,30 @@
+#!/bin/sh
+name='rvs users init'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#source "$libexecdir//stdio"
+
+mkdir -p "$REPO/"/{users,repo}
+cat << __EOF__ > "$REPO//users/Public Domain"
+author:anonymous
+owner:Public Domain
+license:
+__EOF__
+
diff --git a/rvs-build/plugins/users/out/login b/rvs-build/plugins/users/out/login
new file mode 100755
index 0000000..fc5eba1
--- /dev/null
+++ b/rvs-build/plugins/users/out/login
@@ -0,0 +1,30 @@
+#!/bin/sh
+name='rvs users login'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+source "$libexecdir//stdio"
+
+user="$1"
+if [ -f "$REPO//users/$user" ]; then
+ install -m 644 -T "$REPO//users/$user" "$REPO//../user"
+else
+ error "User \`$user' does not exist"
+fi
+
diff --git a/rvs-build/plugins/users/out/logout b/rvs-build/plugins/users/out/logout
new file mode 100755
index 0000000..1f0ddb5
--- /dev/null
+++ b/rvs-build/plugins/users/out/logout
@@ -0,0 +1,29 @@
+#!/bin/sh
+name='rvs users logout'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+source "$libexecdir//stdio"
+
+if [ -f "$REPO//../user" ]; then
+ rm "$REPO//../user"
+else
+ error 'you must be logged in to logout'
+fi
+
diff --git a/rvs-build/plugins/users/out/mkuser b/rvs-build/plugins/users/out/mkuser
new file mode 100755
index 0000000..5ceda2a
--- /dev/null
+++ b/rvs-build/plugins/users/out/mkuser
@@ -0,0 +1,29 @@
+#!/bin/sh
+name='rvs users mkuser'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+source "$libexecdir//stdio"
+
+author="$1"
+touch "$REPO//users/$author"
+cat << __EOF__ > "$REPO//users/$author"
+author:$author
+__EOF__
+
diff --git a/rvs-build/plugins/users/out/plugin.conf b/rvs-build/plugins/users/out/plugin.conf
new file mode 100644
index 0000000..1224b23
--- /dev/null
+++ b/rvs-build/plugins/users/out/plugin.conf
@@ -0,0 +1,7 @@
+# rvs users plugins.conf
+# ver=0.8r61
+commit:repo-0.8r61/commit
+login
+logout
+mkuser
+rmuser
diff --git a/rvs-build/plugins/users/out/rmuser b/rvs-build/plugins/users/out/rmuser
new file mode 100755
index 0000000..15d4b38
--- /dev/null
+++ b/rvs-build/plugins/users/out/rmuser
@@ -0,0 +1,30 @@
+#!/bin/sh
+name='rvs users rmuser'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+source "$libexecdir//stdio"
+
+user="$1"
+if [ -f "$REPO//users/$user" ]; then
+ rm "$REPO//users/$user"
+else
+ error "User \`$user' does not exist"
+fi
+
diff --git a/rvs-build/plugins/users/out/stdio b/rvs-build/plugins/users/out/stdio
new file mode 100755
index 0000000..d656e42
--- /dev/null
+++ b/rvs-build/plugins/users/out/stdio
@@ -0,0 +1,68 @@
+#!/bin/sh
+#name='rvs users stdio'
+#ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+verbose() {
+ if [ "$volume" == '-v' ]; then
+ echo $@ >> /dev/stderr
+ fi
+}
+
+out() {
+ if [ "$volume" != '-q' ]; then
+ echo $@ >> /dev/stderr
+ fi
+}
+
+warn () {
+ echo "$name: $1" >> /dev/stderr
+}
+
+fatal () {
+ warn "$1"
+ exit 1
+}
+
+error() {
+ warn "$1"
+ cat << __error__ >> /dev/stderr
+Usage: $name $usage
+
+Try \`$name --help\' for more options.
+__error__
+ exit 1
+}
+
+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 <lukeshu@sbcglobal.net>.
+__disclaimer__
+ fi
+ exit 0
+}
+
diff --git a/rvs-build/wrapper/Makefile b/rvs-build/wrapper/Makefile
new file mode 100644
index 0000000..ab10e86
--- /dev/null
+++ b/rvs-build/wrapper/Makefile
@@ -0,0 +1,87 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 1.0
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# DO NOT edit this file, it has been generated by configure, and will
+# be overwritten. Instead, edit the file `Makefile.in'
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = /usr/local
+exec_prefix = $(prefix)
+bindir = $(exec_prefix)/bin
+sbindir = $(exec_prefix)/sbin
+libexecdir = $(exec_prefix)/libexec
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = /home/luke/Development/abomination/rvs
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs-build/wrapper/main.mk b/rvs-build/wrapper/main.mk
new file mode 100644
index 0000000..fd5ed2c
--- /dev/null
+++ b/rvs-build/wrapper/main.mk
@@ -0,0 +1,79 @@
+#!/usr/bin/make -f
+name = rvs
+ver = 0.9
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# DO NOT edit this file, it has been generated by configure, and will
+# be overwritten. Instead, edit the file `main.mk.in'
+
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+rvs = rvs
+
+CFLAGS = -g \
+ -DNAME=\"$(name)\" \
+ -DVER=\"$(ver)\" \
+ -Dlibexecdir=\"$(libexecdir)/$(rvs)\" \
+ -Dplugin_conf=\"plugin.conf\"
+
+# phony targets ####################################################
+all : rvs runcom Makefiles
+.PHONY : install uninstall clean distclean dist install-runcom
+.SUFFIXES : .c .o
+VPATH = $(srcdir)/wrapper
+filelist=$(patsubst $(srcdir)/wrapper/%,%,$(shell find $(srcdir)/wrapper/* -type f))
+
+# most everything ##################################################
+RUNCOM = $(DESTDIR)$(libexecdir)/$(rvs)/runcom
+install : $(RVS) $(RUNCOM)
+$(RVS) : rvs $(dir $(RVS))
+ $(INSTALL_PROGRAM) $< $@
+
+OBJ = runcom.o rvs.o plugins.o \
+ plugin-depend.o \
+ plugin-find.o \
+ plugin-load.o \
+ plugin-parse.o \
+ plugin-run.o \
+
+runcom: $(OBJ)
+ $(CC) -o $@ $^
+
+$(RUNCOM): runcom $(dir $(RUNCOM))
+ $(INSTALL_PROGRAM) $< $@
+
+b := @
+# build shell scripts
+rvs : rvs.sh
+ $(INSTALL_PROGRAM) $< $@
+ $(SED) -i \
+ -e 's/$bSHELL@/$(subst /,\/,$(SHELL))/g' \
+ -e 's/$bname@/$(rvs)/g' \
+ -e 's/$blibexecdir@/$(subst /,\/,$(libexecdir))/g' \
+ $@
+
+uninstall :
+ $(RM) $(RVS)
+ $(RM) $(DESTDIR)$(libexecdir)/$(rvs)/runcom
+
+clean :
+ $(RM) *.o *.d
+
+distclean : clean
+ $(RM) rvs
+ $(RM) Makefile
+
diff --git a/rvs-build/wrapper/plugin-depend.d b/rvs-build/wrapper/plugin-depend.d
new file mode 100644
index 0000000..54891fe
--- /dev/null
+++ b/rvs-build/wrapper/plugin-depend.d
@@ -0,0 +1,27 @@
+plugin-depend.o: \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-depend.c \
+ /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h /usr/include/error.h \
+ /usr/include/bits/error.h \
+ /home/luke/Development/abomination/rvs/wrapper/rvs.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h /usr/include/errno.h \
+ /usr/include/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
+ /usr/include/asm-generic/errno-base.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-find.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugins.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-depend.h
diff --git a/rvs-build/wrapper/plugin-depend.o b/rvs-build/wrapper/plugin-depend.o
new file mode 100644
index 0000000..0b3d5dd
--- /dev/null
+++ b/rvs-build/wrapper/plugin-depend.o
Binary files differ
diff --git a/rvs-build/wrapper/plugin-find.d b/rvs-build/wrapper/plugin-find.d
new file mode 100644
index 0000000..9ab4dd6
--- /dev/null
+++ b/rvs-build/wrapper/plugin-find.d
@@ -0,0 +1,26 @@
+plugin-find.o: \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-find.c \
+ /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+ /home/luke/Development/abomination/rvs/wrapper/rvs.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h /usr/include/errno.h \
+ /usr/include/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
+ /usr/include/asm-generic/errno-base.h /usr/include/error.h \
+ /usr/include/bits/error.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugins.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-find.h
diff --git a/rvs-build/wrapper/plugin-find.o b/rvs-build/wrapper/plugin-find.o
new file mode 100644
index 0000000..cd822c3
--- /dev/null
+++ b/rvs-build/wrapper/plugin-find.o
Binary files differ
diff --git a/rvs-build/wrapper/plugin-load.d b/rvs-build/wrapper/plugin-load.d
new file mode 100644
index 0000000..e721757
--- /dev/null
+++ b/rvs-build/wrapper/plugin-load.d
@@ -0,0 +1,27 @@
+plugin-load.o: \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-load.c \
+ /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/string.h \
+ /home/luke/Development/abomination/rvs/wrapper/rvs.h \
+ /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h /usr/include/errno.h \
+ /usr/include/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
+ /usr/include/asm-generic/errno-base.h /usr/include/error.h \
+ /usr/include/bits/error.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugins.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-parse.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-load.h
diff --git a/rvs-build/wrapper/plugin-load.o b/rvs-build/wrapper/plugin-load.o
new file mode 100644
index 0000000..9424275
--- /dev/null
+++ b/rvs-build/wrapper/plugin-load.o
Binary files differ
diff --git a/rvs-build/wrapper/plugin-parse.d b/rvs-build/wrapper/plugin-parse.d
new file mode 100644
index 0000000..11a26f2
--- /dev/null
+++ b/rvs-build/wrapper/plugin-parse.d
@@ -0,0 +1,25 @@
+plugin-parse.o: \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-parse.c \
+ /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/string.h /usr/include/error.h /usr/include/bits/error.h \
+ /home/luke/Development/abomination/rvs/wrapper/rvs.h \
+ /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h /usr/include/errno.h \
+ /usr/include/bits/errno.h /usr/include/linux/errno.h \
+ /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
+ /usr/include/asm-generic/errno-base.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugins.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-parse.h
diff --git a/rvs-build/wrapper/plugin-parse.o b/rvs-build/wrapper/plugin-parse.o
new file mode 100644
index 0000000..e30ddbb
--- /dev/null
+++ b/rvs-build/wrapper/plugin-parse.o
Binary files differ
diff --git a/rvs-build/wrapper/plugin-run.d b/rvs-build/wrapper/plugin-run.d
new file mode 100644
index 0000000..c978083
--- /dev/null
+++ b/rvs-build/wrapper/plugin-run.d
@@ -0,0 +1,26 @@
+plugin-run.o: \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-run.c \
+ /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ /home/luke/Development/abomination/rvs/wrapper/rvs.h \
+ /usr/include/string.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/errno.h /usr/include/bits/errno.h \
+ /usr/include/linux/errno.h /usr/include/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/error.h /usr/include/bits/error.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugins.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-find.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-run.h
diff --git a/rvs-build/wrapper/plugin-run.o b/rvs-build/wrapper/plugin-run.o
new file mode 100644
index 0000000..d77abca
--- /dev/null
+++ b/rvs-build/wrapper/plugin-run.o
Binary files differ
diff --git a/rvs-build/wrapper/plugins.d b/rvs-build/wrapper/plugins.d
new file mode 100644
index 0000000..601a749
--- /dev/null
+++ b/rvs-build/wrapper/plugins.d
@@ -0,0 +1,23 @@
+plugins.o: /home/luke/Development/abomination/rvs/wrapper/plugins.c \
+ /home/luke/Development/abomination/rvs/wrapper/rvs.h \
+ /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/string.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/errno.h /usr/include/bits/errno.h \
+ /usr/include/linux/errno.h /usr/include/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/error.h /usr/include/bits/error.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugins.h
diff --git a/rvs-build/wrapper/plugins.o b/rvs-build/wrapper/plugins.o
new file mode 100644
index 0000000..44f6fc1
--- /dev/null
+++ b/rvs-build/wrapper/plugins.o
Binary files differ
diff --git a/rvs-build/wrapper/runcom b/rvs-build/wrapper/runcom
new file mode 100755
index 0000000..eec8502
--- /dev/null
+++ b/rvs-build/wrapper/runcom
Binary files differ
diff --git a/rvs-build/wrapper/runcom.d b/rvs-build/wrapper/runcom.d
new file mode 100644
index 0000000..acd0525
--- /dev/null
+++ b/rvs-build/wrapper/runcom.d
@@ -0,0 +1,28 @@
+runcom.o: /home/luke/Development/abomination/rvs/wrapper/runcom.c \
+ /home/luke/Development/abomination/rvs/wrapper/rvs.h \
+ /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/string.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/errno.h /usr/include/bits/errno.h \
+ /usr/include/linux/errno.h /usr/include/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/error.h /usr/include/bits/error.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugins.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-load.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-parse.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-find.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-depend.h \
+ /home/luke/Development/abomination/rvs/wrapper/plugin-run.h
diff --git a/rvs-build/wrapper/runcom.o b/rvs-build/wrapper/runcom.o
new file mode 100644
index 0000000..aa333a5
--- /dev/null
+++ b/rvs-build/wrapper/runcom.o
Binary files differ
diff --git a/rvs-build/wrapper/rvs b/rvs-build/wrapper/rvs
new file mode 100755
index 0000000..af958d9
--- /dev/null
+++ b/rvs-build/wrapper/rvs
@@ -0,0 +1,110 @@
+#!/bin/sh
+name='rvs'
+ver='0.8r61'
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+RVS="$0" #RVS="@rvs@"
+libexecdir="/usr/local/libexec/$name"
+
+_error() {
+ echo "$RVS: $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"
+ fi
+ cd "$owd"
+}
+
+_init() {
+ repo=`_repo 2> /dev/null`
+ if [ -z "$repo" ]; then
+ repo=".$name"
+ install -d "$repo"
+ install -m644 -T $libexecdir/plugins $repo/plugins
+ while read plugin; do
+ echo "initializing plugin \`$plugin'"
+ install -d "$repo/$plugin"
+ export REPO=.rvs/$plugin
+ if [ -e "$libexecdir/$plugin/init" ]; then
+ "$libexecdir/$plugin/init"
+ fi
+ done < $repo/plugins
+ else
+ _error "repository already exists at \`$repo'"
+ fi
+}
+
+_install() {
+ id=$1
+ dir=${2-$id}
+ name=`echo $id | sed 's/-.*$//'`
+ if (grep "^$name-" "$libexecdir/plugins" &> /dev/null); then
+ # an entry for this plugin already exists, though possibly a
+ # different version
+ sed -i "s/^$name-.*$/$id/" "$libexecdir/plugins"
+ else
+ echo "$id" >> "$libexecdir/plugins"
+ fi
+ rm -rf "$libexecdir/$id"
+ cp -rpT "$dir" "$libexecdir/$id"
+}
+
+_uninstall() {
+ id=$1
+ sed -i "/^$id$/ d" "$libexecdir/plugins"
+ rm -rf "$libexecdir/$id"
+}
+
+# START OPTION HANDLING #
+com=$1;
+# END OPTION HANDLING #
+case "$com" in
+ '') _error 'no command specified';;
+ # 'repo') _repo; exit $?;;
+ 'init') _init; exit $?;;
+ 'install') shift; _install $@; exit $?;;
+ 'uninstall') shift; _uninstall $@; exit $?;;
+ *) REPO=`_repo`
+ if [ "$?" = '0' ]; then
+ export RVS libexecdir REPO
+ "$libexecdir/runcom" $@ < $REPO/plugins
+ exit $?
+ else
+ _error "cannot find an existing repository"
+ fi
+ :;;
+esac
+
+# Copy/Paste Virus 1.3c Please copy and paste this text anywhere. Track
+# its progress by searching for this MD5#f7eac285ebfe21c4587bfebb9582f90d
+
diff --git a/rvs-build/wrapper/rvs.d b/rvs-build/wrapper/rvs.d
new file mode 100644
index 0000000..50cb8a0
--- /dev/null
+++ b/rvs-build/wrapper/rvs.d
@@ -0,0 +1,22 @@
+rvs.o: /home/luke/Development/abomination/rvs/wrapper/rvs.c \
+ /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stddef.h \
+ /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/i486-linux-gnu/4.3.3/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/bits/byteswap.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/string.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/errno.h /usr/include/bits/errno.h \
+ /usr/include/linux/errno.h /usr/include/asm/errno.h \
+ /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
+ /usr/include/error.h /usr/include/bits/error.h \
+ /home/luke/Development/abomination/rvs/wrapper/rvs.h
diff --git a/rvs-build/wrapper/rvs.o b/rvs-build/wrapper/rvs.o
new file mode 100644
index 0000000..1902d45
--- /dev/null
+++ b/rvs-build/wrapper/rvs.o
Binary files differ
diff --git a/rvs/COPYING b/rvs/COPYING
new file mode 100644
index 0000000..d60c31a
--- /dev/null
+++ b/rvs/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ 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.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/rvs/Makefile.in b/rvs/Makefile.in
new file mode 100644
index 0000000..fe2a268
--- /dev/null
+++ b/rvs/Makefile.in
@@ -0,0 +1,84 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 1.0
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = @srcdir@
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs/configure b/rvs/configure
new file mode 100755
index 0000000..11da35b
--- /dev/null
+++ b/rvs/configure
@@ -0,0 +1,91 @@
+#!/usr/bin/env bash
+name='configure' # Luke's configureation script
+#version='1.0'
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+ _prefix='/usr/local'
+_exec_prefix='$(prefix)'
+ _bindir='$(exec_prefix)/bin'
+ _sbindir='$(exec_prefix)/sbin'
+ _libexecdir='$(exec_prefix)/libexec'
+ _srcdir=$(readlink -f `dirname "$0"`)
+vars='prefix exec_prefix bindir sbindir libexecdir srcdir'
+if [ -f "$_srcdir/config" ]; then . "$_srcdir/config"; fi
+
+error() {
+ echo "$name: $1" >> /dev/stderr
+ exit 1
+}
+
+args=`getopt -n "$name" -o "${sopt}" -l "${lopt}${vars}" -- "$@"`
+if [ $? == 0 ]; then
+ set -- $args
+ while [ $# -gt 0 ]; do case "$1" in
+ --) break;;
+ --*)
+ var0="${1/--/}"
+ match='false'
+ for var1 in $vars; do
+ if [ "$var0" == "$var1" ]; then
+ match='true'
+ break;
+ fi
+ done
+ if [ "$match" == 'true' ]; then
+ val="$2"
+ eval _$var0=$val
+ else
+ error "option \`$1' not recognized";
+ fi
+ :;;
+ *) error "option \`$1' not recognized";;
+ esac
+ shift
+ done
+else
+ error 'unable to parse command line arguments'
+fi
+
+echo '#!/bin/sed -f' > var.sed
+for var in $vars; do
+ var1="_$var"
+ val=${!var1}
+
+ # GNU bash optimized version
+ var=${var//':'/'\:'}
+ val=${val//':'/'\:'}
+ # POSIX version
+ #var=`echo "$var" | sed 's@:@\\:@g'`
+ #val=`echo "$val" | sed 's@:@\\:@g'`
+
+ echo "s:@$var@:$val:g" >> var.sed
+done
+
+Makefiles="`find "${_srcdir}/" -type f -name Makefile.in`"
+Makefiles="$Makefiles `find "${_srcdir}/" -type f -name *.mk.in`"
+for orig in $Makefiles; do
+ new=${orig/%.in/}
+ new=${new/#$_srcdir\//}
+ mkdir -p `dirname "$new"`
+ sed -f var.sed "${orig}" | sed \
+-e '19 a# DO NOT edit this file, it has been generated by configure, and will' \
+-e "19 a# be overwritten. Instead, edit the file \``basename ${orig}`'" \
+-e "19 a
+ " > "${new}"
+done
+rm var.sed
+
diff --git a/rvs/main.mk.in b/rvs/main.mk.in
index 66f77f8..5bb6990 100644
--- a/rvs/main.mk.in
+++ b/rvs/main.mk.in
@@ -44,7 +44,7 @@ filelist = \
config \
HACKING \
README \
- $(shell find ./*/* -type f)
+ $(patsubst $(srcdir)/%,%,$(shell find $(srcdir)/*/* -type f))
# install ##########################################################
install : install-wrapper libexec $(install-plugins)
diff --git a/rvs/plugins/Makefile.in b/rvs/plugins/Makefile.in
new file mode 100644
index 0000000..fe2a268
--- /dev/null
+++ b/rvs/plugins/Makefile.in
@@ -0,0 +1,84 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 1.0
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = @srcdir@
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs/plugins/repo/Makefile.in b/rvs/plugins/repo/Makefile.in
new file mode 100644
index 0000000..fe2a268
--- /dev/null
+++ b/rvs/plugins/repo/Makefile.in
@@ -0,0 +1,84 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 1.0
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = @srcdir@
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs/plugins/users/Makefile.in b/rvs/plugins/users/Makefile.in
new file mode 100644
index 0000000..fe2a268
--- /dev/null
+++ b/rvs/plugins/users/Makefile.in
@@ -0,0 +1,84 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 1.0
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = @srcdir@
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs/wrapper/Makefile.in b/rvs/wrapper/Makefile.in
new file mode 100644
index 0000000..fe2a268
--- /dev/null
+++ b/rvs/wrapper/Makefile.in
@@ -0,0 +1,84 @@
+#!/usr/bin/make -f
+#name = Luke's Makefile
+#ver = 1.0
+# Copyright (C) 2009 Luke Shumaker
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.
+# If not, see <http://www.gnu.org/licenses>.
+
+# Directories ########################################################
+DESTDIR = @DESTDIR@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
+srcdir = @srcdir@
+
+# Programs ###########################################################
+SHELL = /bin/sh
+CC = gcc
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) -m 644
+MKDIR = $(INSTALL) -d #mkdir -p
+RM = rm -f
+SED = sed
+
+include main.mk
+
+# dist ###############################################################
+d = $(name)-$(ver)
+.PHONY : dist
+dist : $(d).tar.gz
+
+$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
+ tar -czf $@ $<
+
+$(d) :
+ $(INSTALL) -m 777 -d $@
+
+$(d)/% : $(srcdir)/% $(d)
+ cp $< $@
+
+# implicit rules #####################################################
+$(dirs) :
+ $(MKDIR) $@
+
+% : %.sh
+ $(SED) 's/@VER@/$(ver)/g' < $< > $@
+
+$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
+ $(INSTALL_PROGRAM) $< $@
+
+csources = $(filter %.c,$(filelist))
+Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(shell find '$(srcdir)' -type f -name Makefile.in) \
+ $(csources:.c=.d)
+
+%Makefile %.mk : $(srcdir)/configure
+ $<
+
+# This is taken straight from the GNU `make' manual.
+# That makes it GFDL, which is incompatible with the GPL
+# I claim `fair-use'
+ %.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(csources:.c=.d)
+
diff --git a/rvs/wrapper/main.mk.in b/rvs/wrapper/main.mk.in
index 8d53d3b..7959612 100644
--- a/rvs/wrapper/main.mk.in
+++ b/rvs/wrapper/main.mk.in
@@ -1,6 +1,6 @@
#!/usr/bin/make -f
name = @name@
-ver = 0.8r60
+ver = 0.9
# Copyright (C) 2009 Luke Shumaker
#
# This file is part of rvs.
@@ -28,10 +28,11 @@ CFLAGS = -g \
-Dplugin_conf=\"plugin.conf\"
# phony targets ####################################################
-all : rvs runcom
+all : rvs runcom Makefiles
.PHONY : install uninstall clean distclean dist install-runcom
.SUFFIXES : .c .o
VPATH = $(srcdir)/wrapper
+filelist=$(patsubst $(srcdir)/wrapper/%,%,$(shell find $(srcdir)/wrapper/* -type f))
# most everything ##################################################
RUNCOM = $(DESTDIR)$(libexecdir)/$(rvs)/runcom
@@ -39,15 +40,15 @@ install : $(RVS) $(RUNCOM)
$(RVS) : rvs $(dir $(RVS))
$(INSTALL_PROGRAM) $< $@
-#OBJ = runcom.o rvs.o plugins.o \
-# plugin-depend.o \
-# plugin-find.o \
-# plugin-load.o \
-# plugin-parse.o \
-# plugin-run.o \
+OBJ = runcom.o rvs.o plugins.o \
+ plugin-depend.o \
+ plugin-find.o \
+ plugin-load.o \
+ plugin-parse.o \
+ plugin-run.o \
-#runcom: $(OBJ)
-# gcc -o $@ $^
+runcom: $(OBJ)
+ $(CC) -o $@ $^
$(RUNCOM): runcom $(dir $(RUNCOM))
$(INSTALL_PROGRAM) $< $@
@@ -67,6 +68,7 @@ uninstall :
$(RM) $(DESTDIR)$(libexecdir)/$(rvs)/runcom
clean :
+ $(RM) *.o *.d
distclean : clean
$(RM) rvs