handling circular dependencies

wookietreiber kizkizzbangbang at googlemail.com
Sat Jan 15 22:18:04 CET 2011


Hello,

revising the configuration of 'cairo' and much around it (take a look at the module submission queue) I discovered some circular dependencies ('libspectre', 'poppler' and 'librsvg' should actually be optional dependencies for 'cairo') and how troublesome and annoying they can be ... for now I handled them with POST_INSTALL and POST_REMOVE, which, of course, isn't the most elegant way to do this ...

... so, what about a new function (e.g. called 'circ_depends') for '/var/lib/lunar/functions/depends.lunar' or, which would be even better, a revision of 'depends' and 'optional_depends', to handle circular dependencies directly in the lunar tools?

Generally, I don't know if it's just 'lvu tree module_with_circ_dep' breaking by going in an infinite loop or if it concerns other lunar tools as well -- I'm just not deep enough in it yet, but intend to :)

The intention of this mail is to encourage us to provide thoughts on what to consider to implement good circular dependency handling functionality and eventually, well, implement it :)

Best Regards
Christian Krause aka wookietreiber

P.S.:   I'll start with some thoughts soon :)
P.S.S.: Maybe someone knows other functions like 'lvu tree ...' which fail and post it to this thread -- this would help to find everything that breaks or may break.



More information about the Lunar-dev mailing list