aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--debian/changelog2
-rwxr-xr-xdebian/sitesummary.cron.daily4
-rw-r--r--debian/sitesummary.install1
-rwxr-xr-xexpire-entry17
5 files changed, 24 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index e550507..d89fa69 100644
--- a/Makefile
+++ b/Makefile
@@ -45,6 +45,8 @@ install-server:
$(INSTALL_DATA) SiteSummary.pm $(DESTDIR)$(perldir)
$(INSTALL) $(SUMMARYSCRIPTS) $(DESTDIR)$(pkgdir)/
+ $(INSTALL) expire-entry $(DESTDIR)$(pkgdir)/
+
$(INSTALL) -d $(DESTDIR)/etc/apache2/conf.d
$(INSTALL_DATA) apache.conf $(DESTDIR)/etc/apache2/conf.d/sitesummary
diff --git a/debian/changelog b/debian/changelog
index b3aa29d..ae16c17 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,6 +11,8 @@ sitesummary (0.0.51) UNRELASED; urgency=low
* Make sure cron job exit imediately and without an error code if
the sitesummary package is removed but not purged (Closes: #563066).
* Implement draft Nagios autoconfiguration.
+ * Implement support for calling hooks when a sitesummary entry is
+ expired (Closes: #491918).
-- Finn-Arne Johansen <finnarne@debian> Wed, 18 Nov 2009 08:21:12 +0100
diff --git a/debian/sitesummary.cron.daily b/debian/sitesummary.cron.daily
index 777ef03..2cadb39 100755
--- a/debian/sitesummary.cron.daily
+++ b/debian/sitesummary.cron.daily
@@ -31,8 +31,8 @@ entriesdir=/var/lib/sitesummary/entries
remove_old_entries() {
find $entriesdir/. -mindepth 1 -maxdepth 1 -type d \
- -daystart -mtime +$daylimit -print0 |
- xargs -0 -r rm -rf
+ -daystart -mtime +$daylimit \
+ -exec /usr/lib/sitesummary/expire-entry '{}' \;
}
generate_munin_config() {
diff --git a/debian/sitesummary.install b/debian/sitesummary.install
index 1d9d629..e8e02b4 100644
--- a/debian/sitesummary.install
+++ b/debian/sitesummary.install
@@ -2,6 +2,7 @@ debian/tmp/etc/apache2
debian/tmp/etc/nagios3
debian/tmp/usr/lib/cgi-bin
debian/tmp/usr/lib/sitesummary/*-summary
+debian/tmp/usr/lib/sitesummary/expire-entry
debian/tmp/usr/sbin/sitesummary-makewebreport
debian/tmp/usr/sbin/sitesummary-nodes
debian/tmp/usr/share/munin/plugins
diff --git a/expire-entry b/expire-entry
new file mode 100755
index 0000000..6548ed7
--- /dev/null
+++ b/expire-entry
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# Expire an sitesummary entry, calling the expire hooks first and then
+# remove the entry.
+
+set -e
+
+entrydir="$1"
+
+logger -t sitesummary "Expiring sitesummary entry in $entrydir"
+
+expiredir=/usr/lib/sitesummary/expire.d
+if [ -d "$expiredir" ] ; then
+ run-parts --arg="$entrydir" $expiredir
+fi
+
+rm -rf "$entrydir"