[Fedora-packaging] Re: Proposal to limit file deps

Panu Matilainen pmatilai at laiskiainen.org
Thu Dec 21 18:55:48 UTC 2006


On Thu, 21 Dec 2006, Toshio Kuratomi wrote:
> On Thu, 2006-12-21 at 12:13 -0500, Fernando Nasser wrote:
>> Rex Dieter wrote:
>>> Fernando Nasser wrote:
>>>> I have two questions:
>>>>
>>>> 1) If this is a problem that only affects yum and all the other
>>>> depsolvers do it efficiently, would it be better to fix yum instead or
>>>> working around it by spec file changes?
>>>
>>> It's still generally a good idea to minimize file deps.
>>
> Actually, what's happening is that all depsolvers have the ability to
> optimize two time consuming steps if the file deps follow these
> guidelines.  The two steps are 1) downloading filelist.xml.gz and 2)
> parsing filelist.xml to find the package which provides the file deps.
> [And this problem is multiplied the more repositories you have defined
> as the depsolver will have to grab the filelist.xml file from multiple
> repositories].
>
> Panu points out that only yum currently optimizes this but there's
> nothing stopping the others doing it as well.

Because of their very design, smart and apt CAN NOT optimize it as long as 
the repodata format permits arbitrary file dependencies. That's what I've 
been trying to say here.

Assume for a moment that FC + FE are cleaned up from all file dependencies 
outside of those present in primary.xml. Sure, it'd be possible to make a 
fedora-specific one-liner patch to avoid downloading the filelists.xml and 
that would "work." But as long as it's just a Fedora policy and not forced 
by the tools, things would break as soon as any 3rd party repository not 
enforcing that particular Fedora policy is used (Axel, this is what I 
meant with "any old repository", no such thing as "new repodata" at the 
moment)

What does it mean? Heck, nothing really. Apt and smart have a radically 
different internal design from that of yum, each has their own benefits. 
The partial filelist info within primary.xml is really what I'd call a 
RH/Fedora specific performance hack, based on rough "these directories 
cover 99% of the filedeps in practice" heuristic. Which is all and well, 
except it's annoyingly close-but-no-cigar to working for apt and smart as 
well, they need to download the huge filelists.xml only because of that 
remaining 1% :)

Again, cleaning up obscure file dependencies is good, nothing against this 
thing at all. I just wanted to correct the idea that it would help "the 
other" depsolvers as well - it doesn't, but that doesn't make the idea 
bad.

 	- Panu -




More information about the Fedora-packaging mailing list