[commit: Cabal] master: Fix changing working dir when calling external setup but not logging (85a1f5f)
Ian Lynagh
igloo at earth.li
Fri Jun 24 01:56:49 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/85a1f5f23a220db399fa789de1f0a6eefd7efb34
>---------------------------------------------------------------
commit 85a1f5f23a220db399fa789de1f0a6eefd7efb34
Author: Duncan Coutts <duncan at haskell.org>
Date: Sat Aug 2 01:41:07 2008 +0000
Fix changing working dir when calling external setup but not logging
Now uses a single code path for both modes.
>---------------------------------------------------------------
cabal-install/Distribution/Client/SetupWrapper.hs | 25 +++++++++++----------
1 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/cabal-install/Distribution/Client/SetupWrapper.hs b/cabal-install/Distribution/Client/SetupWrapper.hs
index c7037e9..68daac5 100644
--- a/cabal-install/Distribution/Client/SetupWrapper.hs
+++ b/cabal-install/Distribution/Client/SetupWrapper.hs
@@ -48,7 +48,7 @@ import qualified Distribution.Simple.PackageIndex as PackageIndex
import Distribution.Simple.PackageIndex (PackageIndex)
import Distribution.Simple.Utils
( die, debug, info, cabalVersion, defaultPackageDesc, comparing
- , rawSystemExit, createDirectoryIfMissingVerbose, inDir )
+ , createDirectoryIfMissingVerbose, inDir )
import Distribution.Text
( display )
import Distribution.Verbosity
@@ -276,17 +276,18 @@ externalSetupMethod verbosity options pkg bt mkargs = do
where cabalPkgid = PackageIdentifier "Cabal" cabalLibVersion
invokeSetupScript :: [String] -> IO ()
- invokeSetupScript args = case useLoggingHandle options of
- Nothing -> rawSystemExit verbosity setupProgFile args
- Just logHandle -> do
- info verbosity $ unwords (setupProgFile : args)
- info verbosity $ "Redirecting build log to " ++ show logHandle
- currentDir <- getCurrentDirectory
- process <- runProcess (currentDir </> setupProgFile) args
- (useWorkingDir options) Nothing
- Nothing (Just logHandle) (Just logHandle)
- exitCode <- waitForProcess process
- unless (exitCode == ExitSuccess) $ exitWith exitCode
+ invokeSetupScript args = do
+ info verbosity $ unwords (setupProgFile : args)
+ case useLoggingHandle options of
+ Nothing -> return ()
+ Just logHandle -> info verbosity $ "Redirecting build log to "
+ ++ show logHandle
+ currentDir <- getCurrentDirectory
+ process <- runProcess (currentDir </> setupProgFile) args
+ (useWorkingDir options) Nothing
+ Nothing (useLoggingHandle options) (useLoggingHandle options)
+ exitCode <- waitForProcess process
+ unless (exitCode == ExitSuccess) $ exitWith exitCode
-- ------------------------------------------------------------
-- * Utils
More information about the Cvs-libraries
mailing list