From 00863dd7161950b7a8f505e37532a3798e1412d5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=2E=C3=87a=C4=9Flar=20Onur?= Date: Thu, 10 Mar 2011 22:00:10 +0000 Subject: [PATCH] rebase against latest yum@rhel6 --- sources | 2 +- yum-3.2.25-chroot.patch | 123 -------------------- yum-3.2.27_el6-chroot.patch | 223 ++++++++++++++++++++++++++++++++++++ yum.spec | 222 ++++++++++++++++++++++++++++------- 4 files changed, 406 insertions(+), 164 deletions(-) delete mode 100644 yum-3.2.25-chroot.patch create mode 100644 yum-3.2.27_el6-chroot.patch diff --git a/sources b/sources index 10c3623..b6d61f6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -dbd0aef02201d54512b3569fa359d52592d59967 ftp://ftp.redhat.com/pub/redhat/rhel/beta/6/source/SRPMS/yum-3.2.25-12.el6.src.rpm +f4a15fa96afbcaf52394054b49908de8bad1d218 ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/yum-3.2.27-14.el6.src.rpm diff --git a/yum-3.2.25-chroot.patch b/yum-3.2.25-chroot.patch deleted file mode 100644 index db10e18..0000000 --- a/yum-3.2.25-chroot.patch +++ /dev/null @@ -1,123 +0,0 @@ -diff -ur yum-3.2.25.orig/cli.py yum-3.2.25/cli.py ---- yum-3.2.25.orig/cli.py 2010-04-26 18:04:21.012619640 -0400 -+++ yum-3.2.25/cli.py 2010-04-26 18:05:04.141743816 -0400 -@@ -1276,13 +1276,14 @@ - def getRoot(self,opts): - # If the conf file is inside the installroot - use that. - # otherwise look for it in the normal root -+ if opts.conffile is None: -+ opts.conffile = '/etc/yum/yum.conf' -+ if opts.installroot: -+ if os.access(opts.installroot+opts.conffile, os.R_OK): -+ opts.conffile = opts.installroot+opts.conffile -+ elif os.access(opts.installroot+'/etc/yum.conf', os.R_OK): -+ opts.conffile = opts.installroot+'/etc/yum.conf' - if opts.installroot: -- if os.access(opts.installroot+'/'+opts.conffile, os.R_OK): -- opts.conffile = opts.installroot+'/'+opts.conffile -- elif opts.conffile == '/etc/yum/yum.conf': -- # check if /installroot/etc/yum.conf exists. -- if os.access(opts.installroot+'/etc/yum.conf', os.R_OK): -- opts.conffile = opts.installroot+'/etc/yum.conf' - root=opts.installroot - else: - root = '/' -@@ -1323,7 +1324,7 @@ - action="store_true", - help=_("run entirely from system cache, don't update cache")) - group.add_option("-c", "--config", dest="conffile", -- default='/etc/yum/yum.conf', -+ default=None, - help=_("config file location"), metavar='[config file]') - group.add_option("-R", "--randomwait", dest="sleeptime", type='int', - default=None, -diff -ur yum-3.2.25.orig/yum/config.py yum-3.2.25/yum/config.py ---- yum-3.2.25.orig/yum/config.py 2010-04-26 18:04:21.232521015 -0400 -+++ yum-3.2.25/yum/config.py 2010-04-26 18:04:45.824994677 -0400 -@@ -602,6 +602,29 @@ - syslog_ident = Option() - syslog_facility = Option('LOG_DAEMON') - -+ -+ -+ def getRootedPath(self, path, enforce_default=False, defaults_to_host=False): -+ instroot = self.installroot -+ if instroot is None: -+ return path -+ -+ if path.startswith('hostfs://'): res = path[9:] -+ elif path.startswith('chrootfs://'): res = instroot + '/' + path[11:] -+ else: -+ tmp = instroot + '/' + path -+ -+ if enforce_default: -+ if defaults_to_host: res = path -+ else: res = tmp -+ else: -+ if os.path.exists(tmp): res = tmp -+ elif defaults_to_host: res = path -+ else: res = tmp -+ -+ return res -+ -+ - class YumConf(StartupConf): - ''' - Configuration option definitions for yum.conf\'s [main] section. -@@ -615,6 +638,7 @@ - persistdir = Option('/var/lib/yum') - keepcache = BoolOption(True) - logfile = Option('/var/log/yum.log') -+ lockfile = Option('/var/run/yum.pid') - reposdir = ListOption(['/etc/yum/repos.d', '/etc/yum.repos.d']) - - commands = ListOption() -@@ -854,9 +878,9 @@ - yumconf.populate(startupconf._parser, 'main') - - # Apply the installroot to directory options -- for option in ('cachedir', 'logfile', 'persistdir'): -+ for option in ('cachedir', 'logfile', 'lockfile', 'persistdir'): - path = getattr(yumconf, option) -- ir_path = yumconf.installroot + path -+ ir_path = yumconf.getRootedPath(path) - ir_path = ir_path.replace('//', '/') # os.path.normpath won't fix this and - # it annoys me - ir_path = varReplace(ir_path, yumvars) -diff -ur yum-3.2.25.orig/yum/config.py.orig yum-3.2.25/yum/config.py.orig ---- yum-3.2.25.orig/yum/config.py.orig 2010-04-26 18:04:21.093414920 -0400 -+++ yum-3.2.25/yum/config.py.orig 2010-04-26 18:04:21.232521015 -0400 -@@ -788,6 +788,7 @@ - sslclientcert = Inherit(YumConf.sslclientcert) - sslclientkey = Inherit(YumConf.sslclientkey) - -+ skip_if_unavailable = BoolOption(False) - - class VersionGroupConf(BaseConfig): - pkglist = ListOption() -diff -ur yum-3.2.25.orig/yum/__init__.py yum-3.2.25/yum/__init__.py ---- yum-3.2.25.orig/yum/__init__.py 2010-04-26 18:04:21.238799385 -0400 -+++ yum-3.2.25/yum/__init__.py 2010-04-26 18:04:45.828610053 -0400 -@@ -392,8 +392,7 @@ - # this check makes sure that our dirs exist properly. - # if they aren't in the installroot then don't prepend the installroot path - # if we don't do this then anaconda likes to not work. -- if os.path.exists(self.conf.installroot+'/'+reposdir): -- reposdir = self.conf.installroot + '/' + reposdir -+ reposdir = self.conf.getRootedPath(reposdir) - - if os.path.isdir(reposdir): - for repofn in sorted(glob.glob('%s/*.repo' % reposdir)): -@@ -1320,9 +1319,8 @@ - return - - root = self.conf.installroot -- lockfile = root + '/' + lockfile # lock in the chroot -- lockfile = os.path.normpath(lockfile) # get rid of silly preceding extra / -- -+ lockfile = self.conf.lockfile -+ - mypid=str(os.getpid()) - while not self._lock(lockfile, mypid, 0644): - fd = open(lockfile, 'r') -Only in yum-3.2.25/yum: __init__.py.orig diff --git a/yum-3.2.27_el6-chroot.patch b/yum-3.2.27_el6-chroot.patch new file mode 100644 index 0000000..453b360 --- /dev/null +++ b/yum-3.2.27_el6-chroot.patch @@ -0,0 +1,223 @@ +Patch for yum-3.2.27-14.el6_0.1 + +diff --git a/cli.py b/cli.py +index cebbae3..cdb0129 100644 +--- a/cli.py ++++ b/cli.py +@@ -1347,13 +1347,14 @@ class YumOptionParser(OptionParser): + def getRoot(self,opts): + # If the conf file is inside the installroot - use that. + # otherwise look for it in the normal root ++ if opts.conffile==None: ++ opts.conffile = '/etc/yum/yum.conf' ++ if opts.installroot: ++ if os.access(opts.installroot+opts.conffile, os.R_OK): ++ opts.conffile = opts.installroot+opts.conffile ++ elif os.access(opts.installroot+'/etc/yum.conf', os.R_OK): ++ opts.conffile = opts.installroot+'/etc/yum.conf' + if opts.installroot: +- if os.access(opts.installroot+'/'+opts.conffile, os.R_OK): +- opts.conffile = opts.installroot+'/'+opts.conffile +- elif opts.conffile == '/etc/yum/yum.conf': +- # check if /installroot/etc/yum.conf exists. +- if os.access(opts.installroot+'/etc/yum.conf', os.R_OK): +- opts.conffile = opts.installroot+'/etc/yum.conf' + root=opts.installroot + else: + root = '/' +@@ -1394,7 +1395,6 @@ class YumOptionParser(OptionParser): + action="store_true", + help=_("run entirely from system cache, don't update cache")) + group.add_option("-c", "--config", dest="conffile", +- default='/etc/yum/yum.conf', + help=_("config file location"), metavar='[config file]') + group.add_option("-R", "--randomwait", dest="sleeptime", type='int', + default=None, +diff --git a/yum/__init__.py b/yum/__init__.py +index 978815d..916c8d6 100644 +--- a/yum/__init__.py ++++ b/yum/__init__.py +@@ -399,8 +399,7 @@ class YumBase(depsolve.Depsolve): + # this check makes sure that our dirs exist properly. + # if they aren't in the installroot then don't prepend the installroot path + # if we don't do this then anaconda likes to not work. +- if os.path.exists(self.conf.installroot+'/'+reposdir): +- reposdir = self.conf.installroot + '/' + reposdir ++ reposdir = self.conf.getRootedPath(reposdir) + + if os.path.isdir(reposdir): + for repofn in sorted(glob.glob('%s/*.repo' % reposdir)): +@@ -1379,9 +1378,7 @@ class YumBase(depsolve.Depsolve): + if self.conf.uid != 0: + return + +- root = self.conf.installroot +- lockfile = root + '/' + lockfile # lock in the chroot +- lockfile = os.path.normpath(lockfile) # get rid of silly preceding extra / ++ lockfile = self.conf.lockfile + + mypid=str(os.getpid()) + while not self._lock(lockfile, mypid, 0644): +diff --git a/yum/config.py b/yum/config.py +index 975172a..603aacc 100644 +--- a/yum/config.py ++++ b/yum/config.py +@@ -604,6 +604,26 @@ class StartupConf(BaseConfig): + syslog_facility = Option('LOG_DAEMON') + persistdir = Option('/var/lib/yum') + ++ def getRootedPath(self, path, enforce_default=False, defaults_to_host=False): ++ instroot = getattr(self, 'installroot', None) ++ if instroot==None: ++ return path ++ ++ if path.startswith('hostfs://'): res = path[9:] ++ elif path.startswith('chrootfs://'): res = instroot + '/' + path[11:] ++ else: ++ tmp = instroot + '/' + path ++ ++ if enforce_default: ++ if defaults_to_host: res = path ++ else: res = tmp ++ else: ++ if os.path.exists(tmp): res = tmp ++ elif defaults_to_host: res = path ++ else: res = tmp ++ ++ return res ++ + class YumConf(StartupConf): + ''' + Configuration option definitions for yum.conf\'s [main] section. +@@ -617,6 +637,7 @@ class YumConf(StartupConf): + + keepcache = BoolOption(True) + logfile = Option('/var/log/yum.log') ++ lockfile = Option('/var/run/yum.pid') + reposdir = ListOption(['/etc/yum/repos.d', '/etc/yum.repos.d']) + + commands = ListOption() +@@ -832,7 +853,10 @@ def readStartupConfig(configfile, root): + # Stuff this here to avoid later re-parsing + startupconf._parser = parser + # setup the release ver here +- startupconf.releasever = _getsysver(startupconf.installroot, startupconf.distroverpkg) ++ try: ++ startupconf.releasever = _getsysver(startupconf.installroot, startupconf.distroverpkg) ++ except: ++ startupconf.releasever = "" + uuidfile = '%s/%s/uuid' % (startupconf.installroot, startupconf.persistdir) + startupconf.uuid = get_uuid(uuidfile) + +@@ -864,7 +888,7 @@ def readMainConfig(startupconf): + # Apply the installroot to directory options + def _apply_installroot(yumconf, option): + path = getattr(yumconf, option) +- ir_path = yumconf.installroot + path ++ ir_path = yumconf.getRootedPath(path) + ir_path = ir_path.replace('//', '/') # os.path.normpath won't fix this and + # it annoys me + ir_path = varReplace(ir_path, yumvars) +@@ -888,7 +912,7 @@ def readMainConfig(startupconf): + yumvars[fsvar] = val + + # These can use the above FS yumvars +- for option in ('cachedir', 'logfile', 'persistdir'): ++ for option in ('cachedir', 'logfile', 'persistdir', 'lockfile'): + _apply_installroot(yumconf, option) + + # Add in some extra attributes which aren't actually configuration values +diff --git a/yum/history.py b/yum/history.py +index 32eed2c..64b6695 100644 +--- a/yum/history.py ++++ b/yum/history.py +@@ -176,10 +176,7 @@ class YumHistory: + self._conn = None + + self.conf = yum.misc.GenericHolder() +- if not os.path.normpath(db_path).startswith(root): +- self.conf.db_path = os.path.normpath(root + '/' + db_path) +- else: +- self.conf.db_path = os.path.normpath('/' + db_path) ++ self.conf.db_path = db_path + self.conf.writable = False + self.conf.readable = True + +diff --git a/yum/rpmsack.py b/yum/rpmsack.py +index 878e8d4..1938f1a 100644 +--- a/yum/rpmsack.py ++++ b/yum/rpmsack.py +@@ -151,13 +151,8 @@ class RPMDBPackageSack(PackageSackBase): + self._get_pro_cache = {} + self._get_req_cache = {} + self._loaded_gpg_keys = False +- if cachedir is None: +- cachedir = persistdir + "/rpmdb-indexes" +- self.setCacheDir(cachedir) +- if not os.path.normpath(persistdir).startswith(self.root): +- self._persistdir = root + '/' + persistdir +- else: +- self._persistdir = persistdir ++ self._cachedir = persistdir + "/rpmdb-indexes" ++ self._persistdir = persistdir + self._have_cached_rpmdbv_data = None + self._cached_conflicts_data = None + # Store the result of what happens, if a transaction completes. +@@ -217,14 +212,6 @@ class RPMDBPackageSack(PackageSackBase): + self.transactionReset() # Should do nothing, but meh... + self._cached_rpmdb_mtime = None + +- def setCacheDir(self, cachedir): +- """ Sets the internal cachedir value for the rpmdb, to be the +- "rpmdb-indexes" directory in the persisent yum storage. """ +- if not os.path.normpath(cachedir).startswith(self.root): +- self._cachedir = self.root + '/' + cachedir +- else: +- self._cachedir = '/' + cachedir +- + def readOnlyTS(self): + if not self.ts: + self.ts = initReadOnlyTransaction(root=self.root) +@@ -861,7 +848,7 @@ class RPMDBPackageSack(PackageSackBase): + # http://lists.rpm.org/pipermail/rpm-maint/2007-November/001719.html + # ...if anything gets implemented, we should change. + rpmdbvfname = self._cachedir + "/version" +- rpmdbfname = self.root + "/var/lib/rpm/Packages" ++ rpmdbfname = self.root + rpm.expandMacro("%_dbpath/Packages") + + if os.path.exists(rpmdbvfname) and os.path.exists(rpmdbfname): + # See if rpmdb has "changed" ... +@@ -881,7 +868,7 @@ class RPMDBPackageSack(PackageSackBase): + if self._cached_rpmdb_mtime is None: + return # We haven't loaded any packages!!! + +- rpmdbfname = self.root + "/var/lib/rpm/Packages" ++ rpmdbfname = self.root + rpm.expandMacro("%_dbpath/Packages") + if not os.path.exists(rpmdbfname): + return # haha + +@@ -1104,7 +1091,7 @@ class RPMDBPackageSack(PackageSackBase): + self._name2pkg.setdefault(po.name, []).append(po) + self._tup2pkg[po.pkgtup] = po + if self.__cache_rpmdb__ and self._cached_rpmdb_mtime is None: +- rpmdbfname = self.root + "/var/lib/rpm/Packages" ++ rpmdbfname = self.root + rpm.expandMacro("%_dbpath/Packages") + self._cached_rpmdb_mtime = os.path.getmtime(rpmdbfname) + + return po +diff --git a/yum/rpmtrans.py b/yum/rpmtrans.py +index 0340153..a544b9c 100644 +--- a/yum/rpmtrans.py ++++ b/yum/rpmtrans.py +@@ -243,7 +243,10 @@ class RPMTransaction: + def _scriptout(self, data): + msgs = self._scriptOutput() + self.display.scriptout(data, msgs) +- self.base.history.log_scriptlet_output(data, msgs) ++ try: ++ self.base.history.log_scriptlet_output(data, msgs) ++ except: ++ self.display.errorlog('could not log scriptlet output') + + def __del__(self): + self._shutdownOutputLogging() diff --git a/yum.spec b/yum.spec index 06191e0..7ce76d0 100644 --- a/yum.spec +++ b/yum.spec @@ -2,8 +2,8 @@ Summary: RPM installer/updater Name: yum -Version: 3.2.25 -Release: 12%{?dist} +Version: 3.2.27 +Release: 14%{?dist} License: GPLv2+ Group: System Environment/Base Source0: http://yum.baseurl.org/download/3.2/%{name}-%{version}.tar.gz @@ -15,13 +15,37 @@ Patch2: yum-manpage-files.patch Patch3: yum-multilib-policy-best.patch Patch4: no-more-exactarchlist.patch Patch5: geode-arch.patch -Patch6: yum-HEAD.patch -Patch7: yum-xHEAD.patch -Patch8: yumvar-pungi-hack.patch -Patch9: rpmdb-problems+minor-cleanups.patch +Patch6: BZ-528738-bugtracker.patch + +Patch32: yum-distro-sync.patch +Patch33: yum-install-cmd-exit+provides-msgs+docs.patch +Patch34: yum-history-user.patch +Patch35: yum-PK-search-API.patch +Patch36: yum-history-list-errors+summary-user-column.patch +Patch37: yum-groupremove-leaf-only.patch +Patch38: yum-md-reget+yumvars+searchPrco.patch + +Patch39: BZ-588911-yum.log-perms.patch +Patch40: BZ-577627-installroot-double-prefix.patch +Patch41: BZ-588910-nocontext-tsflag.patch +Patch42: BZ-588908-many-install-update-speedup.patch +Patch43: BZ-590340-move-rpmdb-from-cache.patch +Patch44: BZ-590339-edge-case-depsolving.patch +Patch45: BZ-593522-install-obs-arch.patch +Patch46: BZ-595553-akmods-cache-defense.patch +Patch47: BZ-602354-plugin-hooks-verify-transaction.patch +Patch48: BZ-584262-downgrade-dep-chain-remove.patch +Patch49: BZ-572770-int-flags-miscutils.patch +Patch50: BZ-598639-rpm-bindings-api-change-fix.patch +Patch51: BZ-603002-group_remove_leaf-empty-transaction.patch +Patch52: BZ-604080-localinstall-obsoleted.patch +Patch53: BZ-614496-traceback-no-proc-mounted.patch + + Patch64: yum-ppc64-preferred.patch -Patch65: yum-3.2.25-i18n-off.patch -Patch66: yum-3.2.25-chroot.patch +Patch65: yum-3.2.27-i18n-off.patch + +Patch100: yum-3.2.27_el6-chroot.patch URL: http://yum.baseurl.org/ BuildArch: noarch @@ -61,17 +85,37 @@ can notify you when they are available via email, syslog or dbus. %prep %setup -q %patch1 -p0 -#%%%patch2 -p0 +%patch2 -p1 %patch3 -p0 %patch4 -p0 %patch5 -p1 %patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 +%patch32 -p1 +%patch33 -p1 +%patch34 -p1 +%patch35 -p1 +%patch36 -p1 +%patch37 -p1 +%patch38 -p1 +%patch39 -p1 +%patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 +%patch47 -p1 +%patch48 -p1 +%patch49 -p1 +%patch50 -p1 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 %patch64 -p0 %patch65 -p1 -%patch66 -p1 + +%patch100 -p1 %build make @@ -94,6 +138,12 @@ rm -f $RPM_BUILD_ROOT/%{_sbindir}/yum-updatesd rm -f $RPM_BUILD_ROOT/%{_mandir}/man*/yum-updatesd* rm -f $RPM_BUILD_ROOT/%{_datadir}/yum-cli/yumupd.py* +# Ghost files: +mkdir -p $RPM_BUILD_ROOT/var/lib/yum/history +mkdir -p $RPM_BUILD_ROOT/var/lib/yum/plugins +mkdir -p $RPM_BUILD_ROOT/var/lib/yum/yumdb +touch $RPM_BUILD_ROOT/var/lib/yum/uuid + %find_lang %name %clean @@ -105,7 +155,9 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_sysconfdir}/yum.conf %dir %{_sysconfdir}/yum %config(noreplace) %{_sysconfdir}/yum/version-groups.conf +# %dir %{_sysconfdir}/yum/protected.d %dir %{_sysconfdir}/yum.repos.d +%dir %{_sysconfdir}/yum/vars %config(noreplace) %{_sysconfdir}/logrotate.d/yum %{_sysconfdir}/bash_completion.d %dir %{_datadir}/yum-cli @@ -115,6 +167,10 @@ rm -rf $RPM_BUILD_ROOT %{python_sitelib}/rpmUtils %dir /var/cache/yum %dir /var/lib/yum +%ghost /var/lib/yum/uuid +%ghost /var/lib/yum/history +%ghost /var/lib/yum/plugins +%ghost /var/lib/yum/yumdb %{_mandir}/man*/yum.* %{_mandir}/man*/yum-shell* # plugin stuff @@ -122,33 +178,119 @@ rm -rf $RPM_BUILD_ROOT %dir /usr/lib/yum-plugins %changelog -* Fri Jan 15 2010 James Antill - 3.2.25-12 -- Some minor problems, esp. with check_duplicates() in problems path. -- Related: rhbz#543948 - -* Tue Jan 12 2010 James Antill - 3.2.25-11 -- Fix rpmdb problems sorting, mainly for y-c-t. -- Related: rhbz#554733 -- Also include a docs cleanup, obsoletes output cleanup and pgp -- errors edge case fix. - -* Thu Jan 7 2010 James Antill - 3.2.25-10 -- Work around Pungi config. hacks. Use .conf.yumvar instead of .yumvar -- Related: rhbz#543948 - -* Wed Jan 6 2010 James Antill - 3.2.25-9 -- Rebuilt rawhide yum for for RHEL 6, lots of features and fixes. incl. -- Work around weird openssl md5==abort in FIPS mode. -- Resolves: rhbz#541974 -- Add --rpmverbosity option. -- Resolves: 548341 -- Related: rhbz#543948 - -* Tue Dec 08 2009 Dennis Gregorovic - 3.2.25-1.2 -- Rebuilt for RHEL 6 - -* Tue Nov 10 2009 Dennis Gregorovic - 3.2.25-1.1 -- Rebuild for RHEL 6 +* Tue Aug 24 2010 Seth Vidal - 3.2.27-14 +- fixed 588911 patch to be correct patch +- add patch file for 572770 to take the old date from the wrong patch from 588911 + +* Tue Jul 27 2010 James Antill - 3.2.27-13 +- Don't traceback when proc isn't mounted. +- Resolves: rhbz#614496 +- Own the /etc/yum/vars dir. +- Resolves: rhbz#611906 + +* Wed Jun 16 2010 James Antill - 3.2.27-12 +- Stop allowing installation of obsoleted, only by installed. +- Resolves: rhbz#604080 + +* Fri Jun 11 2010 James Antill - 3.2.27-10 +- Stop downgrade dep. chain removals +- Resolves: rhbz#584262 +- Fix for rpm bindings api change +- Resolves: rhbz#598639 +- Add plugin hooks for verify transaction pre/post. +- Resolves: rhbz#602354 +- Fix groupremove_leaf_only when it empties the transaction. +- Resolves: rhbz#603002 + +* Tue May 25 2010 James Antill - 3.2.27-9 +- Fix installs of obsoleted multiarch packages. +- Resolves: rhbz#593522 +- Create a defense against akmod style postinst install hacks. +- Resolves: rhbz#595553 + +* Tue May 11 2010 James Antill - 3.2.27-8 +- Move rpmdb cache/indexes to /var/lib +- Resolves: rhbz#590340 +- Fix old missing recheck in depsolve +- Resolves: rhbz#590339 + +* Tue May 4 2010 James Antill - 3.2.27-7 +- A few minor bugfixes from upstream +- yum.log perms +- Resolves: rhbz#588911 +- installroot double prefixing, on anaconda/kickstart install +- Resolves: rhbz#577627 +- Add nocontexts flag to tsflags, if available. +- Resolves: rhbz#588910 +- Speedup many install/update of same pkg. +- Resolves: rhbz#588908 +- Correct os.path.link => os.path.islink typo, for dynamic yum vars. +- Resolves: rhbz#588907 + +* Fri Apr 16 2010 James Antill - 3.2.27-4 +- A few minor bugfixes from upstream +- Add dynamic FS based yumvars +- Resolves: rhbz#576703 + +* Fri Mar 26 2010 James Antill - 3.2.27-3 +- 3.2.27 from Fedora, and a couple of minor patches +- Resolves: rhbz#576703 + +* Thu Mar 18 2010 Seth Vidal - 3.2.27-1 +- 3.2.27 from upstream (more or less the same as 3.2.26-6 but with a new number + +* Thu Mar 11 2010 Seth Vidal - 3.2.26-6 +- should be the final HEAD update before 3.2.27 + +* Thu Feb 24 2010 James Antill - 3.2.26-5 +- new HEAD, minor features and speed. + +* Wed Feb 17 2010 Seth Vidal - 3.2.26-4 +- new HEAD to fix the fix to the fix + +* Tue Feb 16 2010 Seth Vidal - 3.2.26-3 +- latest head - including fixes to searchPrcos + +* Wed Feb 10 2010 Seth Vidal - 3.2.26-2 +- grumble. + +* Tue Feb 9 2010 Seth Vidal - 3.2.26-1 +- final 3.2.26 + +* Mon Feb 8 2010 Seth Vidal - 3.2.25-14 +- $uuid, pkgtags searching, latest HEAD patch - pre 3.2.26 + +* Fri Jan 28 2010 James Antill - 3.2.25-13 +- A couple of bugfixes, most notably: +- you can now install gpg keys again! +- bad installed file requires don't get cached. + +* Fri Jan 22 2010 Seth Vidal - 3.2.25-12 +- someone forgot to push their changes + +* Fri Jan 22 2010 Seth Vidal - 3.2.25-11 +- more fixes, more fun + +* Fri Jan 15 2010 James Antill - 3.2.25-10 +- latest head +- Fixes for pungi, rpmdb caching and kernel-PAE-devel duplicates finding +- among others. + +* Mon Jan 4 2010 Seth Vidal - 3.2.25-8 +- latest head + +* Thu Dec 10 2009 James Antill - 3.2.25-7 +- Fixes the mash bug, lookup in the tsInfo too. :( +- And fix the txmbr/po confusion ... third build the charm. + +* Fri Dec 4 2009 James Antill - 3.2.25-4 +- Fixes for yum clean all, BZ 544173 +- Also allow "yum clean rpmdb" to work, bad tester, bad. + +* Thu Dec 3 2009 Seth Vidal - 3.2.25-2 +- rebuild yum with latest HEAD patch +- add rpmdb caching patch james wrote to see if it breaks everyone :) + * Wed Oct 14 2009 Seth Vidal - 3.2.25-1 - 3.2.25 -- 2.43.0