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