Compare commits

..

7 commits

Author SHA1 Message Date
Dennis Gilmore
320eb08f02 add arm hardware floating point support to yum 2011-11-30 19:40:10 -06:00
James Antill
8f197b29bb Fix for pulp using the repostorage API.
Fix for progress ctrl-m on yum update.
2011-08-17 15:06:48 -04:00
James Antill
def97a88e7 Fix for createrepo sqlite update.
Also doesn't auto load summary/description/url/sourcerpm.
2011-07-28 15:39:22 -04:00
James Antill
9fd43cbd36 Update the release 2011-07-11 17:29:26 -04:00
James Antill
3c03ef1d70 Fix libc consolidate.
Resolves: bug#715108
2011-07-11 17:23:09 -04:00
James Antill
47a1d95d38 Change arm basearch to arm. 2011-05-31 15:19:54 -04:00
James Antill
370664a622 Update consolidate_libc to fix new version issue.
Limit skip-broken to 30 loops, for rel-eng.
2011-05-11 11:10:46 -04:00
21 changed files with 2068 additions and 1 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
yum-3.2.27.tar.gz
yum-3.2.28.tar.gz
/yum-3.2.29.tar.gz

View file

@ -0,0 +1,98 @@
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:
commit 5f99d07ffc01a7d5f39c62153efd6f48691c911d
Author: Seth Vidal <skvidal@fedoraproject.org>
Date: Tue Jun 21 14:04:36 2011 -0400
add check to make sure rest in the libc collapsing is not a single item
list.
diff --git a/yum/packages.py b/yum/packages.py
index d8043f9..5ef9951 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -1186,7 +1186,7 @@ class YumAvailablePackage(PackageObject, RpmBase):
if libc_requires:
rest = sorted(libc_requires, cmp=compareVerOnly, key=itemgetter(0))
best = rest.pop()
- if best[0].startswith('libc.so.6()'): # rpmvercmp will sort this one as 'highest' so we need to remove it from the list
+ if len(rest) > 0 and 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:

View file

@ -0,0 +1,18 @@
commit fce611847370974d131ec50a4eb689ae462c20c0
Author: Zdeněk Pavlas <zpavlas@redhat.com>
Date: Mon Jul 11 10:33:48 2011 +0200
Do not output '\r' unless to a tty. BZ 720088
diff --git a/output.py b/output.py
index b6aa277..94cbc64 100755
--- a/output.py
+++ b/output.py
@@ -2366,6 +2366,7 @@ class YumCliRPMCallBack(RPMBaseCallback):
if self.output and (sys.stdout.isatty() or te_current == te_total):
(fmt, wid1, wid2) = self._makefmt(percent, ts_current, ts_total,
+ progress=sys.stdout.isatty(),
pkgname=pkgname, wid1=wid1)
msg = fmt % (utf8_width_fill(process, wid1, wid1),
utf8_width_fill(pkgname, wid2, wid2))

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.orig 2010-06-21 17:39:17.000000000 -0400
+++ docs/yum.conf.5 2010-09-14 12:11:40.897615896 -0400
@@ -141,7 +141,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.
Note that as of version 3.2.24, yum will now look in the yumdb for a installonly

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
git=~/work/rpm/private/yum
fi
if [ "x$1" = "xseth" ]; then
done=true
cvs=~/proj/fedora/yum/master
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=$(/usr/bin/fedpkg 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)

View file

@ -0,0 +1,24 @@
commit 3d7c28d4ec579b97e30b75364d4662ec360d70ca
Author: James Antill <james@and.org>
Date: Thu Jun 2 10:28:50 2011 -0400
Fix for pulp directly using RepoStorage() without a YumBase().
diff --git a/yum/repos.py b/yum/repos.py
index 4ea4961..3793bad 100644
--- a/yum/repos.py
+++ b/yum/repos.py
@@ -110,7 +110,12 @@ class RepoStorage:
repoobj.quick_enable_disable = self.quick_enable_disable
else:
self._cache_enabled_repos = None
- repoobj._override_sigchecks = self.ayum._override_sigchecks
+ # At least pulp reuses RepoStorage but doesn't have a "real" YumBase()
+ # so we can't guarantee new YumBase() attrs. exist.
+ if not hasattr(self.ayum, '_override_sigchecks'):
+ repoobj._override_sigchecks = False
+ else:
+ repoobj._override_sigchecks = self.ayum._override_sigchecks
def delete(self, repoid):
if repoid in self.repos:

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

@ -0,0 +1,262 @@
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/test/skipbroken-tests.py b/test/skipbroken-tests.py
index 31482bc..36a4a6d 100644
--- a/test/skipbroken-tests.py
+++ b/test/skipbroken-tests.py
@@ -1,8 +1,11 @@
import unittest
import logging
import sys
+import re
from testbase import *
+REGEX_PKG = re.compile(r"(\d*):?(.*)-(.*)-(.*)\.(.*)$")
+
class SkipBrokenTests(DepsolveTests):
''' Test cases to test skip-broken'''
@@ -20,6 +23,36 @@ class SkipBrokenTests(DepsolveTests):
po = FakePackage(name, version, release, epoch, arch, repo=self.repo)
self.rpmdb.addPackage(po)
return po
+
+ def _pkgstr_to_nevra(self, pkg_str):
+ '''
+ Get a nevra from from a epoch:name-version-release.arch string
+ @param pkg_str: package string
+ '''
+ res = REGEX_PKG.search(pkg_str)
+ if res:
+ (e,n,v,r,a) = res.groups()
+ if e == "":
+ e = "0"
+ return (n,e,v,r,a)
+ else:
+ raise AttributeError("Illegal package string : %s" % pkg_str)
+
+ def repoString(self, pkg_str):
+ '''
+ Add an available package from a epoch:name-version-release.arch string
+ '''
+ (n,e,v,r,a) = self._pkgstr_to_nevra(pkg_str)
+ return self.repoPackage(n,v,r,e,a)
+
+
+ def instString(self, pkg_str):
+ '''
+ Add an installed package from a epoch:name-version-release.arch string
+ '''
+ (n,e,v,r,a) = self._pkgstr_to_nevra(pkg_str)
+ return self.instPackage(n,v,r,e,a)
+
def testMissingReqNoSkip(self):
''' install fails, because of missing req.
@@ -671,6 +704,35 @@ class SkipBrokenTests(DepsolveTests):
# uncomment this line and the test will fail and you can see the output
# self.assertResult([i1])
+ def test_conflict_looping(self):
+ '''
+ Skip-broken is looping
+ https://bugzilla.redhat.com/show_bug.cgi?id=681806
+ '''
+ members = [] # the result after the transaction
+ # Installed package conflicts with u1
+ i0 = self.instString('kde-l10n-4.6.0-3.fc15.1.noarch')
+ i0.addConflicts('kdepim', 'GT', ('6', '4.5.9', '0'))
+ members.append(i0)
+ i1 = self.instString('6:kdepim-4.5.94.1-1.fc14.x86_64')
+ u1 = self.repoString('7:kdepim-4.4.10-1.fc15.x86_64')
+ self.tsInfo.addUpdate(u1, oldpo=i1)
+ # u1 should be removed, because of the conflict
+ members.append(i1)
+ i2 = self.instString('6:kdepim-libs-4.5.94.1-1.fc14.x86_64')
+ u2 = self.repoString('7:kdepim-libs-4.4.10-1.fc15.x86_64')
+ self.tsInfo.addUpdate(u2, oldpo=i2)
+ members.append(u2)
+ i3 = self.instString('kdepim-runtime-libs-4.5.94.1-2.fc14.x86_64')
+ u3 = self.repoString('1:kdepim-runtime-libs-4.4.10-2.fc15.x86_64')
+ self.tsInfo.addUpdate(u3, oldpo=i3)
+ members.append(u3)
+ i4 = self.instString('kdepim-runtime-4.5.94.1-2.fc14.x86_64')
+ u4 = self.repoString('1:kdepim-runtime-4.4.10-2.fc15.x86_64')
+ self.tsInfo.addUpdate(u4, oldpo=i4)
+ members.append(u4)
+ self.assertEquals('ok', *self.resolveCode(skip=True))
+ self.assertResult(members)
def resolveCode(self,skip = False):
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/test/skipbroken-tests.py b/test/skipbroken-tests.py
index 36a4a6d..812785a 100644
--- a/test/skipbroken-tests.py
+++ b/test/skipbroken-tests.py
@@ -733,6 +733,82 @@ class SkipBrokenTests(DepsolveTests):
members.append(u4)
self.assertEquals('ok', *self.resolveCode(skip=True))
self.assertResult(members)
+
+ def test_skipbroken_001(self):
+ '''
+ this will pass
+ https://bugzilla.redhat.com/show_bug.cgi?id=656057
+ '''
+ members = []
+ # Installed package conflicts with ux1
+ ix0 = self.instString('1:libguestfs-1.6.0-1.fc14.1.i686')
+ ix0.addRequires('/usr/lib/.libssl.so.1.0.0a.hmac')
+ members.append(ix0)
+ ix1 = self.instString('openssl-1.0.0a-2.fc14.i686')
+ ix1.addFile("/usr/lib/.libssl.so.1.0.0a.hmac")
+ ux1 = self.repoString('openssl-1.0.0b-1.fc14.i686')
+ ux1.addFile("/usr/lib/.libssl.so.1.0.0b.hmac")
+ self.tsInfo.addUpdate(ux1, oldpo=ix1)
+ members.append(ix1)
+ self.assertEquals('empty', *self.resolveCode(skip=True))
+ self.assertResult(members)
+
+
+ def test_skipbroken_002(self):
+ '''
+ this will pass
+ https://bugzilla.redhat.com/show_bug.cgi?id=656057
+ '''
+ members = []
+ # Installed package conflicts with ux1
+ ix0 = self.instString('1:libguestfs-1.6.0-1.fc14.1.i686')
+ ix0.addRequires('/usr/lib/.libssl.so.1.0.0a.hmac')
+ members.append(ix0)
+ ix1 = self.instString('openssl-1.0.0a-2.fc14.i686')
+ ix1.addFile("/usr/lib/.libssl.so.1.0.0a.hmac")
+ ux1 = self.repoString('openssl-1.0.0b-1.fc14.i686')
+ ux1.addFile("/usr/lib/.libssl.so.1.0.0b.hmac")
+ self.tsInfo.addUpdate(ux1, oldpo=ix1)
+ members.append(ix1)
+ # this is just junk to make the transaction big
+ i1 = self.instString('afoobar-0.4.12-2.fc12.noarch')
+ u1 = self.repoString('afoobar-0.4.14-1.fc14.noarch')
+ self.tsInfo.addUpdate(u1, oldpo=i1)
+ members.append(u1)
+ self.assertEquals('ok', *self.resolveCode(skip=True))
+ self.assertResult(members)
+
+ def test_skipbroken_003(self):
+ '''
+ this will fail, because of a bug in the skip-broken code.
+ it will remove the wrong package (zfoobar) instead of openssl.
+ the problem is that self._working_po is not set with the right value
+ when checking file requires for installed packages after the transaction
+ if resolved. (_resolveRequires)
+ if fails because self._working_po contains the last package processed in the transaction
+ zfoobar, so it will be removed.
+ https://bugzilla.redhat.com/show_bug.cgi?id=656057
+
+ This should not fail anymore, after the the self._working_po is reset in depsolver
+ '''
+ members = []
+ # Installed package conflicts with ux1
+ ix0 = self.instString('1:libguestfs-1.6.0-1.fc14.1.i686')
+ ix0.addRequires('/usr/lib/.libssl.so.1.0.0a.hmac')
+ members.append(ix0)
+ ix1 = self.instString('openssl-1.0.0a-2.fc14.i686')
+ ix1.addFile("/usr/lib/.libssl.so.1.0.0a.hmac")
+ ux1 = self.repoString('openssl-1.0.0b-1.fc14.i686')
+ ux1.addFile("/usr/lib/.libssl.so.1.0.0b.hmac")
+ self.tsInfo.addUpdate(ux1, oldpo=ix1)
+ members.append(ix1)
+ # this is just junk to make the transaction big
+ i1 = self.instString('zfoobar-0.4.12-2.fc12.noarch')
+ u1 = self.repoString('zfoobar-0.4.14-1.fc14.noarch')
+ self.tsInfo.addUpdate(u1, oldpo=i1)
+ members.append(u1)
+ self.assertEquals('ok', *self.resolveCode(skip=True))
+ self.assertResult(members)
def resolveCode(self,skip = False):
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 @@
8b6b106190980c606b77ebf6a81b5f70 yum-3.2.29.tar.gz

327
yum-HEAD.patch Normal file
View file

@ -0,0 +1,327 @@
diff --git a/docs/yum.8 b/docs/yum.8
index 52f6b53..3b414e2 100644
--- a/docs/yum.8
+++ b/docs/yum.8
@@ -73,7 +73,7 @@ gnome\-packagekit application\&.
.br
.I \fR * version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ]
.br
-.I \fR * history [info|list|summary|redo|undo|new|addon-info]
+.I \fR * history [info|list|packages-list|summary|redo|undo|new|addon-info]
.br
.I \fR * check
.br
@@ -316,8 +316,12 @@ The undo/redo commands take either a transaction id or the keyword last and
an offset from the last transaction (Eg. if you've done 250 transactions,
"last" refers to transaction 250, and "last-4" refers to transaction 246).
+The addon-info command takes a transaction ID, and the packages-list command
+takes a package (with wildcards).
+
In "history list" output the Altered column also gives some extra information
-if there was something not good with the transaction.
+if there was something not good with the transaction (this is also shown at the
+end of the package column in the packages-list command).
.I \fB>\fR - The rpmdb was changed, outside yum, after the transaction.
.br
diff --git a/etc/yum.bash b/etc/yum.bash
index f4be628..1ccb83d 100644
--- a/etc/yum.bash
+++ b/etc/yum.bash
@@ -176,9 +176,13 @@ _yum()
{
COMPREPLY=()
local yum=$1
- local cur
- type _get_cword &>/dev/null && cur=`_get_cword` || cur=$2
- local prev=$3
+ local cur prev
+ local -a words
+ if type _get_comp_words_by_ref &>/dev/null ; then
+ _get_comp_words_by_ref cur prev words
+ else
+ cur=$2 prev=$3 words=("${COMP_WORDS[@]}")
+ fi
# Commands offered as completions
local cmds=( check check-update clean deplist distro-sync downgrade
groupinfo groupinstall grouplist groupremove help history info install
@@ -186,12 +190,12 @@ _yum()
shell update upgrade version )
local i c cmd subcmd
- for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )) ; do
- [[ -n $cmd ]] && subcmd=${COMP_WORDS[i]} && break
+ for (( i=1; i < ${#words[@]}-1; i++ )) ; do
+ [[ -n $cmd ]] && subcmd=${words[i]} && break
# Recognize additional commands and aliases
for c in ${cmds[@]} check-rpmdb distribution-synchronization erase \
groupupdate grouperase localinstall localupdate whatprovides ; do
- [[ ${COMP_WORDS[i]} == $c ]] && cmd=$c && break
+ [[ ${words[i]} == $c ]] && cmd=$c && break
done
done
@@ -251,7 +255,7 @@ _yum()
COMPREPLY=( $( compgen -W 'info list summary undo redo
new addon-info package-list' -- "$cur" ) )
;;
- undo|redo|addon|addon-info)
+ undo|redo|repeat|addon|addon-info)
COMPREPLY=( $( compgen -W "last $( $yum -d 0 -C history \
2>/dev/null | \
sed -ne 's/^[[:space:]]*\([0-9]\{1,\}\).*/\1/p' )" \
diff --git a/output.py b/output.py
index b1d92e5..04b718b 100755
--- a/output.py
+++ b/output.py
@@ -1936,6 +1936,9 @@ to exit.
of a package(s) instead of via. transactions. """
tids = self.history.search(extcmds)
limit = None
+ if extcmds and not tids:
+ self.logger.critical(_('Bad transaction IDs, or package(s), given'))
+ return 1, ['Failed history packages-list']
if not tids:
limit = 20
diff --git a/test/skipbroken-tests.py b/test/skipbroken-tests.py
index 4e6b2c8..31482bc 100644
--- a/test/skipbroken-tests.py
+++ b/test/skipbroken-tests.py
@@ -669,7 +669,7 @@ class SkipBrokenTests(DepsolveTests):
self.tsInfo.addUpdate(u7, oldpo=i7)
self.assertEquals('ok', *self.resolveCode(skip=True))
# uncomment this line and the test will fail and you can see the output
- self.assertResult([i1])
+ # self.assertResult([i1])
diff --git a/yum.spec b/yum.spec
index a1fbc72..65a2397 100644
--- a/yum.spec
+++ b/yum.spec
@@ -194,8 +194,8 @@ exit 0
%defattr(-,root,root)
%doc COPYING
%{_sysconfdir}/cron.daily/0yum.cron
-%{_sysconfdir}/yum/yum-daily.yum
-%{_sysconfdir}/yum/yum-weekly.yum
+%config(noreplace) %{_sysconfdir}/yum/yum-daily.yum
+%config(noreplace) %{_sysconfdir}/yum/yum-weekly.yum
%{_sysconfdir}/rc.d/init.d/yum-cron
%config(noreplace) %{_sysconfdir}/sysconfig/yum-cron
diff --git a/yum/__init__.py b/yum/__init__.py
index f6e8a6b..de393f1 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -349,7 +349,10 @@ class YumBase(depsolve.Depsolve):
# who are we:
self.conf.uid = os.geteuid()
-
+ # repos are ver/arch specific so add $basearch/$releasever
+ self.conf._repos_persistdir = os.path.normpath('%s/repos/%s/%s/'
+ % (self.conf.persistdir, self.yumvar.get('basearch', '$basearch'),
+ self.yumvar.get('releasever', '$releasever')))
self.doFileLogSetup(self.conf.uid, self.conf.logfile)
self.verbose_logger.debug('Config time: %0.3f' % (time.time() - conf_st))
self.plugins.run('init')
@@ -418,10 +421,7 @@ class YumBase(depsolve.Depsolve):
else:
thisrepo.repo_config_age = repo_age
thisrepo.repofile = repofn
- # repos are ver/arch specific so add $basearch/$releasever
- self.conf._repos_persistdir = os.path.normpath('%s/repos/%s/%s/'
- % (self.conf.persistdir, self.yumvar.get('basearch', '$basearch'),
- self.yumvar.get('releasever', '$releasever')))
+
thisrepo.base_persistdir = self.conf._repos_persistdir
@@ -1437,10 +1437,11 @@ class YumBase(depsolve.Depsolve):
self.rpmdb.transactionResultVersion(frpmdbv)
# transaction has started - all bets are off on our saved ts file
- try:
- os.unlink(self._ts_save_file)
- except (IOError, OSError), e:
- pass
+ if self._ts_save_file is not None:
+ try:
+ os.unlink(self._ts_save_file)
+ except (IOError, OSError), e:
+ pass
self._ts_save_file = None
errors = self.ts.run(cb.callback, '')
@@ -1485,7 +1486,12 @@ class YumBase(depsolve.Depsolve):
# drop out the rpm cache so we don't step on bad hdr indexes
- self.rpmdb.dropCachedDataPostTransaction(list(self.tsInfo))
+ if (self.ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST) or
+ resultobject.return_code):
+ self.rpmdb.dropCachedData()
+ else:
+ self.rpmdb.dropCachedDataPostTransaction(list(self.tsInfo))
+
self.plugins.run('posttrans')
# sync up what just happened versus what is in the rpmdb
if not self.ts.isTsFlagSet(rpm.RPMTRANS_FLAG_TEST):
@@ -1674,8 +1680,11 @@ class YumBase(depsolve.Depsolve):
def doLock(self, lockfile = YUM_PID_FILE):
"""perform the yum locking, raise yum-based exceptions, not OSErrors"""
- # if we're not root then lock the cache
if self.conf.uid != 0:
+ # If we are a user, assume we are using the root cache ... so don't
+ # bother locking.
+ if self.conf.cache:
+ return
root = self.conf.cachedir
# Don't want <cachedir>/var/run/yum.pid ... just: <cachedir>/yum.pid
lockfile = os.path.basename(lockfile)
@@ -1690,7 +1699,7 @@ class YumBase(depsolve.Depsolve):
fd = open(lockfile, 'r')
except (IOError, OSError), e:
msg = _("Could not open lock %s: %s") % (lockfile, e)
- raise Errors.LockError(1, msg)
+ raise Errors.LockError(errno.EPERM, msg)
try: oldpid = int(fd.readline())
except ValueError:
@@ -1707,7 +1716,7 @@ class YumBase(depsolve.Depsolve):
else:
# Whoa. What the heck happened?
msg = _('Unable to check if PID %s is active') % oldpid
- raise Errors.LockError(1, msg, oldpid)
+ raise Errors.LockError(errno.EPERM, msg, oldpid)
else:
# Another copy seems to be running.
msg = _('Existing lock %s: another copy is running as pid %s.') % (lockfile, oldpid)
@@ -1752,7 +1761,7 @@ class YumBase(depsolve.Depsolve):
if not msg.errno == errno.EEXIST:
# Whoa. What the heck happened?
errmsg = _('Could not create lock at %s: %s ') % (filename, str(msg))
- raise Errors.LockError(msg.errno, errmsg, contents)
+ raise Errors.LockError(msg.errno, errmsg, int(contents))
return 0
else:
os.write(fd, contents)
@@ -4557,16 +4566,25 @@ class YumBase(depsolve.Depsolve):
keyurl, info['hexkeyid']))
key_installed = True
continue
-
# Try installing/updating GPG key
if is_cakey:
+ # know where the 'imported_cakeys' file is
+ ikf = repo.base_persistdir + '/imported_cakeys'
keytype = 'CA'
+ cakeys = []
+ try:
+ cakeys_d = open(ikf, 'r').read()
+ cakeys = cakeys_d.split('\n')
+ except (IOError, OSError):
+ pass
+ if str(info['hexkeyid']) in cakeys:
+ key_installed = True
else:
keytype = 'GPG'
-
- if repo.gpgcakey and info['has_sig'] and info['valid_sig']:
- key_installed = True
- else:
+ if repo.gpgcakey and info['has_sig'] and info['valid_sig']:
+ key_installed = True
+
+ if not key_installed:
self._getKeyImportMessage(info, keyurl, keytype)
rc = False
if self.conf.assumeyes:
@@ -4587,7 +4605,18 @@ class YumBase(depsolve.Depsolve):
raise Errors.YumBaseError, _('Key import failed')
self.logger.info(_('Key imported successfully'))
key_installed = True
-
+ # write out the key id to imported_cakeys in the repos basedir
+ if is_cakey and key_installed:
+ if info['hexkeyid'] not in cakeys:
+ ikfo = open(ikf, 'a')
+ try:
+ ikfo.write(info['hexkeyid']+'\n')
+ ikfo.flush()
+ ikfo.close()
+ except (IOError, OSError):
+ # maybe a warning - but in general this is not-critical, just annoying to the user
+ pass
+
if not key_installed:
raise Errors.YumBaseError, \
_('The GPG keys listed for the "%s" repository are ' \
diff --git a/yum/depsolve.py b/yum/depsolve.py
index de2849a..3aaba0e 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -799,9 +799,9 @@ class Depsolve(object):
continue
done.add((po, err))
self.verbose_logger.log(logginglevels.DEBUG_4,
- _("%s from %s has depsolving problems") % (po, po.repoid))
+ "SKIPBROKEN: %s from %s has depsolving problems" % (po, po.repoid))
err = err.replace('\n', '\n --> ')
- self.verbose_logger.log(logginglevels.DEBUG_4," --> %s" % err)
+ self.verbose_logger.log(logginglevels.DEBUG_4,"SKIPBROKEN: --> %s" % err)
return (1, errors)
if not len(self.tsInfo):
diff --git a/yumcommands.py b/yumcommands.py
index ecce347..45cd209 100644
--- a/yumcommands.py
+++ b/yumcommands.py
@@ -972,6 +972,12 @@ class RepoListCommand(YumCommand):
elif repo.mirrorlist:
out += [base.fmtKeyValFill(_("Repo-mirrors : "),
repo.mirrorlist)]
+ if enabled and repo.urls:
+ url = repo.urls[0]
+ if len(repo.urls) > 1:
+ url += ' (%d more)' % (len(repo.urls) - 1)
+ out += [base.fmtKeyValFill(_("Repo-baseurl : "),
+ url)]
if not os.path.exists(repo.metadata_cookie):
last = _("Unknown")
diff --git a/yummain.py b/yummain.py
index c64b140..9f9b7d4 100755
--- a/yummain.py
+++ b/yummain.py
@@ -23,6 +23,7 @@ import os.path
import sys
import logging
import time
+import errno
from yum import Errors
from yum import plugins
@@ -99,12 +100,16 @@ def main(args):
if exception2msg(e) != lockerr:
lockerr = exception2msg(e)
logger.critical(lockerr)
- if not base.conf.exit_on_lock:
+ if (e.errno not in (errno.EPERM, errno.EACCES) and
+ not base.conf.exit_on_lock):
logger.critical(_("Another app is currently holding the yum lock; waiting for it to exit..."))
tm = 0.1
if show_lock_owner(e.pid, logger):
tm = 2
time.sleep(tm)
+ elif e.errno in (errno.EPERM, errno.EACCES):
+ logger.critical(_("Can't create lock file; exiting"))
+ return 1
else:
logger.critical(_("Another app is currently holding the yum lock; exiting as configured by exit_on_lock"))
return 1

54
yum-arm-hfp-support.patch Normal file
View file

@ -0,0 +1,54 @@
diff -uNr yum-3.2.29-orig/rpmUtils/arch.py yum-3.2.29/rpmUtils/arch.py
--- yum-3.2.29-orig/rpmUtils/arch.py 2011-11-30 19:34:43.000000000 -0600
+++ yum-3.2.29/rpmUtils/arch.py 2011-11-30 19:36:10.000000000 -0600
@@ -2,6 +2,7 @@
#
import os
+import rpm
# dict mapping arch -> ( multicompat, best personality, biarch personality )
multilibArches = { "x86_64": ( "athlon", "x86_64", "athlon" ),
@@ -61,6 +62,10 @@
"armv5tejl": "armv5tel",
"armv5tel": "noarch",
+ #arm hardware floating point
+ "armv7hnl": "armv7hl",
+ "armv7hl": "noarch",
+
# super-h
"sh4a": "sh4",
"sh4": "noarch",
@@ -231,6 +236,13 @@
return arch
+def getCanonARMArch(arch):
+ # the %{_target_arch} macro in rpm will let us know the abi we are using
+ target = rpm.expandMacro('%{_target_cpu}')
+ if target.startswith('armv7h'):
+ return target
+ return arch
+
def getCanonPPCArch(arch):
# FIXME: should I do better handling for mac, etc?
if arch != "ppc64":
@@ -308,6 +320,8 @@
if (len(arch) == 4 and arch[0] == "i" and arch[2:4] == "86"):
return getCanonX86Arch(arch)
+ if arch.startswith("arm"):
+ return getCanonARMArch(arch)
if arch.startswith("ppc"):
return getCanonPPCArch(arch)
if arch.startswith("sparc"):
@@ -359,6 +373,8 @@
return "sparc"
elif myarch.startswith("ppc64"):
return "ppc"
+ elif myarch.startswith("armv7h"):
+ return "armhfp"
elif myarch.startswith("arm"):
return "arm"

View file

@ -0,0 +1,223 @@
commit f964c35723285981459474f7afe194b079ac28ed
Author: James Antill <james@and.org>
Date: Mon Feb 21 11:34:29 2011 -0500
Don't preload summary/desc/url/source, also _needed_ for pkgtup only pkgs.
diff --git a/yum/packages.py b/yum/packages.py
index 15eeeaa..8ffe51e 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -1246,18 +1246,32 @@ class YumHeaderPackage(YumAvailablePackage):
self.ver = self.version
self.rel = self.release
self.pkgtup = (self.name, self.arch, self.epoch, self.version, self.release)
- # Summaries "can be" empty, which rpm return [], see BZ 473239, *sigh*
- self.summary = self.hdr['summary'] or ''
- self.summary = misc.share_data(self.summary.replace('\n', ''))
- self.description = self.hdr['description'] or ''
- self.description = misc.share_data(self.description)
+ self._loaded_summary = None
+ self._loaded_description = None
self.pkgid = self.hdr[rpm.RPMTAG_SHA1HEADER]
if not self.pkgid:
self.pkgid = "%s.%s" %(self.hdr['name'], self.hdr['buildtime'])
self.packagesize = self.hdr['size']
self.__mode_cache = {}
self.__prcoPopulated = False
-
+
+ def _loadSummary(self):
+ # Summaries "can be" empty, which rpm return [], see BZ 473239, *sigh*
+ if self._loaded_summary is None:
+ summary = self._get_hdr()['summary'] or ''
+ summary = misc.share_data(summary.replace('\n', ''))
+ self._loaded_summary = summary
+ return self._loaded_summary
+ summary = property(lambda x: x._loadSummary())
+
+ def _loadDescription(self):
+ if self._loaded_description is None:
+ description = self._get_hdr()['description'] or ''
+ description = misc.share_data(description)
+ self._loaded_description = description
+ return self._loaded_description
+ description = property(lambda x: x._loadDescription())
+
def __str__(self):
if self.epoch == '0':
val = '%s-%s-%s.%s' % (self.name, self.version, self.release,
diff --git a/yum/rpmsack.py b/yum/rpmsack.py
index 4e9835d..e93df20 100644
--- a/yum/rpmsack.py
+++ b/yum/rpmsack.py
@@ -42,11 +42,6 @@ class RPMInstalledPackage(YumInstalledPackage):
def __init__(self, rpmhdr, index, rpmdb):
self._has_hdr = True
YumInstalledPackage.__init__(self, rpmhdr, yumdb=rpmdb.yumdb)
- # NOTE: We keep summary/description/url because it doesn't add much
- # and "yum search" uses them all.
- self.url = rpmhdr['url']
- # Also keep sourcerpm for pirut/etc.
- self.sourcerpm = rpmhdr['sourcerpm']
self.idx = index
self.rpmdb = rpmdb
commit 0e9bdf0b7d78a735319751692d3af5ae5ed20537
Author: Seth Vidal <skvidal@fedoraproject.org>
Date: Fri Jul 15 11:17:15 2011 -0400
when you .lower() a string you want to compare it
to lowercase values, not uppercase ones.
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 8a6f6f3..19193ad 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -406,7 +406,7 @@ class YumAvailablePackageSqlite(YumAvailablePackage, PackageObject, RpmBase):
requires = []
for ob in cur:
pre = "0"
- if ob['pre'].lower() in ['TRUE', 1]:
+ if ob['pre'].lower() in ['true', 1]:
pre = "1"
prco_set = (_share_data(ob['name']), _share_data(ob['flags']),
(_share_data(ob['epoch']),
commit 5cc20cc6581ae621d163207c1ce57b3b0776af98
Author: Seth Vidal <skvidal@fedoraproject.org>
Date: Fri Jul 15 11:21:21 2011 -0400
the "0" string of pre returns as valid on the if pre check. So turn it
into a check for "1" so our requires don't always include pre="0"
when they don't really need to.
diff --git a/yum/packages.py b/yum/packages.py
index 5ef9951..4b1265c 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -1217,7 +1217,7 @@ class YumAvailablePackage(PackageObject, RpmBase):
prcostring += ''' ver="%s"''' % misc.to_xml(v, attrib=True)
if r:
prcostring += ''' rel="%s"''' % misc.to_xml(r, attrib=True)
- if pre:
+ if pre == "1":
prcostring += ''' pre="%s"''' % pre
prcostring += "/>\n"
commit ff93cd1a76a86bec43b2c712cab637bf4bfcdff7
Author: Seth Vidal <skvidal@fedoraproject.org>
Date: Fri Jul 15 11:42:02 2011 -0400
make the test !=0 instead of == 1
diff --git a/yum/packages.py b/yum/packages.py
index 4b1265c..e055edf 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -1217,7 +1217,7 @@ class YumAvailablePackage(PackageObject, RpmBase):
prcostring += ''' ver="%s"''' % misc.to_xml(v, attrib=True)
if r:
prcostring += ''' rel="%s"''' % misc.to_xml(r, attrib=True)
- if pre == "1":
+ if pre != "0":
prcostring += ''' pre="%s"''' % pre
prcostring += "/>\n"
commit b6431c11672f9f0cfb09fc384c7f249c66f3c78a
Author: Seth Vidal <skvidal@fedoraproject.org>
Date: Fri Jul 15 17:37:12 2011 -0400
- make the pre check look for 0 or "0" b/c 0 comes from the pkgs and "0" comes from the sqlite :)
- if we have nothing we've used in the requires output, then don't output anything - this makes it match
the behavior of dumping to xml from the sqlite dbs
- set installedsize properly for header/local pkg objects
- use installedsize properly in the xml generation :)
- sort the requires and provides lists so if nothing has changed nothing in the repodata will change :)
diff --git a/yum/packages.py b/yum/packages.py
index e055edf..db365c5 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -1083,7 +1083,7 @@ class YumAvailablePackage(PackageObject, RpmBase):
misc.to_unicode(misc.to_xml(self.summary)),
misc.to_unicode(misc.to_xml(self.description)),
packager, url, self.filetime,
- self.buildtime, self.packagesize, self.size, self.archivesize)
+ self.buildtime, self.packagesize, self.installedsize, self.archivesize)
msg += self._return_remote_location()
return msg
@@ -1133,7 +1133,7 @@ class YumAvailablePackage(PackageObject, RpmBase):
msg = ""
mylist = getattr(self, pcotype)
if mylist: msg = "\n <rpm:%s>\n" % pcotype
- for (name, flags, (e,v,r)) in mylist:
+ for (name, flags, (e,v,r)) in sorted(mylist):
pcostring = ''' <rpm:entry name="%s"''' % misc.to_xml(name, attrib=True)
if flags:
pcostring += ''' flags="%s"''' % misc.to_xml(flags, attrib=True)
@@ -1194,8 +1194,8 @@ class YumAvailablePackage(PackageObject, RpmBase):
continue
newlist.append(i)
mylist = newlist
-
- for (name, flags, (e,v,r),pre) in mylist:
+ used = 0
+ for (name, flags, (e,v,r),pre) in sorted(mylist):
if name.startswith('rpmlib('):
continue
# this drops out requires that the pkg provides for itself.
@@ -1217,13 +1217,16 @@ class YumAvailablePackage(PackageObject, RpmBase):
prcostring += ''' ver="%s"''' % misc.to_xml(v, attrib=True)
if r:
prcostring += ''' rel="%s"''' % misc.to_xml(r, attrib=True)
- if pre != "0":
+ if pre not in ("0", 0):
prcostring += ''' pre="%s"''' % pre
-
+
prcostring += "/>\n"
msg += prcostring
+ used += 1
if mylist: msg += " </rpm:requires>"
+ if used == 0:
+ return ""
return msg
def _dump_changelog(self, clog_limit):
@@ -1299,7 +1302,8 @@ class YumHeaderPackage(YumAvailablePackage):
self.pkgid = self.hdr[rpm.RPMTAG_SHA1HEADER]
if not self.pkgid:
self.pkgid = "%s.%s" %(self.hdr['name'], self.hdr['buildtime'])
- self.packagesize = self.hdr['size']
+ self.packagesize = self.hdr['archivesize']
+ self.installedsize = self.hdr['size']
self.__mode_cache = {}
self.__prcoPopulated = False
commit cf07a046ba2969f25fa16801cc86940dd0ceafa7
Author: Seth Vidal <skvidal@fedoraproject.org>
Date: Fri Jul 15 17:44:25 2011 -0400
sort the files output too - it takes a bit more time but it makes things easier to read :)
diff --git a/yum/packages.py b/yum/packages.py
index db365c5..79c15db 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -1161,11 +1161,11 @@ class YumAvailablePackage(PackageObject, RpmBase):
dirs = self.returnFileEntries('dir', primary_only=True)
ghosts = self.returnFileEntries('ghost', primary_only=True)
- for fn in files:
+ for fn in sorted(files):
msg += """ <file>%s</file>\n""" % misc.to_xml(fn)
- for fn in dirs:
+ for fn in sorted(dirs):
msg += """ <file type="dir">%s</file>\n""" % misc.to_xml(fn)
- for fn in ghosts:
+ for fn in sorted(ghosts):
msg += """ <file type="ghost">%s</file>\n""" % misc.to_xml(fn)
return msg

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

23
yum.conf.fedora Normal file
View file

@ -0,0 +1,23 @@
[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
# 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

816
yum.spec Normal file
View file

@ -0,0 +1,816 @@
%{!?python_sitelib: %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
# We always used /usr/lib here, even on 64bit ... so it's a bit meh.
%define yum_pluginslib /usr/lib/yum-plugins
%define yum_pluginsshare /usr/share/yum-plugins
Summary: RPM package installer/updater/manager
Name: yum
Version: 3.2.29
Release: 10%{?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
Patch8: skip-broken-rel-eng.patch
Patch9: BZ-701744-collapse-libc.patch
Patch10: yum-createrepo-sqlite-update-fixes.patch
Patch11: pulp-repostorage-fix.patch
Patch12: BZ-720088-progress-ctrl-m-fix.patch
Patch13: yum-arm-hfp-support.patch
Patch20: yum-manpage-files.patch
URL: http://yum.baseurl.org/
BuildArch: noarch
BuildRequires: python
BuildRequires: gettext
BuildRequires: intltool
# This is really CheckRequires ...
BuildRequires: python-nose
BuildRequires: python >= 2.4, rpm-python, rpm >= 0:4.4.2
BuildRequires: python-iniparse
BuildRequires: python-sqlite
BuildRequires: python-urlgrabber >= 3.9.0-8
BuildRequires: yum-metadata-parser >= 1.1.0
BuildRequires: pygpgme
# End of CheckRequires
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
Conflicts: rpm >= 5-0
# Zif is a re-implementation of yum in C, however:
#
# 1. There is no co-operation/etc. with us.
# 2. It touches our private data directly.
#
# ...both of which mean that even if there were _zero_ bugs in zif, we'd
# never be able to change anything after the first user started using it. And
# of course:
#
# 3. Users will never be able to tell that it isn't weird yum bugs, when they
# hit them (and we'll probably never be able to debug them, without becoming
# zif experts).
#
# ...so we have two sane choices: i) Conflict with it. 2) Stop developing yum.
#
# Upstream says that #2 will no longer be true after this release.
Conflicts: zif <= 0.1.3-3.fc15
Obsoletes: yum-skip-broken <= 1.1.18
Provides: yum-skip-broken = 1.1.18.yum
Obsoletes: yum-basearchonly <= 1.1.9
Obsoletes: yum-plugin-basearchonly <= 1.1.9
Provides: yum-basearchonly = 1.1.9.yum
Provides: yum-plugin-basearchonly = 1.1.9.yum
Obsoletes: yum-allow-downgrade < 1.1.20-0
Obsoletes: yum-plugin-allow-downgrade < 1.1.22-0
Provides: yum-allow-downgrade = 1.1.20-0.yum
Provides: yum-plugin-allow-downgrade = 1.1.22-0.yum
Obsoletes: yum-plugin-protect-packages < 1.1.27-0
Provides: yum-protect-packages = 1.1.27-0.yum
Provides: yum-plugin-protect-packages = 1.1.27-0.yum
Obsoletes: yum-plugin-download-order <= 0.2-2
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.
%package cron
Summary: Files needed to run yum updates as a cron job
Group: System Environment/Base
Requires: yum >= 3.0 vixie-cron crontabs yum-plugin-downloadonly findutils
Requires(post): /sbin/chkconfig
Requires(post): /sbin/service
Requires(preun): /sbin/chkconfig
Requires(preun): /sbin/service
Requires(postun): /sbin/service
%description cron
These are the files needed to run yum updates as a cron job.
Install this package if you want auto yum updates nightly via cron.
%prep
%setup -q
%patch0 -p0
%patch1 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p1
%patch51 -p1
%patch6 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch20 -p1
%patch13 -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/%{yum_pluginslib}
mkdir -p $RPM_BUILD_ROOT/%{yum_pluginsshare}
# 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
# rpmlint bogus stuff...
chmod +x $RPM_BUILD_ROOT/%{_datadir}/yum-cli/*.py
chmod +x $RPM_BUILD_ROOT/%{python_sitelib}/yum/*.py
chmod +x $RPM_BUILD_ROOT/%{python_sitelib}/rpmUtils/*.py
%find_lang %name
%clean
rm -rf $RPM_BUILD_ROOT
%post cron
# Make sure chkconfig knows about the service
/sbin/chkconfig --add yum-cron
# if an upgrade:
if [ "$1" -ge "1" ]; then
# if there's a /etc/rc.d/init.d/yum file left, assume that there was an
# older instance of yum-cron which used this naming convention. Clean
# it up, do a conditional restart
if [ -f /etc/init.d/yum ]; then
# was it on?
/sbin/chkconfig yum
RETVAL=$?
if [ $RETVAL = 0 ]; then
# if it was, stop it, then turn on new yum-cron
/sbin/service yum stop 1> /dev/null 2>&1
/sbin/service yum-cron start 1> /dev/null 2>&1
/sbin/chkconfig yum-cron on
fi
# remove it from the service list
/sbin/chkconfig --del yum
fi
fi
exit 0
%preun cron
# if this will be a complete removeal of yum-cron rather than an upgrade,
# remove the service from chkconfig control
if [ $1 = 0 ]; then
/sbin/chkconfig --del yum-cron
/sbin/service yum-cron stop 1> /dev/null 2>&1
fi
exit 0
%postun cron
# If there's a yum-cron package left after uninstalling one, do a
# conditional restart of the service
if [ "$1" -ge "1" ]; then
/sbin/service yum-cron condrestart 1> /dev/null 2>&1
fi
exit 0
%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 %{yum_pluginslib}
%dir %{yum_pluginsshare}
%files cron
%defattr(-,root,root)
%doc COPYING
%{_sysconfdir}/cron.daily/0yum.cron
%config(noreplace) %{_sysconfdir}/yum/yum-daily.yum
%config(noreplace) %{_sysconfdir}/yum/yum-weekly.yum
%{_sysconfdir}/rc.d/init.d/yum-cron
%config(noreplace) %{_sysconfdir}/sysconfig/yum-cron
%changelog
* Wed Nov 30 2011 Dennis Gilmore <dennis@ausil.us> - 3.2.29-10
- add arm hardware floating point support to yum
* Wed Aug 17 2011 James Antill <james at fedoraproject.org> - 3.2.29-9
- Fix for pulp using the repostorage API.
- Fix for progress ctrl-m on yum update.
* Thu Jul 28 2011 James Antill <james at fedoraproject.org> - 3.2.29-8
- Fix for createrepo sqlite update.
- Also doesn't auto load summary/description/url/sourcerpm.
* Mon Jul 11 2011 James Antill <james at fedoraproject.org> - 3.2.29-7
- Fix libc consolidate.
- Resolves: bug#715108
* Tue May 31 2011 James Antill <james at fedoraproject.org> - 3.2.29-6
- Change arm basearch to arm.
* Wed May 11 2011 James Antill <james at fedoraproject.org> - 3.2.29-5
- Update consolidate_libc to fix new version issue.
- Limit skip-broken to 30 loops, for rel-eng.
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.29-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Tue Jan 25 2011 Seth Vidal <skvidal at fedoraproject.org> - 3.2.29-3
- latest from head - fixing a number of minor bugs
* Thu Jan 13 2011 Seth Vidal <skvidal at fedoraproject.org> - 3.2.29-2
- grumble broken skip-broken test :(
* Thu Jan 13 2011 Seth Vidal <skvidal at fedoraproject.org> - 3.2.29-1
- 3.2.29
- add yum-cron subpkg
* Thu Jan 6 2011 James Antill <james at fedoraproject.org> - 3.2.28-17
- Allow kernel installs with multilib protection ... oops!
- Don't conflict with fixed versions of Zif.
- Add locks for non-root.
* Tue Jan 4 2011 Seth Vidal <skvidal at fedoraproject.org> - 3.2.28-16
- fix skip-broken conflict - thanks dgilmore for the catch
* Tue Jan 4 2011 Seth Vidal <skvidal at fedoraproject.org> - 3.2.28-15
- latest head
- conflicts zif
* Thu Nov 11 2010 James Antill <james at fedoraproject.org> - 3.2.28-14
- latest head
- Perf. fixes/improvements.
* Tue Nov 9 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.28-13
- once again with head
* Fri Nov 5 2010 James Antill <james at fedoraproject.org> - 3.2.28-12
- latest head
- Add load-ts command.
- Fix verifying symlinks.
* Wed Oct 20 2010 Seth Vidal <skvidal at fedoraproject.org> - 3.2.28-11
- latest head
- depsolve enhancements on update/obsoletes
- show recent pkgs in history package-list instead of a specific pkg
- bz: 644432, 644265
- make sure urlgrabber is using the right config settings for fetching gpg keys
* Fri Oct 15 2010 James Antill <james at fedoraproject.org> - 3.2.28-10
- latest head
- Fix major breakage from the "list updates" speedup :).
- Close curl/urlgrabber after downloading packages.
- Allow remove+update in "yum shell".
- Fix output of distro tags.
* Thu Oct 7 2010 James Antill <james at fedoraproject.org> - 3.2.28-9
- latest head
- Add localpkg_gpgcheck option.
- Speedup "list updates"
- Doc fixes.
* Sat Sep 25 2010 James Antill <james at fedoraproject.org> - 3.2.28-8
- latest head
- Speedup install/remove/etc a lot.
- Add merged history.
- Fix unique comps/pkgtags leftovers.
* Tue Sep 14 2010 James Antill <james at fedoraproject.org> - 3.2.28-7
- latest head
- Fix PK/auto-close GPG import bug.
- Fix patch for installonly_limit and enable it again.
- Fix rpmlint warnings.
- Remove color=never config.
* Fri Sep 10 2010 Seth Vidal <skvidal at fedoraproject.org>
- latest head
* 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