summaryrefslogtreecommitdiff
path: root/rvs/plugins/users
diff options
context:
space:
mode:
Diffstat (limited to 'rvs/plugins/users')
-rw-r--r--rvs/plugins/users/Makefile.in108
-rw-r--r--rvs/plugins/users/commit.sh31
-rw-r--r--rvs/plugins/users/init.sh30
-rw-r--r--rvs/plugins/users/login.sh30
-rw-r--r--rvs/plugins/users/logout.sh29
-rw-r--r--rvs/plugins/users/mkuser.sh29
-rw-r--r--rvs/plugins/users/plugin.conf7
-rw-r--r--rvs/plugins/users/rmuser.sh30
-rw-r--r--rvs/plugins/users/stdio.sh68
9 files changed, 362 insertions, 0 deletions
diff --git a/rvs/plugins/users/Makefile.in b/rvs/plugins/users/Makefile.in
new file mode 100644
index 0000000..0ac9cf5
--- /dev/null
+++ b/rvs/plugins/users/Makefile.in
@@ -0,0 +1,108 @@
+#!/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,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+export rvs ?= @name@
+# directories ######################################################
+srcdir ?= @srcdir@
+prefix ?= @prefix@
+exec_prefix ?= @exec_prefix@
+bindir ?= @bindir@
+sbindir ?= @sbindir@
+libexecdir ?= @libexecdir@
+dirs = $(srcdir) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)/
+#export srcdir prefix exec_prefix bindir sbindir libexecdir
+
+# programs #########################################################
+CC ?= @CC@
+RVS ?= @RVS@
+SHELL ?= @SHELL@
+RM ?= rm
+CP ?= cp
+SED ?= sed
+INSTALL ?= install
+MKDIR ?= $(INSTALL) -d #mkdir -p
+INSTALL_PROGRAM ?= $(INSTALL)
+INSTALL_DATA ?= $(INSTALL) -m 644
+TOUCH ?= touch # This file doesn't use touch
+#export RVS SHELL RM CP SED INSTALL MKDIR INSTALL_PROGRAM INSTALL_DATA TOUCH
+
+# 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
+
+# dist #############################################################
+
+id = $(name)-$(ver)
+dist : $(id).tar.gz
+
+$(id).tar.gz : $(id)
+ tar -czf $@ $<
+
+$(id) : distclean
+ $(INSTALL) -m 777 -d $@
+ $(CP) -r $(mysrcdir)/* $@
+
+# 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' \
+ $@
+
+$(dirs) $(libexecdir)/$(rvs) $(myoutdir) :
+ $(MKDIR) $@
+
diff --git a/rvs/plugins/users/commit.sh b/rvs/plugins/users/commit.sh
new file mode 100644
index 0000000..cb2488d
--- /dev/null
+++ b/rvs/plugins/users/commit.sh
@@ -0,0 +1,31 @@
+#!@SHELL@
+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/@ID@/stdio"
+
+ret=`$RVS repo-0.7beta/commit $@`
+if [ -f "$REPO/@ID@/user" ]; then
+ cp "$REPO/@ID@/user" "$REPO/@ID@/repo/$ret"
+ echo "$ret"
+else
+ error 'you must be logged in to commit files'
+fi
+
diff --git a/rvs/plugins/users/init.sh b/rvs/plugins/users/init.sh
new file mode 100644
index 0000000..41f7d77
--- /dev/null
+++ b/rvs/plugins/users/init.sh
@@ -0,0 +1,30 @@
+#!@SHELL@
+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/@ID@/stdio"
+
+mkdir -p "$REPO/@ID@"/{users,repo}
+cat << __EOF__ > "$REPO/@ID@/users/Public Domain"
+author:anonymous
+owner:Public Domain
+license:
+__EOF__
+
diff --git a/rvs/plugins/users/login.sh b/rvs/plugins/users/login.sh
new file mode 100644
index 0000000..340c7db
--- /dev/null
+++ b/rvs/plugins/users/login.sh
@@ -0,0 +1,30 @@
+#!@SHELL@
+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/@ID@/stdio"
+
+user="$1"
+if [ -f "$REPO/@ID@/users/$user" ]; then
+ install -m 644 -T "$REPO/@ID@/users/$user" "$REPO/@ID@/../user"
+else
+ error "User \`$user' does not exist"
+fi
+
diff --git a/rvs/plugins/users/logout.sh b/rvs/plugins/users/logout.sh
new file mode 100644
index 0000000..43011a1
--- /dev/null
+++ b/rvs/plugins/users/logout.sh
@@ -0,0 +1,29 @@
+#!@SHELL@
+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/@ID@/stdio"
+
+if [ -f "$REPO/@ID@/../user" ]; then
+ rm "$REPO/@ID@/../user"
+else
+ error 'you must be logged in to logout'
+fi
+
diff --git a/rvs/plugins/users/mkuser.sh b/rvs/plugins/users/mkuser.sh
new file mode 100644
index 0000000..68c16b2
--- /dev/null
+++ b/rvs/plugins/users/mkuser.sh
@@ -0,0 +1,29 @@
+#!@SHELL@
+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/@ID@/stdio"
+
+author="$1"
+touch "$REPO/@ID@/users/$author"
+cat << __EOF__ > "$REPO/@ID@/users/$author"
+author:$author
+__EOF__
+
diff --git a/rvs/plugins/users/plugin.conf b/rvs/plugins/users/plugin.conf
new file mode 100644
index 0000000..1224b23
--- /dev/null
+++ b/rvs/plugins/users/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/plugins/users/rmuser.sh b/rvs/plugins/users/rmuser.sh
new file mode 100644
index 0000000..a9f566f
--- /dev/null
+++ b/rvs/plugins/users/rmuser.sh
@@ -0,0 +1,30 @@
+#!@SHELL@
+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/@ID@/stdio"
+
+user="$1"
+if [ -f "$REPO/@ID@/users/$user" ]; then
+ rm "$REPO/@ID@/users/$user"
+else
+ error "User \`$user' does not exist"
+fi
+
diff --git a/rvs/plugins/users/stdio.sh b/rvs/plugins/users/stdio.sh
new file mode 100644
index 0000000..a8bd155
--- /dev/null
+++ b/rvs/plugins/users/stdio.sh
@@ -0,0 +1,68 @@
+#!@SHELL@
+#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
+}
+