diff options
Diffstat (limited to 'rvs-build/plugins')
-rw-r--r-- | rvs-build/plugins/Makefile | 87 | ||||
-rw-r--r-- | rvs-build/plugins/repo/Makefile | 87 | ||||
-rw-r--r-- | rvs-build/plugins/repo/main.mk | 76 | ||||
-rwxr-xr-x | rvs-build/plugins/repo/out/commit | 55 | ||||
-rwxr-xr-x | rvs-build/plugins/repo/out/commit.d | 36 | ||||
-rwxr-xr-x | rvs-build/plugins/repo/out/commit.f | 33 | ||||
-rwxr-xr-x | rvs-build/plugins/repo/out/get | 36 | ||||
-rwxr-xr-x | rvs-build/plugins/repo/out/get.d | 47 | ||||
-rwxr-xr-x | rvs-build/plugins/repo/out/get.f | 29 | ||||
-rw-r--r-- | rvs-build/plugins/repo/out/plugin.conf | 8 | ||||
-rwxr-xr-x | rvs-build/plugins/repo/out/stdio | 68 | ||||
-rw-r--r-- | rvs-build/plugins/users/Makefile | 87 | ||||
-rw-r--r-- | rvs-build/plugins/users/main.mk | 76 | ||||
-rwxr-xr-x | rvs-build/plugins/users/out/commit | 31 | ||||
-rwxr-xr-x | rvs-build/plugins/users/out/init | 30 | ||||
-rwxr-xr-x | rvs-build/plugins/users/out/login | 30 | ||||
-rwxr-xr-x | rvs-build/plugins/users/out/logout | 29 | ||||
-rwxr-xr-x | rvs-build/plugins/users/out/mkuser | 29 | ||||
-rw-r--r-- | rvs-build/plugins/users/out/plugin.conf | 7 | ||||
-rwxr-xr-x | rvs-build/plugins/users/out/rmuser | 30 | ||||
-rwxr-xr-x | rvs-build/plugins/users/out/stdio | 68 |
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 +} + |