#! /bin/sh
+. `dirname $0`/../config.sh
+
# Test whether all required packages are installed and generate a mail
# if they aren't, so that the admin is informed.
-required="subversion gettext locales rsync dpkg-dev procmail"
-required="$required libcompress-zlib-perl"
-required="$required libhtml-parser-perl libio-stringy-perl"
-required="$required liblocale-gettext-perl libmldbm-perl"
-required="$required libtext-iconv-perl libhtml-template-perl"
-required="$required libclass-accessor-perl"
-required="$required liburi-perl libxml-rss-perl"
-required="$required libtemplate-perl libi18n-acceptlanguage-perl"
-
-locales="de_DE.UTF-8 en_US.UTF-8 nl_NL fr_FR.UTF-8"
-
packages=`tempfile`
-locs=`tempfile`
-trap "rm -f $packages $locs" INT EXIT
+cache=`tempfile`
+trap "rm -f $packages $cache" INT EXIT
-for p in $required
-do
- if [ -z "$(dpkg -l $p|grep ^ii)" ]
- then
- echo "Package $p missing." >> $packages
- echo >> $packages
- fi
-done
+cd $topdir
+dpkg-checkbuilddeps >> $packages 2>&1
-for l in $locales
-do
- if ! grep -q "^$l" /etc/locale.gen
+if [ -n "$cachedir" ]
+then
+ if [ ! -d "$cachedir" ]
then
- echo "Locale $l missing." >> $locs
- echo >> $locs
+ echo "cachedir missing." >> $cache
+ else
+ perm=$(ls -ld "$cachedir" | perl -ne 'print "ok" if /^drwx...... \d+ www-data/ || /^d...rws... \d+ [\w-]+\/www-data/')
+ if [ -z "$perm" ]
+ then
+ echo "cachedir has wrong permissions." >> $cache
+ echo "make sure it is writable by the web server." >> $cache
+ fi
fi
-done
+fi
-if [ -s $packages -o -s $locs ]
+if [ -s $packages -o -s $cache ]
then
(
echo "Subject: Problem packages.debian.org on `hostname -s`"
echo
cat $packages
fi
- if [ -s $locs ]
+ if [ -s $cache ]
then
- echo "Missing locales:"
+ echo "Problems with cachedir:"
echo
- cat $locs
+ cat $cache
fi
- ) | /usr/sbin/sendmail -t
+ ) | tee /dev/stderr | /usr/sbin/sendmail -t
fi
-