]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian-security/cron.daily
Switch to "jessie" as stable.
[dak.git] / config / debian-security / cron.daily
index f99c014939eeab00dd354db900e7ea6489666493..f2eff107b10e1ce9c29622a971e253e1d146ddce 100755 (executable)
@@ -1,93 +1,83 @@
-#!/bin/sh
+#!/bin/bash
 #
 # Executed daily via cron, out of dak's crontab.
 
 set -e
-export SCRIPTVARS=/org/security.debian.org/dak/config/debian-security/vars
+set -o pipefail
+export SCRIPTVARS=/srv/security-master.debian.org/dak/config/debian-security/vars
 . $SCRIPTVARS
 
+LOCKFILE="$lockdir/unchecked.lock"
+
 ################################################################################
 
 # Fix overrides
 
-# disabled by ajt 2008-01-01: requires auth
-rsync --password-file /srv/non-us.debian.org/s3kr1t/rsync-password -ql security-master@ftp-master::indices/override\* $overridedir
+rsync --delete -r --include=override\* --exclude=\* --password-file /srv/security-master.debian.org/s3kr1t/rsync-password -ql security-master@ftp-master::indices/ $overridedir
 
 cd $overridedir
-find . -name override\*.gz -type f -maxdepth 1 -mindepth 1 | xargs gunzip -f
-find . -type l -maxdepth 1 -mindepth 1 | xargs --no-run-if-empty rm
+for file in override*.gz; do
+    zcat $file > $(basename $file .gz)
+done
+find . -maxdepth 1 -mindepth 1 -type l | xargs --no-run-if-empty rm
 
-for suite in $suites; do
+for suite in oldstable stable testing; do
     case $suite in
-               oldstable) override_suite=sarge;;
-               stable) override_suite=etch;;
-               testing) override_suite=lenny;;
-               *) echo "Unknown suite type ($suite)"; exit 1;;
+        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
-               for override_type in $override_types; do
-                       case $override_type in
-                               deb) type="" ;;
-                               dsc) type=".src" ;;
-                               udeb) type=".debian-installer" ;;
-                       esac
-
-                       if [ "$override_type" = "udeb" ]; then
-                               if [ ! "$component" = "main" ]; then
-                                       continue
-                               fi
-                       fi
-                       case $suite in
-                               oldstable)
-                                       dak control-overrides -q -a -t $override_type -s $suite -c updates/$component < override.sid.$component$type
-                                       ;;
-                               stable)
-                                       dak control-overrides -q -a -t $override_type -s $suite -c updates/$component < override.sid.$component$type
-                                       ;;
-                               testing)
-                                       dak control-overrides -q -a -t $override_type -s $suite -c updates/$component < override.sid.$component$type
-                                       ;;
-                               *) echo "Unknown suite type ($suite)"; exit 1;;
-                       esac
-               done
-    done
-done
-
-# Generate .all3 overides for the buildd support
-for dist in etch lenny; do
-    rm -f override.$dist.all3
-    components="main contrib non-free";
-    if [ -f override.$dist.main.debian-installer ]; then
-               components="$components main.debian-installer"
-    fi
-    for component in $components; do
-               cat override.$dist.$component >> override.$dist.all3
-        if [ -e "override.$dist.$component.src" ]; then
-                       cat override.$dist.$component.src >> override.$dist.all3.src
-               fi
+        for override_type in $override_types; do
+            case $override_type in
+                deb) type="" ;;
+                dsc) type=".src" ;;
+                udeb) type=".debian-installer" ;;
+            esac
+
+            if [ "$override_type" = "udeb" ]; then
+                if [ ! "$component" = "main" ]; then
+                    continue
+                fi
+            fi
+
+            OFILE="override.$override_suite.$component$type.gz"
+            if [ -r "$OFILE" ]; then
+                zcat "$OFILE" | dak control-overrides -q -a -t $override_type -s $suite -c updates/$component
+            fi
+        done
     done
 done
 
 ################################################################################
 
-# Freshen Packages-Arch-Specific
-wget -qN http://buildd.debian.org/quinn-diff/Packages-arch-specific -O $base/buildd/Packages-arch-specific
+cd $configdir
+dak import-keyring -L /srv/keyring.debian.org/keyrings/debian-keyring.gpg
 
-################################################################################
+cleanup() {
+    rm -f "$LOCKFILE"
+}
+
+if ! lockfile -r100 "$LOCKFILE"; then
+    echo "Could not lock $LOCKFILE." >&2
+    exit 1
+fi
+trap cleanup EXIT
 
-cd $masterdir
-dak clean-queues
+dak clean-queues -i ${unchecked}
+dak clean-queues -i $disembargo
 dak clean-suites
-apt-ftparchive -q clean apt.conf
-apt-ftparchive -q clean apt.conf.buildd
+
+cleanup
+trap - EXIT
 
 symlinks -d -r $ftpdir
 
-pg_dump obscurity > /org/security.debian.org/dak-backup/dump_$(date +%Y.%m.%d-%H:%M:%S)
+pg_file="${base}/dak-backup/dump_$(date +%Y.%m.%d-%H:%M:%S)"
+pg_dump obscurity > "${pg_file}"
+nice xz -9 "${pg_file}"
 
-# Vacuum the database
-set +e
-echo "VACUUM; VACUUM ANALYZE;" | psql obscurity 2>&1 | egrep -v "^NOTICE:  Skipping \"pg_.*only table or database owner can VACUUM it$|^VACUUM$"
-set -e
+find "${base}/dak-backup" -mtime +30 \! -name '.nobackup' -delete
 
 ################################################################################