[packagekit] transaction errors from the yum backend
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/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.
> 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
instead of :
Package foo conflict with bar
it will be
Package foo-ver.release.arch (repo) conflict with bar-ver.release.arch
but is will of cause only work with messages generated by yum and not in
this case from rpm.
More information about the PackageKit