diff options
author | Ian Stakenvicius <axs@gentoo.org> | 2016-01-11 14:31:50 -0500 |
---|---|---|
committer | Ian Stakenvicius <axs@gentoo.org> | 2016-01-11 14:48:02 -0500 |
commit | 3f6e03dac9bd04d8e10b178dc47556ece13800b1 (patch) | |
tree | 526736dbb1f58c189f3cffb786318e4442a64c74 /net-fs/samba/files | |
parent | dev-ruby/ethon: add 0.8.1 (diff) | |
download | gentoo-3f6e03dac9bd04d8e10b178dc47556ece13800b1.tar.gz gentoo-3f6e03dac9bd04d8e10b178dc47556ece13800b1.tar.bz2 gentoo-3f6e03dac9bd04d8e10b178dc47556ece13800b1.zip |
net-fs/samba: convert to multilib
This is the first attempt at a multilib-capable samba. The patch that allows building samba
without a multilib-capable python is very large but only disables samba objects that need
python; there are likely many other objects that can be disabled as well to make the alt-ABI
build more efficient.
Package-Manager: portage-2.2.26
Diffstat (limited to 'net-fs/samba/files')
-rw-r--r-- | net-fs/samba/files/samba-4.2.7-disable-python-for-altabi.patch | 823 |
1 files changed, 823 insertions, 0 deletions
diff --git a/net-fs/samba/files/samba-4.2.7-disable-python-for-altabi.patch b/net-fs/samba/files/samba-4.2.7-disable-python-for-altabi.patch new file mode 100644 index 000000000000..c05aa17d21fc --- /dev/null +++ b/net-fs/samba/files/samba-4.2.7-disable-python-for-altabi.patch @@ -0,0 +1,823 @@ +--- a/auth/credentials/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/auth/credentials/wscript_build 2016-01-08 19:50:12.510297249 -0500 +@@ -24,7 +24,8 @@ + source='credentials_ntlm.c', + deps='samba-credentials') + +-bld.SAMBA_PYTHON('pycredentials', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('pycredentials', + source='pycredentials.c', + public_deps='samba-credentials cmdline-credentials pytalloc-util pyparam_util CREDENTIALS_KRB5 CREDENTIALS_SECRETS', + realname='samba/credentials.so' +--- a/lib/ldb/wscript 2015-12-10 04:20:09.000000000 -0500 ++++ b/lib/ldb/wscript 2016-01-08 19:50:12.450297496 -0500 +@@ -34,6 +34,8 @@ + conf.RECURSE('lib/tdb') + conf.RECURSE('lib/tevent') + ++ conf.env.disable_python = getattr(Options.options, 'disable_python', False) ++ + if conf.CHECK_FOR_THIRD_PARTY(): + conf.RECURSE('third_party/popt') + else: +@@ -47,7 +49,8 @@ + conf.find_program('xsltproc', var='XSLTPROC') + conf.check_tool('python') + conf.check_python_version((2,4,2)) +- conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=True) ++ if not conf.env.disable_python: ++ conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=True) + + # where does the default LIBDIR end up? in conf.env somewhere? + # +@@ -60,7 +63,7 @@ + onlyif='talloc tdb tevent', + implied_deps='replace talloc tdb tevent'): + conf.define('USING_SYSTEM_LDB', 1) +- if conf.CHECK_BUNDLED_SYSTEM_PKG('pyldb-util', minversion=SYSTEM_VERSION, ++ if not conf.env.disable_python and conf.CHECK_BUNDLED_SYSTEM_PKG('pyldb-util', minversion=SYSTEM_VERSION, + onlyif='talloc tdb tevent ldb', + implied_deps='replace talloc tdb tevent ldb'): + conf.define('USING_SYSTEM_PYLDB_UTIL', 1) +@@ -121,8 +124,9 @@ + bld.env.PACKAGE_VERSION = VERSION + bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' + +- if not bld.CONFIG_SET('USING_SYSTEM_PYLDB_UTIL'): +- bld.SAMBA_LIBRARY('pyldb-util', ++ if not bld.env.disable_python: ++ if not bld.CONFIG_SET('USING_SYSTEM_PYLDB_UTIL'): ++ bld.SAMBA_LIBRARY('pyldb-util', + deps='ldb', + source='pyldb_util.c', + public_headers='pyldb.h', +--- a/lib/ntdb/wscript 2014-10-01 04:12:21.000000000 -0400 ++++ b/lib/ntdb/wscript 2016-01-08 19:50:12.460297455 -0500 +@@ -109,7 +109,7 @@ + if conf.CHECK_BUNDLED_SYSTEM('ntdb', minversion=VERSION, + implied_deps='replace'): + conf.define('USING_SYSTEM_NTDB', 1) +- if conf.CHECK_BUNDLED_SYSTEM_PYTHON('pyntdb', 'ntdb', minversion=VERSION): ++ if not conf.env.disable_python and conf.CHECK_BUNDLED_SYSTEM_PYTHON('pyntdb', 'ntdb', minversion=VERSION): + conf.define('USING_SYSTEM_PYNTDB', 1) + + if not conf.env.disable_python: +--- a/lib/talloc/wscript 2015-04-15 15:27:33.000000000 -0400 ++++ b/lib/talloc/wscript 2016-01-08 19:50:12.470297414 -0500 +@@ -47,7 +47,7 @@ + if conf.CHECK_BUNDLED_SYSTEM_PKG('talloc', minversion=VERSION, + implied_deps='replace'): + conf.define('USING_SYSTEM_TALLOC', 1) +- if conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION, ++ if not conf.env.disable_python and conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION, + implied_deps='talloc replace'): + conf.define('USING_SYSTEM_PYTALLOC_UTIL', 1) + +--- a/lib/tdb/wscript 2015-07-14 06:54:24.000000000 -0400 ++++ b/lib/tdb/wscript 2016-01-08 19:50:12.480297372 -0500 +@@ -81,7 +81,7 @@ + implied_deps='replace'): + conf.define('USING_SYSTEM_TDB', 1) + conf.env.building_tdb = False +- if conf.CHECK_BUNDLED_SYSTEM_PYTHON('pytdb', 'tdb', minversion=VERSION): ++ if not conf.env.disable_python and conf.CHECK_BUNDLED_SYSTEM_PYTHON('pytdb', 'tdb', minversion=VERSION): + conf.define('USING_SYSTEM_PYTDB', 1) + + conf.env.disable_python = getattr(Options.options, 'disable_python', False) +@@ -178,8 +178,9 @@ + bld.SAMBA_BINARY(b, s, 'replace tdb-test-helpers', + includes='include', install=False) + +- if not bld.CONFIG_SET('USING_SYSTEM_PYTDB'): +- bld.SAMBA_PYTHON('pytdb', ++ if not bld.env.disable_python: ++ if not bld.CONFIG_SET('USING_SYSTEM_PYTDB'): ++ bld.SAMBA_PYTHON('pytdb', + 'pytdb.c', + deps='tdb', + enabled=not bld.env.disable_python, +--- a/lib/tevent/wscript 2015-07-14 06:54:24.000000000 -0400 ++++ b/lib/tevent/wscript 2016-01-08 19:50:12.500297290 -0500 +@@ -34,11 +34,13 @@ + + conf.env.standalone_tevent = conf.IN_LAUNCH_DIR() + ++ conf.env.disable_python = getattr(Options.options, 'disable_python', False) ++ + if not conf.env.standalone_tevent: + if conf.CHECK_BUNDLED_SYSTEM_PKG('tevent', minversion=VERSION, + onlyif='talloc', implied_deps='replace talloc'): + conf.define('USING_SYSTEM_TEVENT', 1) +- if conf.CHECK_BUNDLED_SYSTEM_PYTHON('pytevent', 'tevent', minversion=VERSION): ++ if not conf.env.disable_python and conf.CHECK_BUNDLED_SYSTEM_PYTHON('pytevent', 'tevent', minversion=VERSION): + conf.define('USING_SYSTEM_PYTEVENT', 1) + + if conf.CHECK_FUNCS('epoll_create', headers='sys/epoll.h'): +@@ -61,8 +63,6 @@ + if not conf.CONFIG_SET('USING_SYSTEM_TEVENT'): + conf.DEFINE('TEVENT_NUM_SIGNALS', tevent_num_signals) + +- conf.env.disable_python = getattr(Options.options, 'disable_python', False) +- + if not conf.env.disable_python: + # also disable if we don't have the python libs installed + conf.find_program('python', var='PYTHON') +--- a/libcli/nbt/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/libcli/nbt/wscript_build 2016-01-08 19:50:12.520297208 -0500 +@@ -24,7 +24,8 @@ + install=False + ) + +-bld.SAMBA_PYTHON('python_netbios', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('python_netbios', + source='pynbt.c', + public_deps='cli-nbt DYNCONFIG samba-hostconfig', + realname='samba/netbios.so' +--- a/libcli/security/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/libcli/security/wscript_build 2016-01-08 19:50:12.530297167 -0500 +@@ -7,7 +7,8 @@ + deps='talloc ndr NDR_SECURITY' + ) + +-bld.SAMBA_PYTHON('pysecurity', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('pysecurity', + source='pysecurity.c', + deps='samba-security pytalloc-util', + realname='samba/security.so' +--- a/python/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/python/wscript_build 2016-01-08 19:50:12.800296055 -0500 +@@ -1,13 +1,14 @@ + #!/usr/bin/env python + +-bld.SAMBA_LIBRARY('samba_python', ++if not bld.env.disable_python: ++ bld.SAMBA_LIBRARY('samba_python', + source=[], + deps='LIBPYTHON pytalloc-util pyrpc_util', + grouping_library=True, + private_library=True, + pyembed=True) + +-bld.SAMBA_SUBSYSTEM('LIBPYTHON', ++ bld.SAMBA_SUBSYSTEM('LIBPYTHON', + source='modules.c', + public_deps='', + init_function_sentinel='{NULL,NULL}', +@@ -15,8 +16,7 @@ + pyext=True, + ) + +- +-bld.SAMBA_PYTHON('python_uuid', ++ bld.SAMBA_PYTHON('python_uuid', + source='uuidmodule.c', + deps='ndr', + realname='uuid.so', +@@ -24,7 +24,7 @@ + ) + + +-bld.SAMBA_PYTHON('python_glue', ++ bld.SAMBA_PYTHON('python_glue', + source='pyglue.c', + deps='pyparam_util samba-util netif pytalloc-util', + realname='samba/_glue.so' +@@ -32,8 +32,8 @@ + + + # install out various python scripts for use by make test +-bld.SAMBA_SCRIPT('samba_python_files', ++ bld.SAMBA_SCRIPT('samba_python_files', + pattern='samba/**/*.py', + installdir='python') + +-bld.INSTALL_WILDCARD('${PYTHONARCHDIR}', 'samba/**/*.py', flat=False) ++ bld.INSTALL_WILDCARD('${PYTHONARCHDIR}', 'samba/**/*.py', flat=False) +--- a/source3/param/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source3/param/wscript_build 2016-01-08 19:50:12.760296220 -0500 +@@ -14,7 +14,8 @@ + group='build_source', + rule='${PYTHON} ${SRC[0].abspath(env)} --file ${SRC[1].abspath(env)} --output ${TGT} --mode=S3PROTO') + +-bld.SAMBA3_PYTHON('pys3param', ++if not bld.env.disable_python: ++ bld.SAMBA3_PYTHON('pys3param', + source='pyparam.c', + deps='param', + public_deps='samba-hostconfig pytalloc-util talloc', +--- a/source3/passdb/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source3/passdb/wscript_build 2016-01-08 19:50:12.770296179 -0500 +@@ -40,7 +40,8 @@ + internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_samba_dsdb') and bld.AD_DC_BUILD_IS_ENABLED(), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_samba_dsdb') and bld.AD_DC_BUILD_IS_ENABLED()) + +-bld.SAMBA3_PYTHON('pypassdb', ++if not bld.env.disable_python: ++ bld.SAMBA3_PYTHON('pypassdb', + source='py_passdb.c', + deps='pdb', + public_deps='samba-util tdb_compat talloc pyrpc_util', +--- a/source3/wscript_build 2015-07-14 06:54:24.000000000 -0400 ++++ b/source3/wscript_build 2016-01-08 19:50:12.780296137 -0500 +@@ -1452,13 +1452,14 @@ + param''', + install=False) + +-bld.SAMBA3_PYTHON('pysmbd', ++if not bld.env.disable_python: ++ bld.SAMBA3_PYTHON('pysmbd', + source='smbd/pysmbd.c', + deps='smbd_base pyrpc_util', + realname='samba/samba3/smbd.so' + ) + +-bld.SAMBA3_PYTHON('pylibsmb', ++ bld.SAMBA3_PYTHON('pylibsmb', + source='libsmb/pylibsmb.c', + deps='smbclient samba-credentials', + realname='samba/samba3/libsmb_samba_internal.so' +--- a/source4/auth/gensec/wscript_build 2014-10-01 05:06:01.000000000 -0400 ++++ b/source4/auth/gensec/wscript_build 2016-01-08 19:50:12.560297043 -0500 +@@ -34,7 +34,8 @@ + ) + + +-bld.SAMBA_PYTHON('pygensec', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('pygensec', + source='pygensec.c', + deps='gensec pytalloc-util pyparam_util', + realname='samba/gensec.so' +--- a/source4/auth/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source4/auth/wscript_build 2016-01-08 19:50:12.580296961 -0500 +@@ -43,7 +43,8 @@ + ) + + +-bld.SAMBA_PYTHON('pyauth', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('pyauth', + source='pyauth.c', + public_deps='auth_system_session', + deps='samdb pytalloc-util pyparam_util pyldb-util pycredentials auth4', +--- a/source4/dsdb/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source4/dsdb/wscript_build 2016-01-08 19:50:12.590296920 -0500 +@@ -58,7 +58,9 @@ + enabled=bld.AD_DC_BUILD_IS_ENABLED() + ) + +-bld.SAMBA_PYTHON('python_dsdb', ++ ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('python_dsdb', + source='pydsdb.c', + # the dependency on dcerpc here is because gensec + # depends on dcerpc but the waf circular dependency finder +--- a/source4/lib/com/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source4/lib/com/wscript_build 2016-01-08 19:50:12.600296878 -0500 +@@ -26,8 +26,8 @@ + init_function='com_simple_init' + ) + +- +-bld.SAMBA_PYTHON('pycom', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('pycom', + source='pycom.c', + deps='COM', + realname='samba/com.so', +--- a/source4/lib/messaging/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source4/lib/messaging/wscript_build 2016-01-08 19:50:12.620296796 -0500 +@@ -8,7 +8,8 @@ + private_library=True + ) + +-bld.SAMBA_PYTHON('python_messaging', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('python_messaging', + source='pymessaging.c', + deps='MESSAGING events pyparam_util', + realname='samba/messaging.so' +--- a/source4/lib/policy/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source4/lib/policy/wscript_build 2016-01-08 20:29:35.981473795 -0500 +@@ -1,6 +1,7 @@ + #!/usr/bin/env python + +-bld.SAMBA_LIBRARY('samba-policy', ++if not bld.env.disable_python: ++ bld.SAMBA_LIBRARY('samba-policy', + source='gp_ldap.c gp_filesys.c gp_manage.c gp_ini.c', + pc_files='samba-policy.pc', + public_deps='ldb samba-net', +@@ -9,7 +10,7 @@ + public_headers='policy.h' + ) + +-bld.SAMBA_PYTHON('py_policy', ++ bld.SAMBA_PYTHON('py_policy', + source='pypolicy.c', + public_deps='samba-policy pytalloc-util', + realname='samba/policy.so' +--- a/source4/lib/registry/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source4/lib/registry/wscript_build 2016-01-08 19:50:12.640296714 -0500 +@@ -62,7 +62,8 @@ + ) + + +-bld.SAMBA_PYTHON('py_registry', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('py_registry', + source='pyregistry.c', + public_deps='registry pytalloc-util pyparam_util', + realname='samba/registry.so' +--- a/source4/lib/wmi/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source4/lib/wmi/wscript_build 2016-01-08 19:50:12.650296673 -0500 +@@ -19,7 +19,8 @@ + ) + + +-bld.SAMBA_PYTHON('pywmi', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('pywmi', + source='wmi_wrap.c', + public_deps='LIBCLI_SMB ndr samba-util samba-config WMI' + ) +--- a/source4/libcli/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source4/libcli/wscript_build 2016-01-08 19:50:12.660296631 -0500 +@@ -31,12 +31,13 @@ + public_headers='smb_composite/smb_composite.h', + ) + +-bld.SAMBA_PYTHON('pysmb', +- source='pysmb.c', +- deps='LIBCLI_SMB_COMPOSITE LIBCLI_SMB2 tevent-util pyparam_util', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('pysmb', ++ source='pysmb.c', ++ deps='LIBCLI_SMB_COMPOSITE LIBCLI_SMB2 tevent-util pyparam_util', + public_deps='cli_composite samba-credentials gensec LIBCLI_RESOLVE tevent param_options', +- realname='samba/smb.so' +- ) ++ realname='samba/smb.so' ++ ) + + bld.SAMBA_SUBSYSTEM('LIBCLI_DGRAM', + source='dgram/dgramsocket.c dgram/mailslot.c dgram/netlogon.c dgram/browse.c', +--- a/source4/libnet/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source4/libnet/wscript_build 2016-01-08 20:28:18.921747084 -0500 +@@ -1,6 +1,7 @@ + #!/usr/bin/env python + +-bld.SAMBA_LIBRARY('samba-net', ++if not bld.env.disable_python: ++ bld.SAMBA_LIBRARY('samba-net', + source='libnet.c libnet_passwd.c libnet_time.c libnet_rpc.c libnet_join.c libnet_site.c libnet_become_dc.c libnet_unbecome_dc.c libnet_vampire.c libnet_samdump.c libnet_samsync_ldb.c libnet_user.c libnet_group.c libnet_share.c libnet_lookup.c libnet_domain.c userinfo.c groupinfo.c userman.c groupman.c prereq_domain.c libnet_samsync.c', + autoproto='libnet_proto.h', + public_deps='samba-credentials dcerpc dcerpc-samr RPC_NDR_LSA RPC_NDR_SRVSVC RPC_NDR_DRSUAPI cli_composite LIBCLI_RESOLVE LIBCLI_FINDDCS cli_cldap LIBCLI_FINDDCS gensec_schannel LIBCLI_AUTH ndr smbpasswdparser PROVISION LIBCLI_SAMSYNC LIBTSOCKET', +@@ -8,13 +9,13 @@ + ) + + +-bld.SAMBA_PYTHON('python_net', ++ bld.SAMBA_PYTHON('python_net', + source='py_net.c', + deps='samba-net pyrpc_util', + realname='samba/net.so' + ) + +-bld.SAMBA_PYTHON('python_dckeytab', ++ bld.SAMBA_PYTHON('python_dckeytab', + source='py_net_dckeytab.c libnet_export_keytab.c', + deps='pyrpc_util HDB_SAMBA4 com_err', + realname='samba/dckeytab.so', +--- a/source4/librpc/wscript_build 2014-10-01 05:06:01.000000000 -0400 ++++ b/source4/librpc/wscript_build 2016-01-08 19:50:12.700296467 -0500 +@@ -143,228 +143,228 @@ + vnum='0.0.1' + ) + +-bld.SAMBA_SUBSYSTEM('pyrpc_util', ++if not bld.env.disable_python: ++ bld.SAMBA_SUBSYSTEM('pyrpc_util', + source='rpc/pyrpc_util.c', + public_deps='pytalloc-util pyparam_util dcerpc MESSAGING', + pyext=True, + ) + +- +-bld.SAMBA_PYTHON('python_dcerpc', ++ bld.SAMBA_PYTHON('python_dcerpc', + source='rpc/pyrpc.c', + public_deps='LIBCLI_SMB samba-util samba-hostconfig dcerpc-samr RPC_NDR_LSA DYNCONFIG pyrpc_util gensec', + realname='samba/dcerpc/base.so' + ) + +-bld.SAMBA_PYTHON('python_srvsvc', +- source='../../librpc/gen_ndr/py_srvsvc.c', +- deps='RPC_NDR_SRVSVC pytalloc-util pyrpc_util', +- realname='samba/dcerpc/srvsvc.so' +- ) ++ bld.SAMBA_PYTHON('python_srvsvc', ++ source='../../librpc/gen_ndr/py_srvsvc.c', ++ deps='RPC_NDR_SRVSVC pytalloc-util pyrpc_util', ++ realname='samba/dcerpc/srvsvc.so' ++ ) + +-bld.SAMBA_PYTHON('python_echo', ++ bld.SAMBA_PYTHON('python_echo', + source='../../librpc/gen_ndr/py_echo.c', + deps='RPC_NDR_ECHO pytalloc-util pyrpc_util', + realname='samba/dcerpc/echo.so' + ) + +-bld.SAMBA_PYTHON('python_dns', ++ bld.SAMBA_PYTHON('python_dns', + source='../../librpc/gen_ndr/py_dns.c', + deps='RPC_NDR_DNS pytalloc-util pyrpc_util', + realname='samba/dcerpc/dns.so' + ) + +-bld.SAMBA_PYTHON('python_auth', ++ bld.SAMBA_PYTHON('python_auth', + source='../../librpc/gen_ndr/py_auth.c', + deps='NDR_AUTH pytalloc-util pyrpc_util', + realname='samba/dcerpc/auth.so' + ) + +-bld.SAMBA_PYTHON('python_krb5pac', ++ bld.SAMBA_PYTHON('python_krb5pac', + source='../../librpc/gen_ndr/py_krb5pac.c', + deps='ndr-krb5pac pytalloc-util pyrpc_util', + realname='samba/dcerpc/krb5pac.so' + ) + +-bld.SAMBA_PYTHON('python_winreg', ++ bld.SAMBA_PYTHON('python_winreg', + source='../../librpc/gen_ndr/py_winreg.c', + deps='RPC_NDR_WINREG pytalloc-util pyrpc_util', + realname='samba/dcerpc/winreg.so' + ) + + +-bld.SAMBA_PYTHON('python_dcerpc_misc', ++ bld.SAMBA_PYTHON('python_dcerpc_misc', + source='../../librpc/gen_ndr/py_misc.c', + deps='pytalloc-util pyrpc_util ndr-krb5pac', + realname='samba/dcerpc/misc.so' + ) + + +-bld.SAMBA_PYTHON('python_initshutdown', ++ bld.SAMBA_PYTHON('python_initshutdown', + source='../../librpc/gen_ndr/py_initshutdown.c', + deps='RPC_NDR_INITSHUTDOWN pytalloc-util pyrpc_util', + realname='samba/dcerpc/initshutdown.so' + ) + + +-bld.SAMBA_PYTHON('python_epmapper', ++ bld.SAMBA_PYTHON('python_epmapper', + source='../../librpc/gen_ndr/py_epmapper.c', + deps='dcerpc pytalloc-util pyrpc_util', + realname='samba/dcerpc/epmapper.so' + ) + + +-bld.SAMBA_PYTHON('python_mgmt', ++ bld.SAMBA_PYTHON('python_mgmt', + source='../../librpc/gen_ndr/py_mgmt.c', + deps='pytalloc-util dcerpc pyrpc_util', + realname='samba/dcerpc/mgmt.so' + ) + + +-bld.SAMBA_PYTHON('python_atsvc', ++ bld.SAMBA_PYTHON('python_atsvc', + source='../../librpc/gen_ndr/py_atsvc.c', + deps='dcerpc-atsvc pytalloc-util pyrpc_util', + realname='samba/dcerpc/atsvc.so' + ) + + +-bld.SAMBA_PYTHON('python_dcerpc_nbt', ++ bld.SAMBA_PYTHON('python_dcerpc_nbt', + source='../../librpc/gen_ndr/py_nbt.c', + deps='ndr_nbt RPC_NDR_NBT pytalloc-util pyrpc_util', + realname='samba/dcerpc/nbt.so' + ) + + +-bld.SAMBA_PYTHON('python_samr', ++ bld.SAMBA_PYTHON('python_samr', + source='../../librpc/gen_ndr/py_samr.c', + deps='dcerpc-samr pytalloc-util pyrpc_util', + realname='samba/dcerpc/samr.so' + ) + + +-bld.SAMBA_PYTHON('python_svcctl', ++ bld.SAMBA_PYTHON('python_svcctl', + source='../../librpc/gen_ndr/py_svcctl.c', + deps='RPC_NDR_SVCCTL pytalloc-util pyrpc_util', + realname='samba/dcerpc/svcctl.so' + ) + + +-bld.SAMBA_PYTHON('python_lsa', ++ bld.SAMBA_PYTHON('python_lsa', + source='../../librpc/gen_ndr/py_lsa.c', + deps='RPC_NDR_LSA pytalloc-util pyrpc_util', + realname='samba/dcerpc/lsa.so' + ) + + +-bld.SAMBA_PYTHON('python_wkssvc', ++ bld.SAMBA_PYTHON('python_wkssvc', + source='../../librpc/gen_ndr/py_wkssvc.c', + deps='RPC_NDR_WKSSVC pytalloc-util pyrpc_util', + realname='samba/dcerpc/wkssvc.so' + ) + + +-bld.SAMBA_PYTHON('python_dfs', ++ bld.SAMBA_PYTHON('python_dfs', + source='../../librpc/gen_ndr/py_dfs.c', + deps='RPC_NDR_DFS pytalloc-util pyrpc_util', + realname='samba/dcerpc/dfs.so' + ) + +-bld.SAMBA_PYTHON('python_dcerpc_dcerpc', ++ bld.SAMBA_PYTHON('python_dcerpc_dcerpc', + source='../../librpc/gen_ndr/py_dcerpc.c', + deps='NDR_DCERPC pytalloc-util pyrpc_util', + realname='samba/dcerpc/dcerpc.so' + ) + +-bld.SAMBA_PYTHON('python_unixinfo', ++ bld.SAMBA_PYTHON('python_unixinfo', + source='../../librpc/gen_ndr/py_unixinfo.c', + deps='RPC_NDR_UNIXINFO pytalloc-util pyrpc_util', + realname='samba/dcerpc/unixinfo.so' + ) + + +-bld.SAMBA_PYTHON('python_irpc', ++ bld.SAMBA_PYTHON('python_irpc', + source='gen_ndr/py_irpc.c', + deps='RPC_NDR_IRPC pytalloc-util pyrpc_util', + realname='samba/dcerpc/irpc.so' + ) + +-bld.SAMBA_PYTHON('python_server_id', ++ bld.SAMBA_PYTHON('python_server_id', + source='../../librpc/gen_ndr/py_server_id.c', + deps='RPC_NDR_SERVER_ID pytalloc-util pyrpc_util', + realname='samba/dcerpc/server_id.so' + ) + +-bld.SAMBA_PYTHON('python_winbind', ++ bld.SAMBA_PYTHON('python_winbind', + source='../../librpc/gen_ndr/py_winbind.c', + deps='RPC_NDR_WINBIND pytalloc-util pyrpc_util python_netlogon', + realname='samba/dcerpc/winbind.so' + ) + +-bld.SAMBA_PYTHON('python_idmap', ++ bld.SAMBA_PYTHON('python_idmap', + source='../../librpc/gen_ndr/py_idmap.c', + deps='NDR_IDMAP pytalloc-util pyrpc_util', + realname='samba/dcerpc/idmap.so' + ) + + +-bld.SAMBA_PYTHON('python_drsuapi', ++ bld.SAMBA_PYTHON('python_drsuapi', + source='../../librpc/gen_ndr/py_drsuapi.c', + deps='RPC_NDR_DRSUAPI pytalloc-util pyrpc_util', + realname='samba/dcerpc/drsuapi.so' + ) + +-bld.SAMBA_PYTHON('python_dcerpc_security', ++ bld.SAMBA_PYTHON('python_dcerpc_security', + source='../../librpc/gen_ndr/py_security.c', + deps='pytalloc-util pyrpc_util NDR_SECURITY', + realname='samba/dcerpc/security.so' + ) + +-bld.SAMBA_PYTHON('python_dcerpc_drsblobs', ++ bld.SAMBA_PYTHON('python_dcerpc_drsblobs', + source='../../librpc/gen_ndr/py_drsblobs.c', + deps='pytalloc-util pyrpc_util NDR_SECURITY RPC_NDR_DRSBLOBS', + realname='samba/dcerpc/drsblobs.so' + ) + +-bld.SAMBA_PYTHON('python_dcerpc_dnsp', ++ bld.SAMBA_PYTHON('python_dcerpc_dnsp', + source='../../librpc/gen_ndr/py_dnsp.c', + deps='pytalloc-util pyrpc_util NDR_SECURITY RPC_NDR_DNSP', + realname='samba/dcerpc/dnsp.so' + ) + + +-bld.SAMBA_PYTHON('python_dcerpc_xattr', ++ bld.SAMBA_PYTHON('python_dcerpc_xattr', + source='../../librpc/gen_ndr/py_xattr.c', + deps='pytalloc-util pyrpc_util RPC_NDR_XATTR', + realname='samba/dcerpc/xattr.so' + ) + +-bld.SAMBA_PYTHON('python_dcerpc_idmap', ++ bld.SAMBA_PYTHON('python_dcerpc_idmap', + source='../../librpc/gen_ndr/py_idmap.c', + deps='pytalloc-util pyrpc_util RPC_NDR_XATTR', + realname='samba/dcerpc/idmap.so' + ) + +-bld.SAMBA_PYTHON('python_netlogon', ++ bld.SAMBA_PYTHON('python_netlogon', + source='../../librpc/gen_ndr/py_netlogon.c', + deps='RPC_NDR_NETLOGON pytalloc-util pyrpc_util', + realname='samba/dcerpc/netlogon.so' + ) + +-bld.SAMBA_PYTHON('python_dnsserver', ++ bld.SAMBA_PYTHON('python_dnsserver', + source='../../librpc/gen_ndr/py_dnsserver.c', + deps='RPC_NDR_DNSSERVER pytalloc-util pyrpc_util', + realname='samba/dcerpc/dnsserver.so' + ) + +-bld.SAMBA_PYTHON('python_dcerpc_smb_acl', ++ bld.SAMBA_PYTHON('python_dcerpc_smb_acl', + source='../../librpc/gen_ndr/py_smb_acl.c', + deps='pytalloc-util pyrpc_util', + realname='samba/dcerpc/smb_acl.so' + ) + +-bld.SAMBA_SCRIPT('python_dcerpc_init', ++ bld.SAMBA_SCRIPT('python_dcerpc_init', + pattern='rpc/dcerpc.py', + installdir='python/samba/dcerpc', + installname='__init__.py') + +-bld.INSTALL_FILES('${PYTHONARCHDIR}/samba/dcerpc', 'rpc/dcerpc.py', destname='__init__.py') ++ bld.INSTALL_FILES('${PYTHONARCHDIR}/samba/dcerpc', 'rpc/dcerpc.py', destname='__init__.py') +--- a/source4/ntvfs/posix/wscript_build 2014-10-01 05:06:01.000000000 -0400 ++++ b/source4/ntvfs/posix/wscript_build 2016-01-08 19:50:12.730296343 -0500 +@@ -30,7 +30,8 @@ + ) + + +-bld.SAMBA_MODULE('ntvfs_posix', ++if not bld.env.disable_python: ++ bld.SAMBA_MODULE('ntvfs_posix', + source='vfs_posix.c pvfs_util.c pvfs_search.c pvfs_dirlist.c pvfs_fileinfo.c pvfs_unlink.c pvfs_mkdir.c pvfs_open.c pvfs_read.c pvfs_flush.c pvfs_write.c pvfs_fsinfo.c pvfs_qfileinfo.c pvfs_setfileinfo.c pvfs_rename.c pvfs_resolve.c pvfs_shortname.c pvfs_lock.c pvfs_oplock.c pvfs_wait.c pvfs_seek.c pvfs_ioctl.c pvfs_xattr.c pvfs_streams.c pvfs_notify.c pvfs_sys.c xattr_system.c', + autoproto='vfs_posix_proto.h', + subsystem='ntvfs', +@@ -40,7 +41,7 @@ + ) + + +-bld.SAMBA_PYTHON('python_xattr_native', ++ bld.SAMBA_PYTHON('python_xattr_native', + source='python/pyxattr_native.c', + deps='ndr ldb samdb samba-credentials pyparam_util attr', + realname='samba/xattr_native.so' +@@ -52,13 +53,14 @@ + autoproto='posix_eadb_proto.h', + private_library=True) + +-bld.SAMBA_PYTHON('python_posix_eadb', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('python_posix_eadb', + source='python/pyposix_eadb.c', + deps='pyparam_util posix_eadb tdb_compat', + realname='samba/posix_eadb.so' + ) + +-bld.SAMBA_PYTHON('python_xattr_tdb', ++ bld.SAMBA_PYTHON('python_xattr_tdb', + source='python/pyxattr_tdb.c', + deps='pyparam_util xattr_tdb', + realname='samba/xattr_tdb.so' +--- a/source4/param/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/source4/param/wscript_build 2016-01-08 19:50:12.750296261 -0500 +@@ -1,6 +1,7 @@ + #!/usr/bin/env python + +-bld.SAMBA_SUBSYSTEM('PROVISION', ++if not bld.env.disable_python: ++ bld.SAMBA_SUBSYSTEM('PROVISION', + source='provision.c pyparam.c', + deps='LIBPYTHON pyparam_util ldb pytalloc-util pyldb-util', + pyext=True, +@@ -36,7 +37,8 @@ + ) + + +-bld.SAMBA_PYTHON('pyparam', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('pyparam', + source='pyparam.c', + deps='samba-hostconfig pytalloc-util', + realname='samba/param.so' +@@ -47,7 +49,8 @@ + deps='samba-hostconfig') + + +-bld.SAMBA_SUBSYSTEM('pyparam_util', ++if not bld.env.disable_python: ++ bld.SAMBA_SUBSYSTEM('pyparam_util', + source='pyparam_util.c', + deps='LIBPYTHON samba-hostconfig', + pyext=True, +--- a/source4/winbind/wscript_build 2014-10-01 04:12:22.000000000 -0400 ++++ b/source4/winbind/wscript_build 2016-01-08 20:31:17.741112909 -0500 +@@ -1,7 +1,7 @@ + #!/usr/bin/env python + +- +-bld.SAMBA_MODULE('service_winbind', ++if not bld.env.disable_python: ++ bld.SAMBA_MODULE('service_winbind', + source='wb_server.c wb_irpc.c wb_samba3_protocol.c wb_samba3_cmd.c wb_init_domain.c wb_dom_info.c wb_dom_info_trusted.c wb_sid2domain.c wb_name2domain.c wb_sids2xids.c wb_xids2sids.c wb_gid2sid.c wb_sid2uid.c wb_sid2gid.c wb_uid2sid.c wb_connect_lsa.c wb_connect_sam.c wb_cmd_lookupname.c wb_cmd_lookupsid.c wb_cmd_getdcname.c wb_cmd_getgrnam.c wb_cmd_getgrgid.c wb_cmd_getpwnam.c wb_cmd_getpwuid.c wb_cmd_userdomgroups.c wb_cmd_usersids.c wb_cmd_list_groups.c wb_cmd_list_trustdom.c wb_cmd_list_users.c wb_cmd_setpwent.c wb_cmd_getpwent.c wb_cmd_getgrent.c wb_cmd_setgrent.c wb_cmd_getgroups.c wb_pam_auth.c wb_sam_logon.c wb_update_rodc_dns.c', + autoproto='wb_proto.h', + subsystem='service', +--- a/wscript 2015-10-27 04:11:29.000000000 -0400 ++++ b/wscript 2016-01-08 19:50:12.510297249 -0500 +@@ -75,10 +75,15 @@ + opt.tool_options('python') # options for disabling pyc or pyo compilation + # enable options related to building python extensions + ++ opt.add_option('--disable-python', ++ help=("do not generate python modules"), ++ action="store_true", dest='disable_python', default=False) + + def configure(conf): + version = samba_version.load_version(env=conf.env) + ++ conf.env.disable_python = getattr(Options.options, 'disable_python', False) ++ + conf.DEFINE('CONFIG_H_IS_FROM_SAMBA', 1) + conf.DEFINE('_SAMBA_BUILD_', version.MAJOR, add_to_cflags=True) + conf.DEFINE('HAVE_CONFIG_H', 1, add_to_cflags=True) +@@ -96,7 +101,10 @@ + conf.find_program('xsltproc', var='XSLTPROC') + + conf.SAMBA_CHECK_PYTHON(mandatory=True, version=(2,5,0)) +- conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=True) ++ if conf.env.disable_python: ++ conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=False) ++ else: ++ conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=True) + + if sys.platform == 'darwin' and not conf.env['HAVE_ENVIRON_DECL']: + # Mac OSX needs to have this and it's also needed that the python is compiled with this +--- a/wscript_build 2014-12-20 10:27:51.000000000 -0500 ++++ b/wscript_build 2016-01-08 19:50:12.510297249 -0500 +@@ -48,7 +48,8 @@ + bld.RECURSE('lib/param') + bld.RECURSE('dynconfig') + bld.RECURSE('lib/util/charset') +-bld.RECURSE('python') ++if not bld.env.disable_python: ++ bld.RECURSE('python') + bld.RECURSE('source4/param') + bld.RECURSE('source4/librpc') + bld.RECURSE('source4/dsdb') +@@ -99,7 +100,8 @@ + bld.RECURSE('source4/utils') + bld.RECURSE('source4/ntvfs') + bld.RECURSE('source4/ntptr') +-bld.RECURSE('source4/torture') ++if not bld.env.disable_python: ++ bld.RECURSE('source4/torture') + bld.RECURSE('librpc') + bld.RECURSE('source4') + bld.RECURSE('source4/libcli') +--- a/lib/ldb-samba/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/lib/ldb-samba/wscript_build 2016-01-08 20:43:53.538486348 -0500 +@@ -19,7 +19,8 @@ + ) + + +-bld.SAMBA_PYTHON('python_samba__ldb', 'pyldb.c', ++if not bld.env.disable_python: ++ bld.SAMBA_PYTHON('python_samba__ldb', 'pyldb.c', + deps='ldbsamba pyparam_util ldbwrap pyldb-util', + realname='samba/_ldb.so') + +--- a/libcli/echo/tests/wscript_build 2014-10-01 04:12:21.000000000 -0400 ++++ b/libcli/echo/tests/wscript_build 2016-01-08 21:06:36.644107638 -0500 +@@ -1,6 +1,7 @@ + #!/usr/bin/env python + +-bld.SAMBA_MODULE('TORTURE_LIBCLI_ECHO', ++if not bld.env.disable_python: ++ bld.SAMBA_MODULE('TORTURE_LIBCLI_ECHO', + source='echo.c', + subsystem='smbtorture', + init_function='torture_libcli_echo_init', |