diff mbox series

[nft] py: load the SONAME-versioned shared object

Message ID 157597564558.35612.1732679016499221966.stgit@endurance
State Accepted
Delegated to: Pablo Neira
Headers show
Series [nft] py: load the SONAME-versioned shared object | expand

Commit Message

Arturo Borrero Gonzalez Dec. 10, 2019, 11 a.m. UTC
Instruct the python module to load the SONAME versioned shared object.

Normal end-user systems may only have available libnftables.so.1.0.0 and not
libnftables.so which is usually only present in developer systems.

In Debian systems, for example:

 % dpkg -L libnftables1 | grep so.1
 /usr/lib/x86_64-linux-gnu/libnftables.so.1.0.0
 /usr/lib/x86_64-linux-gnu/libnftables.so.1

 % dpkg -L libnftables-dev | grep so
 /usr/lib/x86_64-linux-gnu/libnftables.so

The "1" is not a magic number, is the SONAME of libnftables in the current
version, as stated in Make_global.am.

Reported-by: Michael Biebl <biebl@debian.org>
Signed-off-by: Arturo Borrero Gonzalez <arturo@netfilter.org>
---
 py/nftables.py |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Phil Sutter Dec. 10, 2019, 11:21 a.m. UTC | #1
Hi,

On Tue, Dec 10, 2019 at 12:00:45PM +0100, Arturo Borrero Gonzalez wrote:
> Instruct the python module to load the SONAME versioned shared object.
> 
> Normal end-user systems may only have available libnftables.so.1.0.0 and not
> libnftables.so which is usually only present in developer systems.
> 
> In Debian systems, for example:
> 
>  % dpkg -L libnftables1 | grep so.1
>  /usr/lib/x86_64-linux-gnu/libnftables.so.1.0.0
>  /usr/lib/x86_64-linux-gnu/libnftables.so.1
> 
>  % dpkg -L libnftables-dev | grep so
>  /usr/lib/x86_64-linux-gnu/libnftables.so
> 
> The "1" is not a magic number, is the SONAME of libnftables in the current
> version, as stated in Make_global.am.

My intention was to avoid the SONAME dependency, but you're right - it
causes more trouble than good. Who knows, maybe nftables.py does at some
point depend on a specific libntables version.

> Reported-by: Michael Biebl <biebl@debian.org>
> Signed-off-by: Arturo Borrero Gonzalez <arturo@netfilter.org>

Acked-by: Phil Sutter <phil@nwl.cc>

Feel free to push this out, Arturo.

Thanks, Phil
diff mbox series

Patch

diff --git a/py/nftables.py b/py/nftables.py
index 48eb54fe..2a0a1e89 100644
--- a/py/nftables.py
+++ b/py/nftables.py
@@ -64,7 +64,7 @@  class Nftables:
 
     validator = None
 
-    def __init__(self, sofile="libnftables.so"):
+    def __init__(self, sofile="libnftables.so.1"):
         """Instantiate a new Nftables class object.
 
         Accepts a shared object file to open, by default standard search path