diff --git a/debian/changelog b/debian/changelog index f15affb..363109b 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 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 7fd189d..ae8238f 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 c84b0dc..1abad06 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\""