[PATCHES] Generate shorter name for extra python files

Lukas Slebodnik lslebodn at redhat.com
Wed Jul 5 13:26:33 UTC 2017


ehlo,

Generating different name with different architecture and with the same
version of python is not ideal. pkgconfig files should be architecture
independent and libraries for different architectures are stored in
different directories
 e.g. (/usr/lib64, /usr/lib, /usr/lib/x86_64-linux-gnu/ ...)

Therefore it will be simpler to remove architecture from names
/usr/lib64/pkgconfig/pyldb-util.cpython-36m-x86_64-linux-gnu.pc
vs.
/usr/lib64/pkgconfig/pyldb-util36.pc

LS
-------------- next part --------------
From f2bb2c100a0e422e4da8b9de2c915261ca174c90 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Mon, 3 Jul 2017 20:38:53 +0200
Subject: [PATCH 1/3] WAF: Generate shorter name for extra python

Generating different name with different architecture and with the same
version of python is not ideal. pkgconfig files should be architecture
independent and libraries for different architectures are stored in
different directories
 e.g. (/usr/lib64, /usr/lib, /usr/lib/x86_64-linux-gnu/ ...)

Therefore it will be simpler to remove architecture from names
/usr/lib64/pkgconfig/pytalloc-util.cpython-36m-x86_64-linux-gnu.pc
vs.
/usr/lib64/pkgconfig/pytalloc-util36.pc

Signed-off-by: Lukas Slebodnik <lslebodn at redhat.com>
---
 buildtools/wafsamba/samba_python.py | 6 +++---
 buildtools/wafsamba/wafsamba.py     | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/buildtools/wafsamba/samba_python.py b/buildtools/wafsamba/samba_python.py
index f97439c945b4e986bacef39387cf4168d419e158..bfaf5e6250e0ec17e9d300fc7c839bae769cec1e 100644
--- a/buildtools/wafsamba/samba_python.py
+++ b/buildtools/wafsamba/samba_python.py
@@ -85,10 +85,10 @@ def _check_python_headers(conf, mandatory):
     if conf.env['PYTHON_VERSION'] > '3':
         abi_pattern = os.path.splitext(conf.env['pyext_PATTERN'])[0]
         conf.env['PYTHON_SO_ABI_FLAG'] = abi_pattern % ''
+        conf.env['PYTHON_LIBNAME_SO_ABI_FLAG'] = conf.env['PYTHON_VERSION']
     else:
         conf.env['PYTHON_SO_ABI_FLAG'] = ''
-    conf.env['PYTHON_LIBNAME_SO_ABI_FLAG'] = (
-        conf.env['PYTHON_SO_ABI_FLAG'].replace('_', '-'))
+        conf.env['PYTHON_LIBNAME_SO_ABI_FLAG'] = ''
 
     for lib in conf.env['LINKFLAGS_PYEMBED']:
         if lib.startswith('-L'):
@@ -170,7 +170,7 @@ Build.BuildContext.SAMBA_PYTHON = SAMBA_PYTHON
 
 def pyembed_libname(bld, name, extrapython=False):
     if bld.env['PYTHON_SO_ABI_FLAG']:
-        return name + bld.env['PYTHON_SO_ABI_FLAG']
+        return name + bld.env['PYTHON_VERSION']
     else:
         return name
 
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 1bdabf606406641ed4741e344f64b9d1628f0874..f65bbf356082ba10fcb121517a388b053ad3cffe 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -329,7 +329,7 @@ def SAMBA_LIBRARY(bld, libname, source,
 
     if pc_files is not None and not private_library:
         if pyembed and bld.env['IS_EXTRA_PYTHON']:
-            bld.PKG_CONFIG_FILES(pc_files, vnum=vnum, extra_name=bld.env['PYTHON_SO_ABI_FLAG'])
+            bld.PKG_CONFIG_FILES(pc_files, vnum=vnum, extra_name=bld.env['PYTHON_VERSION'])
         else:
             bld.PKG_CONFIG_FILES(pc_files, vnum=vnum)
 
-- 
2.13.0


From 9a0d19a22bcfc1541a478e358dbf9812ed359d92 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Mon, 3 Jul 2017 21:22:10 +0200
Subject: [PATCH 2/3] talloc: Generate shorter name for extra python

Generating different name with different architecture and with the same
version of python is not ideal. pkgconfig files should be architecture
independent and libraries for different architectures are stored in
different directories
 e.g. (/usr/lib64, /usr/lib, /usr/lib/x86_64-linux-gnu/ ...)

Therefore it will be simpler to remove architecture from names
/usr/lib64/pkgconfig/pytalloc-util.cpython-36m-x86_64-linux-gnu.pc
vs.
/usr/lib64/pkgconfig/pytalloc-util36.pc

Signed-off-by: Lukas Slebodnik <lslebodn at redhat.com>
---
 lib/talloc/pytalloc-util.pc.in | 2 +-
 lib/talloc/wscript             | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/talloc/pytalloc-util.pc.in b/lib/talloc/pytalloc-util.pc.in
index 06f83e26aa43b3eafd0364c1603673742c2de63b..143dceae0094d3419d4fd3bba8e706047a01805e 100644
--- a/lib/talloc/pytalloc-util.pc.in
+++ b/lib/talloc/pytalloc-util.pc.in
@@ -3,7 +3,7 @@ exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
 
-Name: pytalloc-util at PYTHON_SO_ABI_FLAG@
+Name: pytalloc-util at PYTHON_VERSION@
 Description: Utility functions for using talloc objects with Python
 Version: @TALLOC_VERSION@
 Libs: @LIB_RPATH@ -L${libdir} -lpytalloc-util at PYTHON_LIBNAME_SO_ABI_FLAG@
diff --git a/lib/talloc/wscript b/lib/talloc/wscript
index 09f780b48b29e5d75d0fe4380ff3680074cb71c9..2b1fd1ec1392bc976df823c885d72aa9da9e9739 100644
--- a/lib/talloc/wscript
+++ b/lib/talloc/wscript
@@ -82,7 +82,7 @@ def configure(conf):
         # We need to get a pytalloc-util for all the python versions
         # we are building for
         if conf.env['EXTRA_PYTHON']:
-            name = 'pytalloc-util' + conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG']
+            name = 'pytalloc-util' + conf.all_envs['extrapython']['PYTHON_VERSION']
             if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION,
                                                  implied_deps='talloc replace'):
                 using_system_pytalloc_util = False
-- 
2.13.0


From 9d0c1cecedda88ce811d88206b87c1e717f11bb4 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Mon, 3 Jul 2017 21:27:34 +0200
Subject: [PATCH 3/3] ldb: Generate shorter name for extra python

Generating different name with different architecture and with the same
version of python is not ideal. pkgconfig files should be architecture
independent and libraries for different architectures are stored in
different directories
 e.g. (/usr/lib64, /usr/lib, /usr/lib/x86_64-linux-gnu/ ...)

Therefore it will be simpler to remove architecture from names
/usr/lib64/pkgconfig/pyldb-util.cpython-36m-x86_64-linux-gnu.pc
vs.
/usr/lib64/pkgconfig/pyldb-util36.pc

Signed-off-by: Lukas Slebodnik <lslebodn at redhat.com>
---
 lib/ldb/pyldb-util.pc.in | 2 +-
 lib/ldb/wscript          | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/ldb/pyldb-util.pc.in b/lib/ldb/pyldb-util.pc.in
index 60ec7029260237d6ddd36ccea90fbb4444eaad7d..2480d27cfd87ae261e83b9e5ba6d58bdef6e5d00 100644
--- a/lib/ldb/pyldb-util.pc.in
+++ b/lib/ldb/pyldb-util.pc.in
@@ -4,7 +4,7 @@ libdir=@libdir@
 includedir=@includedir@
 modulesdir=@LDB_MODULESDIR@
 
-Name: pyldb-util at PYTHON_SO_ABI_FLAG@
+Name: pyldb-util at PYTHON_VERSION@
 Description: Python bindings for LDB
 Version: @PACKAGE_VERSION@
 Requires: ldb
diff --git a/lib/ldb/wscript b/lib/ldb/wscript
index 7f81fe3f09803668dd04cfa8275a284cc89f8182..5189ea43fa77d732f606c06738c9ecacd9eb61fc 100644
--- a/lib/ldb/wscript
+++ b/lib/ldb/wscript
@@ -77,7 +77,7 @@ def configure(conf):
             # We need to get a pyldb-util for all the python versions
             # we are building for
             if conf.env['EXTRA_PYTHON']:
-                name = 'pyldb-util' + conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG']
+                name = 'pyldb-util' + conf.all_envs['extrapython']['PYTHON_VERSION']
                 if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION,
                                                      onlyif='talloc tdb tevent',
                                                      implied_deps='replace talloc tdb tevent ldb'):
-- 
2.13.0



More information about the samba-technical mailing list