[yum] update to latest HEAD.

James Antill james at fedoraproject.org
Fri Mar 8 20:54:09 UTC 2013


commit 88ac20fac6946e0c0746218412c889eeba6c0979
Author: James Antill <james at and.org>
Date:   Fri Mar 8 15:54:00 2013 -0500

    update to latest HEAD.
    
    - Fix obsoletes in "yum check".
    - Drop drpm rebuild defaults back to 2 workers.

 yum-HEAD.patch |   84 ++++++++++++++++++++++----------------------------------
 yum.spec       |    7 ++++-
 2 files changed, 39 insertions(+), 52 deletions(-)
---
diff --git a/yum-HEAD.patch b/yum-HEAD.patch
index 6a9c3c3..fc1cbfd 100644
--- a/yum-HEAD.patch
+++ b/yum-HEAD.patch
@@ -2994,7 +2994,7 @@ index 1a8202a..4012a7f 100644
  List the packages installed on the system that are obsoleted by packages
  in any yum repository listed in the config file.
 diff --git a/docs/yum.conf.5 b/docs/yum.conf.5
-index 515aa73..9d9a261 100644
+index 515aa73..e07d38c 100644
 --- a/docs/yum.conf.5
 +++ b/docs/yum.conf.5
 @@ -114,15 +114,27 @@ are causing problems from the transaction.
@@ -3101,7 +3101,7 @@ index 515aa73..9d9a261 100644
  \fBinstallroot \fR
  Specifies an alternative installroot, relative to which all packages will be
  installed. 
-@@ -300,6 +357,35 @@ with the \fBthrottle\fR option (above). If \fBthrottle\fR is a percentage and
+@@ -300,6 +357,40 @@ with the \fBthrottle\fR option (above). If \fBthrottle\fR is a percentage and
  ignored. Default is `0' (no bandwidth throttling). 
  
  .IP
@@ -3125,7 +3125,12 @@ index 515aa73..9d9a261 100644
 +When non-zero, delta-RPM files are used if available.  The value specifies
 +the maximum number of "applydeltarpm" processes Yum will spawn, if the value
 +is negative then yum works out how many cores you have and multiplies that
-+by the value (cores=2, deltarpm=-2; 4 processes). (-2 by default).
++by the value (cores=2, deltarpm=-2; 4 processes). (2 by default).
++
++Note that the "applydeltarpm" process uses a significant amount of disk IO,
++so running too many instances can significantly slow down all disk IO including
++the downloads that yum is doing (thus. a too high value can make everything
++slower).
 +
 +.IP
 +\fBdeltarpm_percentage\fR
@@ -3137,7 +3142,7 @@ index 515aa73..9d9a261 100644
  \fBsslcacert \fR
  Path to the directory containing the databases of the certificate authorities
  yum should use to verify SSL certificates. Defaults to none - uses system
-@@ -331,6 +417,15 @@ Path to the SSL client key yum should use to connect to repos/remote sites
+@@ -331,6 +422,15 @@ Path to the SSL client key yum should use to connect to repos/remote sites
  Defaults to none.
  
  .IP
@@ -3153,7 +3158,7 @@ index 515aa73..9d9a261 100644
  \fBhistory_record \fR
  Boolean - should yum record history entries for transactions. This takes some
  disk space, and some extra time in the transactions. But it allows how to know a
-@@ -438,6 +533,31 @@ It's also possible to use the word "never", meaning that the metadata will
+@@ -438,6 +538,31 @@ It's also possible to use the word "never", meaning that the metadata will
  never expire. Note that when using a metalink file the metalink must always
  be newer than the metadata for the repository, due to the validation, so this
  timeout also applies to the metalink file.
@@ -3185,7 +3190,7 @@ index 515aa73..9d9a261 100644
  
  .IP
  \fBmirrorlist_expire \fR
-@@ -480,6 +600,19 @@ not listed above is the other metadata, which contains the changelog information
+@@ -480,6 +605,19 @@ not listed above is the other metadata, which contains the changelog information
  which is used by yum-changelog. This is what "yum makecache" uses.
  
  .IP
@@ -3205,7 +3210,7 @@ index 515aa73..9d9a261 100644
  \fBmultilib_policy \fR
  Can be set to 'all' or 'best'. All means install all possible arches for any package you 
  want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64, 
-@@ -587,14 +720,65 @@ be downloaded. The updates list is what is printed when you run "yum update",
+@@ -587,14 +725,65 @@ be downloaded. The updates list is what is printed when you run "yum update",
  Default is `normal'.
  See color_list_installed_older for possible values.
  
@@ -3271,7 +3276,7 @@ index 515aa73..9d9a261 100644
  
  
  .SH "[repository] OPTIONS"
-@@ -755,6 +939,16 @@ repository.
+@@ -755,6 +944,16 @@ repository.
  Overrides the \fBbandwidth\fR option from the [main] section for this
  repository.
  
@@ -3288,7 +3293,7 @@ index 515aa73..9d9a261 100644
  
  .IP
  \fBsslcacert \fR
-@@ -776,6 +970,10 @@ repository.
+@@ -776,6 +975,10 @@ repository.
  Overrides the \fBsslclientkey\fR option from the [main] section for this
  repository.
  
@@ -3299,7 +3304,7 @@ index 515aa73..9d9a261 100644
  
  .IP
  \fBmetadata_expire \fR
-@@ -783,6 +981,11 @@ Overrides the \fBmetadata_expire\fR option from the [main] section for this
+@@ -783,6 +986,11 @@ Overrides the \fBmetadata_expire\fR option from the [main] section for this
  repository.
  
  .IP
@@ -3311,7 +3316,7 @@ index 515aa73..9d9a261 100644
  \fBmirrorlist_expire \fR
  Overrides the \fBmirrorlist_expire\fR option from the [main] section for this
  repository.
-@@ -824,7 +1027,16 @@ as greater/less than any other. defaults to 1000
+@@ -824,7 +1032,16 @@ as greater/less than any other. defaults to 1000
  If set to True yum will continue running if this repository cannot be 
  contacted for any reason. This should be set carefully as all repos are consulted
  for any given command. Defaults to False.
@@ -189993,7 +189998,7 @@ index 65f6d5e..fe5649d 100755
          print >> sys.stderr, "newcomps.py: No such file:\'%s\'" % sys.argv[1]
          sys.exit(1)
 diff --git a/yum/config.py b/yum/config.py
-index d09511f..f658f5b 100644
+index d09511f..438cb88 100644
 --- a/yum/config.py
 +++ b/yum/config.py
 @@ -45,15 +45,18 @@ from misc import get_uuid, read_in_items_from_dot_dir
@@ -190744,7 +190749,7 @@ index d09511f..f658f5b 100644
 +            allowed = ('ipv4', 'ipv6', 'whatever'),
 +            mapper  = {'4': 'ipv4', '6': 'ipv6'})
 +    max_connections = IntOption(0, range_min=0)
-+    deltarpm = IntOption(-2, range_min=-16, range_max=128)
++    deltarpm = IntOption(2, range_min=-16, range_max=128)
 +    deltarpm_percentage = IntOption(75, range_min=1, range_max=100)
  
      http_caching = SelectionOption('all', ('none', 'packages', 'all'))
@@ -194442,7 +194447,7 @@ index 3793bad..3522512 100644
              sack = repo.getPackageSack()
              try:
 diff --git a/yum/rpmsack.py b/yum/rpmsack.py
-index e289a7a..03f4646 100644
+index e289a7a..a4e5336 100644
 --- a/yum/rpmsack.py
 +++ b/yum/rpmsack.py
 @@ -48,6 +48,17 @@ def _open_no_umask(*args):
@@ -194472,19 +194477,7 @@ index e289a7a..03f4646 100644
              for pkg in self.rpmdb.getProvides(reqn, reqf, reqevr):
                  if pkg != self:
                      pkgset.add(pkg)
-@@ -148,6 +159,11 @@ class RPMDBProblemDependency(RPMDBProblem):
-             return "%s %s %s" % (self.pkg, _('has missing requires of'),
-                                  self.missing)
- 
-+        if self.problem == 'obsoletes':
-+            return "%s %s %s: %s" % (self.pkg, _('has installed obsoletes'),
-+                                     self.found,', '.join(map(str,
-+                                                              self.obsoletes)))
-+
-         return "%s %s %s: %s" % (self.pkg, _('has installed conflicts'),
-                                  self.found,', '.join(map(str, self.conflicts)))
- 
-@@ -364,7 +380,8 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -364,7 +375,8 @@ class RPMDBPackageSack(PackageSackBase):
              pkg = self.searchNevra(n, e, v, r, a)
              if not pkg:
                  # Wibble?
@@ -194494,7 +194487,7 @@ index e289a7a..03f4646 100644
                  continue
  
              pkg = pkg[0]
-@@ -534,13 +551,11 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -534,13 +546,11 @@ class RPMDBPackageSack(PackageSackBase):
              qpat = pat[0]
              if qpat in ('?', '*', '['):
                  qpat = None
@@ -194512,7 +194505,7 @@ index e289a7a..03f4646 100644
      @staticmethod
      def _match_repattern(repatterns, hdr, ignore_case):
          """ This is basically parsePackages() but for rpm hdr objects. """
-@@ -558,20 +573,20 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -558,20 +568,20 @@ class RPMDBPackageSack(PackageSackBase):
                  qname = qname.lower()
              if qpat is not None and qpat != qname and qpat != epoch[0]:
                  continue
@@ -194540,7 +194533,7 @@ index e289a7a..03f4646 100644
                             % hdr):
                  return True
          return False
-@@ -616,7 +631,7 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -616,7 +626,7 @@ class RPMDBPackageSack(PackageSackBase):
              for hdr, idx in self._get_packages():
                  if self._match_repattern(rpats, hdr, ignore_case):
                      self._makePackageObject(hdr, idx)
@@ -194549,7 +194542,7 @@ index e289a7a..03f4646 100644
  
          pkgobjlist = self._idx2pkg.values()
          # Remove gpg-pubkeys, as no sane callers expects/likes them...
-@@ -993,7 +1008,7 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -993,7 +1003,7 @@ class RPMDBPackageSack(PackageSackBase):
              return
  
          if not load_packages:
@@ -194558,7 +194551,7 @@ index e289a7a..03f4646 100644
  
          for pkgtup in checksum_data:
              if checksum_data[pkgtup] is None:
-@@ -1002,7 +1017,8 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -1002,7 +1012,8 @@ class RPMDBPackageSack(PackageSackBase):
              (n, a, e, v, r) = pkgtup
              pkg = self.searchNevra(n, e, v, r, a)
              if not pkg:
@@ -194568,7 +194561,7 @@ index e289a7a..03f4646 100644
                  continue
              pkg = pkg[0]
              (T, D) = checksum_data[pkgtup]
-@@ -1088,7 +1104,7 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -1088,7 +1099,7 @@ class RPMDBPackageSack(PackageSackBase):
                  return
  
              try:
@@ -194577,7 +194570,7 @@ index e289a7a..03f4646 100644
              except (IOError, OSError), e:
                  return
  
-@@ -1456,7 +1472,7 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -1456,7 +1467,7 @@ class RPMDBPackageSack(PackageSackBase):
          providers = set() # Speedup, as usual :)
          problems = []
          for pkg in sorted(pkgs): # The sort here is mainly for "UI"
@@ -194586,27 +194579,16 @@ index e289a7a..03f4646 100644
                  if rreq[0].startswith('rpmlib'): continue
                  if rreq in providers:            continue
  
-@@ -1481,6 +1497,19 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -1481,6 +1492,8 @@ class RPMDBPackageSack(PackageSackBase):
                  prob = RPMDBProblemDependency(pkg, "conflicts", found=found,
                                                conflicts=res)
                  problems.append(prob)
 +
-+            for creq in pkg.obsoletes:
-+                if creq[0].startswith('rpmlib'): continue
-+
-+                (req, flags, ver) = creq
-+                res = self.getProvides(req, flags, ver)
-+                if not res:
-+                    continue
-+                flags = yum.depsolve.flags.get(flags, flags)
-+                found = miscutils.formatRequire(req, ver, flags)
-+                prob = RPMDBProblemDependency(pkg, "obsoletes", found=found,
-+                                              obsoletes=res)
-+                problems.append(prob)
++            # Note that obsoletes are checked seperately, and are name only.
          return problems
  
      def _iter_two_pkgs(self, ignore_provides):
-@@ -1562,11 +1591,11 @@ class RPMDBAdditionalData(object):
+@@ -1562,11 +1575,11 @@ class RPMDBAdditionalData(object):
          self._packages = {} # pkgid = dir
          if not os.path.exists(self.conf.db_path):
              try:
@@ -194621,7 +194603,7 @@ index e289a7a..03f4646 100644
          else:
              if os.access(self.conf.db_path, os.W_OK):
                  self.conf.writable = True
-@@ -1622,6 +1651,7 @@ class RPMDBAdditionalDataPackage(object):
+@@ -1622,6 +1635,7 @@ class RPMDBAdditionalDataPackage(object):
                                  'installed_by', 'changed_by',
                                  'from_repo', 'from_repo_revision',
                                  'from_repo_timestamp', 'releasever',
@@ -194629,7 +194611,7 @@ index e289a7a..03f4646 100644
                                  'command_line'])
  
      def __init__(self, conf, pkgdir, yumdb_cache=None):
-@@ -1708,7 +1738,7 @@ class RPMDBAdditionalDataPackage(object):
+@@ -1708,7 +1722,7 @@ class RPMDBAdditionalDataPackage(object):
      def _write(self, attr, value):
          # check for self._conf.writable before going on?
          if not os.path.exists(self._mydir):
@@ -194638,7 +194620,7 @@ index e289a7a..03f4646 100644
  
          attr = _sanitize(attr)
          if attr in self._read_cached_data:
-@@ -1753,7 +1783,7 @@ class RPMDBAdditionalDataPackage(object):
+@@ -1753,7 +1767,7 @@ class RPMDBAdditionalDataPackage(object):
          if attr.endswith('.tmp'):
              raise AttributeError, "%s has no attribute %s" % (self, attr)
  
diff --git a/yum.spec b/yum.spec
index d6c1f4f..ec8bbbb 100644
--- a/yum.spec
+++ b/yum.spec
@@ -29,7 +29,7 @@
 Summary: RPM package installer/updater/manager
 Name: yum
 Version: 3.4.3
-Release: 73%{?dist}
+Release: 74%{?dist}
 License: GPLv2+
 Group: System Environment/Base
 Source0: http://yum.baseurl.org/download/3.4/%{name}-%{version}.tar.gz
@@ -385,6 +385,11 @@ exit 0
 %endif
 
 %changelog
+* Fri Mar  8 2013 James Antill <james at fedoraproject.org> - 3.4.3-74
+- update to latest HEAD.
+- Fix obsoletes in "yum check".
+- Drop drpm rebuild defaults back to 2 workers.
+
 * Thu Mar  7 2013 James Antill <james at fedoraproject.org> - 3.4.3-73
 - update to latest HEAD.
 - Queue for drpm rebuilding.


More information about the scm-commits mailing list