]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian/common
Make timestamping configurable and only let dinstall have it for now
[dak.git] / config / debian / common
index c9363bc8d1f294669533cbabf312e53a17fb3059..0177f1f6fcfd8e1a14b94f32d69a5975607946e1 100644 (file)
@@ -4,7 +4,7 @@
 # Set $PROGRAM to a string to have it added to the output.
 function log () {
     local prefix=${PROGRAM:-}
-    echo "$(date +"%b %d %H:%M:%S") $(hostname -s) ${prefix}[$$]: $@"
+    echo "$(date +"%b %d %H:%M:%S") ${HOSTNAME} ${prefix}[$$]: $@"
 }
 
 # log the message using log() but then also send a mail
@@ -12,7 +12,7 @@ function log () {
 function log_error () {
     log "$@"
     if [ -z "${MAILTO}" ]; then
-        echo "$@" | mail -a "X-Debian: DAK" -e -s "[$PROGRAM@$(hostname -s)] ERROR [$$]" -a "From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>" ${MAILTO}
+        echo "$@" | mail -a "X-Debian: DAK" -e -s "[$PROGRAM@${HOSTNAME}] ERROR [$$]" -a "From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>" ${MAILTO}
     fi
 }
 
@@ -83,6 +83,7 @@ function wbtrigger() {
 # used by cron.dinstall *and* cron.unchecked.
 function make_buildd_dir () {
     # We generate straight into the static mirror location for incoming
+    log "Preparing buildd area"
     dak manage-build-queues -a
     dak generate-packages-sources2 -a build-queues
     dak generate-releases -a build-queues >/dev/null
@@ -91,6 +92,7 @@ function make_buildd_dir () {
     echo "<p>Last updated: `date -u`</p>" > ${incoming}/web/README.html
 
     # Tell the mirrors that we've updated
+    log "Pushing static for incoming.d.o"
     chronic /usr/local/bin/static-update-component incoming.debian.org
 }
 
@@ -144,18 +146,21 @@ function backports_policy() {
 function do_unchecked () {
     cd $unchecked
 
-    changes=$(find . -maxdepth 1 -mindepth 1 -type f -name \*.changes | sed -e "s,./,," | xargs)
+    changes=$(find . -maxdepth 1 -mindepth 1 -type f \( -name \*.changes -o -name \*.dak-commands \) | sed -e "s,./,," | xargs)
     report=$queuedir/REPORT
     timestamp=$(date "+%Y-%m-%d %H:%M")
-    UNCHECKED_WITHOUT_LOCK=${UNCHECKED_WITHOUT_LOCK:-""}
-
-    echo "$timestamp": ${changes:-"Nothing to do"}  >> $report
-    dak process-upload -a ${UNCHECKED_WITHOUT_LOCK} -d "$unchecked" >> $report
-    dak process-commands -d "$unchecked" >> $report
 
     if [ ! -z "$changes" ]; then
+        log "Processing files ${changes}"
+        echo "${timestamp}: ${changes}"  >> $report
+        dak process-upload -a -d "$unchecked" >> $report
+        dak process-commands -d "$unchecked" >> $report
+
         sync_debbugs
         do_buildd
+    else
+        log "Nothing to do"
+        echo "Nothing to do" >> ${report}
     fi
 }
 
@@ -164,13 +169,16 @@ function do_new () {
     log "Doing NEW processing"
     (dak process-policy new; dak process-policy byhand) | mail -a "X-Debian: DAK" -e -s "NEW and BYHAND processing" -a "From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>" ftpmaster@ftp-master.debian.org
 
+    log "Processing Backports NEW"
     dak process-policy backports-new | mail -a "X-Debian: DAK" -e -s "NEW processing for backports-new" -a "From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>" backports-team@debian.org
 
+    log "Cleanup NEW/Backports NEW"
     dak clean-suites -a new,backports-new
 }
 
 function sync_debbugs () {
     # sync with debbugs
+    log "Sync debbugs version tracking information"
     echo "--" >> $report
     timestamp=$(date "+%Y-%m-%d-%H:%M")
     mkdir -p $queuedir/bts_version_track_archive/${timestamp}
@@ -181,11 +189,12 @@ function sync_debbugs () {
     TSTAMP=$(stat -c %Y $lockdir/synced_bts_version)
     DIFF=$(( NOW - TSTAMP ))
     if [ $DIFF -ge 259200 ]; then
-        log "Kids, you tried your best and you failed miserably. The lesson is, never try. (Homer Simpson)"
+        log_error "Kids, you tried your best and you failed miserably. The lesson is, never try. (Homer Simpson)"
     fi
 }
 
 function clean_debbugs () {
+    log "Cleanup debbugs"
     # Delete files older than 60 days
     find $queuedir/bts_version_track_archive/ -mtime +60 -type f -delete
     # Delete empty directories
@@ -242,8 +251,8 @@ function scancontents() {
 }
 
 function ddaccess() {
-    # Tell our dd accessible mirror to sync itself up. Including ftp dir.
-    log "Trigger dd accessible parts sync including ftp dir"
+    # Tell our dd accessible mirror to sync itself up.
+    log "Trigger dd accessible parts sync"
     ${scriptsdir}/sync-dd dd-sync dd-sync1 dd-sync2 sync
 }
 
@@ -279,7 +288,7 @@ function stage() {
     ARGS=${ARGS:-""}
 
     log "########## ${PROGRAM} BEGIN: ${FUNC} ${ARGS} ##########"
-    local STAGEFILE="${stagedir}/${FUNC}_${ARGS}"
+    local STAGEFILE="${stagedir}/${FUNC}${ARGS:+_}${ARGS}"
     STAGEFILE=${STAGEFILE// /_}
     if [ -f "${STAGEFILE}" ]; then
         local stamptime=$(/usr/bin/stat -c %Z "${STAGEFILE}")
@@ -338,7 +347,11 @@ function stage() {
 
     # Now we should make sure that we have a usable ${PROGRAM}.log, so
     # append the $STAGEFILE.log to it.
-    cat "${STAGEFILE}.log" >> "${LOGFILE}"
+    if [[ ${TIMESTAMP} == true ]]; then
+        /usr/bin/ts "%b %d %H:%M:%S ${HOSTNAME} ${PROGRAM}[$$]: ${FUNC} " < "${STAGEFILE}.log"
+    else
+        cat "${STAGEFILE}.log"
+    fi
     rm -f "${STAGEFILE}.log"
 
     log "########## ${PROGRAM} END: ${FUNC} ##########"