[yum] update to latest HEAD.
James Antill
james at fedoraproject.org
Fri Mar 8 20:54:09 UTC 2013
commit 88ac20fac6946e0c0746218412c889eeba6c0979
Author: James Antill <james at and.org>
Date: Fri Mar 8 15:54:00 2013 -0500
update to latest HEAD.
- Fix obsoletes in "yum check".
- Drop drpm rebuild defaults back to 2 workers.
yum-HEAD.patch | 84 ++++++++++++++++++++++----------------------------------
yum.spec | 7 ++++-
2 files changed, 39 insertions(+), 52 deletions(-)
---
diff --git a/yum-HEAD.patch b/yum-HEAD.patch
index 6a9c3c3..fc1cbfd 100644
--- a/yum-HEAD.patch
+++ b/yum-HEAD.patch
@@ -2994,7 +2994,7 @@ index 1a8202a..4012a7f 100644
List the packages installed on the system that are obsoleted by packages
in any yum repository listed in the config file.
diff --git a/docs/yum.conf.5 b/docs/yum.conf.5
-index 515aa73..9d9a261 100644
+index 515aa73..e07d38c 100644
--- a/docs/yum.conf.5
+++ b/docs/yum.conf.5
@@ -114,15 +114,27 @@ are causing problems from the transaction.
@@ -3101,7 +3101,7 @@ index 515aa73..9d9a261 100644
\fBinstallroot \fR
Specifies an alternative installroot, relative to which all packages will be
installed.
-@@ -300,6 +357,35 @@ with the \fBthrottle\fR option (above). If \fBthrottle\fR is a percentage and
+@@ -300,6 +357,40 @@ with the \fBthrottle\fR option (above). If \fBthrottle\fR is a percentage and
ignored. Default is `0' (no bandwidth throttling).
.IP
@@ -3125,7 +3125,12 @@ index 515aa73..9d9a261 100644
+When non-zero, delta-RPM files are used if available. The value specifies
+the maximum number of "applydeltarpm" processes Yum will spawn, if the value
+is negative then yum works out how many cores you have and multiplies that
-+by the value (cores=2, deltarpm=-2; 4 processes). (-2 by default).
++by the value (cores=2, deltarpm=-2; 4 processes). (2 by default).
++
++Note that the "applydeltarpm" process uses a significant amount of disk IO,
++so running too many instances can significantly slow down all disk IO including
++the downloads that yum is doing (thus. a too high value can make everything
++slower).
+
+.IP
+\fBdeltarpm_percentage\fR
@@ -3137,7 +3142,7 @@ index 515aa73..9d9a261 100644
\fBsslcacert \fR
Path to the directory containing the databases of the certificate authorities
yum should use to verify SSL certificates. Defaults to none - uses system
-@@ -331,6 +417,15 @@ Path to the SSL client key yum should use to connect to repos/remote sites
+@@ -331,6 +422,15 @@ Path to the SSL client key yum should use to connect to repos/remote sites
Defaults to none.
.IP
@@ -3153,7 +3158,7 @@ index 515aa73..9d9a261 100644
\fBhistory_record \fR
Boolean - should yum record history entries for transactions. This takes some
disk space, and some extra time in the transactions. But it allows how to know a
-@@ -438,6 +533,31 @@ It's also possible to use the word "never", meaning that the metadata will
+@@ -438,6 +538,31 @@ It's also possible to use the word "never", meaning that the metadata will
never expire. Note that when using a metalink file the metalink must always
be newer than the metadata for the repository, due to the validation, so this
timeout also applies to the metalink file.
@@ -3185,7 +3190,7 @@ index 515aa73..9d9a261 100644
.IP
\fBmirrorlist_expire \fR
-@@ -480,6 +600,19 @@ not listed above is the other metadata, which contains the changelog information
+@@ -480,6 +605,19 @@ not listed above is the other metadata, which contains the changelog information
which is used by yum-changelog. This is what "yum makecache" uses.
.IP
@@ -3205,7 +3210,7 @@ index 515aa73..9d9a261 100644
\fBmultilib_policy \fR
Can be set to 'all' or 'best'. All means install all possible arches for any package you
want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64,
-@@ -587,14 +720,65 @@ be downloaded. The updates list is what is printed when you run "yum update",
+@@ -587,14 +725,65 @@ be downloaded. The updates list is what is printed when you run "yum update",
Default is `normal'.
See color_list_installed_older for possible values.
@@ -3271,7 +3276,7 @@ index 515aa73..9d9a261 100644
.SH "[repository] OPTIONS"
-@@ -755,6 +939,16 @@ repository.
+@@ -755,6 +944,16 @@ repository.
Overrides the \fBbandwidth\fR option from the [main] section for this
repository.
@@ -3288,7 +3293,7 @@ index 515aa73..9d9a261 100644
.IP
\fBsslcacert \fR
-@@ -776,6 +970,10 @@ repository.
+@@ -776,6 +975,10 @@ repository.
Overrides the \fBsslclientkey\fR option from the [main] section for this
repository.
@@ -3299,7 +3304,7 @@ index 515aa73..9d9a261 100644
.IP
\fBmetadata_expire \fR
-@@ -783,6 +981,11 @@ Overrides the \fBmetadata_expire\fR option from the [main] section for this
+@@ -783,6 +986,11 @@ Overrides the \fBmetadata_expire\fR option from the [main] section for this
repository.
.IP
@@ -3311,7 +3316,7 @@ index 515aa73..9d9a261 100644
\fBmirrorlist_expire \fR
Overrides the \fBmirrorlist_expire\fR option from the [main] section for this
repository.
-@@ -824,7 +1027,16 @@ as greater/less than any other. defaults to 1000
+@@ -824,7 +1032,16 @@ as greater/less than any other. defaults to 1000
If set to True yum will continue running if this repository cannot be
contacted for any reason. This should be set carefully as all repos are consulted
for any given command. Defaults to False.
@@ -189993,7 +189998,7 @@ index 65f6d5e..fe5649d 100755
print >> sys.stderr, "newcomps.py: No such file:\'%s\'" % sys.argv[1]
sys.exit(1)
diff --git a/yum/config.py b/yum/config.py
-index d09511f..f658f5b 100644
+index d09511f..438cb88 100644
--- a/yum/config.py
+++ b/yum/config.py
@@ -45,15 +45,18 @@ from misc import get_uuid, read_in_items_from_dot_dir
@@ -190744,7 +190749,7 @@ index d09511f..f658f5b 100644
+ allowed = ('ipv4', 'ipv6', 'whatever'),
+ mapper = {'4': 'ipv4', '6': 'ipv6'})
+ max_connections = IntOption(0, range_min=0)
-+ deltarpm = IntOption(-2, range_min=-16, range_max=128)
++ deltarpm = IntOption(2, range_min=-16, range_max=128)
+ deltarpm_percentage = IntOption(75, range_min=1, range_max=100)
http_caching = SelectionOption('all', ('none', 'packages', 'all'))
@@ -194442,7 +194447,7 @@ index 3793bad..3522512 100644
sack = repo.getPackageSack()
try:
diff --git a/yum/rpmsack.py b/yum/rpmsack.py
-index e289a7a..03f4646 100644
+index e289a7a..a4e5336 100644
--- a/yum/rpmsack.py
+++ b/yum/rpmsack.py
@@ -48,6 +48,17 @@ def _open_no_umask(*args):
@@ -194472,19 +194477,7 @@ index e289a7a..03f4646 100644
for pkg in self.rpmdb.getProvides(reqn, reqf, reqevr):
if pkg != self:
pkgset.add(pkg)
-@@ -148,6 +159,11 @@ class RPMDBProblemDependency(RPMDBProblem):
- return "%s %s %s" % (self.pkg, _('has missing requires of'),
- self.missing)
-
-+ if self.problem == 'obsoletes':
-+ return "%s %s %s: %s" % (self.pkg, _('has installed obsoletes'),
-+ self.found,', '.join(map(str,
-+ self.obsoletes)))
-+
- return "%s %s %s: %s" % (self.pkg, _('has installed conflicts'),
- self.found,', '.join(map(str, self.conflicts)))
-
-@@ -364,7 +380,8 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -364,7 +375,8 @@ class RPMDBPackageSack(PackageSackBase):
pkg = self.searchNevra(n, e, v, r, a)
if not pkg:
# Wibble?
@@ -194494,7 +194487,7 @@ index e289a7a..03f4646 100644
continue
pkg = pkg[0]
-@@ -534,13 +551,11 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -534,13 +546,11 @@ class RPMDBPackageSack(PackageSackBase):
qpat = pat[0]
if qpat in ('?', '*', '['):
qpat = None
@@ -194512,7 +194505,7 @@ index e289a7a..03f4646 100644
@staticmethod
def _match_repattern(repatterns, hdr, ignore_case):
""" This is basically parsePackages() but for rpm hdr objects. """
-@@ -558,20 +573,20 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -558,20 +568,20 @@ class RPMDBPackageSack(PackageSackBase):
qname = qname.lower()
if qpat is not None and qpat != qname and qpat != epoch[0]:
continue
@@ -194540,7 +194533,7 @@ index e289a7a..03f4646 100644
% hdr):
return True
return False
-@@ -616,7 +631,7 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -616,7 +626,7 @@ class RPMDBPackageSack(PackageSackBase):
for hdr, idx in self._get_packages():
if self._match_repattern(rpats, hdr, ignore_case):
self._makePackageObject(hdr, idx)
@@ -194549,7 +194542,7 @@ index e289a7a..03f4646 100644
pkgobjlist = self._idx2pkg.values()
# Remove gpg-pubkeys, as no sane callers expects/likes them...
-@@ -993,7 +1008,7 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -993,7 +1003,7 @@ class RPMDBPackageSack(PackageSackBase):
return
if not load_packages:
@@ -194558,7 +194551,7 @@ index e289a7a..03f4646 100644
for pkgtup in checksum_data:
if checksum_data[pkgtup] is None:
-@@ -1002,7 +1017,8 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -1002,7 +1012,8 @@ class RPMDBPackageSack(PackageSackBase):
(n, a, e, v, r) = pkgtup
pkg = self.searchNevra(n, e, v, r, a)
if not pkg:
@@ -194568,7 +194561,7 @@ index e289a7a..03f4646 100644
continue
pkg = pkg[0]
(T, D) = checksum_data[pkgtup]
-@@ -1088,7 +1104,7 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -1088,7 +1099,7 @@ class RPMDBPackageSack(PackageSackBase):
return
try:
@@ -194577,7 +194570,7 @@ index e289a7a..03f4646 100644
except (IOError, OSError), e:
return
-@@ -1456,7 +1472,7 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -1456,7 +1467,7 @@ class RPMDBPackageSack(PackageSackBase):
providers = set() # Speedup, as usual :)
problems = []
for pkg in sorted(pkgs): # The sort here is mainly for "UI"
@@ -194586,27 +194579,16 @@ index e289a7a..03f4646 100644
if rreq[0].startswith('rpmlib'): continue
if rreq in providers: continue
-@@ -1481,6 +1497,19 @@ class RPMDBPackageSack(PackageSackBase):
+@@ -1481,6 +1492,8 @@ class RPMDBPackageSack(PackageSackBase):
prob = RPMDBProblemDependency(pkg, "conflicts", found=found,
conflicts=res)
problems.append(prob)
+
-+ for creq in pkg.obsoletes:
-+ if creq[0].startswith('rpmlib'): continue
-+
-+ (req, flags, ver) = creq
-+ res = self.getProvides(req, flags, ver)
-+ if not res:
-+ continue
-+ flags = yum.depsolve.flags.get(flags, flags)
-+ found = miscutils.formatRequire(req, ver, flags)
-+ prob = RPMDBProblemDependency(pkg, "obsoletes", found=found,
-+ obsoletes=res)
-+ problems.append(prob)
++ # Note that obsoletes are checked seperately, and are name only.
return problems
def _iter_two_pkgs(self, ignore_provides):
-@@ -1562,11 +1591,11 @@ class RPMDBAdditionalData(object):
+@@ -1562,11 +1575,11 @@ class RPMDBAdditionalData(object):
self._packages = {} # pkgid = dir
if not os.path.exists(self.conf.db_path):
try:
@@ -194621,7 +194603,7 @@ index e289a7a..03f4646 100644
else:
if os.access(self.conf.db_path, os.W_OK):
self.conf.writable = True
-@@ -1622,6 +1651,7 @@ class RPMDBAdditionalDataPackage(object):
+@@ -1622,6 +1635,7 @@ class RPMDBAdditionalDataPackage(object):
'installed_by', 'changed_by',
'from_repo', 'from_repo_revision',
'from_repo_timestamp', 'releasever',
@@ -194629,7 +194611,7 @@ index e289a7a..03f4646 100644
'command_line'])
def __init__(self, conf, pkgdir, yumdb_cache=None):
-@@ -1708,7 +1738,7 @@ class RPMDBAdditionalDataPackage(object):
+@@ -1708,7 +1722,7 @@ class RPMDBAdditionalDataPackage(object):
def _write(self, attr, value):
# check for self._conf.writable before going on?
if not os.path.exists(self._mydir):
@@ -194638,7 +194620,7 @@ index e289a7a..03f4646 100644
attr = _sanitize(attr)
if attr in self._read_cached_data:
-@@ -1753,7 +1783,7 @@ class RPMDBAdditionalDataPackage(object):
+@@ -1753,7 +1767,7 @@ class RPMDBAdditionalDataPackage(object):
if attr.endswith('.tmp'):
raise AttributeError, "%s has no attribute %s" % (self, attr)
diff --git a/yum.spec b/yum.spec
index d6c1f4f..ec8bbbb 100644
--- a/yum.spec
+++ b/yum.spec
@@ -29,7 +29,7 @@
Summary: RPM package installer/updater/manager
Name: yum
Version: 3.4.3
-Release: 73%{?dist}
+Release: 74%{?dist}
License: GPLv2+
Group: System Environment/Base
Source0: http://yum.baseurl.org/download/3.4/%{name}-%{version}.tar.gz
@@ -385,6 +385,11 @@ exit 0
%endif
%changelog
+* Fri Mar 8 2013 James Antill <james at fedoraproject.org> - 3.4.3-74
+- update to latest HEAD.
+- Fix obsoletes in "yum check".
+- Drop drpm rebuild defaults back to 2 workers.
+
* Thu Mar 7 2013 James Antill <james at fedoraproject.org> - 3.4.3-73
- update to latest HEAD.
- Queue for drpm rebuilding.
More information about the scm-commits
mailing list