From 9e6b234214d5aed329b07e3c581b7b4f4c5eee98 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Thu, 21 Aug 2008 21:51:39 +0000 Subject: [PATCH] Initial release --- src/deforaos-build.sh | 66 ++++++++++++++++++++++++++++++++++++++++++ src/deforaos-update.sh | 48 ++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100755 src/deforaos-build.sh create mode 100755 src/deforaos-update.sh diff --git a/src/deforaos-build.sh b/src/deforaos-build.sh new file mode 100755 index 0000000..57347e4 --- /dev/null +++ b/src/deforaos-build.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env sh + + + +#variables +CVSROOT=":pserver:anonymous@cvs.defora.lan:/Data/CVS" +DEVNULL="/dev/null" +MODULE="DeforaOS" +[ -z "$ARCH" ] && ARCH=`uname -m` +[ -z "$OS" ] && OS=`uname -s` +SRC="$HOME/build/$OS-$ARCH" +DST="$HOME/destdir/$OS-$ARCH" + +#executables +CVS="cvs -q" +MAKE="make" +MKDIR="mkdir -p" +RM="rm -f" + + +#functions +#error +error() +{ + [ ! -z "$1" ] && echo "$1" 1>&2 + $RM -r "$DST" + $RM -r "$SRC" + exit 2 +} + + +#main +#configure cvs if necessary +[ ! -f "$HOME/.cvspass" ] && touch "$HOME/.cvspass" +[ ! -f "$HOME/.cvsrc" ] && cat > "$HOME/.cvsrc" << EOF +cvs -q +update -dPA +EOF + +#checkout tree +$RM -r "$SRC" +$MKDIR "$SRC" || error +cd "$SRC" || error +echo "" +echo "Checking out CVS module $MODULE:" +$CVS "-d$CVSROOT" co "$MODULE" > "$DEVNULL" || error +SRC="$SRC/$MODULE" + +#create directories +$RM -r "$DST" +$MKDIR "$DST" || error + +#bootstrapping tree +echo "" +echo "Configuring CVS module $MODULE:" +cd "$SRC" || error +$MAKE DESTDIR="$DESTDIR" || error + +#build +echo "" +echo "Building CVS module $MODULE:" +./build.sh MAKE="$MAKE" DESTDIR="$DST" install || error + +#cleanup +$RM -r "$SRC" +$RM -r "$DST" diff --git a/src/deforaos-update.sh b/src/deforaos-update.sh new file mode 100755 index 0000000..cbac89c --- /dev/null +++ b/src/deforaos-update.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env sh + + + +#variables +CVSROOT=":pserver:anonymous@cvs.defora.org:/Data/CVS" +DATE=`date '+%Y%m%d'` +DESTDIR="/var/www/htdocs/download/snapshots" +MODULE="DeforaOS" +SRC="$HOME/$MODULE" + +#executables +CVS="cvs" +LN="ln -f" +RM="rm -f" + + +#functions +#main +#configure cvs if necessary +[ ! -f "$HOME/.cvspass" ] && touch "$HOME/.cvspass" +[ ! -f "$HOME/.cvsrc" ] && cat > "$HOME/.cvsrc" << EOF +cvs -q +update -dPA +EOF + +#checkout tree if necessary +if [ ! -d "$SRC" ]; then + echo "" + echo "Checking out CVS module $MODULE:" + $CVS "-d$CVSROOT" co "$MODULE" || exit 1 +fi + +#update tree +echo "" +echo "Updating CVS module $MODULE:" +cd "$SRC" || exit 1 +$CVS update + +#make archive +echo "" +echo "Archiving CVS module $MODULE:" +for i in *; do + echo "DeforaOS-$DATE/$i" +done | ($LN -s . "DeforaOS-$DATE" \ + && xargs tar -czf "$DESTDIR/DeforaOS-daily.tar.gz") +$RM "DeforaOS-$DATE" +echo "http://www.defora.org/download/snapshots/DeforaOS-daily.tar.gz"