]> git.decadent.org.uk Git - dak.git/blob - config/debian-security/cron.daily
245e406ebabaeabcbf13f027a94bba6cfbb3954c
[dak.git] / config / debian-security / cron.daily
1 #!/bin/sh
2 #
3 # Executed daily via cron, out of dak's crontab.
4
5 set -e
6 export SCRIPTVARS=/org/security.debian.org/dak/config/debian-security/vars
7 . $SCRIPTVARS
8
9 ################################################################################
10
11 # Fix overrides
12
13 rsync --delete -r --include=override\* --exclude=\* --password-file /srv/non-us.debian.org/s3kr1t/rsync-password -vl security-master@ftp-master::indices/ $overridedir
14
15 cd $overridedir
16 find . -name override\*.gz -type f -maxdepth 1 -mindepth 1 | xargs gunzip -f
17 find . -type l -maxdepth 1 -mindepth 1 | xargs --no-run-if-empty rm
18
19 for suite in $suites; do
20     case $suite in
21                 oldstable) override_suite=sarge;;
22                 stable) override_suite=etch;;
23                 testing) override_suite=lenny;;
24                 *) echo "Unknown suite type ($suite)"; exit 1;;
25     esac
26     for component in $components; do
27                 for override_type in $override_types; do
28                         case $override_type in
29                                 deb) type="" ;;
30                                 dsc) type=".src" ;;
31                                 udeb) type=".debian-installer" ;;
32                         esac
33
34                         if [ "$override_type" = "udeb" ]; then
35                                 if [ ! "$component" = "main" ]; then
36                                         continue
37                                 fi
38                         fi
39                         dak control-overrides -q -a -t $override_type -s $suite -c updates/$component < override.$override_suite.$component$type
40                 done
41     done
42 done
43
44 # Generate .all3 overides for the buildd support
45 for dist in etch lenny; do
46     rm -f override.$dist.all3
47     components="main contrib non-free";
48     if [ -f override.$dist.main.debian-installer ]; then
49                 components="$components main.debian-installer"
50     fi
51     for component in $components; do
52                 cat override.$dist.$component >> override.$dist.all3
53         if [ -e "override.$dist.$component.src" ]; then
54                         cat override.$dist.$component.src >> override.$dist.all3.src
55                 fi
56     done
57 done
58
59 ################################################################################
60
61 # Freshen Packages-Arch-Specific
62 wget -qN http://buildd.debian.org/quinn-diff/Packages-arch-specific -O $base/buildd/Packages-arch-specific
63
64 ################################################################################
65
66 cd $masterdir
67 dak clean-queues
68 dak clean-suites
69 apt-ftparchive -q clean apt.conf
70 apt-ftparchive -q clean apt.conf.buildd
71
72 symlinks -d -r $ftpdir
73
74 pg_dump obscurity > /org/security.debian.org/dak-backup/dump_$(date +%Y.%m.%d-%H:%M:%S)
75
76 # Vacuum the database
77 set +e
78 echo "VACUUM; VACUUM ANALYZE;" | psql obscurity 2>&1 | egrep -v "^NOTICE:  Skipping \"pg_.*only table or database owner can VACUUM it$|^VACUUM$"
79 set -e
80
81 ################################################################################