GNOME Bugzilla – Bug 668434
tracker is listed in the build order after nautilus even though tracker has a hard dependency on nautilus
Last modified: 2012-02-07 09:57:02 UTC
Created attachment 205807 [details] [review] Rewrite of get_module_list Solving bug 656818 is difficult because get_module_list is a difficult to understand function. I've rewritten it, it discovers the module order using depth first tree. The function would be very short, but implementing <after> adds to the functions length. Whilst rewriting, I've removed some of the lesser used features: --tags isn't used as there are very few <tag> in the moduleset files --build-optional-modules doesn't have an impact (bug 668433) The rewrite displays warnings about cyclic dependencies. The function used to raise an exception for hard cyclic dependencies and ignore <suggests> and <after> cyclic dependencies. The rewrite displays a warning about missing dependencies. The function used to ignore them.
Created attachment 205808 [details] [review] tests: Adapt to get_module_list, add sys deps test The original tests pass, with a few tweaks to handle the changed cyclic detection behaviour.
Created attachment 205809 [details] [review] Remove --tags option as few <tag> in modulesets
Created attachment 205811 [details] [review] 3.4: Remove glib's cyclic <suggests/>
Created attachment 205812 [details] [review] 3.4: Remove glib's cyclic <after/>
Created attachment 205813 [details] [review] 3.4: Remove libproxy's cyclic <after/>
Created attachment 205814 [details] [review] 3.4: Remove nautilus's cyclic <after/>
Created attachment 205815 [details] [review] 3.4: Remove gnome-js-common's cyclic <suggests/>
Rewriting get_modules_list could go in another bug report; and I'd keep --tags and --build-optional-modules as they were once required and may be in use, perhaps with non-gnome modulesets. I'll close this one as tracker doesn't have a harddep on Nautilus, so I'll just move nautilus to the <suggests> part of tracker.