summaryrefslogtreecommitdiffstats
path: root/debian/cron.weekly
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/cron.weekly40
1 files changed, 40 insertions, 0 deletions
diff --git a/debian/cron.weekly b/debian/cron.weekly
new file mode 100644
index 0000000..c2a55cb
--- /dev/null
+++ b/debian/cron.weekly
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# man-db cron weekly
+
+set -e
+
+if [ -d /run/systemd/system ]; then
+ # Skip in favour of systemd timer.
+ exit 0
+fi
+
+# This should be set by cron, but apparently isn't always; see
+# https://bugs.debian.org/209185. Add fallbacks so that start-stop-daemon
+# can be found.
+export PATH="$PATH:/usr/local/sbin:/usr/sbin:/sbin"
+
+iosched_idle=
+# Don't try to change I/O priority in a vserver or OpenVZ.
+if ! grep -Eq '(envID|VxID):.*[1-9]' /proc/self/status && \
+ { [ ! -d /proc/vz ] || [ -d /proc/bc ]; }; then
+ iosched_idle='--iosched idle'
+fi
+
+if ! [ -d /var/cache/man ]; then
+ # Recover from deletion, per FHS.
+ install -d -o man -g man -m 0755 /var/cache/man
+fi
+
+# regenerate man database
+if [ -x /usr/bin/mandb ]; then
+ # --pidfile /dev/null so it always starts; mandb isn't really a daemon,
+ # but we want to start it like one.
+ # shellcheck disable=SC2086
+ start-stop-daemon --start --pidfile /dev/null \
+ --startas /usr/bin/mandb --oknodo --chuid man \
+ $iosched_idle \
+ -- --quiet
+fi
+
+exit 0