From 877b9def3f177fea86f285824b699b187a440627 Mon Sep 17 00:00:00 2001 From: Tim Dysinger Date: Tue, 28 Mar 2017 13:01:31 -0700 Subject: [PATCH] Nub the list of a user's groups fixes #3092 --- ChangeLog.md | 2 ++ src/Stack/Docker.hs | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) 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