Compare commits

..

9 commits

Author SHA1 Message Date
James Antill
c512bf733e Change arm basearch to arm 2011-05-31 14:30:37 -04:00
James Antill
0e3973dcf7 Fix merge conflict 2011-05-11 11:06:14 -04:00
James Antill
5983bf4fc3 Update consolidate_libc to fix new version issue.
Limit skip-broken to 30 loops, for rel-eng.
2011-05-11 11:03:15 -04:00
Seth Vidal
bd5173d452 bump and build to fix 640181 2010-10-05 08:59:05 -04:00
James Antill
347ce5bf22 Fix auto-close bug with GPG key installs. 2010-09-14 10:59:29 -04:00
Seth Vidal
d5f16b625d obsolete download order 2010-08-27 13:52:25 -04:00
Seth Vidal
21c49887dc latest head 2010-08-12 12:20:06 -04:00
Seth Vidal
92c6b4f451 head back to f14 2010-08-09 15:18:30 -04:00
Seth Vidal
98ccee74e0 3.2.28 for f14 2010-07-30 16:53:46 -04:00
18 changed files with 1535 additions and 1 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
yum-3.2.27.tar.gz

View file

@ -0,0 +1,78 @@
commit 043e869b08126c1b24e392f809c9f6871344c60d
Author: Seth Vidal <skvidal@fedoraproject.org>
Date: Wed May 4 09:43:52 2011 -0400
make sure we use rpm ver cmp for the sort of the glibc requires
when we're doing collapse_libc_requires.
ultimately what's causing: https://bugzilla.redhat.com/show_bug.cgi?id=701744
diff --git a/rpmUtils/miscutils.py b/rpmUtils/miscutils.py
index cdb1cb6..aea4550 100644
--- a/rpmUtils/miscutils.py
+++ b/rpmUtils/miscutils.py
@@ -54,6 +54,10 @@ def compareEVR((e1, v1, r1), (e2, v2, r2)):
#print '%s, %s, %s vs %s, %s, %s = %s' % (e1, v1, r1, e2, v2, r2, rc)
return rc
+def compareVerOnly(v1, v2):
+ """compare version strings only using rpm vercmp"""
+ return compareEVR(('', v1, ''), ('', v2, ''))
+
def checkSig(ts, package):
"""Takes a transaction set and a package, check it's sigs,
return 0 if they are all fine
diff --git a/yum/packages.py b/yum/packages.py
index 264aa9a..e745a1a 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -31,11 +31,12 @@ import warnings
from subprocess import Popen, PIPE
from rpmUtils import RpmUtilsError
import rpmUtils.miscutils
-from rpmUtils.miscutils import flagToString, stringToVersion
+from rpmUtils.miscutils import flagToString, stringToVersion, compareVerOnly
import Errors
import errno
import struct
from constants import *
+from operator import itemgetter
import urlparse
urlparse.uses_fragment.append("media")
@@ -1139,7 +1140,11 @@ class YumAvailablePackage(PackageObject, RpmBase):
if hasattr(self, '_collapse_libc_requires') and self._collapse_libc_requires:
libc_requires = filter(lambda x: x[0].startswith('libc.so.6'), mylist)
if libc_requires:
- best = sorted(libc_requires)[-1]
+ print libc_requires
+ rest = sorted(libc_requires, cmp=compareVerOnly, key=itemgetter(0))
+ best = rest.pop()
+ if best[0].startswith('libc.so.6()'):
+ best = rest.pop()
newlist = []
for i in mylist:
if i[0].startswith('libc.so.6') and i != best:
commit 6bf7ca012bfb3d674df3f196f2f9e3eaabef0c91
Author: Seth Vidal <skvidal@fedoraproject.org>
Date: Wed May 4 10:21:55 2011 -0400
remove a debug print
add an explanation of why we skip libc.so.6()
diff --git a/yum/packages.py b/yum/packages.py
index e745a1a..95c50a1 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -1140,10 +1140,9 @@ class YumAvailablePackage(PackageObject, RpmBase):
if hasattr(self, '_collapse_libc_requires') and self._collapse_libc_requires:
libc_requires = filter(lambda x: x[0].startswith('libc.so.6'), mylist)
if libc_requires:
- print libc_requires
rest = sorted(libc_requires, cmp=compareVerOnly, key=itemgetter(0))
best = rest.pop()
- if best[0].startswith('libc.so.6()'):
+ if best[0].startswith('libc.so.6()'): # rpmvercmp will sort this one as 'highest' so we need to remove it from the list
best = rest.pop()
newlist = []
for i in mylist:

19
arm-basearch.patch Normal file
View file

@ -0,0 +1,19 @@
commit 4d587cf37c8976e6f1b2f3b33b181e52190e8eb7
Author: Dennis Gilmore <dennis@ausil.us>
Date: Thu May 26 15:36:32 2011 -0500
we need to set the basearch on arm hardware to arm.
diff --git a/rpmUtils/arch.py b/rpmUtils/arch.py
index 72cba60..6082005 100644
--- a/rpmUtils/arch.py
+++ b/rpmUtils/arch.py
@@ -359,6 +359,8 @@ def getBaseArch(myarch=None):
return "sparc"
elif myarch.startswith("ppc64"):
return "ppc"
+ elif myarch.startswith("arm"):
+ return "arm"
if isMultiLibArch(arch=myarch):
if myarch in multilibArches:

View file

@ -1 +0,0 @@
Superseded by DNF. For details, see: https://fedoraproject.org/wiki/Changes/Retire_YUM_3

16
geode-arch.patch Normal file
View file

@ -0,0 +1,16 @@
diff --git a/rpmUtils/arch.py b/rpmUtils/arch.py
index b493b6a..27c6d53 100644
--- a/rpmUtils/arch.py
+++ b/rpmUtils/arch.py
@@ -15,7 +15,7 @@ arches = {
# ia32
"athlon": "i686",
"i686": "i586",
- "geode": "i586",
+ "geode": "i686",
"i586": "i486",
"i486": "i386",
"i386": "noarch",
--
1.6.2.5

23
installonlyn-enable.patch Normal file
View file

@ -0,0 +1,23 @@
--- yum/config.py~ 2008-02-08 16:22:27.000000000 -0500
+++ yum/config.py 2008-02-08 16:22:28.000000000 -0500
@@ -593,7 +593,7 @@
# NOTE: If you set this to 2, then because it keeps the current kernel it
# means if you ever install an "old" kernel it'll get rid of the newest one
# so you probably want to use 3 as a minimum ... if you turn it on.
- installonly_limit = PositiveIntOption(0, range_min=2,
+ installonly_limit = PositiveIntOption(3, range_min=2,
names_of_0=["0", "<off>"])
kernelpkgnames = ListOption(['kernel','kernel-smp', 'kernel-enterprise',
'kernel-bigmem', 'kernel-BOOT', 'kernel-PAE', 'kernel-PAE-debug'])
--- docs/yum.conf.5~ 2009-05-11 11:55:25.000000000 -0400
+++ docs/yum.conf.5 2009-05-11 11:55:25.000000000 -0400
@@ -108,7 +108,7 @@
.IP \fBinstallonly_limit \fR
Number of packages listed in installonlypkgs to keep installed at the same
-time. Setting to 0 disables this feature. Default is '0'. Note that this
+time. Setting to 0 disables this feature. Default is '3'. Note that this
functionality used to be in the "installonlyn" plugin, where this option was
altered via. tokeep.

28
latest-head4rawhide.sh Executable file
View file

@ -0,0 +1,28 @@
#! /bin/bash -e
done=false
if [ "x$1" = "xjames" ]; then
done=true
cvs=~/work/fedora/cvs/yum/devel
git=~/work/rpm/private/yum
fi
if [ "x$1" = "xseth" ]; then
done=true
cvs=~/proj/fedora/yum/devel
git=~/proj/yum/3.2.X
fi
if ! $done; then
echo " Usage: $0 james | seth" 1>&2
echo "" 1>&2
echo " This command copies the latest git HEAD into Fedora rawhide," 1>&2
echo " working out the versions automatically. It also makes the" 1>&2
echo " diff between HEADs as minimal as possible. " 1>&2
exit 1
fi
cd $cvs
ver=$(make verrel | perl -lpe 's/-[^-]+$//' | sed s/\\\./-/g)
cd $git
git diff -r $ver > $cvs/yum-HEAD.patch

View file

@ -0,0 +1,13 @@
--- yum/config.py~ 2009-07-22 12:47:52.000000000 -0400
+++ yum/config.py 2009-07-22 12:48:39.000000000 -0400
@@ -631,9 +631,7 @@
names_of_0=["0", "<off>"])
kernelpkgnames = ListOption(['kernel','kernel-smp', 'kernel-enterprise',
'kernel-bigmem', 'kernel-BOOT', 'kernel-PAE', 'kernel-PAE-debug'])
- exactarchlist = ListOption(['kernel', 'kernel-smp',
- 'kernel-hugemem', 'kernel-enterprise', 'kernel-bigmem',
- 'kernel-devel', 'kernel-PAE', 'kernel-PAE-debug'])
+ exactarchlist = ListOption([])
tsflags = ListOption()
assumeyes = BoolOption(False)

147
skip-broken-rel-eng.patch Normal file
View file

@ -0,0 +1,147 @@
commit 35d04e27d65dc87f293c10bf4b90d8988f5170a0
Author: Tim Lauridsen <timlau@fedoraproject.org>
Date: Fri Nov 5 08:08:28 2010 +0100
- Make downgrade testcase
- fix test DepsolveProgressCallback to handle downgrade
- fix skip-broken code to handle downgrades
- prefix all skipbroken debug message with 'SKIPBROKEN:' for easier filtering
diff --git a/yum/__init__.py b/yum/__init__.py
index 234b599..11e019a 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -1057,7 +1057,7 @@ class YumBase(depsolve.Depsolve):
# and skip-broken shouldn't care too much about speed.
self.rpmdb.transactionReset()
self.installedFileRequires = None # Kind of hacky
- self.verbose_logger.debug(_("Skip-broken round %i"), count)
+ self.verbose_logger.debug("SKIPBROKEN: ########### Round %i ################" , count)
self._printTransaction()
depTree = self._buildDepTree()
startTs = set(self.tsInfo)
@@ -1114,7 +1114,7 @@ class YumBase(depsolve.Depsolve):
self._checkUpdatedLeftovers() # Cleanup updated leftovers
rescode, restring = self.resolveDeps()
if rescode != 1:
- self.verbose_logger.debug(_("Skip-broken took %i rounds "), count)
+ self.verbose_logger.debug("SKIPBROKEN: took %i rounds ", count)
self.verbose_logger.info(_('\nPackages skipped because of dependency problems:'))
skipped_list = [p for p in skipped_po]
skipped_list.sort()
@@ -1228,14 +1228,14 @@ class YumBase(depsolve.Depsolve):
TS_AVAILABLE : "available",
TS_UPDATED : "updated"}
- self.verbose_logger.log(logginglevels.DEBUG_2,"TSINFO: Current Transaction : %i member(s) " % len(self.tsInfo))
+ self.verbose_logger.log(logginglevels.DEBUG_2,"SKIPBROKEN: Current Transaction : %i member(s) " % len(self.tsInfo))
for txmbr in sorted(self.tsInfo):
- msg = " %-11s : %s " % (state[txmbr.output_state],txmbr.po)
+ msg = "SKIPBROKEN: %-11s : %s " % (state[txmbr.output_state],txmbr.po)
self.verbose_logger.log(logginglevels.DEBUG_2, msg)
for po,rel in sorted(txmbr.relatedto):
- msg = " %s : %s" % (rel,po)
+ msg = "SKIPBROKEN: %s : %s" % (rel,po)
self.verbose_logger.log(logginglevels.DEBUG_2, msg)
-
+ self.verbose_logger.log(logginglevels.DEBUG_2,"SKIPBROKEN:%s" % (60 * "="))
def _getPackagesToRemove(self,po,deptree,toRemove):
'''
@@ -1246,6 +1246,10 @@ class YumBase(depsolve.Depsolve):
for pkg in (txmbr.updates + txmbr.obsoletes):
toRemove.add(pkg)
self._getDepsToRemove(pkg, deptree, toRemove)
+ # Remove related packages
+ for (relative, relation) in txmbr.relatedto:
+ toRemove.add(relative)
+ self._getDepsToRemove(relative, deptree, toRemove)
self._getDepsToRemove(po, deptree, toRemove)
def _getDepsToRemove(self,po, deptree, toRemove):
commit eeadab5beb419c6e884f30c04fda58ed1d05b538
Author: Tim Lauridsen <timlau@fedoraproject.org>
Date: Sat Mar 5 13:55:09 2011 +0100
Add a unit test to make skip-broken go into endless loop when an installed
package conflict with an update.
Fix the cause by in depsolve by putting the conflicting po into the problem
tuple, so skip-broken knows what to remove from the transaction.
Also show the full package in the conflict message and not just the name.
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 8f18ccc..388811d 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -680,11 +680,12 @@ class Depsolve(object):
if len(self.tsInfo) != length and txmbrs:
return CheckDeps, errormsgs
- msg = '%s conflicts with %s' % (name, conflicting_po.name)
+ msg = '%s conflicts with %s' % (name, str(conflicting_po))
errormsgs.append(msg)
self.verbose_logger.log(logginglevels.DEBUG_1, msg)
CheckDeps = False
- self.po_with_problems.add((po,None,errormsgs[-1]))
+ # report the conflicting po, so skip-broken can remove it
+ self.po_with_problems.add((po,conflicting_po,errormsgs[-1]))
return CheckDeps, errormsgs
def _undoDepInstalls(self):
commit e07978f754d4268ce7637af036fc0bde9f16c0b4
Author: Tim Lauridsen <timlau@fedoraproject.org>
Date: Thu Mar 31 10:20:58 2011 +0200
Fix bugs in the skip-broken code, this should fix some of the weird cases where skip-broken fails today
diff --git a/yum/__init__.py b/yum/__init__.py
index 60c572d..cf4d827 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -1125,6 +1125,9 @@ class YumBase(depsolve.Depsolve):
self.rpmdb.transactionReset()
self.installedFileRequires = None # Kind of hacky
self.verbose_logger.debug("SKIPBROKEN: ########### Round %i ################" , count)
+ if count == 30: # Failsafe, to avoid endless looping
+ self.verbose_logger.debug('SKIPBROKEN: Too many loops ')
+ break
self._printTransaction()
depTree = self._buildDepTree()
startTs = set(self.tsInfo)
@@ -1140,7 +1143,7 @@ class YumBase(depsolve.Depsolve):
for skip in skipped:
skipped_po.add(skip)
# make sure we get the compat arch packages skip from pkgSack and up too.
- if skip not in removed_from_sack and skip.repoid == 'installed':
+ if skip not in removed_from_sack and skip.repoid != 'installed':
_remove_from_sack(skip)
# Nothing was removed, so we still got a problem
# the first time we get here we reset the resolved members of
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 388811d..44ccfd7 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -350,6 +350,7 @@ class Depsolve(object):
providers = self.rpmdb.getProvides(needname, needflags, needversion)
for inst_po in providers:
+ self._working_po = inst_po # store the last provider
inst_str = '%s.%s %s:%s-%s' % inst_po.pkgtup
(i_n, i_a, i_e, i_v, i_r) = inst_po.pkgtup
self.verbose_logger.log(logginglevels.DEBUG_2,
@@ -753,6 +754,7 @@ class Depsolve(object):
# check global FileRequires
+ self._working_po = None # reset the working po
if CheckRemoves:
CheckRemoves = False
for po, dep in self._checkFileRequires():
@@ -766,6 +768,7 @@ class Depsolve(object):
continue
# check Conflicts
+ self._working_po = None # reset the working po
if CheckInstalls:
CheckInstalls = False
for conflict in self._checkConflicts():

1
sources Normal file
View file

@ -0,0 +1 @@
91eff58aa4c25cd4f46b21201bbf9bea yum-3.2.28.tar.gz

411
yum-HEAD.patch Normal file
View file

@ -0,0 +1,411 @@
diff --git a/docs/yum.conf.5 b/docs/yum.conf.5
index 49d98c6..25b2c7d 100644
--- a/docs/yum.conf.5
+++ b/docs/yum.conf.5
@@ -134,9 +134,13 @@ an i686 package to update an i386 package. Default is `1'.
.IP
\fBinstallonlypkgs \fR
-List of packages that should only ever be installed, never updated. Kernels
-in particular fall into this category. Defaults to kernel, kernel-smp,
-kernel-bigmem, kernel-enterprise, kernel-debug, kernel-unsupported.
+List of package provides that should only ever be installed, never updated.
+Kernels in particular fall into this category. Defaults to kernel,
+kernel-bigmem, kernel-enterprise, kernel-smp, kernel-modules, kernel-debug,
+kernel-unsupported, kernel-source, kernel-devel, kernel-PAE, kernel-PAE-debug.
+
+Note that because these are provides, and not just package names, kernel-devel
+will also apply to kernel-debug-devel, etc.
.IP
\fBinstallonly_limit \fR
diff --git a/output.py b/output.py
index 3a90995..10c7442 100755
--- a/output.py
+++ b/output.py
@@ -1882,10 +1882,12 @@ class DepSolveProgressCallBack:
msg += _('\n Not found')
return msg
- ipkgs = set()
- for pkg in sorted(yb.rpmdb.getProvides(needname)):
+ def _run_inst_pkg(pkg, msg):
nevr = (pkg.name, pkg.epoch, pkg.version, pkg.release)
- ipkgs.add(nevr)
+ if nevr in seen_pkgs or (pkg.verEQ(last) and pkg.arch == last.arch):
+ return msg
+
+ seen_pkgs.add(nevr)
action = _('Installed')
rmed = yb.tsInfo.getMembersWithState(pkg.pkgtup, TS_REMOVE_STATES)
if rmed:
@@ -1901,21 +1903,40 @@ class DepSolveProgressCallBack:
if rtype not in relmap:
continue
nevr = (rpkg.name, rpkg.epoch, rpkg.version, rpkg.release)
- ipkgs.add(nevr)
+ seen_pkgs.add(nevr)
msg += _msg_pkg(relmap[rtype], rpkg, needname)
+ return msg
- last = None
- for pkg in sorted(yb.pkgSack.getProvides(needname)):
+ def _run_avail_pkg(pkg, msg):
# We don't want to see installed packages, or N packages of the
# same version, from different repos.
nevr = (pkg.name, pkg.epoch, pkg.version, pkg.release)
- if nevr in ipkgs or (pkg.verEQ(last) and pkg.arch == last.arch):
- continue
- last = pkg
+ if nevr in seen_pkgs or (pkg.verEQ(last) and pkg.arch == last.arch):
+ return False, last, msg
+ seen_pkgs.add(nevr)
action = _('Available')
if yb.tsInfo.getMembersWithState(pkg.pkgtup, TS_INSTALL_STATES):
action = _('Installing')
msg += _msg_pkg(action, pkg, needname)
+ return True, pkg, msg
+
+ last = None
+ seen_pkgs = set()
+ for pkg in sorted(yb.rpmdb.getProvides(needname)):
+ msg = _run_inst_pkg(pkg, msg)
+
+ available_names = set()
+ for pkg in sorted(yb.pkgSack.getProvides(needname)):
+ tst, last, msg = _run_avail_pkg(pkg, msg)
+ if tst:
+ available_names.add(pkg.name)
+
+ last = None
+ for pkg in sorted(yb.rpmdb.searchNames(available_names)):
+ msg = _run_inst_pkg(pkg, msg)
+ last = None
+ for pkg in sorted(yb.pkgSack.searchNames(available_names)):
+ tst, last, msg = _run_avail_pkg(pkg, msg)
return msg
def procConflict(self, name, confname):
diff --git a/yum/__init__.py b/yum/__init__.py
index 2ea9f20..3a9ef88 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -294,6 +294,11 @@ class YumBase(depsolve.Depsolve):
startupconf.syslog_facility = syslog_facility
if syslog_device != None:
startupconf.syslog_device = syslog_device
+ if releasever == '/':
+ if startupconf.installroot == '/':
+ releasever = None
+ else:
+ releasever = yum.config._getsysver("/",startupconf.distroverpkg)
if releasever != None:
startupconf.releasever = releasever
@@ -442,7 +447,11 @@ class YumBase(depsolve.Depsolve):
@return: YumRepository instance.
'''
repo = yumRepo.YumRepository(section)
- repo.populate(parser, section, self.conf)
+ try:
+ repo.populate(parser, section, self.conf)
+ except ValueError, e:
+ msg = _('Repository %r: Error parsing config: %s' % (section,e))
+ raise Errors.ConfigError, msg
# Ensure that the repo name is set
if not repo.name:
@@ -1403,7 +1412,8 @@ class YumBase(depsolve.Depsolve):
# that there is not also an install of this pkg in the tsInfo (reinstall)
# for any kind of install add from_repo to the yumdb, and the cmdline
# and the install reason
-
+
+ vt_st = time.time()
self.rpmdb.dropCachedData()
self.plugins.run('preverifytrans')
for txmbr in self.tsInfo:
@@ -1489,6 +1499,7 @@ class YumBase(depsolve.Depsolve):
self.plugins.run('historyend')
self.history.end(self.rpmdb.simpleVersion(main_only=True)[0], ret)
self.rpmdb.dropCachedData()
+ self.verbose_logger.debug('VerifyTransaction time: %0.3f' % (time.time() - vt_st))
def costExcludePackages(self):
""" Create an excluder for repos. with higher cost. Eg.
@@ -3669,6 +3680,7 @@ class YumBase(depsolve.Depsolve):
self.logger.critical(_('%s') % e)
if not depmatches:
+ arg = to_unicode(arg)
self.logger.critical(_('No Match for argument: %s') % arg)
else:
pkgs.extend(depmatches)
@@ -3690,6 +3702,14 @@ class YumBase(depsolve.Depsolve):
if self.conf.protected_packages and po.pkgtup == kern_pkgtup:
self.logger.warning(_("Skipping the running kernel: %s") % po)
continue
+
+ if self.tsInfo.getMembers(po.pkgtup):
+ # This allows multiple reinstalls and update/downgrade "cancel"
+ for txmbr in self.tsInfo.matchNaevr(po.name):
+ self.logger.warning(_("Removing %s from the transaction") %
+ txmbr)
+ self.tsInfo.remove(txmbr.pkgtup)
+ # Now start the remove/reinstall
txmbr = self.tsInfo.addErase(po)
tx_return.append(txmbr)
diff --git a/yum/history.py b/yum/history.py
index 502b908..014bdab 100644
--- a/yum/history.py
+++ b/yum/history.py
@@ -27,7 +27,7 @@ import yum.misc as misc
import yum.constants
from yum.constants import *
from yum.packages import YumInstalledPackage, YumAvailablePackage, PackageObject
-from yum.i18n import to_unicode
+from yum.i18n import to_unicode, to_utf8
_history_dir = '/var/lib/yum/history'
@@ -425,12 +425,15 @@ class YumHistory:
cur = self._get_cursor()
if cur is None or not self._update_db_file_2():
return None
+ # str(problem) doesn't work if problem contains unicode(),
+ # unicode(problem) doesn't work in python 2.4.x ... *sigh*.
+ uproblem = to_unicode(problem.__str__())
res = executeSQL(cur,
"""INSERT INTO trans_rpmdb_problems
(tid, problem, msg)
VALUES (?, ?, ?)""", (self._tid,
problem.problem,
- to_unicode(str(problem))))
+ uproblem))
rpid = cur.lastrowid
if not rpid:
@@ -467,7 +470,7 @@ class YumHistory:
res = executeSQL(cur,
"""INSERT INTO trans_cmdline
(tid, cmdline)
- VALUES (?, ?)""", (self._tid, cmdline))
+ VALUES (?, ?)""", (self._tid, to_unicode(cmdline)))
return cur.lastrowid
def beg(self, rpmdb_version, using_pkgs, txmbrs, skip_packages=[],
@@ -610,7 +613,7 @@ class YumHistory:
# open file in append
fo = open(data_fn, 'w+')
# write data
- fo.write(data)
+ fo.write(to_utf8(data))
# flush data
fo.flush()
fo.close()
@@ -914,17 +917,19 @@ class YumHistory:
version || '-' || release || '.' || arch AS nevra
FROM trans_skip_pkgs JOIN pkgtups USING(pkgtupid)
ORDER BY name;
-''', # NOTE: Old versions of sqlite don't like this next view, they are only
- # there for debugging anyway ... but it's worth remembering.
+''', # NOTE: Old versions of sqlite don't like the normal way to do the next
+ # view. So we do it with the select. It's for debugging only, so
+ # no big deal.
'''\
\
- CREATE VIEW vtrans_prob_pkgs AS
+ CREATE VIEW vtrans_prob_pkgs2 AS
SELECT tid,rpid,name,epoch,version,release,arch,pkgtups.pkgtupid,
- main,
+ main,problem,msg,
name || '-' || epoch || ':' ||
version || '-' || release || '.' || arch AS nevra
- FROM (trans_prob_pkgs JOIN trans_rpmdb_problems USING(rpid))
- JOIN pkgtups USING(pkgtupid)
+ FROM (SELECT * FROM trans_prob_pkgs,trans_rpmdb_problems WHERE
+ trans_prob_pkgs.rpid=trans_rpmdb_problems.rpid)
+ JOIN pkgtups USING(pkgtupid)
ORDER BY name;
''']
diff --git a/yum/pgpmsg.py b/yum/pgpmsg.py
index 9cf8217..b23eabc 100644
--- a/yum/pgpmsg.py
+++ b/yum/pgpmsg.py
@@ -1186,7 +1186,7 @@ def decode(msg) :
idx = idx + pkt_len
return pkt_list
-def decode_msg(msg) :
+def decode_msg(msg, multi=False) :
"""decode_msg(msg) ==> list of OpenPGP "packet" objects
Takes an ascii-armored PGP block and returns a list of objects each of which
corresponds to a PGP "packets".
@@ -1242,11 +1242,17 @@ a PGP "certificate" includes a public key, user id(s), and signature.
pkt_idx = cert.load(pkt_list)
cert_list.append(cert)
pkt_list[0:pkt_idx] = []
+ if not multi:
+ if not cert_list:
+ return None
+ return cert_list[0]
return cert_list
# add the data to our buffer then
block_buf.write(l)
+ if not multi:
+ return None
return []
def decode_multiple_keys(msg):
@@ -1266,7 +1272,7 @@ def decode_multiple_keys(msg):
block += '%s\n' % l
if l == '-----END PGP PUBLIC KEY BLOCK-----':
in_block = 0
- thesecerts = decode_msg(block)
+ thesecerts = decode_msg(block, multi=True)
if thesecerts:
certs.extend(thesecerts)
block = ''
diff --git a/yumcommands.py b/yumcommands.py
index a7f5d9e..9c6fc75 100644
--- a/yumcommands.py
+++ b/yumcommands.py
@@ -122,6 +122,25 @@ def checkShellArg(base, basecmd, extcmds):
base.usage()
raise cli.CliError
+def checkEnabledRepo(base, possible_local_files=[]):
+ """
+ Verify that there is at least one enabled repo.
+
+ @param base: a YumBase object.
+ """
+ if base.repos.listEnabled():
+ return
+
+ for lfile in possible_local_files:
+ if lfile.endswith(".rpm") and os.path.exists(lfile):
+ return
+
+ msg = _('There are no enabled repos.\n'
+ ' Run "yum repolist all" to see the repos you have.\n'
+ ' You can enable repos with yum-config-manager --enable <repo>')
+ base.logger.critical(msg)
+ raise cli.CliError
+
class YumCommand:
def __init__(self):
@@ -176,6 +195,7 @@ class InstallCommand(YumCommand):
checkRootUID(base)
checkGPGKey(base)
checkPackageArg(base, basecmd, extcmds)
+ checkEnabledRepo(base, extcmds)
def doCommand(self, base, basecmd, extcmds):
self.doneCommand(base, _("Setting up Install Process"))
@@ -197,6 +217,7 @@ class UpdateCommand(YumCommand):
def doCheck(self, base, basecmd, extcmds):
checkRootUID(base)
checkGPGKey(base)
+ checkEnabledRepo(base, extcmds)
def doCommand(self, base, basecmd, extcmds):
self.doneCommand(base, _("Setting up Update Process"))
@@ -218,6 +239,7 @@ class DistroSyncCommand(YumCommand):
def doCheck(self, base, basecmd, extcmds):
checkRootUID(base)
checkGPGKey(base)
+ checkEnabledRepo(base, extcmds)
def doCommand(self, base, basecmd, extcmds):
self.doneCommand(base, _("Setting up Distribution Synchronization Process"))
@@ -420,6 +442,9 @@ class GroupListCommand(GroupCommand):
def getSummary(self):
return _("List available package groups")
+ def doCheck(self, base, basecmd, extcmds):
+ checkEnabledRepo(base)
+
def doCommand(self, base, basecmd, extcmds):
GroupCommand.doCommand(self, base, basecmd, extcmds)
return base.returnGroupLists(extcmds)
@@ -441,6 +466,7 @@ class GroupInstallCommand(GroupCommand):
checkRootUID(base)
checkGPGKey(base)
checkGroupArg(base, basecmd, extcmds)
+ checkEnabledRepo(base)
def doCommand(self, base, basecmd, extcmds):
GroupCommand.doCommand(self, base, basecmd, extcmds)
@@ -462,6 +488,7 @@ class GroupRemoveCommand(GroupCommand):
def doCheck(self, base, basecmd, extcmds):
checkRootUID(base)
checkGroupArg(base, basecmd, extcmds)
+ checkEnabledRepo(base)
def doCommand(self, base, basecmd, extcmds):
GroupCommand.doCommand(self, base, basecmd, extcmds)
@@ -488,6 +515,7 @@ class GroupInfoCommand(GroupCommand):
def doCheck(self, base, basecmd, extcmds):
checkGroupArg(base, basecmd, extcmds)
+ checkEnabledRepo(base)
def doCommand(self, base, basecmd, extcmds):
GroupCommand.doCommand(self, base, basecmd, extcmds)
@@ -511,7 +539,7 @@ class MakeCacheCommand(YumCommand):
return _("Generate the metadata cache")
def doCheck(self, base, basecmd, extcmds):
- pass
+ checkEnabledRepo(base)
def doCommand(self, base, basecmd, extcmds):
base.logger.debug(_("Making cache files for all metadata files."))
@@ -554,6 +582,7 @@ class CleanCommand(YumCommand):
def doCheck(self, base, basecmd, extcmds):
checkCleanArg(base, basecmd, extcmds)
+ checkEnabledRepo(base)
def doCommand(self, base, basecmd, extcmds):
base.conf.cache = 1
@@ -592,6 +621,9 @@ class CheckUpdateCommand(YumCommand):
def getSummary(self):
return _("Check for available package updates")
+ def doCheck(self, base, basecmd, extcmds):
+ checkEnabledRepo(base)
+
def doCommand(self, base, basecmd, extcmds):
base.extcmds.insert(0, 'updates')
result = 0
@@ -668,6 +700,7 @@ class UpgradeCommand(YumCommand):
def doCheck(self, base, basecmd, extcmds):
checkRootUID(base)
checkGPGKey(base)
+ checkEnabledRepo(base, extcmds)
def doCommand(self, base, basecmd, extcmds):
base.conf.obsoletes = 1
@@ -1104,6 +1137,7 @@ class ReInstallCommand(YumCommand):
checkRootUID(base)
checkGPGKey(base)
checkPackageArg(base, basecmd, extcmds)
+ checkEnabledRepo(base, extcmds)
def doCommand(self, base, basecmd, extcmds):
self.doneCommand(base, _("Setting up Reinstall Process"))
@@ -1130,6 +1164,7 @@ class DowngradeCommand(YumCommand):
checkRootUID(base)
checkGPGKey(base)
checkPackageArg(base, basecmd, extcmds)
+ checkEnabledRepo(base, extcmds)
def doCommand(self, base, basecmd, extcmds):
self.doneCommand(base, _("Setting up Downgrade Process"))

View file

@ -0,0 +1,39 @@
commit 3e05536ef876fc761553b632495449fd96bb4b9e
Author: James Antill <james@and.org>
Date: Tue Sep 14 09:48:23 2010 -0400
Can't keep ts around, due to rpmdb.auto_close. BZ 622179.
This kind of sucks as we have to remember in all future code not to
keep a ts over any .rpmdb call, it's even better because almost nobody
will hit it. It works though, and is simple.
We could maybe fix this "better" by using a weakref in rpmdb, and doing
it that way. Or having some manual way to mark auto_close as off. Or
just rm'ing auto_close as a bad idea.
diff --git a/yum/__init__.py b/yum/__init__.py
index b5e9213..5c689e5 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -4301,12 +4301,11 @@ class YumBase(depsolve.Depsolve):
keyurls = repo.gpgkey
key_installed = False
- ts = self.rpmdb.readOnlyTS()
-
for keyurl in keyurls:
keys = self._retrievePublicKey(keyurl, repo)
for info in keys:
+ ts = self.rpmdb.readOnlyTS()
# Check if key is already installed
if misc.keyInstalled(ts, info['keyid'], info['timestamp']) >= 0:
self.logger.info(_('GPG key at %s (0x%s) is already installed') % (
@@ -4331,6 +4330,7 @@ class YumBase(depsolve.Depsolve):
raise Errors.YumBaseError, _("Not installing key")
# Import the key
+ ts = self.rpmdb.readOnlyTS()
result = ts.pgpImportPubkey(misc.procgpgkey(info['raw_key']))
if result != 0:
raise Errors.YumBaseError, \

83
yum-manpage-files.patch Normal file
View file

@ -0,0 +1,83 @@
commit 102915d4d402493c48d434ae1d1756225c4468e0
Author: James Antill <james@and.org>
Date: Mon Jun 14 01:15:21 2010 -0400
Port manpage files path fixups.
diff --git a/docs/yum.8 b/docs/yum.8
index d5ede0a..3bdb408 100644
--- a/docs/yum.8
+++ b/docs/yum.8
@@ -568,7 +568,7 @@ option in yum.conf. For a plugin to work, the following conditions must be met:
1. The plugin module file must be installed in the plugin path as just
described.
.LP
-2. The global \fBplugins\fP option in /etc/yum/yum.conf must be set to `1'.
+2. The global \fBplugins\fP option in /etc/yum.conf must be set to `1'.
.LP
3. A configuration file for the plugin must exist in
/etc/yum/pluginconf.d/<plugin_name>.conf and the \fBenabled\fR setting in this
@@ -584,9 +584,9 @@ configuration options.
.PP
.SH "FILES"
.nf
-/etc/yum/yum.conf
+/etc/yum.conf
/etc/yum/version-groups.conf
-/etc/yum/repos.d/
+/etc/yum.repos.d/
/etc/yum/pluginconf.d/
/var/cache/yum/
.fi
diff --git a/docs/yum.conf.5 b/docs/yum.conf.5
index ca36103..42815b9 100644
--- a/docs/yum.conf.5
+++ b/docs/yum.conf.5
@@ -4,10 +4,10 @@
\fByum.conf\fR \- Configuration file for \fByum(8)\fR.
.SH "DESCRIPTION"
.LP
-Yum uses a configuration file at \fB/etc/yum/yum.conf\fR.
+Yum uses a configuration file at \fB/etc/yum.conf\fR.
.LP
Additional configuration files are also read from the directories set by the
-\fBreposdir\fR option (default is `/etc/yum/repos.d').
+\fBreposdir\fR option (default is `/etc/yum.repos.d').
See the \fBreposdir\fR option below for further details.
.SH "PARAMETERS"
@@ -42,10 +42,10 @@ of headers and packages after successful installation. Default is '1'
.IP
\fBreposdir\fR
A list of directories where yum should look for .repo files which define
-repositories to use. Default is `/etc/yum/repos.d'. Each
+repositories to use. Default is `/etc/yum.repos.d'. Each
file in this directory should contain one or more repository sections as
documented in \fB[repository] options\fR below. These will be merged with the
-repositories defined in /etc/yum/yum.conf to form the complete set of
+repositories defined in /etc/yum.conf to form the complete set of
repositories that yum will use.
.IP
@@ -745,8 +745,8 @@ for any given command. Defaults to False.
.SH "URL INCLUDE SYNTAX"
.LP
-The inclusion of external configuration files is supported for /etc/yum/yum.conf
-and the .repo files in the /etc/yum/repos.d directory. To include a URL, use a
+The inclusion of external configuration files is supported for /etc/yum.conf
+and the .repo files in the /etc/yum.repos.d directory. To include a URL, use a
line of the following format:
include=url://to/some/location
@@ -812,8 +812,8 @@ data in any value.
.SH "FILES"
.nf
-/etc/yum/yum.conf
-/etc/yum/repos.d/
+/etc/yum.conf
+/etc/yum.repos.d/
/etc/yum/pluginconf.d/
/etc/yum/protected.d
/etc/yum/vars

11
yum-mirror-priority.patch Normal file
View file

@ -0,0 +1,11 @@
--- yum/config.py~ 2008-03-04 16:21:49.000000000 -0500
+++ yum/config.py 2008-03-04 16:21:49.000000000 -0500
@@ -582,7 +582,7 @@
commands = ListOption()
exclude = ListOption()
- failovermethod = Option('roundrobin')
+ failovermethod = Option('priority')
proxy = UrlOption(schemes=('http', 'ftp', 'https'), allow_none=True)
proxy_username = Option()
proxy_password = Option()

View file

@ -0,0 +1,11 @@
--- yum/config.py~ 2009-10-14 15:52:38.000000000 -0400
+++ yum/config.py 2009-10-14 15:59:57.000000000 -0400
@@ -670,7 +670,7 @@
# similar but better :).
mdpolicy = ListOption(['group:primary'])
# ('instant', 'group:all', 'group:main', 'group:small', 'group:primary'))
- multilib_policy = SelectionOption('all',('best', 'all'))
+ multilib_policy = SelectionOption('best',('best', 'all'))
# all == install any/all arches you can
# best == use the 'best arch' for the system

15
yum-updatesd.conf.fedora Normal file
View file

@ -0,0 +1,15 @@
[main]
# how often to check for new updates (in seconds)
run_interval = 3600
# how often to allow checking on request (in seconds)
updaterefresh = 600
# how to send notifications (valid: dbus, email, syslog)
emit_via = dbus
# automatically install updates
do_update = no
# automatically download updates
do_download = no
# automatically download deps of updates
do_download_deps = no

24
yum.conf.fedora Normal file
View file

@ -0,0 +1,24 @@
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
color=never
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

615
yum.spec Normal file
View file

@ -0,0 +1,615 @@
%{!?python_sitelib: %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
Summary: RPM installer/updater
Name: yum
Version: 3.2.28
Release: 7%{?dist}
License: GPLv2+
Group: System Environment/Base
Source0: http://yum.baseurl.org/download/3.2/%{name}-%{version}.tar.gz
Source1: yum.conf.fedora
Source2: yum-updatesd.conf.fedora
Patch0: installonlyn-enable.patch
Patch1: yum-mirror-priority.patch
Patch3: yum-multilib-policy-best.patch
Patch4: no-more-exactarchlist.patch
Patch5: geode-arch.patch
Patch51: arm-basearch.patch
Patch6: yum-HEAD.patch
Patch7: yum-PK-auto-close-fix.patch
Patch8: skip-broken-rel-eng.patch
Patch9: BZ-701744-collapse-libc.patch
Patch20: yum-manpage-files.patch
URL: http://yum.baseurl.org/
BuildArch: noarch
BuildRequires: python
BuildRequires: gettext
BuildRequires: intltool
Conflicts: pirut < 1.1.4
Requires: python >= 2.4, rpm-python, rpm >= 0:4.4.2
Requires: python-iniparse
Requires: python-sqlite
Requires: python-urlgrabber >= 3.9.0-8
Requires: yum-metadata-parser >= 1.1.0
Requires: pygpgme
Obsoletes: yum-skip-broken <= 1.1.18
Obsoletes: yum-basearchonly <= 1.1.9
Obsoletes: yum-allow-downgrade < 1.1.20-0
Obsoletes: yum-plugin-allow-downgrade < 1.1.22-0
Obsoletes: yum-plugin-protect-packages < 1.1.27-0
Obsoletes: yum-plugin-download-order <= 0.2-2
Provides: yum-skip-broken
Provides: yum-basearchonly
Provides: yum-allow-downgrade
Provides: yum-plugin-allow-downgrade
Provides: yum-protect-packages
Provides: yum-plugin-protect-packages
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%description
Yum is a utility that can check for and automatically download and
install updated RPM packages. Dependencies are obtained and downloaded
automatically, prompting the user for permission as necessary.
%package updatesd
Summary: Update notification daemon
Group: Applications/System
Requires: yum = %{version}-%{release}
Requires: dbus-python
Requires: pygobject2
Requires(preun): /sbin/chkconfig
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/service
Requires(post): /sbin/service
%description updatesd
yum-updatesd provides a daemon which checks for available updates and
can notify you when they are available via email, syslog or dbus.
%prep
%setup -q
%patch1 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p1
%patch51 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch20 -p1
%build
make
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/yum.conf
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/yum/pluginconf.d $RPM_BUILD_ROOT/usr/lib/yum-plugins
# for now, move repodir/yum.conf back
mv $RPM_BUILD_ROOT/%{_sysconfdir}/yum/repos.d $RPM_BUILD_ROOT/%{_sysconfdir}/yum.repos.d
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/yum/yum.conf
# yum-updatesd has moved to the separate source version
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/yum/yum-updatesd.conf
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d/yum-updatesd
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/dbus-1/system.d/yum-updatesd.conf
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
rm -rf $RPM_BUILD_ROOT
%files -f %{name}.lang
%defattr(-, root, root, -)
%doc README AUTHORS COPYING TODO INSTALL ChangeLog
%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
%{_datadir}/yum-cli/*
%{_bindir}/yum
%{python_sitelib}/yum
%{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 %{_sysconfdir}/yum/pluginconf.d
%dir /usr/lib/yum-plugins
%changelog
* Tue May 31 2011 James Antill <james at fedoraproject.org> - 3.2.28-7
- Change arm basearch to arm
* Wed May 11 2011 James Antill <james at fedoraproject.org> - 3.2.28-6
- Update consolidate_libc to fix new version issue.
- Limit skip-broken to 30 loops, for rel-eng.
* Tue Oct 5 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.28-5
- bumping to 3.2.28-5 so f12 doesn't have a higher version
- bug # 640181
* Tue Sep 14 2010 James Antill <james at fedoraproject.org> - 3.2.28-4
- Fix auto-close bug with GPG key installs.
- Resolves: bug#622179
* Fri Aug 27 2010 Seth Vidal <skvidal at fedoraproject.org>
- obsoleted yum-plugin-download-order
* Thu Aug 12 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.28-3
- latest head
- fix gpg key import
- more unicode fixes
- output slightly more clear depsovling error msgs
* Mon Aug 9 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.28-2
- latest head
- unicide fixes
- sqlite history db conversion fixes
* Fri Jul 30 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.28-1
- 3.2.28
* Wed Jul 28 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 3.2.27-21
- Again rebuild against python 2.7
* Mon Jul 26 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.27-20
- latest head
- minor fixes and doc updates
- hardlink yumdb files to conserve spacde
- cache yumdb results
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 3.2.27-19
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Fri Jul 16 2010 James Antill <james@fedoraproject.org> - 3.2.27-18
- Latest head.
- Add history addon-info.
- Add new callbacks, verify and compare_providers.
- Fix rpm transaction fail API break, probably only for anaconda.
- Bug fixes.
* Fri Jun 25 2010 James Antill <james@fedoraproject.org> - 3.2.27-17
- Latest head.
- Allow reinstalls of kernel, etc.
- Tweaks to some user output.
- Allow Fedora GPG keys to be removed.
- Add history extra data API, and history plugin hooks.
- Bunch of minor bug fixes.
* Tue Jun 15 2010 James Antill <james@fedoraproject.org> - 3.2.27-16
- Latest head.
- Fix install being recorded as reinstall.
- Make localinstall not install obsoleted only by installed.
- Fix info -v, on available packages.
- Fix man page stuff.
- Deal with unicide on rpmdb problems.
- Allow ipkg.repo.name to work.
- Add ville's epoch None vs. 0 code, in compareEVR.
* Fri Jun 11 2010 James Antill <james@fedoraproject.org> - 3.2.27-15
- Latest head.
- Add filtering requires code for createrepo.
- Add installed_by/changed_by yumdb values.
- Tweak output for install/reinstall/downgrade callbacks.
- Add plugin hooks for pre/post verifytrans.
- Deal with local pkgs. which only obsolete.
- No chain removals on downgrade.
- Bunch of speedups for "list installed blah", and "remove blah".
* Wed Jun 2 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.27-14
- merge in latest yum head:
- change decompressors to support lzma, if python module is available
- finnish translation fixes
- pyint vs pylong fix for formatRequire() so we stop spitting back the wrong requires strings to mock on newish rpm
- add exit_on_lock option
- Deal with RHEL-5 loginuid damage
- Fix pkgs. that are excluded after being put in yb.up ... BZ#597853
- Opt. for rpmdb.returnPackages(patterns=...). Drops about 30%% from remove time.
- Fix "remove name-version", really minor API bug before last patch
* Wed May 26 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.27-13
- minor cleanups for yum-utils with --setopt
- translation updates
* Thu May 13 2010 James Antill <james@fedoraproject.org> - 3.2.27-12
- Latest head.
- History db version 2
- Some bug fixes
- More paranoid/leanient with rpmdb cache problems.
* Wed May 5 2010 James Antill <james@fedoraproject.org> - 3.2.27-11
- Fix from head for mock, mtime=>ctime due to caches and fixed installroot
- Fix for typo in new problems code, bug 589008
* Mon May 3 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.27-10
- latest head
- fixes yum chroot path duplication
- yum.log perms
* Thu Apr 29 2010 James Antill <james@fedoraproject.org> - 3.2.27-9
- Latest yum-3_2_X head.
- Added protect packages.
- Bug fixes from the yum bug day.
- Added removed size output.
- Added glob: to all list config. options.
- Fix fsvars.
* Thu Apr 22 2010 James Antill <james@fedoraproject.org> - 3.2.27-8
- Latest yum-3_2_X head.
- Add deselections.
- Add simple depsolve into compare_providers
- Speedup distro-sync blah.
* Fri Apr 16 2010 James Antill <james@fedoraproject.org> - 3.2.27-7
- Latest yum-3_2_X head.
- Add the "big update" speedup patch.
- Add nocontexts ts flag.
- Add provides and obsoleted to "yum check".
- Add new dump_xml stuff for createrepo/modifyrepo.
- Move /var/lib/yum/vars to /etc/yum/vars
* Mon Apr 12 2010 James Antill <james@fedoraproject.org> - 3.2.27-6
- Latest yum-3_2_X head.
- Fix the caching changes.
* Sat Apr 10 2010 James Antill <james@fedoraproject.org> - 3.2.27-5
- Latest yum-3_2_X head.
- Remove the broken assert in sqlitesack
* Thu Apr 8 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.27-4
- more latest headness
* Fri Mar 26 2010 James Antill <james@fedoraproject.org> - 3.2.27-3
- Latest yum-3_2_X head.
* Tue Mar 23 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.27-2
- broke searching in PK, this patch fixes it.
* 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
* Wed Sep 30 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.24-9
- revert yum. import patch b/c it breaks a bunch of things
* Wed Sep 30 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.24-8
- fix up broken build b/c of version-groups.conf file
* Tue Sep 29 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.24-7
- fixes for odd outputs from ts.run and logs for what we store in history
* Wed Sep 23 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.24-6
- new head patch - fixes some issues with history and chroots
* Mon Sep 21 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.24-5
- latest head patch - includes yum history feature.
* Tue Sep 15 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.24-4
- new head patch - translation updates and a few bug fixes
* Wed Sep 9 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.24-3
- add geode arch patch for https://bugzilla.redhat.com/show_bug.cgi?id=518415
* Thu Sep 3 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.24-2
- modify cachedir to include variables
* Thu Sep 3 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.24-1
- 3.2.24
* Wed Sep 2 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.23-16
- fix globbing issue 520810
* Mon Aug 31 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.23-15
- one more head update - fixes some fairly ugly but kind of minor bugs
* Tue Aug 18 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.23-14
- update to latest head pre 3.2.24
- add requirement on python-urlgrabber 3.9.0 and up
* Wed Aug 5 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.23-13
- latest head - right after freeze
* Tue Aug 4 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.23-12
- latest head - right before freeze :)
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.23-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Jul 22 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.23-10
- remove exactarchlist by request for rawhide
* Thu Jul 2 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.23-9
- update to latest head - make livecd creation work again in rawhide
- disable one of the man page patches until after 3.2.24 is released b/c
of the changes to the man page in the head patch
* Mon Jun 22 2009 James Antill <james at fedoraproject.org> - 3.2.23-8
- Update to latest head:
- Fix old recursion bug, found by new code.
- Resolves: bug#507220
* Sun Jun 21 2009 James Antill <james at fedoraproject.org> - 3.2.23-6
- Update to latest head:
- Unbreak delPackage() excludes.
- Other fixes/etc.
* Fri Jun 19 2009 James Antill <james at fedoraproject.org> - 3.2.23-5
- Actually apply the HEAD patch included yesterday :).
* Thu Jun 18 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.23-4
- update to latest head
* Mon Jun 8 2009 Seth Vidal <skvidal at fedoraproject.org>
- truncate changelog
* Wed May 20 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.23-2
- add patch to close rpmdb completely
* Tue May 19 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.23-1
- 3.2.23
* Mon May 11 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.22-5
- jump up to almost 3.2.23.
- had to move patch0 around a bit until we rebase to 3.2.23
* Thu Apr 9 2009 James Antill <james at fedoraproject.org> - 3.2.22-4
- fix typo for yum-complete-transaction message.
* Wed Apr 8 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.22-3
- fix for file:// urls which makes things in pungi/mash work
* Tue Apr 7 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.22-2
- yum-HEAD minus the yumdb patches
* Tue Mar 24 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.22-1
- 3.2.22 - 3 patches beyond 3.2.21-16
* Mon Mar 16 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-16
- fix for 490490
* Fri Mar 13 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-15
- update to upstream git to fix conditionals problem on anaconda installs
* Thu Mar 12 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-14
- latest HEAD
* Tue Mar 10 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-13
- f11beta build
* Wed Mar 4 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-12
- second verse, same as the first
* Fri Feb 27 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-10
- merge up a lot of fixes from latest HEAD
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.21-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Tue Feb 10 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-9
- merge up to latest yum head - sort of a pre 3.2.22
* Wed Feb 4 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-8
- fix for YumHeaderPackages so it plays nicely w/createrepo and mergerepo, etc
* Thu Jan 29 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-7
- update HEAD patch to fix repodiff (and EVR comparisons in certain cases)
* Tue Jan 27 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-6
- patch to keep anaconda (and other callers) happy
- remove old 6hr patch which is now upstream
* Mon Jan 26 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-4
- patch to latest HEAD to test a number of fixes for alpha
* Tue Jan 20 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-3
- add a small patch to make things play a bit nicer with the logging module
in 2.6
* Wed Jan 7 2009 Seth Vidal <skvidal at fedoraproject.org> - 3.2.21-1
- bump to 3.2.21
* Thu Dec 18 2008 James Antill <james@fedoraproject.org> - 3.2.20-8
- merge latest from upstream
- move to 6hr metadata
* Mon Dec 8 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.20-7
- merge patch from upstream and remove now old obsoletes patch
* Thu Dec 04 2008 Jesse Keating <jkeating@redhat.com> - 3.2.20-6
- Add patch from upstream to fix cases where obsoletes are disabled. (jantill)
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 3.2.20-5
- Rebuild for Python 2.6
* Wed Nov 26 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.20-4
- update head patch
* Wed Oct 29 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.20-3
- full patch against HEAD for skipbroken fixes (among others)
* Mon Oct 27 2008 James Antill <james@fedoraproject.org> - 3.2.20-2
- Fix listTransaction for skipped packages.
* Mon Oct 27 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.20-1
- 3.2.20
* Thu Oct 23 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.19-6
- update HEAD patch
* Wed Oct 15 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.19-5
- rebase against 3.2.X HEAD
* Tue Oct 14 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.19-4
- pull patch from git to bring us up to current(ish)
* Wed Sep 3 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.19-3
- add patch to fix yum install name.arch matching
* Thu Aug 28 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.19-2
- add patch to fix mash's parser use.
* Wed Aug 27 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.19-1
- 3.2.19
* Thu Aug 7 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.18-1
- 3.2.18
* Wed Jul 10 2008 Seth Vidal <skvidal@fedoraproject.org> - 3.2.17-2
- add patch from upstream for bug in compare_providers
* Wed Jul 9 2008 Seth Vidal <skvidal@fedoraproject.org> - 3.2.17-1
- 3.2.17
* Tue Jun 24 2008 Jesse Keating <jkeating@redhat.com> - 3.2.16-4
- Add a couple more upstream patches for even more multilib fixes
* Tue Jun 24 2008 Jesse Keating <jkeating@redhat.com> - 3.2.16-3
- Add another patch from upstream for multilib policy and noarch
* Sun May 18 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.16-2
- stupid, stupid, stupid
* Fri May 16 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.16-1
- 3.2.16
* Tue Apr 15 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.14-9
- nine is the luckiest number that there will ever be
* Tue Apr 15 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.14-8
- after many tries - this one fixes translations AND pungi
* Thu Apr 10 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.14-5
- once more, with feeling
* Thu Apr 10 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.14-4
- another big-head-patch
* Wed Apr 9 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.14-3
- apply patch to bring this up to where HEAD is now.
* Tue Apr 8 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.14-1
- remove committed patch
- obsoletes yum-basearchonly
* Tue Apr 1 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.13-2
- fix minor typo in comps.py for jkeating
* Thu Mar 20 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.13-1
- 3.2.13
* Mon Mar 17 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.12-5
- update manpage patch to close bug 437703. Thakns to Kulbir Saini for the patch
* Fri Mar 14 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.12-4
- multilib_policy=best is now the default
* Thu Mar 13 2008 Seth Vidal <skvidal at fedoraproject.org>
- add jeff sheltren's patch to close rh bug 428825
* Tue Mar 4 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.12-3
- set failovermethod to 'priority' to make jkeating happy
* Tue Mar 4 2008 Seth Vidal <skvidal at fedoraproject.org> 3.2.12-2
- fix mutually obsoleting providers (like glibc!)
* Mon Mar 3 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.12-1
- 3.2.12
* Fri Feb 8 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.11-1
- 3.2.11
* Sun Jan 27 2008 James Bowes <jbowes@redhat.com> 3.2.10-3
- Remove yumupd.py
* Fri Jan 25 2008 Seth Vidal <skvidal at fedoraproject.org> - 3.2.10-1
- 3.2.10
- add pygpgme dep