summaryrefslogtreecommitdiff
path: root/debian/rules
diff options
context:
space:
mode:
authorMichael Vogt <mvo@ubuntu.com>2016-03-17 08:56:58 +0100
committerMichael Vogt <mvo@debian.org>2016-04-01 13:02:39 +0200
commit14669d4b95f0f6a9b215d7fa5aebbc3b7198585d (patch)
treef22ee5dda27ea2a6fb3ee7bf07a553fbb5cd3d41 /debian/rules
parent6a4958d3134a3a61c036bc9ccaccc393c2bb99f2 (diff)
Use systemd.timer instead of a cron job
The rational is that we need to spread the load on the mirrors that apt update and unattended-upgrades cause. To do so, we leverage the RandomizeDelay feature of systemd. The other advantage is that the timer is not run at a fixed daily.daily time but instead every 24h. This also fixes the problem that the randomized deplay in the current apt.cron.daily causes other cron jobs to be deplayed. A compatibility cron job is also provided for systems that do not use systemd. Note that the time is fired two times a day, but the logic inside of apt.systemd.daily will ensure (via stamp files) that the servers are hit at most every 24h. Firing two times a day helps with the worst case update time and it also helps with systems that are not always on. LP: #246381, #727685 Closes: #600262, #709675, #663290
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules8
1 files changed, 6 insertions, 2 deletions
diff --git a/debian/rules b/debian/rules
index ce7d19dec..7b7df7ad9 100755
--- a/debian/rules
+++ b/debian/rules
@@ -222,13 +222,17 @@ apt: build-binary build-manpages debian/apt.install
# debian/$@/usr/lib/apt/apt-report-mirror-failure \
# move the apt-helper in place
- mv debian/$@/usr/bin/apt-helper debian/$@/usr/lib/apt/apt-helper
+ mv debian/$@/usr/bin/apt-helper debian/$@/usr/lib/apt/apt-helper
+ # install apt.systemd.daily helper in the right place
+ install -m755 debian/apt.systemd.daily debian/$@/usr/lib/apt/
dh_bugfiles -p$@
dh_lintian -p$@
dh_installexamples -p$@ $(BLD)/docs/examples/*
dh_installman -p$@ $(wildcard $(patsubst %,doc/en/%.[158],$(apt_MANPAGES)) $(patsubst %,doc/*/%.*.[158],$(apt_MANPAGES)))
- dh_installcron -p$@
+ dh_installcron -p$@ --name=apt-compat
+ dh_systemd_enable -p$@ apt-daily.timer
+ dh_systemd_start -p$@ apt-daily.timer
dh_installdocs -p$@
dh_installchangelogs -p$@
dh_installlogrotate -p$@