]> git.decadent.org.uk Git - dak.git/blob - config/backports.org/cron.hourly
Merge branch 'master' into bpo
[dak.git] / config / backports.org / cron.hourly
1 #! /bin/sh
2 #
3 # Executed daily via cron, out of katie's crontab.
4 set -e
5 export SCRIPTVARS=/org/backports.org/dak-config/vars
6 . $SCRIPTVARS
7
8 ################################################################################
9 cd $accepted
10
11 changes=$(find . -maxdepth 1 -mindepth 1 -type f -name \*.changes | sed -e "s,./,," | xargs)
12
13 if [ -z "$changes" ]; then
14  exit 0;
15 fi
16
17 echo Archive maintenance started at $(date +%X)
18
19 NOTICE="$ftpdir/Archive_Maintenance_In_Progress"
20 LOCKCU="$lockdir/daily.lock"
21 LOCKAC="$lockdir/unchecked.lock"
22
23 cleanup() {
24   rm -f "$NOTICE"
25   rm -f "$LOCKCU"
26 }
27 trap cleanup 0
28
29 rm -f "$NOTICE"
30 lockfile -l 3600 $LOCKCU
31 cat > "$NOTICE" <<EOF
32 Packages are currently being installed and indices rebuilt.
33 Maintenance is automatic, starting hourly at 5 minutes past the hour.
34 Most of the times it is finished after about 10 til 15 minutes.
35
36 You should not mirror the archive during this period.
37 EOF
38
39 ################################################################################
40
41 cd $accepted
42 rm -f REPORT
43 dak process-accepted -pa *.changes | tee REPORT | \
44      mail -s "Install for $(date +%d.%m.%Y)" ftpmaster@backports.org
45 chgrp debadmin REPORT
46 chmod 664 REPORT
47
48 cd $masterdir
49
50 rm -f $LOCKAC
51
52 symlinks -d -r $ftpdir
53
54 cd $masterdir
55 dak make-suite-file-list
56 dak generate-filelist
57
58 # Generate override files
59 cd $overridedir
60 dak make-overrides
61
62 # Generate Packages and Sources files
63 cd $configdir
64 apt-ftparchive generate apt.conf
65 # Generate *.diff/ incremental updates
66 dak generate-index-diffs
67 # Generate Release files
68 dak generate-releases
69
70 dak make-pkg-file-mapping | bzip2 -9 > $base/ftp/indices/package-file.map.bz2
71
72 # Clean out old packages
73 # Now in cron.daily. JJ[03.05.2005.]
74 #rhona
75 #shania
76
77 cd $scriptsdir
78 ./mkmaintainers
79 ./copyoverrides
80 ./mklslar
81 ./mkchecksums
82
83 rm -f $NOTICE
84 rm -f $LOCKCU
85 echo Archive maintenance finished at $(date +%X)
86
87 ################################################################################
88
89 echo "Creating post-hourly-cron-job backup of projectb database..."
90 POSTDUMP=/org/backports.org/backup/dump_$(date +%Y.%m.%d-%H:%M:%S)
91 pg_dump projectb > $POSTDUMP
92 (cd /org/backports.org/backup; ln -sf $POSTDUMP current)
93
94 ################################################################################
95
96 # Vacuum the database
97 echo "VACUUM; VACUUM ANALYZE;" | psql projectb 2>&1 | grep -v "^NOTICE:  Skipping.*only table owner can VACUUM it$"
98
99 ################################################################################
100
101 # Now in cron.daily JJ[03.05.2005]
102 # Send a report on NEW/BYHAND packages
103 #helena | mail -e -s "NEW and BYHAND on $(date +%D)" ftpmaster@amd64.debian.net
104 # and one on crufty package
105 #rene | mail -e -s "rene run for $(date +%D)" ftpmaster@amd64.debian.net
106
107 ################################################################################
108
109 (cd /org/backports.org/stats; rm -f master.list; ./dmc.pl get >/dev/null 2>&1; \
110 ./mirror.pl>$ftpdir/README.mirrors.html; cd $ftpdir; /usr/bin/links -dump README.mirrors.html >README.mirrors.txt)
111
112
113 ################################################################################
114
115 ulimit -m 90000 -d 90000 -s 10000 -v 90000
116
117 run-parts --report /org/backports.org/scripts/distmnt
118
119 echo Daily cron scripts successful.