After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 668434 - tracker is listed in the build order after nautilus even though tracker has a hard dependency on nautilus
tracker is listed in the build order after nautilus even though tracker has a...
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks: 668433
 
 
Reported: 2012-01-22 12:26 UTC by Craig Keogh
Modified: 2012-02-07 09:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Rewrite of get_module_list (19.16 KB, patch)
2012-01-22 12:42 UTC, Craig Keogh
none Details | Review
tests: Adapt to get_module_list, add sys deps test (6.20 KB, patch)
2012-01-22 12:44 UTC, Craig Keogh
none Details | Review
Remove --tags option as few <tag> in modulesets (9.15 KB, patch)
2012-01-22 12:45 UTC, Craig Keogh
none Details | Review
3.4: Remove glib's cyclic <suggests/> (932 bytes, patch)
2012-01-22 12:47 UTC, Craig Keogh
none Details | Review
3.4: Remove glib's cyclic <after/> (807 bytes, patch)
2012-01-22 12:47 UTC, Craig Keogh
none Details | Review
3.4: Remove libproxy's cyclic <after/> (855 bytes, patch)
2012-01-22 12:48 UTC, Craig Keogh
none Details | Review
3.4: Remove nautilus's cyclic <after/> (759 bytes, patch)
2012-01-22 12:48 UTC, Craig Keogh
none Details | Review
3.4: Remove gnome-js-common's cyclic <suggests/> (892 bytes, patch)
2012-01-22 12:48 UTC, Craig Keogh
none Details | Review

Description Craig Keogh 2012-01-22 12:26:19 UTC
tracker is listed in the build order after nautilus even though tracker has a hard dependency on nautilus
Comment 1 Craig Keogh 2012-01-22 12:42:52 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.
Comment 2 Craig Keogh 2012-01-22 12:44:15 UTC
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.
Comment 3 Craig Keogh 2012-01-22 12:45:21 UTC
Created attachment 205809 [details] [review]
Remove --tags option as few <tag> in modulesets
Comment 4 Craig Keogh 2012-01-22 12:47:05 UTC
Created attachment 205811 [details] [review]
3.4: Remove glib's cyclic <suggests/>
Comment 5 Craig Keogh 2012-01-22 12:47:36 UTC
Created attachment 205812 [details] [review]
3.4: Remove glib's cyclic <after/>
Comment 6 Craig Keogh 2012-01-22 12:48:01 UTC
Created attachment 205813 [details] [review]
3.4: Remove libproxy's cyclic <after/>
Comment 7 Craig Keogh 2012-01-22 12:48:24 UTC
Created attachment 205814 [details] [review]
3.4: Remove nautilus's cyclic <after/>
Comment 8 Craig Keogh 2012-01-22 12:48:55 UTC
Created attachment 205815 [details] [review]
3.4: Remove gnome-js-common's cyclic <suggests/>
Comment 9 Frederic Peters 2012-02-07 09:57:02 UTC
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.