Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/10098d3709e9febe14675f5eeaa6a4f4a42bd4c1

>---------------------------------------------------------------

commit 10098d3709e9febe14675f5eeaa6a4f4a42bd4c1
Author: Andres Loeh <[email protected]>
Date:   Mon Nov 7 15:07:13 2011 +0000

    changed --override-reinstall-check to --force-reinstalls
    
    Also adapted the message for the failed check.

>---------------------------------------------------------------

 cabal-install/Distribution/Client/Install.hs |   24 +++++++++++++++++-------
 cabal-install/Distribution/Client/Setup.hs   |    6 +-----
 2 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/cabal-install/Distribution/Client/Install.hs 
b/cabal-install/Distribution/Client/Install.hs
index e8eee2b..0edb4b0 100644
--- a/cabal-install/Distribution/Client/Install.hs
+++ b/cabal-install/Distribution/Client/Install.hs
@@ -48,6 +48,8 @@ import System.IO.Error
 
 import Distribution.Client.Targets
 import Distribution.Client.Dependency
+import Distribution.Client.Dependency.Types
+         ( Solver(..) )
 import Distribution.Client.FetchUtils
 import qualified Distribution.Client.Haddock as Haddock 
(regenerateHaddockIndex)
 -- import qualified Distribution.Client.Info as Info
@@ -172,7 +174,7 @@ install verbosity packageDBs repos comp conf
                          comp configFlags configExFlags installFlags
                          installedPkgIndex sourcePkgDb pkgSpecifiers
 
-    checkPrintPlan verbosity installedPkgIndex installPlan installFlags
+    checkPrintPlan verbosity installedPkgIndex installPlan installFlags solver
 
     unless dryRun $ do
       installPlan' <- performInstallations verbosity
@@ -185,6 +187,7 @@ install verbosity packageDBs repos comp conf
                globalFlags, configFlags, configExFlags, installFlags, 
haddockFlags)
 
     dryRun      = fromFlag (installDryRun installFlags)
+    solver      = fromFlag (configSolver  configExFlags)
     logMsg message rest = debug verbosity message >> rest
 
 
@@ -338,8 +341,9 @@ checkPrintPlan :: Verbosity
                -> PackageIndex
                -> InstallPlan
                -> InstallFlags
+               -> Solver
                -> IO ()
-checkPrintPlan verbosity installed installPlan installFlags = do
+checkPrintPlan verbosity installed installPlan installFlags solver = do
 
   when nothingToInstall $
     notice verbosity $
@@ -358,11 +362,17 @@ checkPrintPlan verbosity installed installPlan 
installFlags = do
   when (containsReinstalls && not overrideReinstall) $
     (if dryRun then notice adaptedVerbosity else die) $
          "The install plan contains reinstalls which can break "
-      ++ "your GHC installation.\nYou can use the --avoid-reinstalls option "
-      ++ "to try to avoid this or try\nto ghc-pkg unregister the version of "
-      ++ "the package version to see its effect\non reverse dependencies.  "
-      ++ "If you know what you are doing you can use\nthe "
-      ++ "--override-reinstall-check option to override this reinstall check."
+      ++ "your GHC installation. "
+      ++ (if solver /= Modular
+          then "You can try --solver=modular for the new modular solver that "
+            ++ "chooses such reinstalls less often and also offers the "
+            ++ "--avoid-reinstalls option. "
+          else "You can use the --avoid-reinstalls option to try to find an "
+            ++ "install plan without such reinstalls. ")
+      ++ "You can also ghc-pkg unregister the affected packages and run "
+      ++ "ghc-pkg check to see the effect on reverse dependencies. "
+      ++ "If you know what you are doing you can use the "
+      ++ "--force-reinstalls option to override this reinstall check."
 
   where
     nothingToInstall = null (InstallPlan.ready installPlan)
diff --git a/cabal-install/Distribution/Client/Setup.hs 
b/cabal-install/Distribution/Client/Setup.hs
index aaa99ca..bcb8cff 100644
--- a/cabal-install/Distribution/Client/Setup.hs
+++ b/cabal-install/Distribution/Client/Setup.hs
@@ -596,7 +596,6 @@ data InstallFlags = InstallFlags {
     installDocumentation    :: Flag Bool,
     installHaddockIndex     :: Flag PathTemplate,
     installDryRun           :: Flag Bool,
-    installSolver           :: Flag Solver,
     installMaxBackjumps     :: Flag Int,
     installReorderGoals     :: Flag Bool,
     installIndependentGoals :: Flag Bool,
@@ -619,7 +618,6 @@ defaultInstallFlags = InstallFlags {
     installDocumentation   = Flag False,
     installHaddockIndex    = Flag docIndexFile,
     installDryRun          = Flag False,
-    installSolver          = Flag defaultSolver,
     installMaxBackjumps    = Flag defaultMaxBackjumps,
     installReorderGoals    = Flag False,
     installIndependentGoals= Flag False,
@@ -732,7 +730,7 @@ installOptions showOrParseArgs =
           installAvoidReinstalls (\v flags -> flags { installAvoidReinstalls = 
v })
           trueArg
 
-      , option [] ["override-reinstall-check"]
+      , option [] ["force-reinstalls"]
           "Use to override the check that prevents reinstalling already 
installed versions of package dependencies."
           installOverrideReinstall (\v flags -> flags { 
installOverrideReinstall = v })
           trueArg
@@ -795,7 +793,6 @@ instance Monoid InstallFlags where
     installDocumentation   = mempty,
     installHaddockIndex    = mempty,
     installDryRun          = mempty,
-    installSolver          = mempty,
     installReinstall       = mempty,
     installAvoidReinstalls = mempty,
     installOverrideReinstall = mempty,
@@ -816,7 +813,6 @@ instance Monoid InstallFlags where
     installDocumentation   = combine installDocumentation,
     installHaddockIndex    = combine installHaddockIndex,
     installDryRun          = combine installDryRun,
-    installSolver          = combine installSolver,
     installReinstall       = combine installReinstall,
     installAvoidReinstalls = combine installAvoidReinstalls,
     installOverrideReinstall = combine installOverrideReinstall,



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to