diff options
author | Luke Shumaker <luke@HP-dv6426us-u904.(none)> | 2009-10-26 20:32:15 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-06-26 00:30:18 -0600 |
commit | afcc02550298ee8f1d74ef265d866a9b38397ce4 (patch) | |
tree | f7d0bfa78108a241cefa3df3fc58970c9aad0185 /rvs-build | |
parent | 3ccb49013b94211adbfa81c9d2aa558dd113de7e (diff) |
rvs builds! nicely!
Diffstat (limited to 'rvs-build')
43 files changed, 1645 insertions, 0 deletions
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 Binary files differnew file mode 100644 index 0000000..0b3d5dd --- /dev/null +++ b/rvs-build/wrapper/plugin-depend.o 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 Binary files differnew file mode 100644 index 0000000..cd822c3 --- /dev/null +++ b/rvs-build/wrapper/plugin-find.o 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 Binary files differnew file mode 100644 index 0000000..9424275 --- /dev/null +++ b/rvs-build/wrapper/plugin-load.o 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 Binary files differnew file mode 100644 index 0000000..e30ddbb --- /dev/null +++ b/rvs-build/wrapper/plugin-parse.o 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 Binary files differnew file mode 100644 index 0000000..d77abca --- /dev/null +++ b/rvs-build/wrapper/plugin-run.o 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 Binary files differnew file mode 100644 index 0000000..44f6fc1 --- /dev/null +++ b/rvs-build/wrapper/plugins.o diff --git a/rvs-build/wrapper/runcom b/rvs-build/wrapper/runcom Binary files differnew file mode 100755 index 0000000..eec8502 --- /dev/null +++ b/rvs-build/wrapper/runcom 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 Binary files differnew file mode 100644 index 0000000..aa333a5 --- /dev/null +++ b/rvs-build/wrapper/runcom.o 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 Binary files differnew file mode 100644 index 0000000..1902d45 --- /dev/null +++ b/rvs-build/wrapper/rvs.o |