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
Attachment:
signature.asc
Description: Digital signature