[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Circular dependencies

Ralf Ertzinger wrote:
Is it "legal" to have two packages which Require: each other
(explicitly or implicitly)?

Speaking in general graph theory (dependencies can be seen as nodes
connected with directed arrows producing a directed graph), it becomes
more tricky when one allows circles, ie jump from Directed Acyclic
Graphs (DAGs) to cyclic ones.

I can't imagine how this could currently affect our tools but it could
become a thorn if we ever need to do smart handling of the dependency
graph. For example, Directed Acyclic Graphs have topological orders [1] (which might be useful for, or is already used by yum), simpler/faster search algorithms (depth-first search) etc.

Don't know if this "potential" is worth the effort of circumventing the
mutual dependency though (for example, by creating a dummy "parent"
dependency package that both package will depend on, etc). I would say *it is*, because it keeps things simple and keeps some potentials open, but then again, I am neither a maintainer nor the specialist on the internals of rpm/yum, or even on graph theory. :)


[1]: http://en.wikipedia.org/wiki/Topological_sort

Dimitris Glezos
Jabber ID: glezos jabber org, PGP: 0xA5A04C3B

"He who gives up functionality for ease of use
loses both and deserves neither." (Anonymous)

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]