On 01/25/2011 05:55 PM, seth vidal wrote:
On Tue, 2011-01-04 at 14:37 +0200, Panu Matilainen wrote:
Hi,
This is something I've been intending to comment on / patch for a long
time but just haven't gotten around...
I know the "debug" part originates from times when yum's own depsolver was
just being developed, but ts.check() is not really an optional call. Rpm
can and does check more things there than yum does (things that cannot be
determined by the information available in repodata, such as rpmlib()
dependencies and more might be added), so although yum doesn't use the
callback for depsolving anymore, it should always unconditionally call
ts.check(). Something like this:
[... snip ...]
ACK - update and apply the patch.
Actually ... scratch that. Not because it's wrong but because there's a
whole lot of unnecessary work going on here, might as well fix (at least
some of) that while at it.
This http://lists.rpm.org/pipermail/rpm-list/2011-February/000782.html
reminded me I've been intending to have a look at yum needing a separate
transaction sets for the test- and final transaction (it shouldn't), and
noticed that rpm_check_debug is doing yet another round of repopulating
the transaction from scratch - not exactly a no-cost operation, and for
at least for /that/ there's absolutely no need.
Another kinda related thing is that running
--setopt=rpm_check_debug=False doesn't even actually work currently, it
blows up with a traceback:
Running Transaction Test
Traceback (most recent call last):
File "./yummain.py", line 276, in <module>
user_main(sys.argv[1:], exit_code=True)
File "./yummain.py", line 267, in user_main
errcode = main(args)
File "./yummain.py", line 203, in main
return_code = base.doTransaction()
File "/home/pmatilai/repos/yum/cli.py", line 539, in doTransaction
testcb = RPMTransaction(self, test=True)
File "/home/pmatilai/repos/yum/yum/rpmtrans.py", line 186, in __init__
self._setupOutputLogging(base.conf.rpmverbosity)
File "/home/pmatilai/repos/yum/yum/rpmtrans.py", line 213, in
_setupOutputLogging
self.base.ts.ts.scriptFd = self._writepipe.fileno()
AttributeError: 'NoneType' object has no attribute 'scriptFd'
Patches to follow sooner or later...
- Panu -
_______________________________________________
Yum-devel mailing list
[email protected]
http://lists.baseurl.org/mailman/listinfo/yum-devel