]> git.decadent.org.uk Git - dak.git/blob - config/debian-security/cron.daily
ba1d11ee8aced36ac17ab4a5b71e6b8953a015d8
[dak.git] / config / debian-security / cron.daily
1 #!/bin/bash
2 #
3 # Executed daily via cron, out of dak's crontab.
4
5 set -e
6 export SCRIPTVARS=/srv/security-master.debian.org/dak/config/debian-security/vars
7 . $SCRIPTVARS
8
9 LOCKFILE="$lockdir/unchecked.lock"
10
11 ################################################################################
12
13 # Fix overrides
14
15 rsync --delete -r --include=override\* --exclude=\* --password-file /srv/security-master.debian.org/s3kr1t/rsync-password -ql security-master@ftp-master::indices/ $overridedir
16
17 cd $overridedir
18 for file in override*.gz; do
19     zcat $file > $(basename $file .gz)
20 done
21 find . -maxdepth 1 -mindepth 1 -type l | xargs --no-run-if-empty rm
22
23 for suite in $suites; do
24     case $suite in
25         oldstable) override_suite=lenny;;
26         stable) override_suite=squeeze;;
27         testing) override_suite=wheezy;;
28         *) echo "Unknown suite type ($suite)"; exit 1;;
29     esac
30     for component in $components; do
31         for override_type in $override_types; do
32             case $override_type in
33                 deb) type="" ;;
34                 dsc) type=".src" ;;
35                 udeb) type=".debian-installer" ;;
36             esac
37
38             if [ "$override_type" = "udeb" ]; then
39                 if [ ! "$component" = "main" ]; then
40                     continue
41                 fi
42             fi
43
44             OFILE="override.$override_suite.$component$type.gz"
45             if [ -r "$OFILE" ]; then
46                 zcat "$OFILE" | dak control-overrides -q -a -t $override_type -s $suite -c updates/$component
47             fi
48         done
49     done
50 done
51
52 # Generate .all3 overides for the buildd support
53 for dist in lenny squeeze wheezy; do
54     rm -f override.$dist.all3
55     components="main contrib non-free";
56     if [ -f override.$dist.main.debian-installer.gz ]; then
57         components="$components main.debian-installer"
58     fi
59     for component in $components; do
60         zcat override.$dist.$component.gz >> override.$dist.all3
61         if [ -e "override.$dist.$component.src.gz" ]; then
62             zcat override.$dist.$component.src.gz >> override.$dist.all3.src
63         fi
64     done
65 done
66
67 ################################################################################
68
69 cd $configdir
70 dak import-keyring -L /srv/keyring.debian.org/keyrings/debian-keyring.gpg
71
72 cleanup() {
73     rm -f "$LOCKFILE"
74 }
75
76 if ! lockfile -r100 "$LOCKFILE"; then
77     echo "Could not lock $LOCKFILE." >&2
78     exit 1
79 fi
80 trap cleanup EXIT
81
82 dak clean-queues
83 dak clean-queues -i $disembargo
84 dak clean-suites
85
86 cleanup
87 trap - EXIT
88
89 symlinks -d -r $ftpdir
90
91 pg_dump obscurity > /org/security-master.debian.org/dak-backup/dump_$(date +%Y.%m.%d-%H:%M:%S)
92 find -maxdepth 1 -mindepth 1 -type f -name 'dump_*' \! -name '*.bz2' \! -name '*.gz' -mmin +720 |
93 while read dumpname; do
94     bzip2 -9fv "$dumpname"
95 done
96
97 #apt-ftparchive -q clean apt.conf
98 #apt-ftparchive -q clean apt.conf.buildd
99
100 ################################################################################