Re: System services & jhbuild



Zeeshan Ali (Khattak) wrote:

It does (basically it sets PKG_CONFIG_PATH to also look into the
system directories, so if you have networkmanager development files
installed, it will find them), and it even automatically skip modules
that are installed with a proper version (but it has to know the
required minimum version, and we used to maintain that appropriately
with "external deps", less so thosedays).

1. Many users won't have the development packages installed for these
system services and thus this won't be any solution for them. What sri
meant (correct me if I'm wrong) is to simply leave system services to
system.

jhbuild sysdeps checks for the presence of the pkg-config file, and
will then ask packagekit to install the proper packages.

And well, if an application needs the NetworkManager development
files, and they are not installed on the system, and that's certainly
less ideal than building correctly, because it had been built
correctly by jhbuild five steps before.


2. Not all services provide a library (e.g geoclue currently doesn't)
so deps are setup for runtime-only. In that case, build of such
services is almost always redundant.

You were talking about "kicking out all system services from jhbuild";
and many of those services provide libraries.  And geoclue provides a
.pc file and modules are checking for it at configure time (from a
quick grep: empathy, gnome-clocks, gnome-initial-setup, gnome-settings-
daemon).


Also, while it's not possible to run system services, it may still be
useful to have them in jhbuild, as they provide libraries that will be
used by other modules. For example it is required to have
accountsservice libraries to build and run gnome-control-center, but
most panels will be fine if the service itself is not running.

If control-center would need latest of accountsservice, its likely
going to be because of new D-Bus API rather than just some convenience
API provided by the library, wouldn't it? If control-center (built in
jhbuild) can use the service from system at runtime, it can also use
the library from system?

Nope, as Jasper wrote about the case of NetworkManager.


Still, we may envision changes; for example it's now possible to have
conditional modules, so perhaps we could work to have it both ways,
with a default set without the system services, and a flag to enable
them, a la "jhbuild --conditions=+system-services build".

Although I can totally agree with going for this approach, I still
wonder what would user really achieve with this? Why build things that
in the end will be useless?

As written before, they are not considered useless; heck, I even
consider building geoclue2 to get its single .pc file installed
useful.


        Fred


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