diff options
| -rw-r--r-- | debian/changelog | 7 | ||||
| -rw-r--r-- | src/Propellor/Property/Apt.hs | 11 | ||||
| -rw-r--r-- | src/Propellor/Property/Borg.hs | 2 |
3 files changed, 15 insertions, 5 deletions
diff --git a/debian/changelog b/debian/changelog index 517ef350..ada411ff 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,12 @@ -propellor (5.3.7) UNRELEASED; urgency=medium +propellor (5.4.0) UNRELEASED; urgency=medium * Restic.installed: stop trying to install a backport on jessie, because no such backport exists. + * Apt.installedBackport replaced with Apt.backportInstalled, which take the + same parameters but has different behaviour. (API change) + The new property will fail in cases where the old property would install + dependencies of the requested backports from stable-backports even though + the versions in stable satisfy the requested backports' dependencies. -- Sean Whitton <spwhitton@spwhitton.name> Thu, 17 May 2018 00:12:42 -0700 diff --git a/src/Propellor/Property/Apt.hs b/src/Propellor/Property/Apt.hs index 5080b1e2..064221f9 100644 --- a/src/Propellor/Property/Apt.hs +++ b/src/Propellor/Property/Apt.hs @@ -247,12 +247,17 @@ installed' params ps = robustly $ check (not <$> isInstalled' ps) go where go = runApt (params ++ ["install"] ++ ps) -installedBackport :: [Package] -> Property Debian -installedBackport ps = withOS desc $ \w o -> case o of +-- | Install packages from the stable-backports suite. +-- +-- If installing the backport requires installing versions of a package's +-- dependencies from stable-backports too, you will need to include those +-- dependencies in the list of packages passed to this function. +backportInstalled :: [Package] -> Property Debian +backportInstalled ps = withOS desc $ \w o -> case o of (Just (System (Debian _ suite) _)) -> case backportSuite suite of Nothing -> unsupportedOS' Just bs -> ensureProperty w $ - runApt (["install", "-t", bs, "-y"] ++ ps) + runApt (["install", "-y"] ++ ((++ '/':bs) <$> ps)) `changesFile` dpkgStatus _ -> unsupportedOS' where diff --git a/src/Propellor/Property/Borg.hs b/src/Propellor/Property/Borg.hs index 49259206..dab07985 100644 --- a/src/Propellor/Property/Borg.hs +++ b/src/Propellor/Property/Borg.hs @@ -57,7 +57,7 @@ runBorgEnv (BorgRepoUsing os _) = map go os installed :: Property DebianLike installed = withOS desc $ \w o -> case o of (Just (System (Debian _ (Stable "jessie")) _)) -> ensureProperty w $ - Apt.installedBackport ["borgbackup"] + Apt.backportInstalled ["borgbackup", "python3-msgpack"] _ -> ensureProperty w $ Apt.installed ["borgbackup"] where |
