rpms/yum/devel latest-head4rawhide.sh, NONE, 1.1 yum-HEAD.patch, 1.58, 1.59 yum.spec, 1.319, 1.320
James Antill
james at fedoraproject.org
Fri Jun 11 19:50:23 UTC 2010
Author: james
Update of /cvs/pkgs/rpms/yum/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv5593
Modified Files:
yum-HEAD.patch yum.spec
Added Files:
latest-head4rawhide.sh
Log Message:
* Fri Jun 11 2010 James Antill <james at 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".
--- NEW FILE latest-head4rawhide.sh ---
#! /bin/zsh -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=~/work/fedora/cvs/yum/devel
git=~/work/rpm/private/yum
exit 1
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 format-patch --stdout $ver | perl -pe 's!^(Subject: \[PATCH )0*(\d+)/\d+!$1$2!' > $cvs/yum-HEAD.patch
yum-HEAD.patch:
Makefile | 2
b/Makefile | 2
b/cli.py | 63 +
b/docs/yum.8 | 10
b/docs/yum.conf.5 | 5
b/etc/Makefile | 1
b/etc/yum.bash | 7
b/output.py | 39
b/po/fi.po | 204 ++--
b/po/pt_BR.po | 1724 ++++++++++++++++++++++++-----------------
b/po/ru.po | 13
b/po/sv.po | 1423 +++++++++++++++++++--------------
b/rpmUtils/miscutils.py | 45 -
b/rpmUtils/oldUtils.py | 2
b/rpmUtils/transaction.py | 7
b/rpmUtils/updates.py | 13
b/test/depsolvetests.py | 16
b/test/simpleobsoletestests.py | 19
b/test/simpleupdatetests.py | 41
b/test/testbase.py | 2
b/test/yum-leak-test.py | 55 +
b/test/yum-pylintrc | 3
b/utils.py | 3
b/yum-updatesd.py | 8
b/yum.spec | 3
b/yum/__init__.py | 11
b/yum/comps.py | 21
b/yum/config.py | 3
b/yum/depsolve.py | 12
b/yum/history.py | 35
b/yum/logginglevels.py | 3
b/yum/mdparser.py | 2
b/yum/metalink.py | 6
b/yum/misc.py | 9
b/yum/packageSack.py | 32
b/yum/packages.py | 16
b/yum/pgpmsg.py | 3
b/yum/pkgtag_db.py | 4
b/yum/plugins.py | 3
b/yum/repoMDObject.py | 93 ++
b/yum/repos.py | 2
b/yum/rpmsack.py | 17
b/yum/sqlitesack.py | 27
b/yum/transactioninfo.py | 11
b/yum/update_md.py | 5
b/yum/yumRepo.py | 9
b/yumcommands.py | 23
b/yummain.py | 11
cli.py | 99 +-
docs/yum.8 | 48 +
docs/yum.conf.5 | 74 +
etc/Makefile | 1
etc/yum.bash | 18
output.py | 268 ++++--
po/fi.po | 5
po/ru.po | 1303 +++++++++++++++---------------
po/sv.po | 157 +--
rpmUtils/miscutils.py | 15
rpmUtils/updates.py | 40
test/simpleobsoletestests.py | 6
test/simpleupdatetests.py | 6
test/testbase.py | 15
test/yum-leak-test.py | 57 +
utils.py | 28
yum.spec | 28
yum/__init__.py | 519 ++++++++----
yum/comps.py | 6
yum/config.py | 111 +-
yum/depsolve.py | 188 +++-
yum/history.py | 310 ++++++-
yum/logginglevels.py | 59 -
yum/misc.py | 163 +++
yum/packageSack.py | 46 -
yum/packages.py | 165 ++-
yum/pgpmsg.py | 17
yum/repoMDObject.py | 11
yum/rpmsack.py | 278 ++++--
yum/sqlitesack.py | 162 +--
yum/transactioninfo.py | 72 +
yum/update_md.py | 26
yum/yumRepo.py | 52 -
yumcommands.py | 19
82 files changed, 5310 insertions(+), 3130 deletions(-)
View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.58 -r 1.59 yum-HEAD.patchIndex: yum-HEAD.patch
===================================================================
RCS file: /cvs/pkgs/rpms/yum/devel/yum-HEAD.patch,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -p -r1.58 -r1.59
--- yum-HEAD.patch 2 Jun 2010 17:19:32 -0000 1.58
+++ yum-HEAD.patch 11 Jun 2010 19:50:20 -0000 1.59
@@ -1,1033 +1,384 @@
-diff --git a/Makefile b/Makefile
-index d75b220..8065899 100644
---- a/Makefile
-+++ b/Makefile
-@@ -34,7 +34,7 @@ install:
- install -m 755 bin/yum-updatesd.py $(DESTDIR)/usr/sbin/yum-updatesd
+From cc5d13a39dcefbc401255d224c8700f4f907f285 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta at iki.fi>
+Date: Mon, 22 Mar 2010 19:31:43 +0200
+Subject: [PATCH 1] Fix unknown syslog facility mapping.
+
+---
+ yum/logginglevels.py | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/yum/logginglevels.py b/yum/logginglevels.py
+index 6c23f88..3d82b55 100644
+--- a/yum/logginglevels.py
++++ b/yum/logginglevels.py
+@@ -75,7 +75,7 @@ def syslogFacilityMap(facility):
+ elif (facility.upper().startswith("LOG_") and
+ facility[4:].upper() in _syslog_facility_map):
+ return _syslog_facility_map[facility[4:].upper()]
+- return syslog.LOG_USER
++ return syslog_module.LOG_USER
- mkdir -p $(DESTDIR)/var/cache/yum
-- mkdir -p $(DESTDIR)/var/lib/yum
-+ mkdir -p $(DESTDIR)/var/lib/yum
+ def logLevelFromErrorLevel(error_level):
+ """ Convert an old-style error logging level to the new style. """
+--
+1.7.0.1
+
+
+From 11dfde5e065e21c5bdb25a087501b90afe0b0dab Mon Sep 17 00:00:00 2001
+From: Seth Vidal <skvidal at fedoraproject.org>
+Date: Tue, 23 Mar 2010 10:09:20 -0400
+Subject: [PATCH 2] make sure we aren't overwriting the value of 'keys'
+
+this determines how many args we pass back in our yielded results
+never noticed it b/c nothing in yum uses keys=True - but it broke PK
+---
+ yum/__init__.py | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/yum/__init__.py b/yum/__init__.py
+index ea73549..0aaa819 100644
+--- a/yum/__init__.py
++++ b/yum/__init__.py
+@@ -2163,10 +2163,10 @@ class YumBase(depsolve.Depsolve):
- for d in $(SUBDIRS); do make PYTHON=$(PYTHON) DESTDIR=`cd $(DESTDIR); pwd` -C $$d install; [ $$? = 0 ] || exit 1; done
+ # do the ones we already have
+ for item in sorted_lists.values():
+- for pkg, keys, values in item:
++ for pkg, k, v in item:
+ if pkg not in results_by_pkg:
+ results_by_pkg[pkg] = []
+- results_by_pkg[pkg].append((keys,values))
++ results_by_pkg[pkg].append((k,v))
-diff --git a/cli.py b/cli.py
-index f5ed53d..2f1479b 100644
---- a/cli.py
-+++ b/cli.py
-@@ -100,6 +100,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
- self.registerCommand(yumcommands.VersionCommand())
- self.registerCommand(yumcommands.HistoryCommand())
- self.registerCommand(yumcommands.CheckRpmdbCommand())
-+ self.registerCommand(yumcommands.DistroSyncCommand())
+ # take our existing dict-by-pkg and make the dict-by-count for
+ # this bizarro sorted_lists format
+@@ -2175,9 +2175,9 @@ class YumBase(depsolve.Depsolve):
+ for pkg in results_by_pkg:
+ totkeys = []
+ totvals = []
+- for (keys, values) in results_by_pkg[pkg]:
+- totkeys.extend(keys)
+- totvals.extend(values)
++ for (k, v) in results_by_pkg[pkg]:
++ totkeys.extend(k)
++ totvals.extend(v)
+
+ totkeys = misc.unique(totkeys)
+ totvals = misc.unique(totvals)
+--
+1.7.0.1
+
+
+From c6f4d336bd6be5cdb575c94628da2eb7bcb900f4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta at iki.fi>
+Date: Mon, 22 Mar 2010 19:56:44 +0200
+Subject: [PATCH 3] Use LOG_USER as default syslog facility everywhere in base.
+
+---
+ yum/config.py | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/yum/config.py b/yum/config.py
+index ad8db7e..cb01306 100644
+--- a/yum/config.py
++++ b/yum/config.py
+@@ -601,7 +601,7 @@ class StartupConf(BaseConfig):
+ pluginconfpath = ListOption(['/etc/yum/pluginconf.d'])
+ gaftonmode = BoolOption(False)
+ syslog_ident = Option()
+- syslog_facility = Option('LOG_DAEMON')
++ syslog_facility = Option('LOG_USER')
+ persistdir = Option('/var/lib/yum')
+
+ class YumConf(StartupConf):
+--
+1.7.0.1
+
+
+From 40a53f0d3a8dd8ad4fb4802890e4f30b0214f3f9 Mon Sep 17 00:00:00 2001
+From: Ville-Pekka Vainio <vpivaini at cs.helsinki.fi>
+Date: Wed, 24 Mar 2010 12:37:03 +0000
+Subject: [PATCH 4] l10n: Updates to Finnish (fi) translation
+
+Transmitted-via: Transifex (www.transifex.net)
+---
+ po/fi.po | 203 +++++++++++++++++++++++++++++++------------------------------
+ 1 files changed, 103 insertions(+), 100 deletions(-)
+
+diff --git a/po/fi.po b/po/fi.po
+index 4347eba..4240973 100644
+--- a/po/fi.po
++++ b/po/fi.po
+@@ -6,8 +6,8 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: yum\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2010-02-10 10:43-0500\n"
+-"PO-Revision-Date: 2010-02-11 21:50+0200\n"
++"POT-Creation-Date: 2010-02-11 10:54-0500\n"
++"PO-Revision-Date: 2010-03-24 14:36+0200\n"
+ "Last-Translator: Ville-Pekka Vainio <vpivaini at cs.helsinki.fi>\n"
+ "Language-Team: Finnish <laatu at lokalisointi.org>\n"
+ "MIME-Version: 1.0\n"
+@@ -156,15 +156,15 @@ msgstr "Ladataan paketteja:"
+ msgid "Error Downloading Packages:\n"
+ msgstr "Virhe pakettien latauksessa:\n"
- def registerCommand(self, command):
- for name in command.getNames():
-@@ -149,7 +150,34 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
- usage += "%s\n" % command.getNames()[0]
+-#: ../cli.py:426 ../yum/__init__.py:4194
++#: ../cli.py:426 ../yum/__init__.py:4195
+ msgid "Running rpm_check_debug"
+ msgstr "Suoritetaan rpm_check_debug"
- return usage
--
-+
-+ def _parseSetOpts(self, setopts):
-+ """parse the setopts list handed to us and saves the results as
-+ repo_setopts and main_setopts in the yumbase object"""
-+
-+ repoopts = {}
-+ mainopts = yum.misc.GenericHolder()
-+ mainopts.items = []
-+
-+ for item in setopts:
-+ k,v = item.split('=')
-+ period = k.find('.')
-+ if period != -1:
-+ repo = k[:period]
-+ k = k[period+1:]
-+ if repo not in repoopts:
-+ repoopts[repo] = yum.misc.GenericHolder()
-+ repoopts[repo].items = []
-+ setattr(repoopts[repo], k, v)
-+ repoopts[repo].items.append(k)
-+ else:
-+ setattr(mainopts, k, v)
-+ mainopts.items.append(k)
-+
-+ self.main_setopts = mainopts
-+ self.repo_setopts = repoopts
-+
-+
- def getOptionsConfig(self, args):
- """parses command line arguments, takes cli args:
- sets up self.conf and self.cmds as well as logger objects
-@@ -166,6 +194,13 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
- opts.quiet = True
- opts.verbose = False
+-#: ../cli.py:435 ../yum/__init__.py:4203
[...35066 lines suppressed...]
+--
+1.7.0.1
+
+
+From 6adb022fd54b7232c7d4410313c029f8a3a87313 Mon Sep 17 00:00:00 2001
+From: James Antill <james at and.org>
+Date: Fri, 11 Jun 2010 00:57:47 -0400
+Subject: [PATCH 181] Fix typo info=>list
+
+---
+ output.py | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/output.py b/output.py
+index 05a4e83..4e8fbe9 100755
+--- a/output.py
++++ b/output.py
+@@ -1333,7 +1333,7 @@ to exit.
- rc = 0
-- if base._rpmdb_warn_checks(_out, False, chkcmd):
-+ if base._rpmdb_warn_checks(out=_out, warn=False, chkcmd=chkcmd,
-+ header=lambda x: None):
- rc = 1
- return rc, ['%s %s' % (basecmd, chkcmd)]
+ tids, printall = self._history_list_transactions(extcmds)
+ if tids is None:
+- return 1, ['Failed history info']
++ return 1, ['Failed history list']
+
+ fmt = "%s | %s | %s | %s | %s"
+ print fmt % (utf8_width_fill(_("ID"), 6, 6),
+--
+1.7.0.1
+
+
+From 43deeed3f0755d36c30c41c08fd8703d5ffbdcbb Mon Sep 17 00:00:00 2001
+From: James Antill <james at and.org>
+Date: Fri, 11 Jun 2010 01:18:02 -0400
+Subject: [PATCH 182] Add installed_by and changed_by to info -v
+
+---
+ output.py | 46 ++++++++++++++++++++++++++++++----------------
+ 1 files changed, 30 insertions(+), 16 deletions(-)
+
+diff --git a/output.py b/output.py
+index 4e8fbe9..4a1e10e 100755
+--- a/output.py
++++ b/output.py
+@@ -558,27 +558,41 @@ class YumOutput:
-diff --git a/yummain.py b/yummain.py
-index 305e0c7..95c7462 100755
---- a/yummain.py
-+++ b/yummain.py
-@@ -99,9 +99,13 @@ def main(args):
- if "%s" %(e.msg,) != lockerr:
- lockerr = "%s" %(e.msg,)
- logger.critical(lockerr)
-- logger.critical(_("Another app is currently holding the yum lock; waiting for it to exit..."))
-- show_lock_owner(e.pid, logger)
-- time.sleep(2)
-+ if not base.conf.exit_on_lock:
-+ logger.critical(_("Another app is currently holding the yum lock; waiting for it to exit..."))
-+ show_lock_owner(e.pid, logger)
-+ time.sleep(2)
-+ else:
-+ logger.critical(_("Another app is currently holding the yum lock; exiting as configured by exit_on_lock"))
-+ return 1
- else:
- break
+ def infoOutput(self, pkg, highlight=False):
+ (hibeg, hiend) = self._highlight(highlight)
+- print _("Name : %s%s%s") % (hibeg, to_unicode(pkg.name), hiend)
+- print _("Arch : %s") % to_unicode(pkg.arch)
++ print _("Name : %s%s%s") % (hibeg, to_unicode(pkg.name), hiend)
++ print _("Arch : %s") % to_unicode(pkg.arch)
+ if pkg.epoch != "0":
+- print _("Epoch : %s") % to_unicode(pkg.epoch)
+- print _("Version : %s") % to_unicode(pkg.version)
+- print _("Release : %s") % to_unicode(pkg.release)
+- print _("Size : %s") % self.format_number(float(pkg.size))
+- print _("Repo : %s") % to_unicode(pkg.repoid)
++ print _("Epoch : %s") % to_unicode(pkg.epoch)
++ print _("Version : %s") % to_unicode(pkg.version)
++ print _("Release : %s") % to_unicode(pkg.release)
++ print _("Size : %s") % self.format_number(float(pkg.size))
++ print _("Repo : %s") % to_unicode(pkg.repoid)
+ if pkg.repoid == 'installed' and 'from_repo' in pkg.yumdb_info:
+- print _("From repo : %s") % to_unicode(pkg.yumdb_info.from_repo)
++ print _("From repo : %s") % to_unicode(pkg.yumdb_info.from_repo)
+ if self.verbose_logger.isEnabledFor(logginglevels.DEBUG_3):
+- print _("Committer : %s") % to_unicode(pkg.committer)
+- print _("Committime : %s") % time.ctime(pkg.committime)
+- print _("Buildtime : %s") % time.ctime(pkg.buildtime)
++ print _("Committer : %s") % to_unicode(pkg.committer)
++ print _("Committime : %s") % time.ctime(pkg.committime)
++ print _("Buildtime : %s") % time.ctime(pkg.buildtime)
+ if hasattr(pkg, 'installtime'):
+- print _("Installtime: %s") % time.ctime(pkg.installtime)
+- print self.fmtKeyValFill(_("Summary : "), self._enc(pkg.summary))
++ print _("Install time: %s") % time.ctime(pkg.installtime)
++ uid = None
++ if 'installed_by' in pkg.yumdb_info:
++ try:
++ uid = int(pkg.yumdb_info.installed_by)
++ except ValueError: # In case int() fails
++ uid = None
++ print _("Installed by: %s") % self._pwd_ui_username(uid)
++ uid = None
++ if 'changed_by' in pkg.yumdb_info:
++ try:
++ uid = int(pkg.yumdb_info.changed_by)
++ except ValueError: # In case int() fails
++ uid = None
++ print _("Changed by : %s") % self._pwd_ui_username(uid)
++ print self.fmtKeyValFill(_("Summary : "), self._enc(pkg.summary))
+ if pkg.url:
+- print _("URL : %s") % to_unicode(pkg.url)
+- print self.fmtKeyValFill(_("License : "), to_unicode(pkg.license))
+- print self.fmtKeyValFill(_("Description: "), self._enc(pkg.description))
++ print _("URL : %s") % to_unicode(pkg.url)
++ print self.fmtKeyValFill(_("License : "), to_unicode(pkg.license))
++ print self.fmtKeyValFill(_("Description : "),self._enc(pkg.description))
+ print ""
+
+ def updatesObsoletesList(self, uotup, changetype, columns=None):
+--
+1.7.0.1
+
+
+From c087a15375776974bb7825dfb8558759755af569 Mon Sep 17 00:00:00 2001
+From: Seth Vidal <skvidal at fedoraproject.org>
+Date: Fri, 11 Jun 2010 10:42:29 -0400
+Subject: [PATCH 183] - optionally collapse libc.so.6 requires into highest requires (default sort order)
+
+our libc.so.6 requires are fairly redundant - 6 requires per pkg requiring glibc, on avg.
+The highest versioned libc.so.6 requirement is good enough so remove the others.
+
+This cuts out about 17-20% of our requires
+---
+ yum/packages.py | 11 +++++++++++
+ 1 files changed, 11 insertions(+), 0 deletions(-)
+
+diff --git a/yum/packages.py b/yum/packages.py
+index 6c32106..98d4d38 100644
+--- a/yum/packages.py
++++ b/yum/packages.py
+@@ -1098,6 +1098,17 @@ class YumAvailablePackage(PackageObject, RpmBase):
+ msg = ""
+ if mylist: msg = "\n <rpm:requires>\n"
++ 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]
++ newlist = []
++ for i in mylist:
++ if i[0].startswith('libc.so.6') and i != best:
++ continue
++ newlist.append(i)
++ mylist = newlist
++
+ for (name, flags, (e,v,r),pre) in mylist:
+ if name.startswith('rpmlib('):
+ continue
+--
+1.7.0.1
+
+
+From 0c4d027b73753e94c7928676a54bbe2135940409 Mon Sep 17 00:00:00 2001
+From: James Antill <james at and.org>
+Date: Fri, 11 Jun 2010 10:44:35 -0400
+Subject: [PATCH 184] Don't return None when transaction is empty in resolveDeps, BZ 603002
+
+---
+ yum/depsolve.py | 7 +++----
+ 1 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/yum/depsolve.py b/yum/depsolve.py
+index b661191..3e95626 100644
+--- a/yum/depsolve.py
++++ b/yum/depsolve.py
+@@ -776,10 +776,9 @@ class Depsolve(object):
+ self.verbose_logger.log(logginglevels.DEBUG_4," --> %s" % err)
+ return (1, errors)
+
+- if len(self.tsInfo) > 0:
+- if not len(self.tsInfo):
+- return (0, [_('Success - empty transaction')])
+- return (2, [_('Success - deps resolved')])
++ if not len(self.tsInfo):
++ return (0, [_('Success - empty transaction')])
++ return (2, [_('Success - deps resolved')])
+
+ def _resolveRequires(self, errors):
+ any_missing = False
+--
+1.7.0.1
+
Index: yum.spec
===================================================================
RCS file: /cvs/pkgs/rpms/yum/devel/yum.spec,v
retrieving revision 1.319
retrieving revision 1.320
diff -u -p -r1.319 -r1.320
--- yum.spec 2 Jun 2010 17:19:37 -0000 1.319
+++ yum.spec 11 Jun 2010 19:50:22 -0000 1.320
@@ -3,7 +3,7 @@
Summary: RPM installer/updater
Name: yum
Version: 3.2.27
-Release: 14%{?dist}
+Release: 15%{?dist}
License: GPLv2+
Group: System Environment/Base
Source0: http://yum.baseurl.org/download/3.2/%{name}-%{version}.tar.gz
@@ -132,6 +132,16 @@ rm -rf $RPM_BUILD_ROOT
%dir /usr/lib/yum-plugins
%changelog
+* Fri Jun 11 2010 James Antill <james at 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
More information about the scm-commits
mailing list