On Tue, 2020-08-25 at 10:48 +0000, Graham White via networkmanager-list wrote:
I have a pull request against the NetworkManager-anyconnect repository, see https://github.com/grahamwhiteuk/Networkmanager-anyconnect/pull/1 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 /usr/lib/NetworkManager/VPN/*.name - 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 file). 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. best, Thomas
Attachment:
signature.asc
Description: This is a digitally signed message part