[packagekit] transaction errors from the yum backend

Tim Lauridsen tim.lauridsen at googlemail.com
Sun Jan 13 23:27:35 PST 2008


Matthias Clasen wrote:
> On Jan 13, 2008 7:23 AM, Tim Lauridsen <tim.lauridsen at googlemail.com> wrote:
> 
>>> error transaction-error       Error in Transaction Processing;ERROR with
>>> rpm_check_debug vs depsolve:;Package otherapp conflicts with
>>> someapp.;Please report this error in bugzilla
>>>
>>   i have committed some changes in yum upstream, to get a little more
>> verbose messages, but it will not help in this case, because the error
>> messages comes from rpm.
> 
> I don't think thats true:
> 
> [mclasen at localhost gtk]$ grep "conflicts with"
> /usr/lib/python2.5/site-packages/yum/*.py
> /usr/lib/python2.5/site-packages/yum/depsolve.py:        msg = '%s
> conflicts with %s' % (name, conf)
> /usr/lib/python2.5/site-packages/yum/__init__.py:                msg =
> 'Package %s conflicts with %s.' % \
> 

It is right that yum can give the same kind of error, but in this case 
the important message is

ERROR with rpm_check_debug vs depsolve

yum has build in an extra sanity check before running the transaction.

it build up the transaction and let rpm validate it, before doing the 
actual installation/removal action.

it is a extra check added because the have been a lot of work done 
optimizing the yum depsolver, so if some problem is not detected by yum 
depsolver, then it would be found in this check.

a yum transaction has the following step.

1. add packages to the transaction for install/update/remove etc.
2. Run the depsolver to get dependencies and detect problems.
3. download packages.
4. let rpm check the transaction
5. check package signatures.
6, Do a rpm test transaction, to find disk space problems etc.
7. do the real processing of the transaction.
8. cleaup


> I think what we'll probably have to do to get acceptable error messages is to
> filter out things that look more like debug information:
> 
> ERROR with rpm_check_debug vs depsolve
> Please report this error in bugzilla

This is not a normal situation, it indicates that there was a problem 
not detected by the yum depsolver, but was first detected by the extra 
rpm transaction check.
It is because the is some kind of problem with the yum depsolver.

Do you have some details about the transaction causing this error
so i can make a test case to see if there is a problem in the current 
upstream yum HEAD.

> 
> and for the remaining meaningful messages like
> 
> Package otherapp conflicts with someapp
> 
> match which template they came from (in this case, "Package %s
> conflicts with %s")
> and replace it with a translated version.

translation support i on the future yum TODO list, and i think that the 
translation shall be done in upstream yum, not i PackageKit.
I will soon start working on it upstream to speed it up.

I have just checked in some changes in upstream yum to make the messages 
more verbose.
instead of :
Package foo conflict with bar
it will be
Package foo-ver.release.arch (repo) conflict with bar-ver.release.arch 
(repo).
but is will of cause only work with messages generated by yum and not in 
this case from rpm.

Tim



More information about the PackageKit mailing list