From: Lutz Justen Date: Mon, 22 Apr 2019 17:22:16 +0000 (-0700) Subject: waf: build: Respect --disable-python for third_party modules X-Git-Tag: tdb-1.4.1~320 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92f30f91e44dba7e85d56279bbbe3662d0b5faeb;p=thirdparty%2Fsamba.git 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 Reviewed-by: Jeremy Allison Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Wed Apr 24 07:32:31 UTC 2019 on sn-devel-184 --- diff --git a/script/autobuild.py b/script/autobuild.py index e1aea054e1f..2b27427c949 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -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"), diff --git a/script/find_python.sh b/script/find_python.sh new file mode 100755 index 00000000000..e9afdbda999 --- /dev/null +++ b/script/find_python.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ $# -lt 1 ]; then + echo "$0: " + exit 1; +fi + +installdir=$1 +exit `find ${installdir} -name \*.py | wc -l` diff --git a/third_party/wscript b/third_party/wscript index ecd1975d7b8..286e1015e70 100644 --- a/third_party/wscript +++ b/third_party/wscript @@ -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')