From e424101c58cca8082f6250b4fe0d22f5c82e9501 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher 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 Reviewed-by: Andreas Schneider Reviewed-by: Andrew Bartlett (cherry picked from commit 82e583b04b04e560c121163850d70c52d2fce78d) --- 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 f86ac61..e564877 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 0301efbe7b45868f2d849f5bdf543dea20f5be85 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher 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 Reviewed-by: Andreas Schneider Reviewed-by: Andrew Bartlett (cherry picked from commit 4eb24fa545234be506eb1330ccbbfd5c2b9e0d82) --- 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 ce728f9..8d03b40 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 0a00357b95cc906fd3fafc0b313bd6cb5d5fe79d Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher 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 Reviewed-by: Andreas Schneider (cherry picked from commit 575b093dac3c509b1bfaab0b4ad29b9b4214e487) --- 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 e1964a3..eadf832 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