summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2018-07-12 07:56:37 +0100
committerSean Whitton <spwhitton@spwhitton.name>2018-07-12 07:56:37 +0100
commit8db83349ee0b295ea2d3d8b461f018d9023a3166 (patch)
tree3746fe58570559006b45cbb09f029979eb982c25
parentef4683bb2621a37ac68b4d6d93de23d93f397424 (diff)
parentc4beab2529fc67ed9e4f2eb8e639f8d783b3a106 (diff)
Merge tag '5.4.0' into debian
tagging package propellor version 5.4.0 # gpg: Signature made Thu 17 May 2018 15:46:32 BST # gpg: using RSA key 28A500C35207EAB72F6C0F25DB12DB0FF05F8F38 # gpg: Good signature from "Joey Hess <joeyh@joeyh.name>" [full] # Primary key fingerprint: E85A 5F63 B31D 24C1 EBF0 D81C C910 D922 2512 E3C7 # Subkey fingerprint: 28A5 00C3 5207 EAB7 2F6C 0F25 DB12 DB0F F05F 8F38
-rw-r--r--debian/changelog16
-rw-r--r--doc/README.mdwn2
-rw-r--r--doc/news/version_5.3.1.mdwn5
-rw-r--r--doc/news/version_5.3.6.mdwn13
-rw-r--r--propellor.cabal2
-rw-r--r--src/Propellor/Property/Apt.hs11
-rw-r--r--src/Propellor/Property/Borg.hs2
-rw-r--r--src/Propellor/Property/Restic.hs8
-rw-r--r--src/Propellor/Property/SiteSpecific/JoeySites.hs13
9 files changed, 48 insertions, 24 deletions
diff --git a/debian/changelog b/debian/changelog
index 1a3f4c27..f1b228e3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,19 @@
+propellor (5.4.0) unstable; urgency=medium
+
+ [ Sean Whitton ]
+ * Apt.installedBackport replaced with Apt.backportInstalled. (API change)
+ The old property would install dependencies from backports even when
+ the versions in stable satisfy the requested backport's dependencies.
+ The new property installs only the listed packages from backports;
+ all other dependencies come from stable.
+ So in some cases, you may need to list additional backports to install,
+ that would not have needed to be listed before. Due to this behavior
+ change the property has been renamed so uses of it will be checked.
+ * Restic.installed: stop trying to install a backport on jessie, because no
+ such backport exists.
+
+ -- Joey Hess <id@joeyh.name> Thu, 17 May 2018 10:43:20 -0400
+
propellor (5.3.6-1) unstable; urgency=medium
* New upstream release.
diff --git a/doc/README.mdwn b/doc/README.mdwn
index c1550d23..88726a6d 100644
--- a/doc/README.mdwn
+++ b/doc/README.mdwn
@@ -56,4 +56,4 @@ see [configuration for the Haskell newbie](https://propellor.branchable.com/hask
7. Write some neat new properties and send patches!
(Want to get your feet wet with propellor before plunging in?
-[try this](http://propellor.branchable.com/forum/Simple_quickstart_without_git__44___SSH__44___GPG])
+[try this](http://propellor.branchable.com/forum/Simple_quickstart_without_git__44___SSH__44___GPG))
diff --git a/doc/news/version_5.3.1.mdwn b/doc/news/version_5.3.1.mdwn
deleted file mode 100644
index 4f660270..00000000
--- a/doc/news/version_5.3.1.mdwn
+++ /dev/null
@@ -1,5 +0,0 @@
-propellor 5.3.1 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
- * Last release mistakenly contained my personal branch not master.
- * contrib/post-merge-hook documentation updated to recommend also using
- it as a post-checkout hook, to avoid such problems."""]] \ No newline at end of file
diff --git a/doc/news/version_5.3.6.mdwn b/doc/news/version_5.3.6.mdwn
new file mode 100644
index 00000000..7a7a417e
--- /dev/null
+++ b/doc/news/version_5.3.6.mdwn
@@ -0,0 +1,13 @@
+propellor 5.3.6 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+ * Fix build with ghc 8.4, which broke due to the Semigroup Monoid change.
+ * Dropped support for building propellor with ghc 7 (as in debian
+ oldstable), to avoid needing to depend on the semigroups transitional
+ package, but also because it's just too old to be worth supporting.
+ * stack.yaml: Updated to lts-9.21.
+ * Make Schroot.overlaysInTmpfs revertable
+ Thanks, Sean Whitton
+ * Update shim each time propellor is run in a container, to deal with
+ library version changes.
+ * Unbound: Added support for various DNS record types.
+ Thanks, FĂ©lix Sipma."""]] \ No newline at end of file
diff --git a/propellor.cabal b/propellor.cabal
index 669577a5..6c8c42e1 100644
--- a/propellor.cabal
+++ b/propellor.cabal
@@ -1,5 +1,5 @@
Name: propellor
-Version: 5.3.6
+Version: 5.4.0
Cabal-Version: 1.20
License: BSD2
Maintainer: Joey Hess <id@joeyh.name>
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
diff --git a/src/Propellor/Property/Restic.hs b/src/Propellor/Property/Restic.hs
index 9415f4bf..01b56510 100644
--- a/src/Propellor/Property/Restic.hs
+++ b/src/Propellor/Property/Restic.hs
@@ -35,13 +35,7 @@ instance ConfigurableValue ResticRepo where
val (REST url) = "rest:" ++ url
installed :: Property DebianLike
-installed = withOS desc $ \w o -> case o of
- (Just (System (Debian _ (Stable "jessie")) _)) -> ensureProperty w $
- Apt.installedBackport ["restic"]
- _ -> ensureProperty w $
- Apt.installed ["restic"]
- where
- desc = "installed restic"
+installed = Apt.installed ["restic"] `describe` "installed restic"
repoExists :: ResticRepo -> IO Bool
repoExists repo = boolSystem "restic"
diff --git a/src/Propellor/Property/SiteSpecific/JoeySites.hs b/src/Propellor/Property/SiteSpecific/JoeySites.hs
index 46c90449..ceee7bf3 100644
--- a/src/Propellor/Property/SiteSpecific/JoeySites.hs
+++ b/src/Propellor/Property/SiteSpecific/JoeySites.hs
@@ -939,12 +939,13 @@ homePower user hosts ctx sshkey = propertyList "home power" $ props
where
d = "/var/www/html/homepower"
sshkeyfile = d </> ".ssh/key"
- build = userScriptProperty (User "joey")
- [ "cd " ++ d </> "reactive-banana-automation"
- , "cabal install"
- , "cd " ++ d
- , "make"
- ]
+ build = check (not <$> doesFileExist (d </> "controller")) $
+ userScriptProperty (User "joey")
+ [ "cd " ++ d </> "reactive-banana-automation"
+ , "cabal install"
+ , "cd " ++ d
+ , "make"
+ ]
`assume` MadeChange
`requires` Apt.installed
[ "ghc", "cabal-install", "make"