1
0
mirror of https://github.com/samba-team/samba.git synced 2025-07-30 19:42:05 +03:00

waf: build: Respect --disable-python for third_party modules

Skips installation of samba/third_party stuff into the python directory if
--disable-python is set.

Added test after install that confirms no python modules installed.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13905

Signed-off-by: Lutz Justen <ljusten@google.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Wed Apr 24 07:32:31 UTC 2019 on sn-devel-184
This commit is contained in:
Lutz Justen
2019-04-22 10:22:16 -07:00
committed by Andrew Bartlett
parent 3020050bdf
commit 92f30f91e4
3 changed files with 26 additions and 13 deletions

View File

@ -405,6 +405,7 @@ tasks = {
("configure", "./configure.developer --picky-developer ${PREFIX} --with-profiling-data --disable-python --without-ad-dc", "text/plain"),
("make", "make -j", "text/plain"),
("install", "make install", "text/plain"),
("find-python", "script/find_python.sh ${PREFIX}", "text/plain"),
("test", "make test-nopython", "text/plain"),
("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
("clean", "make clean", "text/plain"),
@ -439,6 +440,7 @@ tasks = {
("configure", "PYTHON=python2 ./configure.developer --picky-developer ${PREFIX} --with-profiling-data --disable-python --without-ad-dc", "text/plain"),
("make", "PYTHON=python2 make -j", "text/plain"),
("install", "PYTHON=python2 make install", "text/plain"),
("find-python", "script/find_python.sh ${PREFIX}", "text/plain"),
("test", "make test-nopython", "text/plain"),
("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
("clean", "PYTHON=python2 make clean", "text/plain"),

9
script/find_python.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh
if [ $# -lt 1 ]; then
echo "$0: <installdir>"
exit 1;
fi
installdir=$1
exit `find ${installdir} -name \*.py | wc -l`

28
third_party/wscript vendored
View File

@ -60,23 +60,25 @@ def configure(conf):
def build(bld):
list = []
if not bld.env.disable_python:
list = []
for module, package in external_pkgs.items():
try:
__import__(module)
except ImportError:
list.append(package)
for module, package in external_pkgs.items():
try:
__import__(module)
except ImportError:
list.append(package)
for e in list:
bld.INSTALL_WILDCARD('${PYTHONARCHDIR}/samba/third_party', e + '/**/*', flat=False,
exclude='*.pyc', trim_path=os.path.dirname(e))
for e in list:
bld.INSTALL_WILDCARD('${PYTHONARCHDIR}/samba/third_party', e + '/**/*', flat=False,
exclude='*.pyc', trim_path=os.path.dirname(e))
bld.SAMBA_GENERATOR('third_party_init_py',
rule='touch ${TGT}',
target='empty_file')
bld.SAMBA_GENERATOR('third_party_init_py',
rule='touch ${TGT}',
target='empty_file')
bld.INSTALL_FILES('${PYTHONARCHDIR}/samba/third_party', 'empty_file', destname='__init__.py')
bld.INSTALL_FILES('${PYTHONARCHDIR}/samba/third_party', 'empty_file', destname='__init__.py')
bld.RECURSE('cmocka')
bld.RECURSE('zlib')
bld.RECURSE('popt')