X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcommon;h=21e0d48350c4b36179717cd61fa21783b68a4b82;hb=c7c3004d7fb00f8d419178ea982d30ab2c61b681;hp=a568d82657b0e559c55b838f708054473f0cdc75;hpb=5428cbbe30b7e2b77305024f45ef2fa2ffa68490;p=dak.git diff --git a/config/debian/common b/config/debian/common old mode 100644 new mode 100755 index a568d826..21e0d483 --- a/config/debian/common +++ b/config/debian/common @@ -4,21 +4,21 @@ # 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} ${prefix}[$$]: $@" + echo "$(date +"%b %d %H:%M:%S") ${HOSTNAME} ${prefix}[$$]: $*" } # log the message using log() but then also send a mail # to the address configured in MAILTO (if non-empty) function log_error () { log "$@" - if [ -z "${MAILTO}" ]; then - echo "$@" | mail -a "X-Debian: DAK" -e -s "[$PROGRAM@${HOSTNAME}] ERROR [$$]" -a "From: Debian FTP Masters " ${MAILTO} + if [[ -z ${MAILTO} ]]; then + echo "$*" | mail -a "X-Debian: DAK" -e -s "[$PROGRAM@${HOSTNAME}] ERROR [$$]" -a "From: Debian FTP Masters " ${MAILTO} fi } # debug log, only output when DEBUG=1 function debug () { - if [ $DEBUG -eq 1 ]; then + if [[ $DEBUG -eq 1 ]]; then log "$*" fi } @@ -41,10 +41,10 @@ function gettempfile() { function cleantempfiles() { resolvetmpfiles for TEMPFILE in $TMPFILES; do - if [ -n "${TEMPFILE}" ] && [ -f "${TEMPFILE}" ]; then + if [[ -n ${TEMPFILE} ]] && [[ -f ${TEMPFILE} ]]; then rm -f "${TEMPFILE}" - elif [ -n "${TEMPFILE}" ] && [ -d "${TEMPFILE}" ]; then - if [ "${TEMPFILE}" != "/" ] && [ "${TEMPFILE}" != "/*" ]; then + elif [[ -n ${TEMPFILE} ]] && [[ -d ${TEMPFILE} ]]; then + if [[ ${TEMPFILE} != / ]] && [[ ${TEMPFILE} != /* ]]; then rm -rf "${TEMPFILE}" fi fi @@ -102,7 +102,7 @@ function make_buildd_dir () { dak generate-releases -a build-queues >/dev/null # Stick a last modified date in the page footer - echo "

Last updated: `date -u`

" > ${incoming}/web/README.html + echo "

Last updated: $(date -u)

" > ${incoming}/web/README.html # Tell the mirrors that we've updated log "Pushing static for incoming.d.o" @@ -160,14 +160,16 @@ function do_unchecked () { cd $unchecked changes=$(find . -maxdepth 1 -mindepth 1 -type f \( -name \*.changes -o -name \*.dak-commands \) | sed -e "s,./,," | xargs) - report=$queuedir/REPORT + report=${queuedir}/REPORT timestamp=$(date "+%Y-%m-%d %H:%M") - if [ ! -z "$changes" ]; then + 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 + { + echo "${timestamp}: ${changes}" + dak process-upload -a -d "$unchecked" + dak process-commands -d "$unchecked" + } >> ${report} sync_debbugs do_buildd @@ -201,7 +203,7 @@ function sync_debbugs () { NOW=$(date +%s) TSTAMP=$(stat -c %Y $lockdir/synced_bts_version) DIFF=$(( NOW - TSTAMP )) - if [ $DIFF -ge 259200 ]; then + if [[ $DIFF -ge 259200 ]]; then log_error "Kids, you tried your best and you failed miserably. The lesson is, never try. (Homer Simpson)" fi } @@ -223,7 +225,7 @@ function reports() { log "Sending information about crufty packages" dak cruft-report -R > $webdir/cruft-report-daily.txt dak cruft-report -R -s experimental >> $webdir/cruft-report-daily.txt - cat $webdir/cruft-report-daily.txt | mail -a "X-Debian: DAK" -e -s "Debian archive cruft report for $(date +%D)" -a "From: Debian FTP Masters " ftpmaster@ftp-master.debian.org + mail -a "X-Debian: DAK" -e -s "Debian archive cruft report for $(date +%D)" -a "From: Debian FTP Masters " ftpmaster@ftp-master.debian.org < $webdir/cruft-report-daily.txt } function pg_timestamp() { @@ -236,7 +238,7 @@ function get_archiveroot() { local archivename="$1" local query="SELECT path FROM archive WHERE name='${archivename}'" local archiveroot="$(psql -tAc "${query}")" - if [ -z "${archiveroot}" ]; then + if [[ -z ${archiveroot} ]]; then echo "get_archiveroot: couldn't get archiveroot for '${archivename}'" >&2 return 1 fi @@ -303,11 +305,11 @@ function stage() { log "########## ${PROGRAM} BEGIN: ${FUNC} ${ARGS} ##########" local STAGEFILE="${stagedir}/${FUNC}${ARGS:+_}${ARGS}" STAGEFILE=${STAGEFILE// /_} - if [ -f "${STAGEFILE}" ]; then + if [[ -f ${STAGEFILE} ]]; then local stamptime=$(/usr/bin/stat -c %Z "${STAGEFILE}") local unixtime=$(date +%s) - local difference=$(( $unixtime - $stamptime )) - if [ ${difference} -ge 14400 ]; then + local difference=$(( unixtime - stamptime )) + if [[ ${difference} -ge 14400 ]]; then log_error "Did already run ${FUNC}, stagefile exists, but that was ${difference} seconds ago. Please check." else log "Did already run ${FUNC}, not calling again..." @@ -327,13 +329,13 @@ function stage() { # Short error mails ftw! exec >> "${STAGEFILE}.log" 2>&1 - if [ -f "${LOCK_STOP}" ]; then + if [[ -f ${LOCK_STOP} ]]; then log "${LOCK_STOP} exists, exiting immediately" exit 42 fi # Do we care about trouble in the function we call? - if [ "${error}" = "false" ]; then + if [[ ${error} == false ]]; then set +e fi ${FUNC} ${ARGS} @@ -351,7 +353,7 @@ function stage() { touch "${STAGEFILE}" - if [ -n "${TIME}" ]; then + if [[ -n ${TIME} ]]; then ts "${TIME}" fi @@ -369,7 +371,7 @@ function stage() { log "########## ${PROGRAM} END: ${FUNC} ##########" - if [ -f "${LOCK_STOP}" ]; then + if [[ -f ${LOCK_STOP} ]]; then log "${LOCK_STOP} exists, exiting immediately" exit 42 fi