[commit: Cabal] master: Be more verbose in Update (af358a6)
Ian Lynagh
igloo at earth.li
Fri Jun 24 01:44:48 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/af358a62fcf9d2117ffb26eeb05b3c3993fd8797
>---------------------------------------------------------------
commit af358a62fcf9d2117ffb26eeb05b3c3993fd8797
Author: Pepe Iborra <mnislaih at gmail.com>
Date: Mon May 21 09:44:21 2007 +0000
Be more verbose in Update
>---------------------------------------------------------------
.../src/Network/Hackage/CabalInstall/Fetch.hs | 3 ++-
.../src/Network/Hackage/CabalInstall/Update.hs | 7 ++++++-
.../src/Network/Hackage/CabalInstall/Utils.hs | 8 ++++++++
3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs b/cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs
index 025bc2c..4c4934d 100644
--- a/cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs
+++ b/cabal-install/src/Network/Hackage/CabalInstall/Fetch.hs
@@ -38,6 +38,7 @@ import Network.Hackage.CabalInstall.Config (packagesDirectory)
import Network.Hackage.CabalInstall.Dependency (filterFetchables, resolveDependencies)
import Distribution.Package (PackageIdentifier(..), showPackageId)
+import Distribution.Verbosity
import System.FilePath ((</>), (<.>))
import System.Directory (copyFile)
import System.IO (IOMode(..), hPutStr, Handle, hClose, openBinaryFile)
@@ -87,7 +88,7 @@ downloadFile path url
-- Downloads a package to [config-dir/packages/package-id] and returns the path to the package.
downloadPackage :: ConfigFlags -> PackageIdentifier -> String -> IO String
downloadPackage cfg pkg url
- = do message (configOutputGen cfg) 2 $ "GET " ++ show url
+ = do message (configOutputGen cfg) verbose $ "GET " ++ show url
mbError <- downloadFile path url
case mbError of
Just err -> fail $ printf "Failed to download '%s': %s" (showPackageId pkg) (show err)
diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Update.hs b/cabal-install/src/Network/Hackage/CabalInstall/Update.hs
index c54f250..c9bf4b9 100644
--- a/cabal-install/src/Network/Hackage/CabalInstall/Update.hs
+++ b/cabal-install/src/Network/Hackage/CabalInstall/Update.hs
@@ -17,6 +17,7 @@ module Network.Hackage.CabalInstall.Update
import Network.Hackage.CabalInstall.Types (ConfigFlags (..), OutputGen(..), PkgInfo(..))
import Network.Hackage.CabalInstall.Config (writeKnownPackages)
import Network.Hackage.CabalInstall.TarUtils (extractTarFile, tarballGetFiles)
+import Network.Hackage.CabalInstall.Utils (isVerbose)
import Network.Hackage.CabalInstall.Fetch (downloadIndex, packagesDirectory)
import Distribution.Package (PackageIdentifier(..), pkgName, showPackageId)
@@ -24,10 +25,12 @@ import Distribution.PackageDescription (PackageDescription(..), readPackageDescr
import Distribution.Verbosity
import System.FilePath ((</>), joinPath, addExtension, takeExtension)
-import Control.Monad (liftM)
+import Control.Monad (liftM, when)
import Data.List (intersperse, isSuffixOf)
import Data.Version (showVersion)
+import Text.Printf
+
-- | 'update' downloads the package list from all known servers
update :: ConfigFlags -> IO ()
update cfg =
@@ -36,6 +39,7 @@ update cfg =
indexPath <- downloadIndex cfg server
extractTarFile tarPath indexPath
contents <- tarballGetFiles tarPath indexPath
+ when (isVerbose cfg) $ printf "Retrieved %d package descriptions\n" (length contents)
let packageDir = packagesDirectory cfg
cabalFiles = [ packageDir </> path
| path <- contents
@@ -45,6 +49,7 @@ update cfg =
packageDescriptions <-
mapM (readPackageDescription v') cabalFiles
return $ map (parsePkg server) packageDescriptions
+ when (isVerbose cfg) $ printf "Processed %d package descriptions\n" (length packages)
writeKnownPackages cfg packages
where servers = configServers cfg
output = configOutputGen cfg
diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Utils.hs b/cabal-install/src/Network/Hackage/CabalInstall/Utils.hs
new file mode 100644
index 0000000..af7b773
--- /dev/null
+++ b/cabal-install/src/Network/Hackage/CabalInstall/Utils.hs
@@ -0,0 +1,8 @@
+module Network.Hackage.CabalInstall.Utils where
+
+import Distribution.Verbosity
+import Network.Hackage.CabalInstall.Types
+
+
+
+isVerbose cfg = configVerbose cfg >= verbose
\ No newline at end of file
More information about the Cvs-libraries
mailing list