[commit: Cabal] master: Remove redundant dry-run support from world file code (f395a5a)
Ian Lynagh
igloo at earth.li
Fri Jun 24 02:06:19 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/f395a5a89506c18e997680ca5617030fb886eedc
>---------------------------------------------------------------
commit f395a5a89506c18e997680ca5617030fb886eedc
Author: Duncan Coutts <duncan at haskell.org>
Date: Mon May 10 05:48:24 2010 +0000
Remove redundant dry-run support from world file code
>---------------------------------------------------------------
cabal-install/Distribution/Client/Install.hs | 3 +--
cabal-install/Distribution/Client/World.hs | 19 ++++++++-----------
2 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/cabal-install/Distribution/Client/Install.hs b/cabal-install/Distribution/Client/Install.hs
index 376675b..8d5f76f 100644
--- a/cabal-install/Distribution/Client/Install.hs
+++ b/cabal-install/Distribution/Client/Install.hs
@@ -467,7 +467,7 @@ postInstallActions verbosity
targets installPlan = do
unless oneShot $
- World.insert verbosity dryRun worldFile targets'
+ World.insert verbosity worldFile targets'
let buildReports = BuildReports.fromInstallPlan installPlan
BuildReports.storeLocal (installSummaryFile installFlags) buildReports
@@ -486,7 +486,6 @@ postInstallActions verbosity
where
reportingLevel = fromFlag (installBuildReports installFlags)
logsDir = fromFlag (globalLogsDir globalFlags)
- dryRun = fromFlag (installDryRun installFlags)
oneShot = fromFlag (installOneShot installFlags)
worldFile = fromFlag $ globalWorldFile globalFlags
targets' = filter (not . World.isWorldTarget) targets
diff --git a/cabal-install/Distribution/Client/World.hs b/cabal-install/Distribution/Client/World.hs
index 3708033..5c53512 100644
--- a/cabal-install/Distribution/Client/World.hs
+++ b/cabal-install/Distribution/Client/World.hs
@@ -43,7 +43,6 @@ import Distribution.Verbosity ( Verbosity )
import Distribution.Simple.Utils ( die, info, chattyTry )
import Data.List( unionBy, deleteFirstsBy, nubBy )
import Data.Maybe( isJust, fromJust )
-import Control.Monad( unless )
import System.IO.Error( isDoesNotExistError, )
import qualified Data.ByteString.Lazy.Char8 as B
import Prelude hiding ( getContents )
@@ -51,13 +50,13 @@ import Prelude hiding ( getContents )
-- | Adds packages to the world file; creates the file if it doesn't
-- exist yet. Version constraints and flag assignments for a package are
-- updated if already present. IO errors are non-fatal.
-insert :: Verbosity -> Bool -> FilePath -> [UnresolvedDependency] -> IO ()
+insert :: Verbosity -> FilePath -> [UnresolvedDependency] -> IO ()
insert = modifyWorld $ unionBy equalUDep
-- | Removes packages from the world file.
-- Note: Currently unused as there is no mechanism in Cabal (yet) to
-- handle uninstalls. IO errors are non-fatal.
-delete :: Verbosity -> Bool -> FilePath -> [UnresolvedDependency] -> IO ()
+delete :: Verbosity -> FilePath -> [UnresolvedDependency] -> IO ()
delete = modifyWorld $ flip (deleteFirstsBy equalUDep)
-- | UnresolvedDependency values are considered equal if they refer to
@@ -75,12 +74,11 @@ modifyWorld :: ([UnresolvedDependency] -> [UnresolvedDependency]
-- the list of user packages are merged with
-- existing world packages.
-> Verbosity
- -> Bool -- ^ Dry-run?
-> FilePath -- ^ Location of the world file
-> [UnresolvedDependency] -- ^ list of user supplied packages
-> IO ()
-modifyWorld _ _ _ _ [] = return ()
-modifyWorld f verbosity dryRun world pkgs =
+modifyWorld _ _ _ [] = return ()
+modifyWorld f verbosity world pkgs =
chattyTry "Error while updating world-file. " $ do
pkgsOldWorld <- getContents world
-- Filter out packages that are not in the world file:
@@ -89,11 +87,10 @@ modifyWorld f verbosity dryRun world pkgs =
-- equivalence the awkward way:
if not (all (`elem` pkgsOldWorld) pkgsNewWorld &&
all (`elem` pkgsNewWorld) pkgsOldWorld)
- then
- unless dryRun $ do
- writeFileAtomic world $ unlines
- [ (display pkg) | pkg <- pkgsNewWorld]
- info verbosity "Updating world file..."
+ then do
+ info verbosity "Updating world file..."
+ writeFileAtomic world $ unlines
+ [ (display pkg) | pkg <- pkgsNewWorld]
else
info verbosity "World file is already up to date."
More information about the Cvs-libraries
mailing list