From cc16366ff2998866fa3b222114cb989985b48359 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 30 Mar 2014 21:01:18 -0400 Subject: propellor spin --- PrivData.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'PrivData.hs') diff --git a/PrivData.hs b/PrivData.hs index e9233660..d1e75c88 100644 --- a/PrivData.hs +++ b/PrivData.hs @@ -16,6 +16,7 @@ import Utility.Exception import Utility.Process import Utility.Tmp import Utility.SafeCommand +import Utility.Misc {- Note that removing or changing field names will break the - serialized privdata files, so don't do that! @@ -38,13 +39,16 @@ getPrivData field = do m <- catchDefaultIO Nothing $ readish <$> readFile privDataLocal return $ maybe Nothing (M.lookup field) m -setPrivData :: HostName -> PrivDataField -> String -> IO () -setPrivData host field value = do +setPrivData :: HostName -> PrivDataField -> IO () +setPrivData host field = do + putStrLn "Enter private data on stdin; ctrl-D when done:" + value <- hGetContentsStrict stdin makePrivDataDir let f = privDataFile host m <- fromMaybe M.empty . readish <$> gpgDecrypt f let m' = M.insert field value m gpgEncrypt f (show m') + putStrLn "Private data set." void $ boolSystem "git" [Param "add", File f] makePrivDataDir :: IO () -- cgit v1.2.3