X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian-security%2Fcron.daily;h=9417a8569e8495a778582637e5cc20e8cf0bc9e9;hb=773f4286615587294d6e6acfb850df53a661bbc5;hp=f33a732cb574c75f69a056fd4c142a29d2def057;hpb=50db22ea5f288daa39f81138a41a509d9a41cc3e;p=dak.git diff --git a/config/debian-security/cron.daily b/config/debian-security/cron.daily index f33a732c..9417a856 100755 --- a/config/debian-security/cron.daily +++ b/config/debian-security/cron.daily @@ -3,9 +3,12 @@ # Executed daily via cron, out of dak's crontab. set -e +set -o pipefail export SCRIPTVARS=/srv/security-master.debian.org/dak/config/debian-security/vars . $SCRIPTVARS +LOCKFILE="$lockdir/unchecked.lock" + ################################################################################ # Fix overrides @@ -14,15 +17,15 @@ rsync --delete -r --include=override\* --exclude=\* --password-file /srv/securit cd $overridedir for file in override*.gz; do - zcat $file > $(basename $file .gz) + zcat -- "$file" > "${file%.gz}" done -find . -maxdepth 1 -mindepth 1 -type l | xargs --no-run-if-empty rm +find . -maxdepth 1 -mindepth 1 -type l -delete -for suite in $suites; do +for suite in oldstable stable testing; do case $suite in - oldstable) override_suite=lenny;; - stable) override_suite=squeeze;; - testing) override_suite=wheezy;; + oldstable) override_suite=wheezy ;; + stable) override_suite=jessie ;; + testing) override_suite=stretch ;; *) echo "Unknown suite type ($suite)"; exit 1;; esac for component in $components; do @@ -47,38 +50,34 @@ for suite in $suites; do done done -# Generate .all3 overides for the buildd support -for dist in lenny squeeze wheezy; do - rm -f override.$dist.all3 - components="main contrib non-free"; - if [ -f override.$dist.main.debian-installer.gz ]; then - components="$components main.debian-installer" - fi - for component in $components; do - zcat override.$dist.$component.gz >> override.$dist.all3 - if [ -e "override.$dist.$component.src.gz" ]; then - zcat override.$dist.$component.src.gz >> override.$dist.all3.src - fi - done -done - ################################################################################ cd $configdir dak import-keyring -L /srv/keyring.debian.org/keyrings/debian-keyring.gpg -dak clean-queues + +cleanup() { + rm -f "$LOCKFILE" +} + +if ! lockfile -r100 "$LOCKFILE"; then + echo "Could not lock $LOCKFILE." >&2 + exit 1 +fi +trap cleanup EXIT + +dak clean-queues -i ${unchecked} dak clean-queues -i $disembargo dak clean-suites +cleanup +trap - EXIT + symlinks -d -r $ftpdir -pg_dump obscurity > /org/security-master.debian.org/dak-backup/dump_$(date +%Y.%m.%d-%H:%M:%S) -find -maxdepth 1 -mindepth 1 -type f -name 'dump_*' \! -name '*.bz2' \! -name '*.gz' -mmin +720 | -while read dumpname; do - bzip2 -9fv "$dumpname" -done +pg_file="${base}/dak-backup/dump_$(date +%Y.%m.%d-%H:%M:%S)" +pg_dump obscurity > "${pg_file}" +nice xz -9 "${pg_file}" -apt-ftparchive -q clean apt.conf -apt-ftparchive -q clean apt.conf.buildd +find "${base}/dak-backup" -mtime +30 \! -name '.nobackup' -delete ################################################################################