[yum-commits] 2 commits - yum/__init__.py yum/yumRepo.py

zpavlas at osuosl.org zpavlas at osuosl.org
Wed Jan 4 15:33:17 UTC 2012


 yum/__init__.py |   22 +++++++---------------
 yum/yumRepo.py  |    7 +------
 2 files changed, 8 insertions(+), 21 deletions(-)

New commits:
commit 7aa4114b18d50addf06a0dfa4a3a5f37985d631f
Author: Zdeněk Pavlas <zpavlas at redhat.com>
Date:   Mon Jan 2 16:32:44 2012 +0100

    do globs on provides in 'yum install'. BZ 770137.
    
    - use searchProvides() as it support globs
    - remove some dead code, reduce branching
    - drop the last user of searchAll()

diff --git a/yum/__init__.py b/yum/__init__.py
index 994a840..2634670 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -2985,7 +2985,7 @@ class YumBase(depsolve.Depsolve):
                 where = self.returnPackagesByDep(arg)
             else:
                 usedDepString = False
-                where = self.pkgSack.searchAll(arg, False)
+                where = self.pkgSack.searchProvides(arg)
             self.verbose_logger.log(logginglevels.DEBUG_1,
                P_('Searching %d package', 'Searching %d packages', len(where)), len(where))
             
@@ -3851,20 +3851,12 @@ class YumBase(depsolve.Depsolve):
                     self.verbose_logger.debug(_('Checking for virtual provide or file-provide for %s'), 
                         arg)
 
-                    try:
-                        mypkgs = self.returnPackagesByDep(arg)
-                    except yum.Errors.YumBaseError, e:
-                        self.logger.critical(_('No Match for argument: %s') % to_unicode(arg))
-                    else:
-                        # install MTA* == fail, because provides don't do globs
-                        # install /usr/kerberos/bin/* == success (and we want
-                        #                                all of the pkgs)
-                        if mypkgs and not misc.re_glob(arg):
-                            mypkgs = self.bestPackagesFromList(mypkgs,
-                                                               single_name=True)
-                        if mypkgs:
-                            pkgs.extend(mypkgs)
-                        
+                    mypkgs = self.pkgSack.searchProvides(arg)
+                    if not misc.re_glob(arg):
+                        # install /usr/kerberos/bin/* == want all pkgs
+                        mypkgs = self.bestPackagesFromList(mypkgs, single_name=True)
+                    pkgs.extend(mypkgs)
+
             else:
                 nevra_dict = self._nevra_kwarg_parse(kwargs)
 
commit e9d3ac131fa8de7ba7ed66c165ff6305092cf60a
Author: Zdeněk Pavlas <zpavlas at redhat.com>
Date:   Wed Dec 14 16:55:42 2011 +0100

    Do not hide error messages when opening metadata
    
    'Cannot retrieve repository metadata (repomd.xml) for repository XY'
    does not help much, IMO.  The original exception (download failed,
    file does not exist, etc) is more descriptive.  We should:
    
    a) include it in the wrapping message
    b) do not wrap it at all
    
    This patch implements b)
    
    I'm aware that there was probably a reason to add this to yum
    and removing it could break something..

diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index f645a1a..9988cd0 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -1467,12 +1467,7 @@ Insufficient space in download directory %s
     def _getRepoXML(self):
         if self._repoXML:
             return self._repoXML
-        try:
-            self._loadRepoXML(text=self)
-        except Errors.RepoError, e:
-            msg = ("Cannot retrieve repository metadata (repomd.xml) for repository: %s. "
-                  "Please verify its path and try again" % self )
-            raise Errors.RepoError, msg
+        self._loadRepoXML(text=self)
         return self._repoXML
 
 


More information about the Yum-commits mailing list