[yum] update to latest HEAD

James Antill james at fedoraproject.org
Tue Sep 16 20:38:03 UTC 2014


commit 14a411704f4acd3fc8265faf8fec81337761f2e3
Author: James Antill <james at and.org>
Date:   Tue Sep 16 16:37:59 2014 -0400

    update to latest HEAD
    
    - Workaround history searching for [abc] character lists failures. BZ 1096147.
    - yumRepos.py - preserve queryparams in urls
    - Don't traceback in exRepoError() when repo info is not available. BZ 1114183.
    - Make check-update respect --quiet option. BZ 1133979.

 yum-HEAD.patch |  184 ++++++++++++++++++++++++++++++++++++++------------------
 yum.spec       |    9 +++-
 2 files changed, 134 insertions(+), 59 deletions(-)
---
diff --git a/yum-HEAD.patch b/yum-HEAD.patch
index 0b77428..209b197 100644
--- a/yum-HEAD.patch
+++ b/yum-HEAD.patch
@@ -199349,10 +199349,18 @@ index 0000000..e912ea1
 +
 +        return ret
 diff --git a/yum/history.py b/yum/history.py
-index 5385bd1..2f423d9 100644
+index 5385bd1..fd80191 100644
 --- a/yum/history.py
 +++ b/yum/history.py
-@@ -97,9 +97,58 @@ def _setupHistorySearchSQL(patterns=None, ignore_case=False):
+@@ -20,6 +20,7 @@
+ import time
+ import os, os.path
+ import glob
++import re
+ from weakref import proxy as weakref
+ 
+ from sqlutils import sqlite, executeSQL, sql_esc_glob
+@@ -97,9 +98,58 @@ def _setupHistorySearchSQL(patterns=None, ignore_case=False):
      return (need_full, patterns, fields, False)
  # ---- horrible Copy and paste from sqlitesack ----
  
@@ -199412,7 +199420,7 @@ index 5385bd1..2f423d9 100644
          self.name    = name
          self.version = version
          self.release = release
-@@ -111,21 +160,69 @@ class YumHistoryPackage(PackageObject):
+@@ -111,21 +161,69 @@ class YumHistoryPackage(PackageObject):
              self._checksums = [] # (type, checksum, id(0,1)
          else:
              chk = checksum.split(':')
@@ -199481,14 +199489,14 @@ index 5385bd1..2f423d9 100644
          self.state = state
  
 -        self.repoid = '<history>'
- 
 -
+ 
 -class YumHistoryRpmdbProblem(PackageObject):
 +class YumHistoryRpmdbProblem:
      """ Class representing an rpmdb problem that existed at the time of the
          transaction. """
  
-@@ -328,7 +425,8 @@ class YumMergedHistoryTransaction(YumHistoryTransaction):
+@@ -328,7 +426,8 @@ class YumMergedHistoryTransaction(YumHistoryTransaction):
      @staticmethod
      def _conv_pkg_state(pkg, state):
          npkg = YumHistoryPackageState(pkg.name, pkg.arch,
@@ -199498,7 +199506,7 @@ index 5385bd1..2f423d9 100644
          npkg._checksums = pkg._checksums
          npkg.done = pkg.done
          if _sttxt2stcode[npkg.state] in TS_INSTALL_STATES:
-@@ -557,7 +655,7 @@ class YumMergedHistoryTransaction(YumHistoryTransaction):
+@@ -557,7 +656,7 @@ class YumMergedHistoryTransaction(YumHistoryTransaction):
  class YumHistory:
      """ API for accessing the history sqlite data. """
  
@@ -199507,7 +199515,7 @@ index 5385bd1..2f423d9 100644
          self._conn = None
          
          self.conf = yum.misc.GenericHolder()
-@@ -568,6 +666,9 @@ class YumHistory:
+@@ -568,6 +667,9 @@ class YumHistory:
          self.conf.writable = False
          self.conf.readable = True
  
@@ -199517,7 +199525,7 @@ index 5385bd1..2f423d9 100644
          if not os.path.exists(self.conf.db_path):
              try:
                  os.makedirs(self.conf.db_path)
-@@ -580,7 +681,6 @@ class YumHistory:
+@@ -580,7 +682,6 @@ class YumHistory:
                  self.conf.writable = True
  
          DBs = glob.glob('%s/history-*-*-*.sqlite' % self.conf.db_path)
@@ -199525,7 +199533,7 @@ index 5385bd1..2f423d9 100644
          for d in reversed(sorted(DBs)):
              fname = os.path.basename(d)
              fname = fname[len("history-"):-len(".sqlite")]
-@@ -597,7 +697,9 @@ class YumHistory:
+@@ -597,7 +698,9 @@ class YumHistory:
              break
  
          if self._db_file is None:
@@ -199536,7 +199544,7 @@ index 5385bd1..2f423d9 100644
          
          # make an addon path for where we're going to stick 
          # random additional history info - probably from plugins and what-not
-@@ -638,13 +740,15 @@ class YumHistory:
+@@ -638,13 +741,15 @@ class YumHistory:
          return self._conn.cursor()
      def _commit(self):
          return self._conn.commit()
@@ -199553,7 +199561,7 @@ index 5385bd1..2f423d9 100644
          cur = self._get_cursor()
          executeSQL(cur, """SELECT pkgtupid, checksum FROM pkgtups
                             WHERE name=? AND arch=? AND
-@@ -659,6 +763,9 @@ class YumHistory:
+@@ -659,6 +764,9 @@ class YumHistory:
              if checksum == sql_checksum:
                  return sql_pkgtupid
          
@@ -199563,7 +199571,7 @@ index 5385bd1..2f423d9 100644
          (n,a,e,v,r) = pkgtup
          (n,a,e,v,r) = (to_unicode(n),to_unicode(a),
                         to_unicode(e),to_unicode(v),to_unicode(r))
-@@ -674,23 +781,28 @@ class YumHistory:
+@@ -674,23 +782,28 @@ class YumHistory:
                                  (name, arch, epoch, version, release)
                                  VALUES (?, ?, ?, ?, ?)""", (n,a,e,v,r))
          return cur.lastrowid
@@ -199600,7 +199608,7 @@ index 5385bd1..2f423d9 100644
  
      @staticmethod
      def txmbr2state(txmbr):
-@@ -984,7 +1096,8 @@ class YumHistory:
+@@ -984,7 +1097,8 @@ class YumHistory:
                        ORDER BY name ASC, epoch ASC""", (tid,))
          ret = []
          for row in cur:
@@ -199610,7 +199618,7 @@ index 5385bd1..2f423d9 100644
              ret.append(obj)
          return ret
      def _old_data_pkgs(self, tid):
-@@ -998,7 +1111,7 @@ class YumHistory:
+@@ -998,7 +1112,7 @@ class YumHistory:
          ret = []
          for row in cur:
              obj = YumHistoryPackageState(row[0],row[1],row[2],row[3],row[4],
@@ -199619,7 +199627,7 @@ index 5385bd1..2f423d9 100644
              obj.done     = row[6] == 'TRUE'
              obj.state_installed = None
              if _sttxt2stcode[obj.state] in TS_INSTALL_STATES:
-@@ -1018,7 +1131,8 @@ class YumHistory:
+@@ -1018,7 +1132,8 @@ class YumHistory:
                        ORDER BY name ASC, epoch ASC""", (tid,))
          ret = []
          for row in cur:
@@ -199629,7 +199637,7 @@ index 5385bd1..2f423d9 100644
              ret.append(obj)
          return ret
      def _old_prob_pkgs(self, rpid):
-@@ -1032,7 +1146,8 @@ class YumHistory:
+@@ -1032,7 +1147,8 @@ class YumHistory:
                        ORDER BY name ASC, epoch ASC""", (rpid,))
          ret = []
          for row in cur:
@@ -199639,7 +199647,7 @@ index 5385bd1..2f423d9 100644
              obj.main = row[6] == 'TRUE'
              ret.append(obj)
          return ret
-@@ -1091,7 +1206,11 @@ class YumHistory:
+@@ -1091,7 +1207,11 @@ class YumHistory:
          if tids and len(tids) <= yum.constants.PATTERNS_INDEXED_MAX:
              params = tids = list(set(tids))
              sql += " WHERE tid IN (%s)" % ", ".join(['?'] * len(tids))
@@ -199652,7 +199660,7 @@ index 5385bd1..2f423d9 100644
          if limit is not None:
              sql += " LIMIT " + str(limit)
          executeSQL(cur, sql, params)
-@@ -1151,6 +1270,127 @@ class YumHistory:
+@@ -1151,6 +1271,127 @@ class YumHistory:
          assert len(ret) == 1
          return ret[0]
  
@@ -199780,7 +199788,25 @@ index 5385bd1..2f423d9 100644
      def _yieldSQLDataList(self, patterns, fields, ignore_case):
          """Yields all the package data for the given params. """
  
-@@ -1220,6 +1460,48 @@ class YumHistory:
+@@ -1182,6 +1423,17 @@ class YumHistory:
+         if cur is None:
+             return set()
+ 
++        #  This is kind of a hack, we can't do 'y[u]m' in SQL. In real yum
++        # we manually load everything and then do it inside yum (which is slow
++        # and a lot of code, but nobody uses it anyway and we already had the
++        # code). Here we don't have the code though, and still nobody will use
++        # it. So we cheat:
++        #  1. Convert 'y[u]m' into 'y?m' ... it returns more answers than it
++        #     should, but the correct answers are there.
++        #  2. Convert 'y[m' info 'y!m' ... neither will match anything, so w/e.
++        patterns = [re.sub('\[[^]]+\]', '?', x).replace('[', '!')
++                    for x in patterns]
++
+         data = _setupHistorySearchSQL(patterns, ignore_case)
+         (need_full, npatterns, fields, names) = data
+ 
+@@ -1220,6 +1472,48 @@ class YumHistory:
              tids.add(row[0])
          return tids
  
@@ -199829,7 +199855,7 @@ index 5385bd1..2f423d9 100644
      _update_ops_2 = ['''\
  \
   CREATE TABLE trans_skip_pkgs (
-@@ -1307,6 +1589,8 @@ class YumHistory:
+@@ -1307,6 +1601,8 @@ class YumHistory:
          self._cached_updated_2 = True
          return True
  
@@ -199838,7 +199864,7 @@ index 5385bd1..2f423d9 100644
      def _create_db_file(self):
          """ Create a new history DB file, populating tables etc. """
  
-@@ -1321,8 +1605,10 @@ class YumHistory:
+@@ -1321,8 +1617,10 @@ class YumHistory:
              if os.path.exists(_db_file + '-journal'):
                  os.rename(_db_file  + '-journal', _db_file + '-journal.old')
          self._db_file = _db_file
@@ -199850,7 +199876,7 @@ index 5385bd1..2f423d9 100644
              # make them default to 0600 - sysadmin can change it later
              # if they want
              fo = os.open(self._db_file, os.O_CREAT, 0600)
-@@ -1374,7 +1660,10 @@ class YumHistory:
+@@ -1374,7 +1672,10 @@ class YumHistory:
              cur.execute(op)
          for op in self._update_ops_2:
              cur.execute(op)
@@ -204269,7 +204295,7 @@ index 0000000..8d91f88
 +    return txmbrs
 +
 diff --git a/yum/yumRepo.py b/yum/yumRepo.py
-index e5e9ece..4d64dff 100644
+index e5e9ece..b95b333 100644
 --- a/yum/yumRepo.py
 +++ b/yum/yumRepo.py
 @@ -20,10 +20,12 @@ import time
@@ -204744,6 +204770,29 @@ index e5e9ece..4d64dff 100644
              self._dirSetupMkdir_p(dir)
  
          # persistdir is really root-only but try the make anyway and just
+@@ -677,11 +845,11 @@ class YumRepository(Repository, config.RepoConf):
+             if url in ['', None]:
+                 continue
+             url = parser.varReplace(url, self.yumvar)
+-            if url[-1] != '/':
+-                url= url + '/'
+             try:
+                 # This started throwing ValueErrors, BZ 666826
+                 (s,b,p,q,f,o) = urlparse.urlparse(url)
++                if p[-1] != '/':
++                    p = p + '/'
+             except (ValueError, IndexError, KeyError), e:
+                 s = 'blah'
+ 
+@@ -689,7 +857,7 @@ class YumRepository(Repository, config.RepoConf):
+                 skipped = url
+                 continue
+             else:
+-                goodurls.append(url)
++                goodurls.append(urlparse.urlunparse((s,b,p,q,f,o)))
+ 
+         if skipped is not None:
+             # Caller cleans up for us.
 @@ -714,16 +882,16 @@ class YumRepository(Repository, config.RepoConf):
              local = self.metalink_filename + '.tmp'
              if not self._metalinkCurrent():
@@ -204830,6 +204879,15 @@ index e5e9ece..4d64dff 100644
          if url and scheme != "media":
              ugopts = self._default_grabopts(cache=cache)
              ug = URLGrabber(progress_obj = self.callback,
+@@ -807,7 +996,7 @@ class YumRepository(Repository, config.RepoConf):
+                             size=size,
+                             **ugopts)
+ 
+-            remote = url + '/' + relative
++            remote = urlparse.urlunsplit((scheme, netloc, path + '/' + relative, query, fragid))
+ 
+             try:
+                 result = ug.urlgrab(misc.to_utf8(remote), local,
 @@ -815,15 +1004,9 @@ class YumRepository(Repository, config.RepoConf):
                                      range=(start, end),
                                      )
@@ -205437,7 +205495,7 @@ index e5e9ece..4d64dff 100644
          fo = None
  
 diff --git a/yumcommands.py b/yumcommands.py
-index 4dcbea7..b610f3a 100644
+index 4dcbea7..ac99150 100644
 --- a/yumcommands.py
 +++ b/yumcommands.py
 @@ -13,6 +13,7 @@
@@ -206436,7 +206494,7 @@ index 4dcbea7..b610f3a 100644
          cmd, extcmds = self._grp_cmd(basecmd, extcmds)
  
          self._grp_setup_doCommand(base)
-@@ -514,140 +1058,573 @@ class GroupsCommand(YumCommand):
+@@ -514,143 +1058,582 @@ class GroupsCommand(YumCommand):
          if cmd == 'list':
              return base.returnGroupLists(extcmds)
  
@@ -207036,7 +207094,16 @@ index 4dcbea7..b610f3a 100644
                  ypl.obsoletes = typl.obsoletes
                  ypl.obsoletesTuples = typl.obsoletesTuples
  
-@@ -673,164 +1650,474 @@ class CheckUpdateCommand(YumCommand):
++            opts = base.optparser.firstParse(base.args)
++            if opts.quiet:
++                if len(ypl.updates) > 0 or len(ypl.obsoletes) > 0:
++                    result = 100
++                return result, []
++
+             columns = _list_cmd_calc_columns(base, ypl)
+             if len(ypl.updates) > 0:
+                 local_pkgs = {}
+@@ -673,164 +1656,474 @@ class CheckUpdateCommand(YumCommand):
                  for obtup in sorted(ypl.obsoletesTuples,
                                      key=operator.itemgetter(0)):
                      base.updatesObsoletesList(obtup, 'obsoletes',
@@ -207542,7 +207609,7 @@ index 4dcbea7..b610f3a 100644
          def _repo_size(repo):
              ret = 0
              for pkg in repo.sack.returnPackages():
-@@ -838,12 +2125,9 @@ class RepoListCommand(YumCommand):
+@@ -838,12 +2131,9 @@ class RepoListCommand(YumCommand):
              return base.format_number(ret)
  
          def _repo_match(repo, patterns):
@@ -207557,7 +207624,7 @@ index 4dcbea7..b610f3a 100644
                      return True
              return False
  
-@@ -857,7 +2141,10 @@ class RepoListCommand(YumCommand):
+@@ -857,7 +2147,10 @@ class RepoListCommand(YumCommand):
              arg = 'enabled'
          extcmds = map(lambda x: x.lower(), extcmds)
  
@@ -207569,7 +207636,7 @@ index 4dcbea7..b610f3a 100644
          if arg != 'disabled' or extcmds:
              try:
                  # Setup so len(repo.sack) is correct
-@@ -866,6 +2153,13 @@ class RepoListCommand(YumCommand):
+@@ -866,6 +2159,13 @@ class RepoListCommand(YumCommand):
              except yum.Errors.RepoError:
                  if verbose:
                      raise
@@ -207583,7 +207650,7 @@ index 4dcbea7..b610f3a 100644
  
          repos = base.repos.repos.values()
          repos.sort()
-@@ -924,111 +2218,113 @@ class RepoListCommand(YumCommand):
+@@ -924,111 +2224,113 @@ class RepoListCommand(YumCommand):
                  ui_enabled = dhibeg + _('disabled') + hiend
                  ui_endis_wid = utf8_width(_('disabled'))
  
@@ -207793,7 +207860,7 @@ index 4dcbea7..b610f3a 100644
  
          if not verbose and cols:
              #  Work out the first (id) and last (enabled/disalbed/count),
-@@ -1088,21 +2384,64 @@ class RepoListCommand(YumCommand):
+@@ -1088,21 +2390,64 @@ class RepoListCommand(YumCommand):
          return 0, ['repolist: ' +to_unicode(locale.format("%d", tot_num, True))]
  
      def needTs(self, base, basecmd, extcmds):
@@ -207858,7 +207925,7 @@ index 4dcbea7..b610f3a 100644
          if len(extcmds) == 0:
              base.usage()
              raise cli.CliError
-@@ -1147,82 +2486,230 @@ class HelpCommand(YumCommand):
+@@ -1147,82 +2492,230 @@ class HelpCommand(YumCommand):
          return help_output
  
      def doCommand(self, base, basecmd, extcmds):
@@ -208049,13 +208116,12 @@ index 4dcbea7..b610f3a 100644
 +    """
 +
      def getNames(self):
--        return ['version']
 +        """Return a list containing the names of this command.  This
 +        command can be called from the command line by using any of these names.
 +
 +        :return: a list containing the names of this command
 +        """
-+        return ['version']
+         return ['version']
  
      def getUsage(self):
 +        """Return a usage string for this command.
@@ -208099,7 +208165,7 @@ index 4dcbea7..b610f3a 100644
  
          def _append_repos(cols, repo_data):
              for repoid in sorted(repo_data):
-@@ -1264,7 +2751,7 @@ class VersionCommand(YumCommand):
+@@ -1264,7 +2757,7 @@ class VersionCommand(YumCommand):
  
          if vcmd == 'groupinfo':
              for group in groups:
@@ -208108,7 +208174,7 @@ index 4dcbea7..b610f3a 100644
                      continue
                  print _(" Group   :"), group
                  print _(" Packages:")
-@@ -1284,11 +2771,35 @@ class VersionCommand(YumCommand):
+@@ -1284,11 +2777,35 @@ class VersionCommand(YumCommand):
  
              return 0, ['version groupinfo']
  
@@ -208145,7 +208211,7 @@ index 4dcbea7..b610f3a 100644
                  data = base.rpmdb.simpleVersion(not verbose, groups=groups)
                  lastdbv = base.history.last()
                  if lastdbv is not None:
-@@ -1302,15 +2813,14 @@ class VersionCommand(YumCommand):
+@@ -1302,15 +2819,14 @@ class VersionCommand(YumCommand):
                  if groups:
                      for grp in sorted(data[2]):
                          if (vcmd.startswith("group-") and
@@ -208164,7 +208230,7 @@ index 4dcbea7..b610f3a 100644
                  data = base.pkgSack.simpleVersion(not verbose, groups=groups)
                  if vcmd not in ('group-available', 'group-all'):
                      cols.append(("%s %s/%s" % (_("Available:"), rel, ba),
-@@ -1320,14 +2830,12 @@ class VersionCommand(YumCommand):
+@@ -1320,14 +2836,12 @@ class VersionCommand(YumCommand):
                  if groups:
                      for grp in sorted(data[2]):
                          if (vcmd.startswith("group-") and
@@ -208180,7 +208246,7 @@ index 4dcbea7..b610f3a 100644
  
          data = {'rid' : {}, 'ver' : {}}
          for (rid, ver) in cols:
-@@ -1344,6 +2852,14 @@ class VersionCommand(YumCommand):
+@@ -1344,6 +2858,14 @@ class VersionCommand(YumCommand):
          return 0, ['version']
  
      def needTs(self, base, basecmd, extcmds):
@@ -208195,7 +208261,7 @@ index 4dcbea7..b610f3a 100644
          vcmd = 'installed'
          if extcmds:
              vcmd = extcmds[0]
-@@ -1352,25 +2868,74 @@ class VersionCommand(YumCommand):
+@@ -1352,25 +2874,74 @@ class VersionCommand(YumCommand):
              return True
          return vcmd in ('available', 'all', 'group-available', 'group-all')
  
@@ -208271,7 +208337,7 @@ index 4dcbea7..b610f3a 100644
              return 2, ["Repeating transaction %u" % (old.tid,)]
  
      def _hcmd_undo(self, base, extcmds):
-@@ -1426,12 +2991,60 @@ class HistoryCommand(YumCommand):
+@@ -1426,12 +2997,60 @@ class HistoryCommand(YumCommand):
      def _hcmd_new(self, base, extcmds):
          base.history._create_db_file()
  
@@ -208333,7 +208399,7 @@ index 4dcbea7..b610f3a 100644
          if extcmds and extcmds[0] not in cmds:
              base.logger.critical(_('Invalid history sub-command, use: %s.'),
                                   ", ".join(cmds))
-@@ -1439,11 +3052,24 @@ class HistoryCommand(YumCommand):
+@@ -1439,11 +3058,24 @@ class HistoryCommand(YumCommand):
          if extcmds and extcmds[0] in ('repeat', 'redo', 'undo', 'rollback', 'new'):
              checkRootUID(base)
              checkGPGKey(base)
@@ -208359,7 +208425,7 @@ index 4dcbea7..b610f3a 100644
          vcmd = 'list'
          if extcmds:
              vcmd = extcmds[0]
-@@ -1468,29 +3094,88 @@ class HistoryCommand(YumCommand):
+@@ -1468,29 +3100,88 @@ class HistoryCommand(YumCommand):
              ret = self._hcmd_rollback(base, extcmds)
          elif vcmd == 'new':
              ret = self._hcmd_new(base, extcmds)
@@ -208448,7 +208514,7 @@ index 4dcbea7..b610f3a 100644
          chkcmd = 'all'
          if extcmds:
              chkcmd = extcmds
-@@ -1505,33 +3190,1745 @@ class CheckRpmdbCommand(YumCommand):
+@@ -1505,33 +3196,1745 @@ class CheckRpmdbCommand(YumCommand):
          return rc, ['%s %s' % (basecmd, chkcmd)]
  
      def needTs(self, base, basecmd, extcmds):
@@ -210202,7 +210268,7 @@ index 4dcbea7..b610f3a 100644
 +
 +        return 0, [basecmd + ' ' + subcommand + ' done']
 diff --git a/yummain.py b/yummain.py
-index 9f79f4f..55c35b9 100755
+index 9f79f4f..0c7c535 100755
 --- a/yummain.py
 +++ b/yummain.py
 @@ -29,13 +29,13 @@ from yum import Errors
@@ -210222,7 +210288,7 @@ index 9f79f4f..55c35b9 100755
  
      yum.misc.setup_locale(override_time=True)
  
-@@ -68,6 +68,51 @@ def main(args):
+@@ -68,6 +68,53 @@ def main(args):
          if unlock(): return 200
          return 1
  
@@ -210260,9 +210326,11 @@ index 9f79f4f..55c35b9 100755
 +
 +        repoui = _('Unknown')
 +        repoid = _('<repoid>')
-+        if hasattr(e, 'repo'):
++        try:
 +            repoid = e.repo.id
 +            repoui = e.repo.name
++        except AttributeError:
++            pass
 +
 +        msg = msg % {'repoid' : repoid, 'repo' : repoui}
 +
@@ -210274,7 +210342,7 @@ index 9f79f4f..55c35b9 100755
      def unlock():
          try:
              base.closeRpmDB()
-@@ -89,6 +134,23 @@ def main(args):
+@@ -89,6 +136,23 @@ def main(args):
      logger = logging.getLogger("yum.main")
      verbose_logger = logging.getLogger("yum.verbose.main")
  
@@ -210298,7 +210366,7 @@ index 9f79f4f..55c35b9 100755
      # our core object for the cli
      base = cli.YumBaseCli()
  
-@@ -100,46 +162,20 @@ def main(args):
+@@ -100,46 +164,20 @@ def main(args):
          return exPluginExit(e)
      except Errors.YumBaseError, e:
          return exFatal(e)
@@ -210352,7 +210420,7 @@ index 9f79f4f..55c35b9 100755
      except Errors.YumBaseError, e:
          result = 1
          resultmsgs = [exception2msg(e)]
-@@ -154,7 +190,7 @@ def main(args):
+@@ -154,7 +192,7 @@ def main(args):
          for msg in resultmsgs:
              verbose_logger.log(logginglevels.INFO_2, '%s', msg)
          if unlock(): return 200
@@ -210361,7 +210429,7 @@ index 9f79f4f..55c35b9 100755
      elif result == 1:
          # Fatal error
          for msg in resultmsgs:
-@@ -173,6 +209,18 @@ def main(args):
+@@ -173,6 +211,18 @@ def main(args):
              logger.critical(msg)
          if unlock(): return 200
          return 3
@@ -210380,7 +210448,7 @@ index 9f79f4f..55c35b9 100755
              
      # Depsolve stage
      verbose_logger.log(logginglevels.INFO_2, _('Resolving Dependencies'))
-@@ -181,6 +229,8 @@ def main(args):
+@@ -181,6 +231,8 @@ def main(args):
          (result, resultmsgs) = base.buildTransaction() 
      except plugins.PluginYumExit, e:
          return exPluginExit(e)
@@ -210389,7 +210457,7 @@ index 9f79f4f..55c35b9 100755
      except Errors.YumBaseError, e:
          result = 1
          resultmsgs = [exception2msg(e)]
-@@ -193,7 +243,7 @@ def main(args):
+@@ -193,7 +245,7 @@ def main(args):
      if result == 0:
          # Normal exit
          if unlock(): return 200
@@ -210398,7 +210466,7 @@ index 9f79f4f..55c35b9 100755
      elif result == 1:
          # Fatal error
          for msg in resultmsgs:
-@@ -220,9 +270,15 @@ def main(args):
+@@ -220,9 +272,15 @@ def main(args):
  
      # Run the transaction
      try:
@@ -210415,7 +210483,7 @@ index 9f79f4f..55c35b9 100755
      except Errors.YumBaseError, e:
          return exFatal(e)
      except KeyboardInterrupt:
-@@ -238,16 +294,27 @@ def main(args):
+@@ -238,16 +296,27 @@ def main(args):
          rpmdb_warn_checks()
          return_code = result
          if base._ts_save_file:
@@ -210445,7 +210513,7 @@ index 9f79f4f..55c35b9 100755
      import hotshot.stats
      fn = os.path.expanduser("~/yum.prof")
      prof = hotshot.Profile(fn)
-@@ -257,6 +324,11 @@ def hotshot(func, *args, **kwargs):
+@@ -257,6 +326,11 @@ def hotshot(func, *args, **kwargs):
      return rc
  
  def cprof(func, *args, **kwargs):
@@ -210457,7 +210525,7 @@ index 9f79f4f..55c35b9 100755
      import cProfile, pstats
      fn = os.path.expanduser("~/yum.prof")
      prof = cProfile.Profile()
-@@ -266,6 +338,10 @@ def cprof(func, *args, **kwargs):
+@@ -266,6 +340,10 @@ def cprof(func, *args, **kwargs):
      return rc
  
  def print_stats(stats):
@@ -210468,7 +210536,7 @@ index 9f79f4f..55c35b9 100755
      stats.strip_dirs()
      stats.sort_stats('time', 'calls')
      stats.print_stats(20)
-@@ -273,7 +349,14 @@ def print_stats(stats):
+@@ -273,7 +351,14 @@ def print_stats(stats):
      stats.print_stats(40)
  
  def user_main(args, exit_code=False):
diff --git a/yum.spec b/yum.spec
index fd3ced9..5b0c8a0 100644
--- a/yum.spec
+++ b/yum.spec
@@ -64,7 +64,7 @@ BuildRequires: bash-completion
 Summary: RPM package installer/updater/manager
 Name: yum
 Version: 3.4.3
-Release: 154%{?dist}
+Release: 155%{?dist}
 License: GPLv2+
 Group: System Environment/Base
 Source0: http://yum.baseurl.org/download/3.4/%{name}-%{version}.tar.gz
@@ -510,6 +510,13 @@ exit 0
 %endif
 
 %changelog
+* Tue Sep 16 2014 James Antill <james at fedoraproject.org> - 3.4.3-155
+- update to latest HEAD
+- Workaround history searching for [abc] character lists failures. BZ 1096147.
+- yumRepos.py - preserve queryparams in urls
+- Don't traceback in exRepoError() when repo info is not available. BZ 1114183.
+- Make check-update respect --quiet option. BZ 1133979.
+
 * Wed Sep  3 2014 Valentina Mukhamedzhanova <vmukhame at redhat.com> - 3.4.3-154
 - update to latest HEAD
 - Add armv6hl.


More information about the scm-commits mailing list