[Rpm-maint] RFC: experiments with rich dependencies

Panu Matilainen pmatilai at redhat.com
Thu Sep 11 12:18:19 UTC 2014

On 09/09/2014 06:33 PM, Michael Schroeder wrote:
> On Mon, Sep 08, 2014 at 04:51:12PM +0200, Michael Schroeder wrote:
>> Hi Panu et al,


>> attached is an updated version of my rich dependencies patch.
>> I cleanup up the code a bit, now we have only one generic parser
>> instead of three specialized ones, and we use a callback function
>> to do the needed work.
> New version attached: some bugs fixed plus the ordering code
> now also understands rich deps.

I still haven't had a chance to look at this in any greater detail, but 
overall it is looking quite nice really, and the basics seem to be 
working fine.

I did find one "unexpected complication" [*] in the concept in my brief 
testing, and in all likelihood there are more cases nobody thought of 
etc... Just like we're still finding uncovered cases with the plain old 
provide/requires/conflicts/obsoletes handling.

With rpm 4.12 branched out and new development cycle just starting, this 
would be the prime time to land in such big new features and AFAICS this 
would make for a fine starting point for further refining. I'd say go 
ahead and push this pretty much as-is [**], unless others have 
objections. Florian?


	- Panu -

[*] IF-dependencies have similar issues as reverse dependencies: one can 
break somebody elses dependencies by installing some seemingly unrelated 
package. Perhaps they should be limited to weak dependencies.

[**] Minor nits from assigning pointers to 0 instead of NULL here and 
there. Other non-showstopper notes: haveRichDep() could use the new 
rpmds array (similar to commit 622e0661532ac65e4094f4f7046f01fcd35e0a76) 
and duplication of struct ReqComp (probably belongs to rpmds.c with some 
kind of api though)

More information about the Rpm-maint mailing list