[yum] BZ 822009

Zdeněk Pavlas zpavlas at fedoraproject.org
Wed May 16 07:16:33 UTC 2012


commit 9dc8e40bd9f27905860bd0eef06da30af5578f39
Author: Zdeněk Pavlas <zpavlas at redhat.com>
Date:   Wed May 16 09:15:32 2012 +0200

    BZ 822009

 yum-HEAD.patch |   57 +++++++++++++++++++++++++++++--------------------------
 yum.spec       |    5 +++-
 2 files changed, 34 insertions(+), 28 deletions(-)
---
diff --git a/yum-HEAD.patch b/yum-HEAD.patch
index b605f1f..44a2188 100644
--- a/yum-HEAD.patch
+++ b/yum-HEAD.patch
@@ -157241,10 +157241,21 @@ index 9b265f9..24a1f9e 100644
 +
 +        self.display.verify_txmbr(self.base, txmbr, count)
 diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
-index 8a6f6f3..f6df93e 100644
+index 8a6f6f3..ba929de 100644
 --- a/yum/sqlitesack.py
 +++ b/yum/sqlitesack.py
-@@ -406,7 +406,7 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
+@@ -382,6 +382,10 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
+ 
+     def returnPrco(self, prcotype, printable=False):
+         prcotype = _share_data(prcotype)
++        if prcotype == 'strong_requires':
++            # pkg not installed so we don't know require flags yet
++            # returning all requires should work in most cases
++            prcotype = 'requires'
+         if isinstance(self.prco[prcotype], tuple):
+             sql = "SELECT name, version, release, epoch, flags " \
+                   "FROM %s WHERE pkgKey = ?" % prcotype
+@@ -406,7 +410,7 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
          requires = []
          for ob in cur:
              pre = "0"
@@ -157253,7 +157264,7 @@ index 8a6f6f3..f6df93e 100644
                  pre = "1"
              prco_set = (_share_data(ob['name']), _share_data(ob['flags']),
                          (_share_data(ob['epoch']),
-@@ -917,8 +917,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
+@@ -917,8 +921,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
  
          # ultra simple optimization 
          if misc.re_primary_filename(name):
@@ -157371,7 +157382,7 @@ index 2cb1acb..7da6a08 100644
          self._md[item] = val
  
 diff --git a/yum/yumRepo.py b/yum/yumRepo.py
-index e5e9ece..a739a55 100644
+index e5e9ece..57a1a29 100644
 --- a/yum/yumRepo.py
 +++ b/yum/yumRepo.py
 @@ -20,10 +20,12 @@ import time
@@ -157629,15 +157640,7 @@ index e5e9ece..a739a55 100644
                          )
  
      def getHeader(self, package, checkfunc = None, reget = 'simple',
-@@ -998,6 +1089,7 @@ class YumRepository(Repository, config.RepoConf):
- 
-     def _getFileRepoXML(self, local, text=None, grab_can_fail=None):
-         """ Call _getFile() for the repomd.xml file. """
-+        import traceback; traceback.print_stack()
-         checkfunc = (self._checkRepoXML, (), {})
-         if grab_can_fail is None:
-             grab_can_fail = 'old_repo_XML' in self._oldRepoMDData
-@@ -1020,7 +1112,7 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1020,7 +1111,7 @@ class YumRepository(Repository, config.RepoConf):
              if grab_can_fail:
                  return None
              raise Errors.RepoError, 'Error downloading file %s: %s' % (local, e)
@@ -157646,7 +157649,7 @@ index e5e9ece..a739a55 100644
              misc.unlink_f(tfname)
              if grab_can_fail:
                  return None
-@@ -1260,6 +1352,9 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1260,6 +1351,9 @@ class YumRepository(Repository, config.RepoConf):
          return True
  
      def _check_db_version(self, mdtype, repoXML=None):
@@ -157656,7 +157659,7 @@ index e5e9ece..a739a55 100644
          if repoXML is None:
              repoXML = self.repoXML
          if mdtype in repoXML.repoData:
-@@ -1277,11 +1372,11 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1277,11 +1371,11 @@ class YumRepository(Repository, config.RepoConf):
              return None
  
          if not file_check:
@@ -157671,7 +157674,7 @@ index e5e9ece..a739a55 100644
              if not os.path.exists(local):
                  local = misc.decompress(local, fn_only=True)
                  compressed = True
-@@ -1302,6 +1397,17 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1302,6 +1396,17 @@ class YumRepository(Repository, config.RepoConf):
              into the delete list, this means metadata can change filename
              without us leaking it. """
  
@@ -157689,7 +157692,7 @@ index e5e9ece..a739a55 100644
          def _mdtype_eq(omdtype, odata, nmdtype, ndata):
              """ Check if two returns from _get_mdtype_data() are equal. """
              if ndata is None:
-@@ -1333,8 +1439,7 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1333,8 +1438,7 @@ class YumRepository(Repository, config.RepoConf):
  
          # Inited twice atm. ... sue me
          self._oldRepoMDData['new_MD_files'] = []
@@ -157699,7 +157702,7 @@ index e5e9ece..a739a55 100644
          for mdtype in all_mdtypes:
              (nmdtype, ndata) = self._get_mdtype_data(mdtype)
  
-@@ -1371,43 +1476,16 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1371,43 +1475,16 @@ class YumRepository(Repository, config.RepoConf):
              # No old repomd data, but we might still have uncompressed MD
              if self._groupCheckDataMDValid(ndata, nmdtype, mdtype):
                  continue
@@ -157748,7 +157751,7 @@ index e5e9ece..a739a55 100644
  
      def _groupLoadRepoXML(self, text=None, mdtypes=None):
          """ Retrieve the new repomd.xml from the repository, then check it
-@@ -1421,7 +1499,7 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1421,7 +1498,7 @@ class YumRepository(Repository, config.RepoConf):
              self._commonRetrieveDataMD(mdtypes)
  
      def _mdpolicy2mdtypes(self):
@@ -157757,7 +157760,7 @@ index e5e9ece..a739a55 100644
                       'group:primary' : ['primary'],
                       'group:small'   : ["primary", "updateinfo"],
                       'group:main'    : ["primary", "group", "filelists",
-@@ -1436,6 +1514,7 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1436,6 +1513,7 @@ class YumRepository(Repository, config.RepoConf):
          if not mdtypes or 'group:all' in mdtypes:
              mdtypes = None
          else:
@@ -157765,7 +157768,7 @@ index e5e9ece..a739a55 100644
              mdtypes = sorted(list(mdtypes))
          return mdtypes
  
-@@ -1451,12 +1530,7 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1451,12 +1529,7 @@ class YumRepository(Repository, config.RepoConf):
      def _getRepoXML(self):
          if self._repoXML:
              return self._repoXML
@@ -157779,7 +157782,7 @@ index e5e9ece..a739a55 100644
          return self._repoXML
  
  
-@@ -1514,7 +1588,7 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1514,7 +1587,7 @@ class YumRepository(Repository, config.RepoConf):
          return self._checkMD(fn, mdtype, openchecksum)
  
      def _checkMD(self, fn, mdtype, openchecksum=False,
@@ -157788,7 +157791,7 @@ index e5e9ece..a739a55 100644
          """ Internal function, use .checkMD() from outside yum. """
  
          thisdata = data # So the argument name is nicer
-@@ -1537,6 +1611,18 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1537,6 +1610,18 @@ class YumRepository(Repository, config.RepoConf):
          if size is not None:
              size = int(size)
  
@@ -157807,7 +157810,7 @@ index e5e9ece..a739a55 100644
          try: # get the local checksum
              l_csum = self._checksum(r_ctype, file, datasize=size)
          except Errors.RepoError, e:
-@@ -1551,15 +1637,13 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1551,15 +1636,13 @@ class YumRepository(Repository, config.RepoConf):
                  return None
              raise URLGrabError(-1, 'Metadata file does not match checksum')
  
@@ -157824,7 +157827,7 @@ index e5e9ece..a739a55 100644
          """ Internal function, use .retrieveMD() from outside yum. """
          #  Note that this can raise Errors.RepoMDError if mdtype doesn't exist
          # for this repo.
-@@ -1597,7 +1681,9 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1597,7 +1680,9 @@ class YumRepository(Repository, config.RepoConf):
                  return local # it's the same return the local one
  
          try:
@@ -157835,7 +157838,7 @@ index e5e9ece..a739a55 100644
              text = "%s/%s" % (self.id, mdtype)
              if thisdata.size is None:
                  reget = None
-@@ -1613,8 +1699,9 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1613,8 +1698,9 @@ class YumRepository(Repository, config.RepoConf):
                                    checkfunc=checkfunc, 
                                    text=text,
                                    cache=self.http_caching == 'all',
@@ -157847,7 +157850,7 @@ index e5e9ece..a739a55 100644
              if retrieve_can_fail:
                  return None
              raise
-@@ -1624,7 +1711,6 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1624,7 +1710,6 @@ class YumRepository(Repository, config.RepoConf):
              raise Errors.RepoError, \
                  "Could not retrieve %s matching remote checksum from %s" % (local, self)
          else:
diff --git a/yum.spec b/yum.spec
index 9a97104..b42cfd2 100644
--- a/yum.spec
+++ b/yum.spec
@@ -18,7 +18,7 @@
 Summary: RPM package installer/updater/manager
 Name: yum
 Version: 3.4.3
-Release: 25%{?dist}
+Release: 26%{?dist}
 License: GPLv2+
 Group: System Environment/Base
 Source0: http://yum.baseurl.org/download/3.4/%{name}-%{version}.tar.gz
@@ -313,6 +313,9 @@ exit 0
 %endif
 
 %changelog
+* Wed May 16 2012 Zdenek Pavlas <zpavlas at redhat.com> - 3.4.3-26
+- update to latest master HEAD
+
 * Mon May 14 2012 Zdenek Pavlas <zpavlas at redhat.com> - 3.4.3-25
 - update to latest HEAD.
 - merged multi-downloader code


More information about the scm-commits mailing list