summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Plugins/Packages/Yum.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-01-25 16:06:00 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-01-25 16:06:11 -0500
commit48ee74f4af26baf165a7d43ec5923d716fa4522a (patch)
tree05ba4a4d55df76c82c3e925d590cb8671bb96ac8 /src/lib/Server/Plugins/Packages/Yum.py
parent60301459da33e4fdad4c5bc4c836c8990238dd61 (diff)
downloadbcfg2-48ee74f4af26baf165a7d43ec5923d716fa4522a.tar.gz
bcfg2-48ee74f4af26baf165a7d43ec5923d716fa4522a.tar.bz2
bcfg2-48ee74f4af26baf165a7d43ec5923d716fa4522a.zip
made automatic repository naming not suck horribly
Diffstat (limited to 'src/lib/Server/Plugins/Packages/Yum.py')
-rw-r--r--src/lib/Server/Plugins/Packages/Yum.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/lib/Server/Plugins/Packages/Yum.py b/src/lib/Server/Plugins/Packages/Yum.py
index 13a553031..a5fe706cd 100644
--- a/src/lib/Server/Plugins/Packages/Yum.py
+++ b/src/lib/Server/Plugins/Packages/Yum.py
@@ -144,8 +144,22 @@ class YumCollection(Collection):
source.get_urls()
for url_map in source.url_map:
if url_map['arch'] in self.metadata.groups:
- reponame = source.get_repo_name(url_map)
- config.add_section(reponame)
+ basereponame = source.get_repo_name(url_map)
+ reponame = basereponame
+
+ added = False
+ while not added:
+ try:
+ config.add_section(reponame)
+ added = True
+ except ConfigParser.DuplicateSectionError:
+ match = re.match("-(\d)", reponame)
+ if match:
+ rid = int(match.group(1)) + 1
+ else:
+ rid = 1
+ reponame = "%s-%d" % (basereponame, rid)
+
config.set(reponame, "name", reponame)
config.set(reponame, "baseurl", url_map['url'])
config.set(reponame, "enabled", "1")