[Yum-devel] resolving dependencies from repodata

Jay Soffian jay-yum at soffian.org
Thu Apr 27 01:49:19 UTC 2006


[Moving from yum to yum-devel for further discussion]

On Apr 26, 2006, at 9:30 PM, seth vidal wrote:

> On Wed, 2006-04-26 at 20:28 -0400, Jay Soffian wrote:
>> On Apr 26, 2006, at 3:00 PM, seth vidal wrote:
>>
>>> yah - yum 2.2.X and beyond require http byte-range support for
>>> http-based repositories.
>>
>> Silly question. yum appears capable of resolving dependencies using
>> just the repo metadata. Why does it still download headers? If I
>> understand the flow of things, what is done is:
>>
>> 1) resolve dependencies using repo metadata
>> 2) download headers for rpm's which solve dependencies
>> 3) build rpm test transaction using downloaded headers + local  
>> headers
>> 4) present user with list of RPM's to install
>> 5) if user says 'y', download rpms
>> 6) install rpms
>>
>> So I guess the question is, why not perform step (4) immediately
>> after step (1), then skip downloading the headers altogether?
>>
>> Is the rpm test transaction done to verify yum's only dependency  
>> solver?
>>
>> Tell me if I need to put down the crack pipe.
>>
>
> not a crack question:
>
> 1. yes the ts.check() in rpmlib is how we get our answers back from  
> rpm
> about what is needed to solve
> 2. it would be possible to write a check to do it w/o the headers
> 3. we wouldn't get file conflict knowledge in there b/c we don't  
> have a
> complete filelist+checksum+datestamps of each file in a package in the
> xml metadata
>
> If you are interested in working on or enhancing a ts.check() that  
> only
> uses the repodata we have we'd probably end up with success on  
> 80-90% of
> the cases.
>
> I'd love to see an example of one and happily encourage folks to  
> work on
> one like that. If you want to talk about it more - go to the yum-devel
> mailing list.

Yes, I'm interested in doing this, but I don't fully understand the  
issue. Can you elaborate a little on the conflict issue? Perhaps  
providing an example would make the light go on in my head. I'm  
confused about when the repodata is sufficient and when it is not.

I did some reading of the yum-devel archives and I thought an  
eventual goal was to not need to download headers. If this is the  
case, why isn't the complete filelist+checksum+datastamps of each  
file kept in filelist.xml?

j.



More information about the Yum-devel mailing list