GNOME Bugzilla – Bug 675787
support building modules twice (cyclic dependencies)
Last modified: 2021-05-17 15:53:12 UTC
gvfs depends on glib. But if gvfs is installed when building glib, you gain the extra feature of glib-gvfs extention point. Modulesets files should allow a method to build a module twice. The gvfs/glib example above, 'jhbuild list' would then be like: glib gvfs glib
I don't think this is actually needed for the glib/gvfs example - the whole idea of the extension point is you can drop it in *after* you already have glib and it works? That's why we're running gio-querymodules. I'm not saying there aren't cyclic dependencies; there are (vala is a big one). But I don't think glib/gvfs is.
Just FYI, the way I solved cyclic dependencies in ostbuild ( https://live.gnome.org/OSTree/Ostbuild ) is amazingly simple - I don't have build dependencies, just a list of things to build in order. See for example: http://git.gnome.org/browse/gnome-ostree/tree/gnomeos-3.6.json which is roughly equivalent to the jhbuild moduleset. For e.g. vala, I have an old import of the .c files into a git snapshot that's used to bootstrap the current vala (which should overwrite the bootstrapped one).
(In reply to comment #2) > Just FYI, the way I solved cyclic dependencies in ostbuild ( > https://live.gnome.org/OSTree/Ostbuild ) is amazingly simple - I don't have > build dependencies, just a list of things to build in order. Clever solution! But I don't think that's suitable here because the use-case: build gedit and only gedit dependencies. (In reply to comment #1) > I don't think this is actually needed for the glib/gvfs example A bad example. But may be applicable for 1. libproxy -> WebKit; or 2. gnome-js-common -> seed; 3. nautilus -> tracker
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/jhbuild/-/issues/131.