]> git.deb.at Git - deb/packages.git/blob - cron.d/050checkinst
import 010cvs (renamed to 010svn of course) and 050checkinst from old code.
[deb/packages.git] / cron.d / 050checkinst
1 #! /bin/sh
2
3 # Test whether all required packages are installed and generate a mail
4 # if they aren't, so that the admin is informed.
5
6 required="subversion gettext locales rsync dpkg-dev procmail"
7 required="$required libcompress-zlib-perl"
8 required="$required libhtml-parser-perl libio-stringy-perl"
9 required="$required liblocale-gettext-perl libmldbm-perl"
10 required="$required libtext-iconv-perl libhtml-template-perl"
11 required="$required libclass-accessor-perl"
12 required="$required liburi-perl libxml-rss-perl"
13 required="$required libtemplate-perl libi18n-acceptlanguage-perl"
14
15 locales="de_DE.UTF-8 en_US.UTF-8 nl_NL fr_FR.UTF-8"
16
17 packages=`tempfile`
18 locs=`tempfile`
19 trap "rm -f $packages $locs" INT EXIT
20
21 for p in $required
22 do
23     if [ -z "$(dpkg -l $p|grep ^ii)" ]
24     then
25         echo "Package $p missing." >> $packages
26         echo >> $packages
27     fi
28 done
29
30 for l in $locales
31 do
32     if ! grep -q "^$l" /etc/locale.gen
33     then
34         echo "Locale $l missing." >> $locs
35         echo >> $locs
36     fi
37 done
38
39 if [ -s $packages -o -s $locs ]
40 then
41     (
42         echo "Subject: Problem packages.debian.org on `hostname -s`"
43         echo "To: ${admin_email}"
44         echo
45         echo "On host `hostname -f`"
46         echo
47         if [ -s $packages ]
48         then
49             echo "Missing packages:"
50             echo
51             cat $packages
52         fi
53         if [ -s $locs ]
54         then
55             echo "Missing locales:"
56             echo
57             cat $locs
58         fi
59     ) | /usr/sbin/sendmail -t
60 fi
61