]> git.deb.at Git - deb/packages.git/blob - cron.d/050checkinst
050checkinst: Add uk_UA.UTF-8 to list of needed locales
[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 required="$required liblingua-stem-perl"
15
16 locales="de_DE.UTF-8 en_US.UTF-8 nl_NL fr_FR.UTF-8 uk_UA.UTF-8"
17
18 packages=`tempfile`
19 locs=`tempfile`
20 cache=`tempfile`
21 trap "rm -f $packages $locs" INT EXIT
22
23 for p in $required
24 do
25     if [ -z "$(dpkg -l $p|grep ^ii)" ]
26     then
27         echo "Package $p missing." >> $packages
28         echo >> $packages
29     fi
30 done
31
32 for l in $locales
33 do
34     if ! grep -q "^$l" /etc/locale.gen
35     then
36         echo "Locale $l missing." >> $locs
37         echo >> $locs
38     fi
39 done
40
41 if [ -n "$cachedir" ]
42 then
43     if [ ! -d "$cachedir" ]
44     then
45         echo "cachedir missing." >> $cache
46     else
47         perm=$(ls -ld "$cachedir" | perl -ne 'print "ok" if /^drwxrws--- \d+ www-data/')
48         if [ -z "$perm" ]
49         then
50             echo "cachedir has wrong permissions." >> $cache
51             echo "make sure it is writable by the web server." >> $cache
52         fi
53     fi
54 fi
55
56 if [ -s $packages -o -s $locs -o -s $cache ]
57 then
58     (
59         echo "Subject: Problem packages.debian.org on `hostname -s`"
60         echo "To: ${admin_email}"
61         echo
62         echo "On host `hostname -f`"
63         echo
64         if [ -s $packages ]
65         then
66             echo "Missing packages:"
67             echo
68             cat $packages
69         fi
70         if [ -s $locs ]
71         then
72             echo "Missing locales:"
73             echo
74             cat $locs
75         fi
76         if [ -s $cache ]
77         then
78             echo "Problems with cachedir:"
79             echo
80             cat $cache
81         fi
82     ) | /usr/sbin/sendmail -t
83 fi
84