From fa3637892ed034cf5f8f72f07f67cc7a9f65dcfe Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 29 Jul 2017 15:49:20 -0400 Subject: releasing package propellor version 4.7.2 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'debian/changelog') diff --git a/debian/changelog b/debian/changelog index 7645b371..5c9cddd2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -propellor (4.7.2) UNRELEASED; urgency=medium +propellor (4.7.2) unstable; urgency=medium * Added PROPELLOR_TRACE environment variable, which can be set to 1 to make propellor output serialized Propellor.Message.Trace values, @@ -6,7 +6,7 @@ propellor (4.7.2) UNRELEASED; urgency=medium * Rsync: Make rsync display its progress, in a minimal format to avoid scrolling each file down the screen. - -- Joey Hess Sat, 29 Jul 2017 14:05:30 -0400 + -- Joey Hess Sat, 29 Jul 2017 15:49:00 -0400 propellor (4.7.1) unstable; urgency=medium -- cgit v1.2.3 From 236ba63c7eece6adccae589fc0acc1425918d4eb Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 29 Jul 2017 17:24:24 -0400 Subject: Expand the Trace data type. Technically this is an API change, but the only thing I'm breaking at this point is my own unreleased software. --- debian/changelog | 6 ++++++ src/Propellor/Message.hs | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'debian/changelog') diff --git a/debian/changelog b/debian/changelog index 5c9cddd2..188c34c6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +propellor (4.7.3) UNRELEASED; urgency=medium + + * Expand the Trace data type. + + -- Joey Hess Sat, 29 Jul 2017 17:23:44 -0400 + propellor (4.7.2) unstable; urgency=medium * Added PROPELLOR_TRACE environment variable, which can be set to 1 to diff --git a/src/Propellor/Message.hs b/src/Propellor/Message.hs index 690056e4..435a12b2 100644 --- a/src/Propellor/Message.hs +++ b/src/Propellor/Message.hs @@ -42,7 +42,7 @@ import Utility.PartialPrelude -- make propellor emit these to stdout, in addition to its other output. data Trace = ActionStart (Maybe HostName) Desc - | ActionEnd Result + | ActionEnd (Maybe HostName) Desc Result deriving (Read, Show) -- | Given a line read from propellor, if it's a serialized Trace, @@ -101,7 +101,7 @@ actionMessage' mhn desc a = do liftIO $ trace $ ActionStart mhn desc r <- a - liftIO $ trace $ ActionEnd $ toResult r + liftIO $ trace $ ActionEnd mhn desc (toResult r) liftIO $ outputConcurrent . concat =<< sequence [ whenConsole $ -- cgit v1.2.3 From 9290ab7401983cae33827ca5698fc4c647c4fb4d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 29 Jul 2017 17:26:41 -0400 Subject: releasing package propellor version 4.7.3 --- debian/changelog | 4 ++-- propellor.cabal | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'debian/changelog') diff --git a/debian/changelog b/debian/changelog index 188c34c6..26d2e515 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,8 @@ -propellor (4.7.3) UNRELEASED; urgency=medium +propellor (4.7.3) unstable; urgency=medium * Expand the Trace data type. - -- Joey Hess Sat, 29 Jul 2017 17:23:44 -0400 + -- Joey Hess Sat, 29 Jul 2017 17:26:32 -0400 propellor (4.7.2) unstable; urgency=medium diff --git a/propellor.cabal b/propellor.cabal index 0156734f..0d83fd64 100644 --- a/propellor.cabal +++ b/propellor.cabal @@ -1,5 +1,5 @@ Name: propellor -Version: 4.7.2 +Version: 4.7.3 Cabal-Version: >= 1.20 License: BSD2 Maintainer: Joey Hess -- cgit v1.2.3 From 7c82cb564358f8623ea584f5bea1c17b8ac29e38 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 29 Jul 2017 20:02:49 -0400 Subject: Rsync: Make rsync display less verbose. --- debian/changelog | 6 ++++++ src/Propellor/Property/Rsync.hs | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'debian/changelog') diff --git a/debian/changelog b/debian/changelog index 26d2e515..43abea1c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +propellor (4.7.4) UNRELEASED; urgency=medium + + * Rsync: Make rsync display less verbose. + + -- Joey Hess Sat, 29 Jul 2017 20:02:32 -0400 + propellor (4.7.3) unstable; urgency=medium * Expand the Trace data type. diff --git a/src/Propellor/Property/Rsync.hs b/src/Propellor/Property/Rsync.hs index c7ff3287..d922e79f 100644 --- a/src/Propellor/Property/Rsync.hs +++ b/src/Propellor/Property/Rsync.hs @@ -46,7 +46,7 @@ newtype Pattern = Pattern String -- is found, the file is processed. syncDirFiltered :: [Filter] -> Src -> Dest -> Property (DebianLike + ArchLinux) syncDirFiltered filters src dest = rsync $ - [ "-av" + [ "-a" -- Add trailing '/' to get rsync to sync the Dest directory, -- rather than a subdir inside it, which it will do without a -- trailing '/'. -- cgit v1.2.3 From 6f281e87084587987929dbb6a27671ad96858535 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 30 Jul 2017 11:29:12 -0400 Subject: Set GPG_TTY when run at a terminal so that gpg can do password prompting despite being connected by pipes to propellor (or git). --- debian/changelog | 2 ++ src/Propellor/CmdLine.hs | 1 + src/Propellor/Gpg.hs | 21 +++++++++++++++++++++ 3 files changed, 24 insertions(+) (limited to 'debian/changelog') diff --git a/debian/changelog b/debian/changelog index 43abea1c..e314a88c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,7 @@ propellor (4.7.4) UNRELEASED; urgency=medium + * Set GPG_TTY when run at a terminal, so that gpg can do password + prompting despite being connected by pipes to propellor (or git). * Rsync: Make rsync display less verbose. -- Joey Hess Sat, 29 Jul 2017 20:02:32 -0400 diff --git a/src/Propellor/CmdLine.hs b/src/Propellor/CmdLine.hs index cba5991d..bd01b34c 100644 --- a/src/Propellor/CmdLine.hs +++ b/src/Propellor/CmdLine.hs @@ -111,6 +111,7 @@ data CanRebuild = CanRebuild | NoRebuild defaultMain :: [Host] -> IO () defaultMain hostlist = withConcurrentOutput $ do useFileSystemEncoding + setupGpgEnv Shim.cleanEnv checkDebugMode cmdline <- processCmdLine diff --git a/src/Propellor/Gpg.hs b/src/Propellor/Gpg.hs index 43c4eddf..5df16389 100644 --- a/src/Propellor/Gpg.hs +++ b/src/Propellor/Gpg.hs @@ -1,6 +1,8 @@ module Propellor.Gpg where import System.IO +import System.Posix.IO +import System.Posix.Terminal import Data.Maybe import Control.Monad import Control.Applicative @@ -19,6 +21,25 @@ import Utility.Env import Utility.Directory import Utility.Split +-- | When at a tty, set GPG_TTY to point to the tty device. This is needed +-- so that when gpg is run with stio connected to a pipe, it is still able +-- to display password prompts at the console. +-- +-- This should not prevent gpg from using the GUI for prompting when one is +-- available. +setupGpgEnv :: IO () +setupGpgEnv = checkhandles [stdInput, stdOutput, stdError] + where + checkhandles [] = return () + checkhandles (h:hs) = do + isterm <- queryTerminal h + if isterm + then do + ttyname <- getTerminalName h + -- do not overwrite + setEnv "GPG_TTY" ttyname False + else checkhandles hs + type KeyId = String getGpgBin :: IO String -- cgit v1.2.3