73 lines
1.4 KiB
Bash
Executable File
73 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
#$Id$
|
|
#Copyright (c) 2012 Pierre Pronchery <khorben@defora.org>
|
|
#This file is part of DeforaOS Unix scripts
|
|
#TODO:
|
|
#- no longer use a temporary folder
|
|
|
|
|
|
|
|
#environment
|
|
umask 022
|
|
#variables
|
|
[ -z "$CVSROOT" ] && CVSROOT=":pserver:anonymous@anoncvs.defora.org:/home/cvs"
|
|
#private
|
|
DATE=`date '+%Y%m%d'`
|
|
DESTDIR="/var/www"
|
|
DEVNULL="/dev/null"
|
|
EMAIL="webmaster@defora.org"
|
|
ROOT=`mktemp -d -p "$HOME/temp" "temp.XXXXXX"`
|
|
MODULE="DeforaOS"
|
|
SRC="$ROOT/$MODULE"
|
|
|
|
#executables
|
|
CVS="cvs -q"
|
|
FIND="find"
|
|
LN="ln -f"
|
|
MAIL="mail"
|
|
MAKE="make"
|
|
MKDIR="mkdir -p"
|
|
RM="rm -f"
|
|
TAR="tar"
|
|
TOUCH="touch"
|
|
|
|
|
|
#functions
|
|
#deforaos_document
|
|
deforaos_document()
|
|
{
|
|
#configure cvs if necessary
|
|
$MKDIR "$HOME" || exit 2
|
|
if [ ! -f "$HOME/.cvspass" ]; then
|
|
$TOUCH "$HOME/.cvspass" || exit 2
|
|
fi
|
|
|
|
#checkout tree if necessary
|
|
if [ ! -d "$SRC" ]; then
|
|
echo ""
|
|
echo "Checking out CVS module $MODULE:"
|
|
(cd "$ROOT" && $CVS "-d$CVSROOT" co "$MODULE") || exit 2
|
|
fi
|
|
|
|
#update tree
|
|
echo ""
|
|
echo "Updating CVS module $MODULE:"
|
|
(cd "$SRC" && $CVS update -dPA) || exit 2
|
|
|
|
#document tree
|
|
echo ""
|
|
echo "Documenting CVS module $MODULE:"
|
|
$FIND "$SRC/System" "$SRC/Apps" -name "doc" | while read path; do
|
|
[ -x "$path/gtkdoc.sh" ] || continue
|
|
(cd "$path" && $MAKE install DESTDIR="$DESTDIR" PREFIX="/" > "$DEVNULL" 2> "$DEVNULL")
|
|
done
|
|
|
|
#erase temporary data
|
|
$RM -r "$ROOT"
|
|
}
|
|
|
|
|
|
#main
|
|
[ -z "$ROOT" ] && exit 2
|
|
deforaos_document 2>&1 | $MAIL -s "Daily CVS documentation: $DATE" "$EMAIL"
|