[PATCHES] fix soname of linux nss_*.so.2 modules

Stefan (metze) Metzmacher metze at samba.org
Thu Dec 18 16:52:29 MST 2014


Am 18.12.2014 um 20:24 schrieb Stefan (metze) Metzmacher:
> Am 18.12.2014 um 16:58 schrieb Andreas Schneider:
>> On Thursday 18 December 2014 11:43:08 Stefan  Metzmacher wrote:
>>> Hi,
>>>
>>> here's an updated patchset with fixed whitespaces to make python happy.
>>
>> Looks good, pushed!
> 
> We also need to fix the selftest path for nss-wrapper.
> 
> These patches hopefully pass autobuild...

One more shared/libnss_wrapper_winbind.so.2 fix...

Everything is also
https://git.samba.org/?p=metze/samba/wip.git;a=shortlog;h=refs/heads/master4-forest-ok

metze
-------------- next part --------------
From bb2669e3f4f3f1e71b0641977de88e965134b64a Mon Sep 17 00:00:00 2001
From: Stefan Metzmacher <metze at samba.org>
Date: Thu, 18 Dec 2014 10:21:30 +0100
Subject: [PATCH 1/3] wafsamba: add optional keep_underscore=True to
 SAMBA_LIBRARY()

Bug: https://bugzilla.samba.org/show_bug.cgi?id=9299

Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
---
 buildtools/wafsamba/wafsamba.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 020516b..bd2ca89 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -110,6 +110,7 @@ def SAMBA_LIBRARY(bld, libname, source,
                   ldflags='',
                   external_library=False,
                   realname=None,
+                  keep_underscore=False,
                   autoproto=None,
                   autoproto_extra_source='',
                   group='main',
@@ -212,7 +213,10 @@ def SAMBA_LIBRARY(bld, libname, source,
                        libname)
 
     if target_type == 'PYTHON' or realname or not private_library:
-        bundled_name = libname.replace('_', '-')
+        if keep_underscore:
+            bundled_name = libname
+        else:
+            bundled_name = libname.replace('_', '-')
     else:
         bundled_name = PRIVATE_NAME(bld, libname, bundled_extension,
             private_library)
-- 
1.9.1


From 808261583fbad073e045e487e2036e484a7eda02 Mon Sep 17 00:00:00 2001
From: Stefan Metzmacher <metze at samba.org>
Date: Thu, 18 Dec 2014 20:13:44 +0100
Subject: [PATCH 2/3] selftest: use shared/libnss_wrapper_winbind.so.2

This library is always available in make test.
nss-wrapper strictly requires the linux nss api.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=9299

Signed-off-by: Stefan Metzmacher <metze at samba.org>
---
 selftest/target/Samba.pm  | 2 +-
 source4/selftest/tests.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/selftest/target/Samba.pm b/selftest/target/Samba.pm
index 2bd90ae..ccc63f3 100644
--- a/selftest/target/Samba.pm
+++ b/selftest/target/Samba.pm
@@ -69,7 +69,7 @@ sub nss_wrapper_winbind_so_path($) {
         my ($object) = @_;
 	my $ret = $ENV{NSS_WRAPPER_WINBIND_SO_PATH};
         if (not defined($ret)) {
-	    $ret = bindir_path($object, "default/nsswitch/libnss-winbind.so");
+	    $ret = bindir_path($object, "shared/libnss_wrapper_winbind.so.2");
 	    $ret = abs_path($ret);
 	}
 	return $ret;
diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py
index 7362b64..7c4f888 100755
--- a/source4/selftest/tests.py
+++ b/source4/selftest/tests.py
@@ -421,7 +421,7 @@ for env in ["s3dc", "member", "plugin_s4_dc", "dc", "s3member", "s4member"]:
 nsstest4 = binpath("nsstest")
 for env in ["plugin_s4_dc", "dc", "s4member", "s3dc", "s3member", "member"]:
     if os.path.exists(nsstest4):
-        plantestsuite("samba.nss.test using winbind(%s)" % env, env, [os.path.join(bbdir, "nsstest.sh"), nsstest4, os.path.join(samba4bindir, "default/nsswitch/libnss-winbind.so")])
+        plantestsuite("samba.nss.test using winbind(%s)" % env, env, [os.path.join(bbdir, "nsstest.sh"), nsstest4, os.path.join(samba4bindir, "shared/libnss_wrapper_winbind.so.2")])
     else:
         skiptestsuite("samba.nss.test using winbind(%s)" % env, "nsstest not available")
 
-- 
1.9.1


From 281b0b8cbbef4367d6d37ddc18e2b3e46f00da80 Mon Sep 17 00:00:00 2001
From: Stefan Metzmacher <metze at samba.org>
Date: Thu, 18 Dec 2014 10:33:34 +0100
Subject: [PATCH 3/3] nsswitch: fix soname of linux nss_*.so.2 modules

Bug: https://bugzilla.samba.org/show_bug.cgi?id=9299

Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
---
 nsswitch/wscript_build | 24 ++++++++++++++++++------
 source3/wscript_build  |  7 -------
 2 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/nsswitch/wscript_build b/nsswitch/wscript_build
index 8ceb9ad..381ff44 100644
--- a/nsswitch/wscript_build
+++ b/nsswitch/wscript_build
@@ -30,12 +30,24 @@ bld.SAMBA_LIBRARY('nss_wrapper_winbind',
 # the search for .rfind('gnu') covers gnu* and *-gnu is that too broad?
 
 if (Utils.unversioned_sys_platform() == 'linux' or (host_os.rfind('gnu') > -1)):
-	bld.SAMBA_LIBRARY('nss_winbind',
-			  source='winbind_nss_linux.c',
-			  deps='winbind-client',
-			  realname='libnss_winbind.so.2',
-			  soname='libnss_winbind.so',
-			  vnum='2')
+    bld.SAMBA_LIBRARY('nss_winbind',
+              keep_underscore=True,
+              source='winbind_nss_linux.c',
+              deps='winbind-client',
+              public_headers=[],
+              public_headers_install=False,
+              pc_files=[],
+              vnum='2')
+
+    # for nss_wins is linux only
+    bld.SAMBA3_LIBRARY('nss_wins',
+                       keep_underscore=True,
+                       source='wins.c',
+                       deps='''param libsmb LIBTSOCKET''',
+                       public_headers=[],
+                       public_headers_install=False,
+                       pc_files=[],
+                       vnum='2')
 elif (host_os.rfind('freebsd') > -1):
 	# FreeBSD winbind client is implemented as a wrapper around
 	# the Linux version.
diff --git a/source3/wscript_build b/source3/wscript_build
index a57fcf0..dc6b196 100755
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -55,13 +55,6 @@ bld.SAMBA3_LIBRARY('netapi',
                     pc_files='libnet/netapi.pc',
                     vnum='0')
 
-bld.SAMBA3_LIBRARY('nss_wins',
-                  source='../nsswitch/wins.c',
-                  deps='''param libsmb LIBTSOCKET''',
-                  realname='libnss_wins.so.2',
-                  soname='libnss_wins.so',
-                  vnum='2')
-
 bld.SAMBA3_LIBRARY('gse',
                    source='librpc/crypto/gse_krb5.c librpc/crypto/gse.c',
                    deps='krb5samba gensec param KRBCLIENT secrets3',
-- 
1.9.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20141219/bf100c61/attachment.pgp>


More information about the samba-technical mailing list