# 2012-01-22, alex@barton.de
#
-MYNAME="`basename "$0"`"
+MYNAME=$(basename "$0")
# options
FORCE=""
ERR_PREFIX=" ! "
msg() {
- echo "$MSG_PREFIX[`date +%H:%M:%S`] $MYNAME: $*"
+ echo "$MSG_PREFIX[$(date +%H:%M:%S)] $MYNAME: $*"
}
err() {
- echo "$ERR_PREFIX[`date +%H:%M:%S`] $MYNAME: $*" >&2
+ echo "$ERR_PREFIX[$(date +%H:%M:%S)] $MYNAME: $*" >&2
}
prepare_git() {
- cd "$BASE_DIR"
+ cd "$BASE_DIR" || return 1
if [ ! -d ".git" ]; then
git clone "$REPOSITORY" .
else
build() {
msg "Building \"$NAME\" ..."
- cd "$BASE_DIR"
+ cd "$BASE_DIR" || return 1
date >"$BASE_DIR/.$MYNAME.dirty" || return 1
if [ -x "./autogen.sh" ]; then
- eval make $MAKE_ARGS_MAINTAINERCLEAN $QUIETCMD 2>&1
- eval ./autogen.sh $QUIETCMD
+ eval "make $MAKE_ARGS_MAINTAINERCLEAN $QUIETCMD 2>&1"
+ eval "./autogen.sh $QUIETCMD"
fi
if [ -x "./configure" ]; then
- eval ./configure $QUIETCMD
+ eval "./configure $QUIETCMD"
fi
- eval make $MAKE_ARGS_BUILD $QUIETCMD
+ eval "make $MAKE_ARGS_BUILD $QUIETCMD"
return $?
}
check() {
msg "Checking \"$NAME\" ..."
- cd "$BASE_DIR"
+ cd "$BASE_DIR" || return 1
- eval make $MAKE_ARGS_CHECK $QUIETCMD
+ eval "make $MAKE_ARGS_CHECK $QUIETCMD"
}
archive() {
msg "Archiving \"$NAME\" ..."
- cd "$BASE_DIR"
+ cd "$BASE_DIR" || return 1
- eval make $MAKE_ARGS_DIST $QUIETCMD
+ eval "make $MAKE_ARGS_DIST $QUIETCMD"
}
publish() {
msg "Publishing \"$NAME\" ..."
- cd "$BASE_DIR"
+ cd "$BASE_DIR" || return 1
- archive=`ls -1rt *.tar.gz | tail -n 1`
+ archive=$(ls -1rt -- *.tar.gz | tail -n 1)
if [ -z "$archive" ]; then
err "No distribution archive found!?"
return 1
fi
mv "$archive" "$DEST_DIR"/ || return 1
- chmod a+rX "$DEST_DIR/`basename "$archive"`"
+ chmod a+rX "$DEST_DIR/$(basename "$archive")"
rm -f "$archive" "$BASE_DIR/.$MYNAME.dirty"
- msg "New \"$NAME\" archive: \"`basename "$archive"`\""
+ msg "New \"$NAME\" archive: \"$(basename "$archive")\""
+ clean_up
+}
+
+clean_up() {
+ [ -n "$KEEP_ARCHIVES" ] || return 0
+ [ -n "$ARCHIVE_PATTERN" ] || return 0
+
+ msg "Removing outdated archives, keeping $KEEP_ARCHIVES ..."
+ cd "$DEST_DIR" || return 1
+
+ eval "ls -1t $ARCHIVE_PATTERN | sed -n '$((KEEP_ARCHIVES + 1)),9999p' | xargs -r rm"
}
# read in configuration
# read in and process projects in autobuild.d directory
for file in "$AUTOBUILDER_D_DIR"/*; do
- file_name="`basename "$file"`"
+ file_name="$(basename "$file")"
# defaults
NAME=""
case "$TYPE" in
"git")
prepare_git
- [ $? -eq 9 \
- -a -z "$FORCE" \
- -a ! -e "$BASE_DIR/.$MYNAME.dirty" ] \
- && continue
+ if [ $? -eq 9 ] \
+ && [ -z "$FORCE" ] \
+ && [ ! -e "$BASE_DIR/.$MYNAME.dirty" ]; then
+ continue
+ fi
;;
esac