backend/satellite_tools/repo_plugins/yum_src.py | 37 ++++++++++--------------
1 file changed, 16 insertions(+), 21 deletions(-)
New commits:
commit 27e0b1c315c16ca0aad4da051292f3306fa0b400
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Mar 30 12:34:03 2010 +0200
url can be mirrorlist or single repo
diff --git a/backend/satellite_tools/repo_plugins/yum_src.py
b/backend/satellite_tools/repo_plugins/yum_src.py
index 69c4981..c9ed24c 100644
--- a/backend/satellite_tools/repo_plugins/yum_src.py
+++ b/backend/satellite_tools/repo_plugins/yum_src.py
@@ -15,9 +15,19 @@
#
import yum
import shutil
+import sys
from yum import config
from satellite_tools.reposync import ContentPackage
+class YumWarnings:
+ def write(self, s):
+ pass
+ def disable(self):
+ self.saved_stdout = sys.stdout
+ sys.stdout = self
+ def restore(self):
+ sys.stdout = self.saved_stdout
+
class ContentSource:
url = None
name = None
@@ -34,12 +44,15 @@ class ContentSource:
self.repo = repo
repo.cache = 0
repo.metadata_expire = 0
- if self.mirrorlist:
- repo.mirrorlist = self.url
- else:
- repo.baseurl = [self.url]
+ repo.mirrorlist = self.url
+ repo.baseurl = [self.url]
repo.basecachedir = self.cache_dir
+
+ warnings = YumWarnings()
+ warnings.disable()
repo.baseurlSetup()
+ warnings.restore()
+
repo.setup(False)
sack = repo.getPackageSack()
sack.populate(repo, 'metadata', None, 0)
commit c50b6582778a98126c8ea02686da1f9a758f9693
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Tue Mar 30 11:51:49 2010 +0200
Revert "added heuristic to recognize whether url is mirrorlist or plain
repo"
Need better implementation which works also for ftp: and file:
This reverts commit 6bc72ee3923f7eab68376dc62c030901d4db8675.
diff --git a/backend/satellite_tools/repo_plugins/yum_src.py
b/backend/satellite_tools/repo_plugins/yum_src.py
index 3e9db13..69c4981 100644
--- a/backend/satellite_tools/repo_plugins/yum_src.py
+++ b/backend/satellite_tools/repo_plugins/yum_src.py
@@ -18,18 +18,6 @@ import shutil
from yum import config
from satellite_tools.reposync import ContentPackage
-class UrlIsNotMirror(Exception):
- pass
-
-class SpacewalkYumRepository(yum.yumRepo.YumRepository):
- def _readMirrorList(self, fo, url=None):
- retval = yum.yumRepo.YumRepository._readMirrorList(self, fo, url)
- # passed repo url as mirrorlist
- if (len(retval[0]) == len(retval[1])
- and retval[1][0][0:2] == '<!'):
- raise UrlIsNotMirror
- return retval
-
class ContentSource:
url = None
name = None
@@ -42,21 +30,15 @@ class ContentSource:
def list_packages(self):
""" list packages"""
- repo = SpacewalkYumRepository(self.name)
+ repo = yum.yumRepo.YumRepository(self.name)
self.repo = repo
repo.cache = 0
repo.metadata_expire = 0
- repo.basecachedir = self.cache_dir
-
- try: # try if url is mirrorlist
+ if self.mirrorlist:
repo.mirrorlist = self.url
- repo.baseurlSetup()
- except UrlIsNotMirror, e:
- # well, not a mirrorlist, just plain repo
- repo.mirrorlist = None
+ else:
repo.baseurl = [self.url]
- repo.baseurlSetup()
-
+ repo.basecachedir = self.cache_dir
repo.baseurlSetup()
repo.setup(False)
sack = repo.getPackageSack()
Show replies by date