From 86e7e4e58ede056284e076756159990657433ec8 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 19 Apr 2014 13:17:25 -0400 Subject: [PATCH] When unattendedUpgrades is enabled on an Unstable or Testing system, configure it to allow the upgrades. --- Propellor/Property/Apt.hs | 14 +++++++++++++- TODO | 5 +++++ debian/changelog | 2 ++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Propellor/Property/Apt.hs b/Propellor/Property/Apt.hs index 9234cbb..7329c7a 100644 --- a/Propellor/Property/Apt.hs +++ b/Propellor/Property/Apt.hs @@ -192,7 +192,9 @@ autoRemove = runApt ["-y", "autoremove"] unattendedUpgrades :: RevertableProperty unattendedUpgrades = RevertableProperty enable disable where - enable = setup True `before` Service.running "cron" + enable = setup True + `before` Service.running "cron" + `before` configure disable = setup False setup enabled = (if enabled then installed else removed) ["unattended-upgrades"] @@ -203,6 +205,16 @@ unattendedUpgrades = RevertableProperty enable disable v | enabled = "true" | otherwise = "false" + + configure = withOS "unattended upgrades configured" $ \o -> + case o of + -- the package defaults to only upgrading stable + (Just (System (Debian suite) _)) + | not (isStable suite) -> ensureProperty $ + "/etc/apt/apt.conf.d/50unattended-upgrades" + `File.containsLine` + ("\t\"o=Debian,a="++showSuite suite++"\";") + _ -> noChange -- | Preseeds debconf values and reconfigures the package so it takes -- effect. diff --git a/TODO b/TODO index 85875a9..275639d 100644 --- a/TODO +++ b/TODO @@ -24,3 +24,8 @@ the PrivData, and instead configured using the attr. Getting the ssh host key into the attr will allow automatically exporting it via DNS (SSHFP record) +* Should be possible to generate a metapackage of all packages that + properties direct apt to install. Then any other packages can be + auto-removed. This would just be a matter of storing the apt-installed + packages in an Attr. Although not removing essential and base packages + could be problimatic. diff --git a/debian/changelog b/debian/changelog index 8f1e5f5..e83ff0e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ propellor (0.5.0) UNRELEASED; urgency=medium * Removed root domain records from SOA. Instead, use RootDomain when calling Dns.primary. * Dns primary and secondary properties are now revertable. + * When unattendedUpgrades is enabled on an Unstable or Testing system, + configure it to allow the upgrades. -- Joey Hess Sat, 19 Apr 2014 10:46:35 -0400