]> git.decadent.org.uk Git - dak.git/blob - config/backports.org/cron.hourly
allow p-a and p-u to take a directory to parse themselves
[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
57 # Generate override files
58 cd $overridedir
59 dak make-overrides
60
61 # Generate Packages and Sources files
62 cd $configdir
63 apt-ftparchive generate apt.conf
64 # Generate *.diff/ incremental updates
65 dak generate-index-diffs
66 # Generate Release files
67 dak generate-releases
68
69 # Clean out old packages
70 # Now in cron.daily. JJ[03.05.2005.]
71 #rhona
72 #shania
73
74 cd $scriptsdir
75 ./mkmaintainers
76 ./copyoverrides
77 ./mklslar
78 ./mkchecksums
79
80 rm -f $NOTICE
81 rm -f $LOCKCU
82 echo Archive maintenance finished at $(date +%X)
83
84 ################################################################################
85
86 echo "Creating post-hourly-cron-job backup of projectb database..."
87 POSTDUMP=/org/backports.org/backup/dump_$(date +%Y.%m.%d-%H:%M:%S)
88 pg_dump projectb > $POSTDUMP
89 (cd /org/backports.org/backup; ln -sf $POSTDUMP current)
90
91 ################################################################################
92
93 # Vacuum the database
94 echo "VACUUM; VACUUM ANALYZE;" | psql projectb 2>&1 | grep -v "^NOTICE:  Skipping.*only table owner can VACUUM it$"
95
96 ################################################################################
97
98 # Now in cron.daily JJ[03.05.2005]
99 # Send a report on NEW/BYHAND packages
100 #helena | mail -e -s "NEW and BYHAND on $(date +%D)" ftpmaster@amd64.debian.net
101 # and one on crufty package
102 #rene | mail -e -s "rene run for $(date +%D)" ftpmaster@amd64.debian.net
103
104 ################################################################################
105
106 (cd /org/backports.org/stats; rm -f master.list; ./dmc.pl get >/dev/null 2>&1; \
107 ./mirror.pl>$ftpdir/README.mirrors.html; cd $ftpdir; /usr/bin/links -dump README.mirrors.html >README.mirrors.txt)
108
109
110 ################################################################################
111
112 ulimit -m 90000 -d 90000 -s 10000 -v 90000
113
114 run-parts --report /org/backports.org/scripts/distmnt
115
116 echo Daily cron scripts successful.