From 14a411704f4acd3fc8265faf8fec81337761f2e3 Mon Sep 17 00:00:00 2001 From: James Antill Date: Sep 16 2014 20:37:59 +0000 Subject: 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. --- 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 = '' - - + -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 = _('') -+ 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 - 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 - 3.4.3-154 - update to latest HEAD - Add armv6hl.