[yum] Update to latest HEAD.

Zdeněk Pavlas zpavlas at fedoraproject.org
Tue Aug 13 14:51:23 UTC 2013


commit 34f39b6c42ced01b25c1a022e5b65e223cbccd9e
Author: Zdenek Pavlas <zpavlas at redhat.com>
Date:   Tue Aug 13 16:51:10 2013 +0200

    Update to latest HEAD.
    
    - deltarpm: _wait(block=True) should not wait for all running jobs. BZ 991694
    - make mdpolicy=group:small default, add group and pkgtags. BZ 989231

 yum-HEAD.patch |   53 ++++++++++++++++++++++++++++++++++++++++++-----------
 yum.spec       |    7 ++++++-
 2 files changed, 48 insertions(+), 12 deletions(-)
---
diff --git a/yum-HEAD.patch b/yum-HEAD.patch
index 2850e2b..602ccbb 100644
--- a/yum-HEAD.patch
+++ b/yum-HEAD.patch
@@ -3367,7 +3367,7 @@ index 1a8202a..1bb756e 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..5b626b9 100644
+index 515aa73..4369811 100644
 --- a/docs/yum.conf.5
 +++ b/docs/yum.conf.5
 @@ -64,7 +64,7 @@ options are: 'critical', 'emergency', 'error', 'warn' and 'debug'.
@@ -3634,6 +3634,24 @@ index 515aa73..5b626b9 100644
  
  .IP
  \fBmirrorlist_expire \fR
+@@ -462,12 +600,12 @@ always did, however it now does some checking on the index and reverts if
+ it classifies it as bad.
+ 
+ `group:primary' - Download the primary metadata with the index. This contains
+-most of the package information and so is almost always required anyway. This
+-is the default.
++most of the package information and so is almost always required anyway.
+ 
+-`group:small' - With the primary also download the updateinfo metadata, this is
+-required for yum-security operations and it also used in the graphical clients.
+-This file also tends to be significantly smaller than most others.
++`group:small' - With the primary also download the updateinfo metadata, groups,
++and pkgtags. This is required for yum-security operations and it also used in
++the graphical clients. This file also tends to be significantly smaller than
++most others. This is the default.
+ 
+ `group:main' - With the primary and updateinfo download the filelists metadata
+ and the group metadata. The filelists data is required for operations like
 @@ -480,6 +618,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.
  
@@ -191316,7 +191334,7 @@ index 65f6d5e..af79a55 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..6fcfb3e 100644
+index d09511f..cd3ef2e 100644
 --- a/yum/config.py
 +++ b/yum/config.py
 @@ -45,15 +45,18 @@ from misc import get_uuid, read_in_items_from_dot_dir
@@ -192090,10 +192108,12 @@ index d09511f..6fcfb3e 100644
      # Time in seconds (1 day). NOTE: This isn't used when using metalinks
      mirrorlist_expire = SecondsOption(60 * 60 * 24)
      # XXX rpm_check_debug is unused, left around for API compatibility for now
-@@ -698,12 +819,14 @@ class YumConf(StartupConf):
+@@ -697,13 +818,15 @@ class YumConf(StartupConf):
+     skip_broken = BoolOption(False)
      #  Note that "instant" is the old behaviour, but group:primary is very
      # similar but better :).
-     mdpolicy = ListOption(['group:primary'])
+-    mdpolicy = ListOption(['group:primary'])
++    mdpolicy = ListOption(['group:small'])
 +    mddownloadpolicy = SelectionOption('sqlite', ('sqlite', 'xml'))
      #  ('instant', 'group:all', 'group:main', 'group:small', 'group:primary'))
 -    multilib_policy = SelectionOption('all',('best', 'all'))
@@ -192999,10 +193019,10 @@ index 6d744c0..52b751b 100644
          self.conflict = conflict # what the conflict was between them
 diff --git a/yum/drpm.py b/yum/drpm.py
 new file mode 100644
-index 0000000..47e7f5d
+index 0000000..464f17c
 --- /dev/null
 +++ b/yum/drpm.py
-@@ -0,0 +1,320 @@
+@@ -0,0 +1,324 @@
 +#  Integrated delta rpm support
 +#  Copyright 2013 Zdenek Pavlas
 +
@@ -193261,6 +193281,10 @@ index 0000000..47e7f5d
 +                os.unlink(po.localpath)
 +                po.localpath = po.rpm.localpath # for --downloadonly
 +            num += 1
++
++            # when blocking, one is enough
++            if block:
++                break
 +        return num
 +
 +    def rebuild(self, po):
@@ -193313,7 +193337,7 @@ index 0000000..47e7f5d
 +        if self.limit <= len(self.jobs):
 +            if not block:
 +                return False
-+            self.wait((self.limit - len(self.jobs)) + 1)
++            self.wait(len(self.jobs) - self.limit + 1)
 +
 +        po = self._future_jobs.pop(0)
 +        args = ('-a', po.arch)
@@ -198069,7 +198093,7 @@ index 0000000..1cc207f
 +    return txmbrs
 +
 diff --git a/yum/yumRepo.py b/yum/yumRepo.py
-index e5e9ece..53c0ab2 100644
+index e5e9ece..970b628 100644
 --- a/yum/yumRepo.py
 +++ b/yum/yumRepo.py
 @@ -20,10 +20,12 @@ import time
@@ -198872,15 +198896,22 @@ index e5e9ece..53c0ab2 100644
  
      def _groupLoadRepoXML(self, text=None, mdtypes=None):
          """ Retrieve the new repomd.xml from the repository, then check it
-@@ -1421,7 +1628,7 @@ class YumRepository(Repository, config.RepoConf):
+@@ -1421,11 +1628,11 @@ class YumRepository(Repository, config.RepoConf):
              self._commonRetrieveDataMD(mdtypes)
  
      def _mdpolicy2mdtypes(self):
 -        md_groups = {'instant'       : [],
 +        md_groups = {'instant'       : ['__None__'],
                       'group:primary' : ['primary'],
-                      'group:small'   : ["primary", "updateinfo"],
-                      'group:main'    : ["primary", "group", "filelists",
+-                     'group:small'   : ["primary", "updateinfo"],
+-                     'group:main'    : ["primary", "group", "filelists",
+-                                        "updateinfo", "prestodelta"]}
++                     'group:small'   : ["primary", "updateinfo", "group", "pkgtags"],
++                     'group:main'    : ["primary", "updateinfo", "group", "pkgtags",
++                                        "filelists", "prestodelta"]}
+         mdtypes = set()
+         if type(self.mdpolicy) in types.StringTypes:
+             mdtypes.update(md_groups.get(self.mdpolicy, [self.mdpolicy]))
 @@ -1436,6 +1643,7 @@ class YumRepository(Repository, config.RepoConf):
          if not mdtypes or 'group:all' in mdtypes:
              mdtypes = None
diff --git a/yum.spec b/yum.spec
index a261bdf..709da01 100644
--- a/yum.spec
+++ b/yum.spec
@@ -41,7 +41,7 @@ BuildRequires: bash-completion
 Summary: RPM package installer/updater/manager
 Name: yum
 Version: 3.4.3
-Release: 105%{?dist}
+Release: 106%{?dist}
 License: GPLv2+
 Group: System Environment/Base
 Source0: http://yum.baseurl.org/download/3.4/%{name}-%{version}.tar.gz
@@ -403,6 +403,11 @@ exit 0
 %endif
 
 %changelog
+* Tue Aug 13 2013 Zdenek Pavlas <zpavlas at redhat.com> - 3.4.3-106
+- Update to latest HEAD.
+- deltarpm: _wait(block=True) should not wait for all running jobs. BZ 991694
+- make mdpolicy=group:small default, add group and pkgtags. BZ 989231
+
 * Tue Aug  6 2013 Zdenek Pavlas <zpavlas at redhat.com> - 3.4.3-105
 - Update to latest HEAD.
 - yum-cron: smtp-compliant email_from default. BZ 982696


More information about the scm-commits mailing list