[Yum-devel] [PATCH][RFC] Skip-broken support again

Tim Lauridsen tim.lauridsen at googlemail.com
Tue Dec 11 11:56:53 UTC 2007


Florian Festi wrote:
> Tim Lauridsen wrote:
>> Florian Festi wrote:
>>> Shouldn't
>>>
>>> depTree = self._buildDepTree()
>>>
>>> be done in the while loop as the tsInfo changes with each loop?
>>>
>>
>> No need to build the depTree again, it is just used to find the relation
>> between packages original in the transaction and which packages they 
>> drag in as dependcies.
>> So if foo is needed to be skipped then foobar & foogui dragged in as 
>> deps to foo is skipped too.
>> If we recalc the deptree in each loop, then we lose some relations, 
>> because some packages is removed, and we can get looping in special 
>> cases.
> 
> What about the deps of the packages we draw in in the while loop. An 
> alternative also satisfying a requirement - if this can happen. I've 
> been sent the following Traceback (devel update):
> 
>  --> Finished Dependency Resolution
>  Traceback (most recent call last):
>    File "./yummain.py", line 204, in <module>
>      main(sys.argv[1:])
>    File "./yummain.py", line 146, in main
>      (result, resultmsgs) = base.buildTransaction()
>    File "/.../yum/yum/__init__.py", line 588, in buildTransaction
>      rescode, restring = self._skipPackagesWithProblems(rescode, restring)
>    File "/.../yum/yum/__init__.py", line 604, in _skipPackagesWithProblems
>      toRemove = self._getPackagesToRemove(wpo, depTree, toRemove)
>    File "/.../yum/yum/__init__.py", line 636, in _getPackagesToRemove
>      for child in deptree[po]:
>  KeyError: <yum.sqlitesack.YumAvailablePackageSqlite object at 0x10aca410>
> 
> Tghis can obviosly only happen in the second run of the while loop. So I 
> guess the deptree needs to be updated somehow.
> 
> Florian
> _______________________________________________
> Yum-devel mailing list
> Yum-devel at linux.duke.edu
> https://lists.dulug.duke.edu/mailman/listinfo/yum-devel

I don't see how other deps can be dragged in a second depsolve run, not 
in the inital transaction result. after we have removed some packages
from the transaction.

How do you get this Traceback, do you have a testcase.
Are you using current yum master.

Tim




More information about the Yum-devel mailing list