summaryrefslogtreecommitdiff
path: root/rvs-build/plugins/repo/out
diff options
context:
space:
mode:
Diffstat (limited to 'rvs-build/plugins/repo/out')
-rwxr-xr-xrvs-build/plugins/repo/out/commit55
-rwxr-xr-xrvs-build/plugins/repo/out/commit.d36
-rwxr-xr-xrvs-build/plugins/repo/out/commit.f33
-rwxr-xr-xrvs-build/plugins/repo/out/get36
-rwxr-xr-xrvs-build/plugins/repo/out/get.d47
-rwxr-xr-xrvs-build/plugins/repo/out/get.f29
-rw-r--r--rvs-build/plugins/repo/out/plugin.conf8
-rwxr-xr-xrvs-build/plugins/repo/out/stdio68
8 files changed, 312 insertions, 0 deletions
diff --git a/rvs-build/plugins/repo/out/commit b/rvs-build/plugins/repo/out/commit
new file mode 100755
index 0000000..6565f3d
--- /dev/null
+++ b/rvs-build/plugins/repo/out/commit
@@ -0,0 +1,55 @@
+#!/bin/sh
+name='rvs repo commit'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+source "$libexecdir//stdio"
+
+# commit FILE
+file=${1-.}
+
+if [ ! -e $file ]; then error "file \`$file' does not exist";
+# START file type list
+elif [ -L $file ]; then type='l'; # symbolic link
+elif [ -b $file ]; then type='b'; # block (buffered) special
+elif [ -c $file ]; then type='c'; # character (unbuffered) special
+elif [ -d $file ]; then type='d'; # directory
+elif [ -p $file ]; then type='p'; # named pipe (FIFO)
+elif [ -f $file ]; then type='f'; # regular file
+elif [ -s $file ]; then type='s'; # socket
+#elif [ -D $file ]; then type='D'; # door (Solaris only)
+# END file type list
+else error "could not identify file type of \`$file'"
+fi
+
+out "+$type `pwd`/$file"
+ret=`"$RVS" commit.$type "$file"`
+
+tmp=`mktemp`
+cat << __EOF__ > "$tmp"
+name:$file
+hash:$ret
+type:$type
+author:$user
+owner:$owner
+license:$license
+__EOF__
+
+"$RVS" commit.f "$tmp"
+rm "$tmp"
+
diff --git a/rvs-build/plugins/repo/out/commit.d b/rvs-build/plugins/repo/out/commit.d
new file mode 100755
index 0000000..5e16fb6
--- /dev/null
+++ b/rvs-build/plugins/repo/out/commit.d
@@ -0,0 +1,36 @@
+#!/bin/sh
+name='rvs repo commit.d'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+source "$libexecdir//stdio"
+
+# commit.d DIRNAME
+dir="$1"
+tmp=`mktemp`
+
+cd "$dir"
+for file in *; do
+ hash=`"$RVS" commit "$file"`
+ echo "$file:$hash" >> "$tmp"
+done
+
+"$RVS" commit.f "$tmp"
+rm "$tmp"
+
diff --git a/rvs-build/plugins/repo/out/commit.f b/rvs-build/plugins/repo/out/commit.f
new file mode 100755
index 0000000..6eb78d1
--- /dev/null
+++ b/rvs-build/plugins/repo/out/commit.f
@@ -0,0 +1,33 @@
+#!/bin/sh
+name='rvs repo commit.f'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#source "$libexecdir//stdio"
+
+# commit.f FILENAME
+file="$1"
+
+#hash=`md5sum $file | sed "s/ .*$//"`
+hash=`sha1sum $file | sed "s/ .*$//"`
+if [ ! -f "$REPO//$hash" ]; then
+ install -m 644 -o $USER -g $USER -T "$file" "$REPO//$hash"
+fi
+echo "$hash"
+
diff --git a/rvs-build/plugins/repo/out/get b/rvs-build/plugins/repo/out/get
new file mode 100755
index 0000000..009d280
--- /dev/null
+++ b/rvs-build/plugins/repo/out/get
@@ -0,0 +1,36 @@
+#!/bin/sh
+name='rvs repo get'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+source "$libexecdir//stdio"
+
+# get ID [FILE]
+id="$1"
+tmp=`mktemp`
+"$RVS" get.f "$id" "$tmp"
+type="`sed -n 's/^type://p' "$tmp"`"
+file="${2-`sed -n 's/^name://p' "$tmp"`}"
+hash="`sed -n 's/^hash://p' "$tmp"`"
+
+out "-$type `pwd`/$file"
+"$RVS" get.$type "$hash" "$file"
+
+rm "$tmp"
+
diff --git a/rvs-build/plugins/repo/out/get.d b/rvs-build/plugins/repo/out/get.d
new file mode 100755
index 0000000..9f7b1c5
--- /dev/null
+++ b/rvs-build/plugins/repo/out/get.d
@@ -0,0 +1,47 @@
+#!/bin/sh
+name='rvs repo get.d'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#source "$libexecdir//stdio"
+
+# get.d ID DIRNAME
+id="$1"
+dir="$2"
+
+tmp=`mktemp`
+"$RVS" get.f "$id" "$tmp"
+
+#install -d "$dir"
+mkdir -p "$dir"
+
+cd "$dir"
+rm -rf ./*
+while read line; do
+ # GNU bash optimized version
+ #hash=${line/#*:/}
+ #name=${line/%:${hash}/}
+ # POSIX version
+ hash=`echo "$line" | sed 's/^.*://'`
+ name=`echo "$line" | sed "s/:$hash$//"`
+ "$RVS" get "$hash" "$name"
+done < "$tmp"
+
+rm "$tmp"
+
diff --git a/rvs-build/plugins/repo/out/get.f b/rvs-build/plugins/repo/out/get.f
new file mode 100755
index 0000000..0918ceb
--- /dev/null
+++ b/rvs-build/plugins/repo/out/get.f
@@ -0,0 +1,29 @@
+#!/bin/sh
+name='rvs repo get.f'
+ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#source "$libexecdir//stdio"
+
+# get.f ID FILENAME
+id="$1"
+file="$2"
+
+install -T "$REPO//$id" "$file"
+
diff --git a/rvs-build/plugins/repo/out/plugin.conf b/rvs-build/plugins/repo/out/plugin.conf
new file mode 100644
index 0000000..6028a0f
--- /dev/null
+++ b/rvs-build/plugins/repo/out/plugin.conf
@@ -0,0 +1,8 @@
+# rvs repo plugins.conf
+# ver=0.8r61
+commit
+commit.d
+commit.f
+get
+get.d
+get.f
diff --git a/rvs-build/plugins/repo/out/stdio b/rvs-build/plugins/repo/out/stdio
new file mode 100755
index 0000000..84c1b89
--- /dev/null
+++ b/rvs-build/plugins/repo/out/stdio
@@ -0,0 +1,68 @@
+#!/bin/sh
+#name='rvs repo stdio'
+#ver=0.8r61
+# Copyright (C) 2009 Luke Shumaker
+#
+# This file is part of rvs.
+#
+# rvs is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# rvs is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rvs; see the file COPYING.
+# If not, write to the Free Software Foundation,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+verbose() {
+ if [ "$volume" == '-v' ]; then
+ echo $@ >> /dev/stderr
+ fi
+}
+
+out() {
+ if [ "$volume" != '-q' ]; then
+ echo $@ >> /dev/stderr
+ fi
+}
+
+warn () {
+ echo "$name: $1" >> /dev/stderr
+}
+
+fatal () {
+ warn "$1"
+ exit 1
+}
+
+error() {
+ warn "$1"
+ cat << __error__ >> /dev/stderr
+Usage: $name $usage
+
+Try \`$name --help\' for more options.
+__error__
+ exit 1
+}
+
+version() {
+ echo "$name $ver"
+ if [ "$volume" != '-q' ]; then
+ cat << __disclaimer__
+$name is copyright (C) 2009 Luke Shumaker
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+Originally written by Luke Shumaker <LukeShu@sbcglobal.net>.
+__disclaimer__
+ fi
+ exit 0
+}
+