diff options
-rw-r--r-- | debian/changelog | 5 | ||||
-rw-r--r-- | methods/mirror.cc | 18 |
2 files changed, 21 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog index b2efeae1b..519395af8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,8 +2,11 @@ apt (0.8.16~exp5ubuntu5) UNRELEASED; urgency=low * debian/control: - fix VCS location + * methods/mirror.cc: + - include the architecture(s) in the query string as well so + that the server can make better decisions - -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 10 Aug 2011 06:48:11 +0200 + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 11 Aug 2011 16:33:32 +0200 apt (0.8.16~exp5ubuntu4) oneiric; urgency=low diff --git a/methods/mirror.cc b/methods/mirror.cc index 713dc211a..7f28c04cb 100644 --- a/methods/mirror.cc +++ b/methods/mirror.cc @@ -8,6 +8,7 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <apt-pkg/aptconfiguration.h> #include <apt-pkg/fileutl.h> #include <apt-pkg/acquire-method.h> #include <apt-pkg/acquire-item.h> @@ -134,9 +135,24 @@ bool MirrorMethod::DownloadMirrorFile(string mirror_uri_str) string fetch = BaseUri; fetch.replace(0,strlen("mirror://"),"http://"); +#if 0 // no need for this, the getArchitectures() will also include the main + // arch + // append main architecture + fetch += "?arch=" + _config->Find("Apt::Architecture"); +#endif + + // append all architectures + std::vector<std::string> vec = APT::Configuration::getArchitectures(); + for (std::vector<std::string>::const_iterator I = vec.begin(); + I != vec.end(); I++) + if (I == vec.begin()) + fetch += "?arch" + (*I); + else + fetch += "&arch=" + (*I); + // append the dist as a query string if (Dist != "") - fetch += "?dist=" + Dist; + fetch += "&dist=" + Dist; if(Debug) clog << "MirrorMethod::DownloadMirrorFile(): '" << fetch << "'" |