summaryrefslogtreecommitdiff
path: root/rvs-build/plugins
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 /rvs-build/plugins
parent3ccb49013b94211adbfa81c9d2aa558dd113de7e (diff)
rvs builds! nicely!
Diffstat (limited to 'rvs-build/plugins')
-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
21 files changed, 979 insertions, 0 deletions
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
+}
+