-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
+++ /dev/null
-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
--- /dev/null
+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()
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
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
%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
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
%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
%{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
%dir /usr/lib/yum-plugins
%changelog
-* Fri Jan 15 2010 James Antill <james.antill@redhat.com> - 3.2.25-12
-- Some minor problems, esp. with check_duplicates() in problems path.
-- Related: rhbz#543948
-
-* Tue Jan 12 2010 James Antill <james.antill@redhat.com> - 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 <james.antill@redhat.com> - 3.2.25-10
-- Work around Pungi config. hacks. Use .conf.yumvar instead of .yumvar
-- Related: rhbz#543948
-
-* Wed Jan 6 2010 James Antill <james.antill@redhat.com> - 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 <dgregor@redhat.com> - 3.2.25-1.2
-- Rebuilt for RHEL 6
-
-* Tue Nov 10 2009 Dennis Gregorovic <dgregor@redhat.com> - 3.2.25-1.1
-- Rebuild for RHEL 6
+* Tue Aug 24 2010 Seth Vidal <svidal@redhat.com> - 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 <james.antill@redhat.com> - 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 <james.antill@redhat.com> - 3.2.27-12
+- Stop allowing installation of obsoleted, only by installed.
+- Resolves: rhbz#604080
+
+* Fri Jun 11 2010 James Antill <james.antill@redhat.com> - 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 <james.antill@redhat.com> - 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 <james.antill@redhat.com> - 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 <james.antill@redhat.com> - 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 <james.antill@redhat.com> - 3.2.27-4
+- A few minor bugfixes from upstream
+- Add dynamic FS based yumvars
+- Resolves: rhbz#576703
+
+* Fri Mar 26 2010 James Antill <james.antill@redhat.com> - 3.2.27-3
+- 3.2.27 from Fedora, and a couple of minor patches
+- Resolves: rhbz#576703
+
+* Thu Mar 18 2010 Seth Vidal <skvidal at fedoraproject.org> - 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 <skvidal at fedoraproject.org> - 3.2.26-6
+- should be the final HEAD update before 3.2.27
+
+* Thu Feb 24 2010 James Antill <james@fedoraproject.org> - 3.2.26-5
+- new HEAD, minor features and speed.
+
+* Wed Feb 17 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.26-4
+- new HEAD to fix the fix to the fix
+
+* Tue Feb 16 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.26-3
+- latest head - including fixes to searchPrcos
+
+* Wed Feb 10 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.26-2
+- grumble.
+
+* Tue Feb 9 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.26-1
+- final 3.2.26
+
+* Mon Feb 8 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.25-14
+- $uuid, pkgtags searching, latest HEAD patch - pre 3.2.26
+
+* Fri Jan 28 2010 James Antill <james at fedoraproject.org> - 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 <skvidal at fedoraproject.org> - 3.2.25-12
+- someone forgot to push their changes
+
+* Fri Jan 22 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.25-11
+- more fixes, more fun
+
+* Fri Jan 15 2010 James Antill <james at fedoraproject.org> - 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 <skvidal at fedoraproject.org> - 3.2.25-8
+- latest head
+
+* Thu Dec 10 2009 James Antill <james at fedoraproject.org> - 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 <james at fedoraproject.org> - 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 <skvidal at fedoraproject.org> - 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 <skvidal at fedoraproject.org> - 3.2.25-1
- 3.2.25