Re: NetworkManager Build System

Ok, thanks for the speedy and excellent response!


From: Thomas Haller <thaller redhat com>
Sent: Tuesday, 25 August 2020, 12:12
To: Graham White; networkmanager-list gnome org
Subject: Re: NetworkManager Build System

On Tue, 2020-08-25 at 10:48 +0000, Graham White via networkmanager-list
> I have a pull request against the NetworkManager-anyconnect
> repository, see
> The PR moves my repo from Autotools to the Meson build system.  Prior
> to considering whether to accept the PR, I wanted to check the future
> direction of NetworkManager in terms of the build system being used
> as I would prefer to stay aligned with this and the other closely
> related projects.
> Are there any plans to move away from Autotools?  If so, which build
> system(s) is under consideration?
> Many thanks,

Hi Graham,

first of all, VPN plugins are entirely separate from NetworkManager,
they only need to implement the API. Meaning, what matters is that

 - they talk the D-Bus API with NetworkManager.

 - they can register themself towards NetworkManager with a file like

 - optionally, they provide a glib based shared library to integrate
with libnm (as indicated in the .name file).

 - optionally, the provide an auth-dialog (as indicated in the .name

that means, you can implement a VPN plugin in any language you deem
suitable (and use any build system).

Of course, there is some value in having all VPN plugins being similar
(e.g. using C, glib, libnm, libnma).

NetworkManager itself is primarily autotools and an experimental meson
setup. Probably one day, the meson setup will replace autotools
entirely. There is no timeline for that. One problem is that meson
eagerly bumps the python3 dependency, while we still want to build
NetworkManager on systems that are python2-only or use an older
python3. With time, this problem will probably go away.

For other components like VPN plugins, libnma and network-manager-
applet, the portability issue for meson is less of a concern. I think
it makes sense to switch those to meson-only today. Many GNOME projects
are already meson-only.

TL;DR: nowadays, I think it's fine for most projects to be meson-only.


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