On Wed, Feb 12, 2014 at 23:30:40 +0100, Raphael Geissert wrote: > Package: aptitude > > Hi, > > As of an hour ago packages.d.o redirects traffic to https, making aptitude > fail to download the changelogs, resulting in > E: Changelog download failed: 302 Found [IP: 5.153.231.3 80] > E: Couldn't find a changelog for $package > > DSA has worked around it for now by excluding APT's http method from the > redirection, but they'd like this issue to be fixed. Hence this email. > Seems to be an apt "feature". After patching it out with
diff --git a/methods/server.cc b/methods/server.cc index e12c23c..e07599c 100644 --- a/methods/server.cc +++ b/methods/server.cc @@ -294,7 +294,7 @@ ServerMethod::DealWithHeaders(FetchResult &Res) NextURI = DeQuoteString(Server->Location); URI tmpURI = NextURI; // Do not allow a redirection to switch protocol - if (tmpURI.Access == "http") + if (1 || tmpURI.Access == "http") return TRY_AGAIN_OR_REDIRECT; } /* else pass through for error message */ I was able to get apt-get changelog to work. My test case is apt-get -o Acquire::ForceIPv4=yes -o Apt::Changelogs::Server=http://www.cristau.org/blah changelog tor with a RewriteRule ^/blah/(.*) https://packages.debian.org/changelogs/$1 [L] in my apache config (the forceipv4 is needed due to unrelated breakage at the hosting provider). I still get a message like this, though: W: Size of file /tmp/apt-changelog-TfnbZ1changelog is not what the server reported 77136 338 I guess something's keeping the size from one of the redirects instead of the 200. I couldn't get aptitude changelog to obey Apt::Changelogs::Server for some reason, so I don't know if that's enough to fix it. Cheers, Julien
signature.asc
Description: Digital signature