summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Heinlein <sebi@sebi-laptop>2007-02-26 20:13:42 +0100
committerSebastian Heinlein <sebi@sebi-laptop>2007-02-26 20:13:42 +0100
commit89ac70a4cdc9507e6db3921497680aea95b6a7c2 (patch)
tree628c0c7123b172acc6e9f5bb0368af23a3f01635
parent7878cb9047d781694852cf5555294daa6814a799 (diff)
downloadpython-apt-89ac70a4cdc9507e6db3921497680aea95b6a7c2.tar.gz
* separate the checking of duplicates of binary and source repositories
when changing the server of the distro - fix LP #86219
-rw-r--r--aptsources/distro.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/aptsources/distro.py b/aptsources/distro.py
index f53783dc..ac1b53e7 100644
--- a/aptsources/distro.py
+++ b/aptsources/distro.py
@@ -253,13 +253,7 @@ class Distribution:
def change_server(self, uri):
''' Change the server of all distro specific sources to
a given host '''
- sources = []
- seen = []
- self.default_server = uri
- sources.extend(self.main_sources)
- sources.extend(self.child_sources)
- sources.extend(self.source_code_sources)
- for source in sources:
+ def change_server_of_source(source, uri, seen):
# Avoid creating duplicate entries
source.uri = uri
for comp in source.comps:
@@ -269,6 +263,16 @@ class Distribution:
seen.append([source.uri, source.dist, comp])
if len(source.comps) < 1:
self.sourceslist.remove(source)
+ seen_binary = []
+ seen_source = []
+ self.default_server = uri
+ sources = []
+ sources.extend(self.main_sources)
+ sources.extend(self.child_sources)
+ for source in sources:
+ change_server_of_source(source, uri, seen_binary)
+ for source in self.source_code_sources:
+ change_server_of_source(source, uri, seen_source)
def is_codename(self, name):
''' Compare a given name with the release codename. '''
@@ -276,13 +280,13 @@ class Distribution:
return True
else:
return False
-
+
def get_server_list(self):
''' Return a list of used and suggested servers '''
# Store all available servers:
# Name, URI, active
mirrors = []
-
+
mirrors.append([_("Main server"), self.main_server,
len(self.used_servers) == 1 and
self.used_servers[0] == self.main_server])