summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog7
-rw-r--r--src/Propellor/Property/Cmd.hs2
-rw-r--r--src/Propellor/Property/SiteSpecific/JoeySites.hs7
3 files changed, 12 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog
index f15affbf..363109ba 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+propellor (2.2.1) UNRELEASED; urgency=medium
+
+ * userScriptProperty now passes --shell /bin/sh, so it can be used
+ even for users with nonstandard shells.
+
+ -- Joey Hess <id@joeyh.name> Wed, 11 Mar 2015 22:29:23 -0400
+
propellor (2.2.0) unstable; urgency=medium
* When running shimmed (eg in a docker container),
diff --git a/src/Propellor/Property/Cmd.hs b/src/Propellor/Property/Cmd.hs
index 7fd189df..ae8238f5 100644
--- a/src/Propellor/Property/Cmd.hs
+++ b/src/Propellor/Property/Cmd.hs
@@ -40,6 +40,6 @@ scriptProperty script = cmdProperty "sh" ["-c", shellcmd]
-- | A property that can satisfied by running a series of shell commands,
-- as user (cd'd to their home directory).
userScriptProperty :: UserName -> [String] -> Property NoInfo
-userScriptProperty user script = cmdProperty "su" ["-c", shellcmd, user]
+userScriptProperty user script = cmdProperty "su" ["--shell", "/bin/sh", "-c", shellcmd, user]
where
shellcmd = intercalate " ; " ("set -e" : "cd" : script)
diff --git a/src/Propellor/Property/SiteSpecific/JoeySites.hs b/src/Propellor/Property/SiteSpecific/JoeySites.hs
index c84b0dca..1abad06f 100644
--- a/src/Propellor/Property/SiteSpecific/JoeySites.hs
+++ b/src/Propellor/Property/SiteSpecific/JoeySites.hs
@@ -26,13 +26,14 @@ scrollBox :: Property HasInfo
scrollBox = propertyList "scroll shell box" $ props
& alias "scroll.joeyh.name"
& User.accountFor "scroll"
- & Git.cloned "root" "git://git.kitenet.net/scroll" (d </> "scroll") Nothing
+ & Git.cloned "scroll" "git://git.kitenet.net/scroll" (d </> "scroll") Nothing
& Apt.installed ["ghc", "make", "cabal-install", "libghc-vector-dev",
"libghc-bytestring-dev", "libghc-mtl-dev", "libghc-ncurses-dev",
"libghc-random-dev", "libghc-monad-loops-dev",
"libghc-ifelse-dev", "libghc-case-insensitive-dev"]
- & scriptProperty
+ & userScriptProperty "scroll"
[ "cd " ++ d </> "scroll"
+ , "git pull"
, "cabal configure"
, "make"
]
@@ -40,7 +41,7 @@ scrollBox = propertyList "scroll shell box" $ props
[ "#!/bin/sh"
, "set -e"
, "echo Preparing to run scroll!"
- , "cd " ++ d </> "scroll"
+ , "cd " ++ d
, "mkdir -p tmp"
, "TMPDIR= t=$(tempfile -d tmp)"
, "rm -f \"$t\""