summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog4
-rw-r--r--methods/mirror.cc5
-rw-r--r--methods/mirror.h1
3 files changed, 9 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index c5e5d9d17..27211b37f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,8 +11,10 @@ apt (0.8.14.1ubuntu6) UNRELEASEDoneiric; urgency=low
* methods/mirror.cc:
- ignore lines starting with "#" in the mirror file
- ignore non http urls in the mirrors
+ - append the dist (e.g. sid, wheezy) as a query string when
+ asking for a suitable mirror
- -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 07 Jun 2011 08:49:43 +0200
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 07 Jun 2011 15:54:14 +0200
apt (0.8.14.1ubuntu5) oneiric; urgency=low
diff --git a/methods/mirror.cc b/methods/mirror.cc
index 8a7228def..713dc211a 100644
--- a/methods/mirror.cc
+++ b/methods/mirror.cc
@@ -134,6 +134,10 @@ bool MirrorMethod::DownloadMirrorFile(string mirror_uri_str)
string fetch = BaseUri;
fetch.replace(0,strlen("mirror://"),"http://");
+ // append the dist as a query string
+ if (Dist != "")
+ fetch += "?dist=" + Dist;
+
if(Debug)
clog << "MirrorMethod::DownloadMirrorFile(): '" << fetch << "'"
<< " to " << MirrorFile << endl;
@@ -339,6 +343,7 @@ string MirrorMethod::GetMirrorFileName(string mirror_uri_str)
if(Debug)
std::cerr << "found BaseURI: " << uristr << std::endl;
BaseUri = uristr.substr(0,uristr.size()-1);
+ Dist = (*I)->GetDist();
}
}
// get new file
diff --git a/methods/mirror.h b/methods/mirror.h
index bd807e122..97d18144a 100644
--- a/methods/mirror.h
+++ b/methods/mirror.h
@@ -29,6 +29,7 @@ class MirrorMethod : public HttpMethod
vector<string> AllMirrors; // all available mirrors
string MirrorFile; // the file that contains the list of mirrors
bool DownloadedMirrorFile; // already downloaded this session
+ string Dist; // the target distrubtion (e.g. sid, oneiric)
bool Debug;