build: Remove Python2 support from the build
authorAndrew Bartlett <abartlet@samba.org>
Thu, 10 Sep 2020 22:40:59 +0000 (10:40 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Thu, 1 Oct 2020 01:18:38 +0000 (01:18 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14488

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
.gitlab-ci.yml
WHATSNEW.txt
buildtools/wafsamba/samba_python.py
script/autobuild.py

index 6c2e0cabe9acb9015bb54b00e93782714f182699..20fd9f56a502c356f94982e6bec1efa4afbf3640 100644 (file)
@@ -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
index 3927c0645f161440305a79030882ea497c4e9dca..983dc4761fce49522edaed930bce8a7c8b4b0d9d 100644 (file)
@@ -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
 -------------------------------------------
index d71ce47a8310d2a47c4d873eba4544d45d09c4d1..5703954a4debbaaeee91e7bbc2d910e1592b0899 100644 (file)
@@ -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)
 
index 926cf379a5444f310bfe7f1ca8d3fa4061fe2a72..89699826e627b0feda505d2e76aecd9a91e755a3 100755 (executable)
@@ -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": [