Circular dependencies in RPM

Dusty Mabe dustymabe at gmail.com
Fri Aug 22 20:23:38 UTC 2014


On Fri, Aug 22, 2014 at 10:11:25PM +0200, Reindl Harald wrote:
> 
> Am 22.08.2014 um 21:53 schrieb Dusty Mabe:
> > I know I have probably been hiding under a Rock but can anyone help me 
> > understand Fedora's stance on circular dependencies within RPMs?
> > 
> > At least in the past I think circular dependencies have been kept to a minimum
> > as it can cause issues with rpm sorting: i.e. for two rpms A,B with a circular
> > dependency, in different transactions sometimes A goes before B and sometimes
> > B goes before A. 
> > 
> > In Fedora 20 just running rpm against the 1500 or so packages I have installed
> > on my Desktop I notice that there are 47 sets of "Strongly Connected Components";
> > basically 47 cases of a circular dependency.
> > 
> > Was there a point where this became more popular. I don't remember there being more
> > than a few circular deps for EL6 era rpms.
> 
> how should it work otherwise?
> 
> * each package defines it's depndencies
> * each of the dependencies have their own
> * no package knows the whole picture
> * each package has to pull all deps it needs

Sure. Each package defines all deps it needs is how it should be. 

> 
> if
>  * A requires B
>  * B requires C

The scenario I am concerned with here is:

if
 * A requires B
 * B requires C
 * C requires A

This basically yields a case where ordering can't be properly done because 
rpm doesn't know which dependency is stronger. If all of the rpms in question
just deliver files then all is well with the world but if each of them have
scriptlets the ordering can definitely matter and this would be a problem.

Dusty 


More information about the devel mailing list