blob: f04d99b8d9f7c4639dd82b902d377a20218a0859 [file] [log] [blame]
#!/bin/sh
EXEC_PATH="`dirname $0`"
# Source the configuration file.
. "$EXEC_PATH/svntest-config.sh"
# Compute local vars
LOG_FILE="$LOG_FILE_PREFIX.update"
CVS_UPDATE_REGEXP_1='^[UPARMC] \(\(docs\)\|\(STATUS\)\|\(CHANGES\)\)'
CVS_UPDATE_REGEXP_2='^[UPARMC] [A-Za-z]'
SVN_UPDATE_REGEXP_1=\
'^[ADUCG]\([ADUCG]\| \) \(\(doc\)\|\(notes\)\|\(www\)\|\(contrib\)'\
'\|\(tools\)\|\(packages\)\|\(STATUS\)\)'
SVN_UPDATE_REGEXP_2='^[ADUCG]\([ADUCG]\| \) [A-Za-z]'
#
# Possible values of the status file:
# 0 == rebuild needed
# timestamp == timestamp of last build
#
# arg1 := mode of operation <CVS|SVN>
# arg2 := update log file
# arg3 := rebuild flag file
#
UPDATE_REBUILD_FLAG () {
local MODE="$1"
local UP_LOGFILE="$2"
local RB_FILE="$3"
local UP_STATUS=1
if [ $MODE = "SVN" ]; then
REGEXP_1="$SVN_UPDATE_REGEXP_1"
REGEXP_2="$SVN_UPDATE_REGEXP_2"
elif [ $MODE = "CVS" ]; then
REGEXP_1="$CVS_UPDATE_REGEXP_1"
REGEXP_2="$CVS_UPDATE_REGEXP_2"
fi
$GREP -v "$REGEXP_1" "$UP_LOGFILE" \
| $GREP -q "$REGEXP_2" > /dev/null 2>&1
UP_STATUS="$?"
if test ! -f "$RB_FILE"
then
echo "0" > "$RB_FILE"
else
if test "$UP_STATUS" -eq 0
then
echo "0" > "$RB_FILE"
fi
fi
}
# Update apr, apr-util, httpd
START "update $APR_NAME" "Updating $APR_NAME..."
cd $APR_REPO && $SVN update > "$LOG_FILE_DIR/LOG_up_apr" 2>&1
test $? = 0 || {
FAIL_LOG "$LOG_FILE_DIR/LOG_up_apr"
FAIL
}
PASS
UPDATE_REBUILD_FLAG SVN "$LOG_FILE_DIR/LOG_up_apr" "$TEST_ROOT/$APR_NAME.rb"
START "update $APU_NAME" "Updating $APU_NAME..."
cd $APU_REPO && $SVN update > "$LOG_FILE_DIR/LOG_up_apu" 2>&1
test $? = 0 || {
FAIL_LOG "$LOG_FILE_DIR/LOG_up_apu"
FAIL
}
PASS
UPDATE_REBUILD_FLAG SVN "$LOG_FILE_DIR/LOG_up_apu" "$TEST_ROOT/$APU_NAME.rb"
START "update $HTTPD_NAME" "Updating $HTTPD_NAME..."
cd $HTTPD_REPO && $SVN update > "$LOG_FILE_DIR/LOG_up_httpd" 2>&1
test $? = 0 || {
FAIL_LOG "$LOG_FILE_DIR/LOG_up_httpd"
FAIL
}
PASS
UPDATE_REBUILD_FLAG SVN "$LOG_FILE_DIR/LOG_up_httpd" "$TEST_ROOT/$HTTPD_NAME.rb"
# Update svn
START "update subversion" "Updating Subversion..."
cd $SVN_REPO && $SVN update > "$LOG_FILE_DIR/LOG_up_svn" 2>&1
test $? = 0 || {
FAIL_LOG "$LOG_FILE_DIR/LOG_up_svn"
FAIL
}
PASS
UPDATE_REBUILD_FLAG SVN "$LOG_FILE_DIR/LOG_up_svn" "$TEST_ROOT/$SVN_NAME.rb"
# Run autogen.sh
START "autogen.sh" "Running autogen.sh..."
cd $SVN_REPO && ./autogen.sh > "$LOG_FILE_DIR/LOG_svn_autogen" 2>&1
test $? = 0 || {
FAIL_LOG "$LOG_FILE_DIR/LOG_svn_autogen"
FAIL
}
PASS