Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/cf0f473475556b1fd73b22e7a531b8a7a2e91e00 >--------------------------------------------------------------- commit cf0f473475556b1fd73b22e7a531b8a7a2e91e00 Author: Duncan Coutts <[email protected]> Date: Sun Jun 8 13:12:27 2008 +0000 Include the hackage server in the build report This is so that we remember which server to send the reports to. This is pretty important if you're using a private as well as a public hackage server. >--------------------------------------------------------------- cabal-install/Hackage/Reporting.hs | 28 ++++++++++++++++++---------- 1 files changed, 18 insertions(+), 10 deletions(-) diff --git a/cabal-install/Hackage/Reporting.hs b/cabal-install/Hackage/Reporting.hs index cc8fe90..4d31c3a 100644 --- a/cabal-install/Hackage/Reporting.hs +++ b/cabal-install/Hackage/Reporting.hs @@ -28,7 +28,8 @@ module Hackage.Reporting ( ) where import Hackage.Types - ( ConfiguredPackage(..), BuildResult ) + ( ConfiguredPackage(..), AvailablePackage(..) + , AvailablePackageSource(..), repoURI, BuildResult ) import qualified Hackage.Types as BR ( BuildResult(..) ) import qualified Hackage.InstallPlan as InstallPlan @@ -50,7 +51,8 @@ import Distribution.Compiler import Data.Maybe ( catMaybes ) - +import Network.URI + ( URI, uriToString ) data BuildReport = BuildReport { @@ -59,7 +61,7 @@ data BuildReport -- | Which hackage server this package is from and thus which server this -- report should be sent to. --- server :: URI, + server :: String, -- | The OS and Arch the package was built on os :: OS, @@ -120,13 +122,13 @@ writeBuildReports reports = do appendFile file (unlines (map show reports)) buildReport :: OS -> Arch -> CompilerId -- -> Version - -> ConfiguredPackage -> BR.BuildResult + -> URI -> ConfiguredPackage -> BR.BuildResult -> BuildReport -buildReport os' arch' comp (ConfiguredPackage pkg flags deps) result = +buildReport os' arch' comp uri (ConfiguredPackage pkg flags deps) result = BuildReport { package = packageId pkg, os = os', --- server = undefined, + server = uriToString id uri [], arch = arch', compiler = comp, flagAssignment = flags, @@ -162,7 +164,13 @@ installPlanBuildReports plan = catMaybes planPackageBuildReport :: OS -> Arch -> CompilerId -> PlanPackage BuildResult -> Maybe BuildReport planPackageBuildReport os' arch' comp planPackage = case planPackage of - PreExisting _ -> Nothing - Configured _ -> Nothing - Installed pkg -> Just $ buildReport os' arch' comp pkg BR.BuildOk - Failed pkg result -> Just $ buildReport os' arch' comp pkg result + + Installed pkg@(ConfiguredPackage (AvailablePackage { + packageSource = RepoTarballPackage repo }) _ _) + -> Just $ buildReport os' arch' comp (repoURI repo) pkg BR.BuildOk + + Failed pkg@(ConfiguredPackage (AvailablePackage { + packageSource = RepoTarballPackage repo }) _ _) result + -> Just $ buildReport os' arch' comp (repoURI repo) pkg result + + _ -> Nothing _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
