From 29bd5aaff9c3877073073a0017957776bcb17674 Mon Sep 17 00:00:00 2001 From: Edsko de Vries <edsko@well-typed.com> Date: Tue, 25 Aug 2015 12:42:10 +0100 Subject: [PATCH] Change old Hackage URIs to new Hackage URIs This is necessary because otherwise doing a secure update will result in errors such as Unexpected response (4,0,4)for http://hackage.haskell.orgpackages/archive/root.json Alternative we could set up redirections for these in Hackage, but what's the point? --- cabal-install/Distribution/Client/Config.hs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cabal-install/Distribution/Client/Config.hs b/cabal-install/Distribution/Client/Config.hs index 00ec3b1614..ebc6030146 100644 --- a/cabal-install/Distribution/Client/Config.hs +++ b/cabal-install/Distribution/Client/Config.hs @@ -76,6 +76,8 @@ import Distribution.ParseUtils , parseFilePathQ, parseTokenQ ) import Distribution.Client.ParseUtils ( parseFields, ppFields, ppSection ) +import Distribution.Client.HttpUtils + ( isOldHackageURI ) import qualified Distribution.ParseUtils as ParseUtils ( Field(..) ) import qualified Distribution.Text as Text @@ -503,10 +505,9 @@ defaultRemoteRepo = RemoteRepo name uri () False -- addInfoForKnownRepos :: RemoteRepo -> RemoteRepo addInfoForKnownRepos repo@RemoteRepo{ remoteRepoName = "hackage.haskell.org" } = - repo { - --remoteRepoRootKeys --TODO: when this list is empty, fill in known crypto credentials - remoteRepoShouldTryHttps = True - } + tryHttps $ if isOldHackageURI (remoteRepoURI repo) then defaultRemoteRepo else repo + where + tryHttps r = r { remoteRepoShouldTryHttps = True } addInfoForKnownRepos other = other -- -- GitLab