From 3e488255074da8dd3284bd9c8255fd1eff5133a9 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 11 Sep 2020 10:40:59 +1200 Subject: [PATCH] build: Remove Python2 support from the build BUG: https://bugzilla.samba.org/show_bug.cgi?id=14488 Signed-off-by: Andrew Bartlett Reviewed-by: Douglas Bagnall --- .gitlab-ci.yml | 4 ---- WHATSNEW.txt | 11 +++++++++ buildtools/wafsamba/samba_python.py | 3 --- script/autobuild.py | 35 ----------------------------- 4 files changed, 11 insertions(+), 42 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6c2e0cabe9a..20fd9f56a50 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -136,9 +136,6 @@ samba-mitkrb5: samba-minimal-smbd: extends: .shared_template -samba-nopython-py2: - extends: .shared_template - samba-admem: extends: .shared_template @@ -225,7 +222,6 @@ pages: - others - samba - samba-mitkrb5 - - samba-nopython-py2 - samba-admem - samba-ad-dc-2 - samba-ad-dc-3 diff --git a/WHATSNEW.txt b/WHATSNEW.txt index 3927c0645f1..983dc4761fc 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -55,6 +55,17 @@ CTDB CHANGES scripts and can be checked by users with "ctdb pnn" and "ctdb recmaster". +Python 3.6 or later required +---------------------------- + +Samba's minimum runtime requirement for python was raised to Python +3.6 with samba 4.13. Samba 4.14 raises this minimum version to Python +3.6 also to build Samba. It is no longer possible to build Samba +(even just the file server) with Python versions 2.6 and 2.7. + +As Python 2.7 has been End Of Life upstream since April 2020, Samba +is dropping ALL Python 2.x support in this release. + NT4-like 'classic' Samba domain controllers ------------------------------------------- diff --git a/buildtools/wafsamba/samba_python.py b/buildtools/wafsamba/samba_python.py index d71ce47a831..5703954a4de 100644 --- a/buildtools/wafsamba/samba_python.py +++ b/buildtools/wafsamba/samba_python.py @@ -7,9 +7,6 @@ from waflib.Configure import conf @conf def SAMBA_CHECK_PYTHON(conf, version=(3,6,0)): - if conf.env.disable_python: - version=(2,6,0) - if conf.env.enable_fuzzing: version=(3,5,0) diff --git a/script/autobuild.py b/script/autobuild.py index 926cf379a54..89699826e62 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -711,42 +711,7 @@ tasks = { ("libs-install", "make install"), ("libs-check-clean-tree", "script/clean-source-tree.sh"), ("libs-clean", "make clean"), - ], - # check we can do the same thing using python2 - "samba-nopython-py2": [ - ("random-sleep", random_sleep(300, 900)), - ("configure", "PYTHON=python2 ./configure.developer ${ENABLE_COVERAGE} ${PREFIX} --with-profiling-data --disable-python --without-ad-dc"), - ("make", "PYTHON=python2 make -j"), - ("install", "PYTHON=python2 make install"), - ("find-python", "script/find_python.sh ${PREFIX}"), - ("test", "make test-nopython"), - ("lcov", LCOV_CMD), - ("check-clean-tree", "script/clean-source-tree.sh"), - ("clean", "PYTHON=python2 make clean"), - - ("talloc-configure", "cd lib/talloc && PYTHON=python2 " + samba_libs_configure_base + " --bundled-libraries=cmocka,NONE --disable-python"), - ("talloc-make", "cd lib/talloc && PYTHON=python2 make"), - ("talloc-install", "cd lib/talloc && PYTHON=python2 make install"), - - ("tdb-configure", "cd lib/tdb && PYTHON=python2 " + samba_libs_configure_base + " --bundled-libraries=cmocka,NONE --disable-python"), - ("tdb-make", "cd lib/tdb && PYTHON=python2 make"), - ("tdb-install", "cd lib/tdb && PYTHON=python2 make install"), - - ("tevent-configure", "cd lib/tevent && PYTHON=python2 " + samba_libs_configure_base + " --bundled-libraries=cmocka,NONE --disable-python"), - ("tevent-make", "cd lib/tevent && PYTHON=python2 make"), - ("tevent-install", "cd lib/tevent && PYTHON=python2 make install"), - - ("ldb-configure", "cd lib/ldb && PYTHON=python2 " + samba_libs_configure_base + " --bundled-libraries=cmocka,NONE --disable-python"), - ("ldb-make", "cd lib/ldb && PYTHON=python2 make"), - ("ldb-install", "cd lib/ldb && PYTHON=python2 make install"), - - # retry against installed library packages - ("libs-configure", "PYTHON=python2 " + samba_libs_configure_base + samba_libs_configure_bundled_libs + " --disable-python --without-ad-dc"), - ("libs-make", "PYTHON=python2 make -j"), - ("libs-install", "PYTHON=python2 make install"), - ("libs-check-clean-tree", "script/clean-source-tree.sh"), - ("libs-clean", "PYTHON=python2 make clean"), ], "ldb": [