From 820db65ff0dae8b40fb1dd24e1dba3f0e0e63cdf Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 29 Apr 2014 20:05:39 -0400 Subject: add debuggin for simplesh --- Propellor/SimpleSh.hs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'Propellor') diff --git a/Propellor/SimpleSh.hs b/Propellor/SimpleSh.hs index c088eda7..73ff41ae 100644 --- a/Propellor/SimpleSh.hs +++ b/Propellor/SimpleSh.hs @@ -70,13 +70,17 @@ simpleSh namedpipe = do simpleShClient :: FilePath -> String -> [String] -> ([Resp] -> IO a) -> IO a simpleShClient namedpipe cmd params handler = do + debug ["simplesh connecting"] s <- socket AF_UNIX Stream defaultProtocol connect s (SockAddrUnix namedpipe) h <- socketToHandle s ReadWriteMode hPutStrLn h $ show $ Cmd cmd params hFlush h + debug ["simplesh sent command"] resps <- catMaybes . map readish . lines <$> hGetContents h - hClose h `after` handler resps + v <- hClose h `after` handler resps + debug ["simplesh processed response"] + return v simpleShClientRetry :: Int -> FilePath -> String -> [String] -> ([Resp] -> IO a) -> IO a simpleShClientRetry retries namedpipe cmd params handler = go retries @@ -88,7 +92,8 @@ simpleShClientRetry retries namedpipe cmd params handler = go retries v <- tryIO run case v of Right r -> return r - Left _ -> do + Left e -> do + debug ["simplesh connection retry", show e] threadDelaySeconds (Seconds 1) go (n - 1) -- cgit v1.2.3 From af4055beff14ece34490736c67e1110fa84bbf0d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 30 Apr 2014 20:55:12 -0400 Subject: propellor spin --- Propellor/Property/SiteSpecific/JoeySites.hs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'Propellor') diff --git a/Propellor/Property/SiteSpecific/JoeySites.hs b/Propellor/Property/SiteSpecific/JoeySites.hs index 06865c45..5b518d17 100644 --- a/Propellor/Property/SiteSpecific/JoeySites.hs +++ b/Propellor/Property/SiteSpecific/JoeySites.hs @@ -15,6 +15,7 @@ import qualified Propellor.Property.User as User import qualified Propellor.Property.Obnam as Obnam import qualified Propellor.Property.Apache as Apache import Utility.SafeCommand +import Utility.FileMode import Data.List import System.Posix.Files @@ -183,10 +184,16 @@ annexWebSite :: [Host] -> Git.RepoUrl -> HostName -> AnnexUUID -> [(String, Git. annexWebSite hosts origin hn uuid remotes = propertyList (hn ++" website using git-annex") [ Git.cloned "joey" origin dir Nothing `onChange` setup + , postupdatehook `File.hasContent` + [ "!/bin/sh" + , "exec git update-server-info" + ] `onChange` + (postupdatehook `File.mode` (combineModes (ownerWriteMode:readModes ++ executeModes))) , setupapache ] where dir = "/srv/web/" ++ hn + postupdatehook = dir ".git/hooks/post-update" setup = userScriptProperty "joey" setupscript `requires` Ssh.keyImported SshRsa "joey" `requires` Ssh.knownHost hosts "turtle.kitenet.net" "joey" -- cgit v1.2.3 From cfb71c42f47f4ee27d0ed12ecbe3f2ba89b00613 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 30 Apr 2014 20:56:24 -0400 Subject: propellor spin --- Propellor/Property/SiteSpecific/JoeySites.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Propellor') diff --git a/Propellor/Property/SiteSpecific/JoeySites.hs b/Propellor/Property/SiteSpecific/JoeySites.hs index 5b518d17..bdc60a5b 100644 --- a/Propellor/Property/SiteSpecific/JoeySites.hs +++ b/Propellor/Property/SiteSpecific/JoeySites.hs @@ -185,7 +185,7 @@ annexWebSite hosts origin hn uuid remotes = propertyList (hn ++" website using g [ Git.cloned "joey" origin dir Nothing `onChange` setup , postupdatehook `File.hasContent` - [ "!/bin/sh" + [ "#!/bin/sh" , "exec git update-server-info" ] `onChange` (postupdatehook `File.mode` (combineModes (ownerWriteMode:readModes ++ executeModes))) -- cgit v1.2.3 From 320e988fd133758427884dcdb38ff81061e4e5dd Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 30 Apr 2014 21:15:35 -0400 Subject: threw in a update-server-info after clone, to avoid a gotcha --- Propellor/Property/Git.hs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Propellor') diff --git a/Propellor/Property/Git.hs b/Propellor/Property/Git.hs index ba370e51..e5df7e48 100644 --- a/Propellor/Property/Git.hs +++ b/Propellor/Property/Git.hs @@ -86,4 +86,8 @@ cloned owner url dir mbranch = check originurl (property desc checkout) [ Just $ "git clone " ++ shellEscape url ++ " " ++ shellEscape dir ++ " < /dev/null" , Just $ "cd " ++ shellEscape dir , ("git checkout " ++) <$> mbranch + -- In case this repo is exposted via the web, + -- although the hook to do this ongoing is not + -- installed here. + , Just "git update-server-info" ] -- cgit v1.2.3