summaryrefslogtreecommitdiff
path: root/kiki.hs
diff options
context:
space:
mode:
authorJoe Crayne <joe@jerkface.net>2019-07-02 07:08:34 -0400
committerJoe Crayne <joe@jerkface.net>2019-07-02 07:08:34 -0400
commitec18ca2c86786ff1eb26527a8f53bad3dda50b53 (patch)
treeec9b4968d418698e1aa89f614349467650b0f549 /kiki.hs
parent4e87e15398728286efeacdb54d3feba6070ed1b1 (diff)
Find agent-socket in new location.
Diffstat (limited to 'kiki.hs')
-rw-r--r--kiki.hs13
1 files changed, 10 insertions, 3 deletions
diff --git a/kiki.hs b/kiki.hs
index ddfb05b..d59f75b 100644
--- a/kiki.hs
+++ b/kiki.hs
@@ -23,6 +23,7 @@ import Data.Maybe
23import Data.OpenPGP 23import Data.OpenPGP
24import Data.Ord 24import Data.Ord
25import Data.String 25import Data.String
26import Text.Show.Pretty as PP ( ppShow )
26import Data.Text.Encoding 27import Data.Text.Encoding
27import System.Posix.Files 28import System.Posix.Files
28import Foreign.C.Types (CTime(..)) 29import Foreign.C.Types (CTime(..))
@@ -1309,6 +1310,8 @@ kiki "merge" [] = do
1309 , " HOMEDIR/{secring.gpg,pubring.gpg}" 1310 , " HOMEDIR/{secring.gpg,pubring.gpg}"
1310 , " HOMEDIR defaults to your GnuPG home directory." 1311 , " HOMEDIR defaults to your GnuPG home directory."
1311 , "" 1312 , ""
1313 , " --agent Use gpg-agent."
1314 , ""
1312 , " FILE A path to a key file to read or update." 1315 , " FILE A path to a key file to read or update."
1313 , "" 1316 , ""
1314 , "MODIFIERS" 1317 , "MODIFIERS"
@@ -1335,15 +1338,19 @@ kiki "merge" args | "--help" `elem` args = do
1335 kiki "merge" [] 1338 kiki "merge" []
1336 -- TODO: more help 1339 -- TODO: more help
1337kiki "merge" args = do 1340kiki "merge" args = do
1338 hPutStrLn stderr $ show op 1341 hPutStrLn stderr $ ppShow op
1339 KikiResult rt report <- runKeyRing op 1342 KikiResult rt report <- runKeyRing (mbAgent op)
1340 case rt of 1343 case rt of
1341 KikiSuccess rt -> return () 1344 KikiSuccess rt -> return ()
1342 err -> putStrLn $ errorString err 1345 err -> putStrLn $ errorString err
1343 forM_ report $ \(fname,act) -> do 1346 forM_ report $ \(fname,act) -> do
1344 putStrLn $ fname ++ ": " ++ reportString act 1347 putStrLn $ fname ++ ": " ++ reportString act
1345 where 1348 where
1346 (_,(_,op)) = foldl' buildOp (True,(flow0,noop)) args 1349 (_,(_,op)) = foldl' buildOp (True,(flow0,noop)) args'
1350 (args',mbAgent) = case break (=="--agent") args of
1351 (as,[]) -> (args, id)
1352 (as,_:bs) -> ( as++bs
1353 , \op -> op { opPassphrases = withAgent (opPassphrases op) })
1347 noop = KeyRingOperation 1354 noop = KeyRingOperation
1348 { opFiles = Map.empty 1355 { opFiles = Map.empty
1349 , opTransforms = [] 1356 , opTransforms = []