]> git.deb.at Git - deb/packages.git/blobdiff - cron.d/050checkinst
import 010cvs (renamed to 010svn of course) and 050checkinst from old code.
[deb/packages.git] / cron.d / 050checkinst
diff --git a/cron.d/050checkinst b/cron.d/050checkinst
new file mode 100755 (executable)
index 0000000..ad6397a
--- /dev/null
@@ -0,0 +1,61 @@
+#! /bin/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
+
+for p in $required
+do
+    if [ -z "$(dpkg -l $p|grep ^ii)" ]
+    then
+       echo "Package $p missing." >> $packages
+       echo >> $packages
+    fi
+done
+
+for l in $locales
+do
+    if ! grep -q "^$l" /etc/locale.gen
+    then
+       echo "Locale $l missing." >> $locs
+       echo >> $locs
+    fi
+done
+
+if [ -s $packages -o -s $locs ]
+then
+    (
+       echo "Subject: Problem packages.debian.org on `hostname -s`"
+       echo "To: ${admin_email}"
+       echo
+       echo "On host `hostname -f`"
+       echo
+       if [ -s $packages ]
+       then
+           echo "Missing packages:"
+           echo
+           cat $packages
+       fi
+       if [ -s $locs ]
+       then
+           echo "Missing locales:"
+           echo
+           cat $locs
+       fi
+    ) | /usr/sbin/sendmail -t
+fi
+