Re: [PATCH] vpn-manager: respect NM_VPN_PLUGIN_DIR



On Thu, 2019-07-18 at 20:39 +0200, Jelle Licht wrote:
Thomas Haller <thaller redhat com> writes:

[snip]
if you have

  /gnu/store/123verylonghash-networkmanager-1.18.2/
  /gnu/store/234verylonghash-networkmanager-1.20.0/

and

  /gnu/store/345verylonghash-networkmanager-openvpn-1.2.8/

then the plugin should work with both versions of NetworkManager.
How
would you solve that if you don't have a well known path where VPN
plugins announce their existance (by putting their .name file
there).

We solve this by setting NM_VPN_PLUGIN_DIR to
`/gnu/store/345verylonghash-networkmanager-openvpn-1.2.8/' for both
service configurations.

why put the VPN's .name files be in a directory named
.../*networkmanager-openvpn*/ ?

There can be any number of VPN plugins and other plugins shouldn't care
about nm-openvpn.

Shouldn't the path at least be

  /gnu/store/345verylonghash-NetworkMaager-1.20.0/

and the VPN plugins put their .name files there?



Mind you, since `network-manager' is an input for each nm vpn plugin
we
have packaged, each distinct nm version leads to distinct build
artifacts for each nm vpn plugin.

At that point, can you not patch NetworkManager source to look
at
the
right place? Possibly we could add a configure option to make
that
easier.

To summarize and directly address your point; there is indeed
*one*
location where we put all of our vpn plugins, but this location
is
only
known after building each of nm and the selected vpn plugins.

When switching NetworkManager you have to rebuild all plugins? That
seems unnecessary and diamentral. At most you need to run a script
to
put the .name files in the new location.

Also, if you anyway rebuild everything, why do you need an
environment
variable? If you can set the environment variable, can you not set
the
build-option? 


I guess, if you switch between NetworkManager versions, you would
change the environment variable. But that is not enough. The VPN
plugins need to copy their name files to the new location. And at
that
point, what does the environment variable help?


The plugin directory will change depending on which plugins are
included, so in order to avoid recompiling NM every time you change
the
set of plugins, you need to be able to pass the plugin directory to
the
daemon at runtime.




best,
Thomas

Attachment: signature.asc
Description: This is a digitally signed message part



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