From aa5141e77203fd084d809f27d55192a988723803 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 3 Aug 2009 18:15:21 -0400 Subject: flesh out plugin: users --- HACKING | 63 ++++++++++++++++----------------------------------- Makefile.bak | 42 ---------------------------------- plugins/users/init.sh | 3 ++- 3 files changed, 21 insertions(+), 87 deletions(-) delete mode 100644 Makefile.bak diff --git a/HACKING b/HACKING index 7963220..3b8b891 100644 --- a/HACKING +++ b/HACKING @@ -17,7 +17,7 @@ build basics One of the coolest things about rvs (imo) is how modular and - customizable it is. If you wish to create a fork of rvs, it would + customizable it is. If you wish to create a fork of rvs, it wls ould be a good idea to give it a different name. This can be done without even changing a single source file! Simply run configure with `--name=NAME' option (variables that have `rvs' in the name @@ -28,10 +28,11 @@ name='rvs' The name of the program. Note that unlike most variables, you should NOT call this in Makefiles - (`$(name)'), but use $(rvs) instead. + (`$(name)'), but use `$(rvs)' instead. RVS='$(bindir)/$(rvs)' Where the exectuable will be. `$(rvs)' is the same as - `$(name)' (see above) + `$(name)' (see above). In this document it is + sometimes reffered to as the `wrapper'. SHELL='/bin/sh' The shell that will be used by make, and the shell that scripts will run in. (Perhaps we should make @@ -104,54 +105,28 @@ and ONLY the final files to be used by that plugin. ========this is outdated but I don't really want to keep editing it == - - There are two main parts to rvs, the wrapper, and the core. The - wrapper is a small executable, located in the PATH, and is the one - called when you type `rvs'. The core is a set of many small - executables that do all the real work. build system - (be sure to read the `configuration' section of `README' first) The build system rvs uses is rather simple. `./configure' does two things: - * create a preprocessor (`tmp/var.sed') - * run `Makefile.orig' through the preprocessor to generate a - propper `Makefile' - Then, the Makefile runs each file in `source/' through the - preprocessor, and writes the resulting files to `out/'. - - preprocessor + * create a sed script (`var.sed') + * run every incance of `$(srcdir)/Makefile.in' through + `var.sed' to generate a propper `Makefile' - The preprocessor contains all configuration variables. When it - processes a file every instance of `$$VAR_NAME$$' is replaced by - that variable's value. Note that this replacement only happens for + `var.sed' contains all configuration variables. When it processes + a file every instance of `@VAR_NAME@' is replaced by that + variable's value. This makes `configure' act much like a GNU + package `congfigure'. Note that this replacement only happens for defined variables. - configuration Variables - - Again the configuration variables and their default values are: - VER '0.6.3' - SHELL '/usr/bin/env bash' - prefix "$HOME" - bindir 'bin' - libdir '/etc/rvs/' - - The wrapper is installed at `$$prefix$$/$$bindir$$/rvs' - The core is installed at `$$libdir$$/' - The source for the wrapper is in `source/rvs' - The source for the core is in `source/rvs-core/' - - $$SHELL$$ is the shell all shell scripts that are part of rvs are - run in. As of rvs 0.6.3 all executables are shell scripts. - - Most of these can easily be changed _after_ compilation also: - VER line 4 of the wrapper - SHELL line 1 of each shell script - prefix simply move the wrapper - bindir simply move the wrapper - libdir move the core, then update the line `RVSDIR=...' in - the wrapper + Most of these can easily be changed _after_ `compilation' also: + VER line 4 of the wrapper + SHELL line 1 of each shell script + prefix simply move the wrapper + bindir simply move the wrapper + libexecdir move the directory, then update the line + `RVSDIR=...' in the wrapper I have designed this system to be extremely modular. As you may have figured out, each bit on functionality is in it's own @@ -177,7 +152,7 @@ As you probably noticed (if you've looked at the blueprints or source files), only directories and regular files have been - implemented as of rvs 0.6.3. + implemented as of rvs 0.7.0. After `rvs commit' has done this, it creates a meta-file for that commit. The meta file contains author, copyright owner, licence diff --git a/Makefile.bak b/Makefile.bak deleted file mode 100644 index 979af8a..0000000 --- a/Makefile.bak +++ /dev/null @@ -1,42 +0,0 @@ -# rvs Makefile -# -# 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 . - -# Make Dependencies ################################################# -RM = rm -f -WWW = links2 -width 70 -dump -INSTALL = install - -# Variables ######################################################## -SHELL = $$SHELL$$ -prefix = $$prefix$$ -bindir = $$bindir$$ -libdir = $$libdir$$ - -# Targets ########################################################## -files -build: -# $(WWW) README.xhtml > README.txt - -.SUFFIXES: - -install : wrapper core - $(INSTALL) -m 755 -T out/rvs $(prefix)/$(bindir)/rvs - $(INSTALL) -m 755 -d out/rvs-core $(libdir)/core - -out/% : source/% var.sed - ./var.sed <$< > $@ - -var.sed: makesed Variables - ./makesed var.sed - chmod 755 var.sed - -clean: - $(RM) var.sed - $(RM) -r out diff --git a/plugins/users/init.sh b/plugins/users/init.sh index 12b2f08..6d703ec 100644 --- a/plugins/users/init.sh +++ b/plugins/users/init.sh @@ -9,7 +9,8 @@ ver='0.7.0' # # Originally written by Luke Shumaker . -cat << __EOF__ > "$REPO/Public Domain" +mkdir -p "$REPO"/{users,repo} +cat << __EOF__ > "$REPO/users/Public Domain" author:anonymous owner:Public Domain license: -- cgit v1.2.3