diff --git a/ChangeLog.md b/ChangeLog.md index 866538d42b..8fdb9a28c7 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -50,6 +50,8 @@ Bug fixes: * Fixes `stack dot` and `stack list-dependencies` to use info from the package database for wired-in-packages (ghc, base, etc). See [#3084](https://github.com/commercialhaskell/stack/issues/3084) +* Fixes `stack --docker build` when user is part of libvirt/libvirtd + groups on Ubuntu Yakkety (16.10). See [#3092] ## 1.4.0 diff --git a/src/Stack/Docker.hs b/src/Stack/Docker.hs index eb461506bc..1b56bb7a6d 100644 --- a/src/Stack/Docker.hs +++ b/src/Stack/Docker.hs @@ -37,7 +37,7 @@ import qualified Data.ByteString.Char8 as BS import qualified Data.ByteString.Lazy.Char8 as LBS import Data.Char (isSpace,toUpper,isAscii,isDigit) import Data.Conduit.List (sinkNull) -import Data.List (dropWhileEnd,intercalate,isPrefixOf,isInfixOf,foldl') +import Data.List (dropWhileEnd,intercalate,isPrefixOf,isInfixOf,foldl',nub) import Data.List.Extra (trim) import Data.Map.Strict (Map) import qualified Data.Map.Strict as Map @@ -112,7 +112,7 @@ reexecWithOptionalContainer mprojectRoot = then liftIO $ do duUid <- User.getEffectiveUserID duGid <- User.getEffectiveGroupID - duGroups <- User.getGroups + duGroups <- nub <$> User.getGroups duUmask <- Files.setFileCreationMask 0o022 -- Only way to get old umask seems to be to change it, so set it back afterward _ <- Files.setFileCreationMask duUmask