python3: Update to version 3.6.0
Message ID | 20170113123500.2602-1-stefan.schantl@ipfire.org |
---|---|
State | Accepted |
Headers |
Return-Path: <development-bounces@lists.ipfire.org> Received: from mail01.ipfire.org (unknown [172.28.1.200]) by web02.ipfire.org (Postfix) with ESMTP id 2E1AA62094 for <patchwork@ipfire.org>; Fri, 13 Jan 2017 13:34:17 +0100 (CET) Received: from mail01.ipfire.org (localhost [IPv6:::1]) by mail01.ipfire.org (Postfix) with ESMTP id 9126A933; Fri, 13 Jan 2017 13:34:16 +0100 (CET) Received: from tuxedo.stevee (212095007236.public.telering.at [212.95.7.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 6EC9492E; Fri, 13 Jan 2017 13:34:14 +0100 (CET) From: Stefan Schantl <stefan.schantl@ipfire.org> To: development@lists.ipfire.org Subject: [PATCH] python3: Update to version 3.6.0 Date: Fri, 13 Jan 2017 13:35:00 +0100 Message-Id: <20170113123500.2602-1-stefan.schantl@ipfire.org> X-Mailer: git-send-email 2.9.3 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: IPFire development talk <development.lists.ipfire.org> List-Unsubscribe: <http://lists.ipfire.org/mailman/options/development>, <mailto:development-request@lists.ipfire.org?subject=unsubscribe> List-Archive: <http://lists.ipfire.org/pipermail/development/> List-Post: <mailto:development@lists.ipfire.org> List-Help: <mailto:development-request@lists.ipfire.org?subject=help> List-Subscribe: <http://lists.ipfire.org/mailman/listinfo/development>, <mailto:development-request@lists.ipfire.org?subject=subscribe> Errors-To: development-bounces@lists.ipfire.org Sender: "Development" <development-bounces@lists.ipfire.org> |
Message
Stefan Schantl
Jan. 13, 2017, 11:35 p.m. UTC
This is a major update to the latest stable version of the
Python 3 series.
Fixes #11086.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
---
...-3.4.3-lib64.patch => python-3.6.0-lib64.patch} | 118 ++++++++++-----------
python3/python3.nm | 40 +++----
2 files changed, 77 insertions(+), 81 deletions(-)
rename python3/{python-3.4.3-lib64.patch => python-3.6.0-lib64.patch} (67%)
Comments
Hello, this will be a difficult one to merge since various modules depend on this and need to be rebuilt. At the moment nothing required for the buildsystem is depending on Python 3 AFAIK which makes it rather easy to build this version. However, when Pakfire is ported to Python 3, this will be a huge problem. Any thoughts how we could come up with a good transition method? -Michael On Fri, 2017-01-13 at 13:35 +0100, Stefan Schantl wrote: > This is a major update to the latest stable version of the > Python 3 series. > > Fixes #11086. > > Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org> > --- > ...-3.4.3-lib64.patch => python-3.6.0-lib64.patch} | 118 ++++++++++-------- > --- > python3/python3.nm | 40 +++---- > 2 files changed, 77 insertions(+), 81 deletions(-) > rename python3/{python-3.4.3-lib64.patch => python-3.6.0-lib64.patch} (67%) > > diff --git a/python3/python-3.4.3-lib64.patch b/python3/python-3.6.0- > lib64.patch > similarity index 67% > rename from python3/python-3.4.3-lib64.patch > rename to python3/python-3.6.0-lib64.patch > index db5fd95..8e9ae4e 100644 > --- a/python3/python-3.4.3-lib64.patch > +++ b/python3/python-3.6.0-lib64.patch > @@ -1,6 +1,8 @@ > ---- Python-3.4.0b1/Lib/distutils/command/install.py.lib64 2013-11-24 > 21:36:54.000000000 +0100 > -+++ Python-3.4.0b1/Lib/distutils/command/install.py 2013-11-27 > 11:10:43.821150774 +0100 > -@@ -45,14 +45,14 @@ else: > +diff --git a/Lib/distutils/command/install.py > b/Lib/distutils/command/install.py > +index 9474e9c..c0ce4c6 100644 > +--- a/Lib/distutils/command/install.py > ++++ b/Lib/distutils/command/install.py > +@@ -30,14 +30,14 @@ WINDOWS_SCHEME = { > INSTALL_SCHEMES = { > 'unix_prefix': { > 'purelib': '$base/lib/python$py_version_short/site-packages', > @@ -17,9 +19,11 @@ > 'headers': '$base/include/python/$dist_name', > 'scripts': '$base/bin', > 'data' : '$base', > ---- Python-3.4.0b1/Lib/distutils/sysconfig.py.lib64 2013-11-24 > 21:36:54.000000000 +0100 > -+++ Python-3.4.0b1/Lib/distutils/sysconfig.py 2013-11-27 > 11:10:43.821150774 +0100 > -@@ -141,8 +141,12 @@ > +diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py > +index 026cca7..6d3e077 100644 > +--- a/Lib/distutils/sysconfig.py > ++++ b/Lib/distutils/sysconfig.py > +@@ -132,8 +132,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, > prefix=None): > prefix = plat_specific and EXEC_PREFIX or PREFIX > > if os.name == "posix": > @@ -33,9 +37,11 @@ > if standard_lib: > return libpython > else: > ---- Python-3.4.0b1/Lib/site.py.lib64 2013-11-24 21:36:54.000000000 > +0100 > -+++ Python-3.4.0b1/Lib/site.py 2013-11-27 11:10:43.822150773 +0100 > -@@ -304,12 +304,16 @@ > +diff --git a/Lib/site.py b/Lib/site.py > +index a84e3bb..ba0d3ea 100644 > +--- a/Lib/site.py > ++++ b/Lib/site.py > +@@ -303,11 +303,15 @@ def getsitepackages(prefixes=None): > seen.add(prefix) > > if os.sep == '/': > @@ -43,18 +49,19 @@ > + "python" + sys.version[:3], > + "site-packages")) > sitepackages.append(os.path.join(prefix, "lib", > - "python" + sys.version[:3], > + "python%d.%d" % > sys.version_info[:2], > "site-packages")) > - sitepackages.append(os.path.join(prefix, "lib", "site-python")) > else: > sitepackages.append(prefix) > + sitepackages.append(os.path.join(prefix, "lib64", "site- > packages")) > sitepackages.append(os.path.join(prefix, "lib", "site- > packages")) > if sys.platform == "darwin": > # for framework builds *only* we add the standard Apple > ---- Python-3.4.0b1/Lib/sysconfig.py.lib64 2013-11-24 > 21:36:54.000000000 +0100 > -+++ Python-3.4.0b1/Lib/sysconfig.py 2013-11-27 11:10:43.822150773 > +0100 > -@@ -20,10 +20,10 @@ > +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py > +index b9bbfe5..2a5f29c 100644 > +--- a/Lib/sysconfig.py > ++++ b/Lib/sysconfig.py > +@@ -20,10 +20,10 @@ __all__ = [ > > _INSTALL_SCHEMES = { > 'posix_prefix': { > @@ -68,7 +75,7 @@ > 'include': > '{installed_base}/include/python{py_version_short}{abiflags}', > 'platinclude': > -@@ -61,10 +61,10 @@ > +@@ -61,10 +61,10 @@ _INSTALL_SCHEMES = { > 'data': '{userbase}', > }, > 'posix_user': { > @@ -82,30 +89,26 @@ > 'include': '{userbase}/include/python{py_version_short}', > 'scripts': '{userbase}/bin', > 'data': '{userbase}', > ---- Python-3.4.0b1/Lib/test/test_site.py.lib64 2013-11-24 > 21:36:55.000000000 +0100 > -+++ Python-3.4.0b1/Lib/test/test_site.py 2013-11-27 11:10:43.822150773 > +0100 > -@@ -244,12 +244,15 @@ > - self.assertEqual(dirs[2], wanted) > +diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py > +index f698927..bc977b5 100644 > +--- a/Lib/test/test_site.py > ++++ b/Lib/test/test_site.py > +@@ -248,8 +248,8 @@ class HelperFunctionsTests(unittest.TestCase): > + self.assertEqual(dirs[1], wanted) > elif os.sep == '/': > # OS X non-framwework builds, Linux, FreeBSD, etc > -- self.assertEqual(len(dirs), 2) > -- wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], > -+ self.assertEqual(len(dirs), 3) > -+ wanted = os.path.join('xoxo', 'lib64', 'python' + > sys.version[:3], > +- self.assertEqual(len(dirs), 1) > +- wanted = os.path.join('xoxo', 'lib', > ++ self.assertEqual(len(dirs), 2) > ++ wanted = os.path.join('xoxo', 'lib64', > + 'python%d.%d' % sys.version_info[:2], > 'site-packages') > self.assertEqual(dirs[0], wanted) > -- wanted = os.path.join('xoxo', 'lib', 'site-python') > -+ wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], > -+ 'site-packages') > - self.assertEqual(dirs[1], wanted) > -+ wanted = os.path.join('xoxo', 'lib', 'site-python') > -+ self.assertEqual(dirs[2], wanted) > - else: > - # other platforms > - self.assertEqual(len(dirs), 2) > ---- Python-3.4.0b1/Makefile.pre.in.lib64 2013-11-27 11:10:43.814150786 > +0100 > -+++ Python-3.4.0b1/Makefile.pre.in 2013-11-27 11:10:43.823150771 +0100 > -@@ -115,7 +115,7 @@ > +diff --git a/Makefile.pre.in b/Makefile.pre.in > +index 8fa7934..a693917 100644 > +--- a/Makefile.pre.in > ++++ b/Makefile.pre.in > +@@ -126,7 +126,7 @@ LIBDIR= @libdir@ > MANDIR= @mandir@ > INCLUDEDIR= @includedir@ > CONFINCLUDEDIR= $(exec_prefix)/include > @@ -114,29 +117,20 @@ > ABIFLAGS= @ABIFLAGS@ > > # Detailed destination directories > ---- Python-3.4.0b1/Modules/getpath.c.lib64 2013-11-24 > 21:36:56.000000000 +0100 > -+++ Python-3.4.0b1/Modules/getpath.c 2013-11-27 11:17:33.619449704 > +0100 > -@@ -122,8 +122,8 @@ > - #endif > - > - #ifndef PYTHONPATH > --#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ > -- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" > -+#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \ > -+ EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload" > - #endif > - > - #ifndef LANDMARK > -@@ -498,7 +498,7 @@ > - _pythonpath = _Py_char2wchar(PYTHONPATH, NULL); > - _prefix = _Py_char2wchar(PREFIX, NULL); > - _exec_prefix = _Py_char2wchar(EXEC_PREFIX, NULL); > -- lib_python = _Py_char2wchar("lib/python" VERSION, NULL); > -+ lib_python = _Py_char2wchar("lib64/python" VERSION, NULL); > +diff --git a/Modules/getpath.c b/Modules/getpath.c > +index 65b47a3..eaa756c 100644 > +--- a/Modules/getpath.c > ++++ b/Modules/getpath.c > +@@ -494,7 +494,7 @@ calculate_path(void) > + _pythonpath = Py_DecodeLocale(PYTHONPATH, NULL); > + _prefix = Py_DecodeLocale(PREFIX, NULL); > + _exec_prefix = Py_DecodeLocale(EXEC_PREFIX, NULL); > +- lib_python = Py_DecodeLocale("lib/python" VERSION, NULL); > ++ lib_python = Py_DecodeLocale("lib64/python" VERSION, NULL); > > if (!_pythonpath || !_prefix || !_exec_prefix || !lib_python) { > Py_FatalError( > -@@ -687,7 +687,7 @@ > +@@ -683,7 +683,7 @@ calculate_path(void) > } > else > wcsncpy(zip_path, _prefix, MAXPATHLEN); > @@ -145,7 +139,7 @@ > bufsz = wcslen(zip_path); /* Replace "00" with version */ > zip_path[bufsz - 6] = VERSION[0]; > zip_path[bufsz - 5] = VERSION[2]; > -@@ -699,7 +699,7 @@ > +@@ -695,7 +695,7 @@ calculate_path(void) > fprintf(stderr, > "Could not find platform dependent libraries > <exec_prefix>\n"); > wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); > @@ -154,9 +148,11 @@ > } > /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ > > ---- Python-3.4.0b1/setup.py.lib64 2013-11-24 21:36:56.000000000 +0100 > -+++ Python-3.4.0b1/setup.py 2013-11-27 11:10:43.824150769 +0100 > -@@ -441,7 +441,7 @@ > +diff --git a/setup.py b/setup.py > +index 0f2dfc4..da37896 100644 > +--- a/setup.py > ++++ b/setup.py > +@@ -492,7 +492,7 @@ class PyBuildExt(build_ext): > # directories (i.e. '.' and 'Include') must be first. See issue > # 10520. > if not cross_compiling: > @@ -165,7 +161,7 @@ > add_dir_to_list(self.compiler.include_dirs, > '/usr/local/include') > # only change this for cross builds for 3.3, issues on Mageia > if cross_compiling: > -@@ -718,11 +718,11 @@ > +@@ -780,11 +780,11 @@ class PyBuildExt(build_ext): > elif curses_library: > readline_libs.append(curses_library) > elif self.compiler.find_library_file(lib_dirs + > @@ -179,7 +175,7 @@ > extra_link_args=readline_extra_link_args, > libraries=readline_libs) ) > else: > -@@ -759,8 +759,8 @@ > +@@ -821,8 +821,8 @@ class PyBuildExt(build_ext): > if krb5_h: > ssl_incs += krb5_h > ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, > diff --git a/python3/python3.nm b/python3/python3.nm > index 26343d5..cc26941 100644 > --- a/python3/python3.nm > +++ b/python3/python3.nm > @@ -4,9 +4,9 @@ > ############################################################################# > ## > > name = python3 > -major_ver = 3.4 > -version = %{major_ver}.3 > -release = 2 > +major_ver = 3.6 > +version = %{major_ver}.0 > +release = 1 > thisapp = Python-%{version} > > groups = Development/Languages > @@ -63,7 +63,7 @@ build > > prepare_cmds > if [ "%{lib}" = "lib64" ]; then > - patch -Np1 -i %{DIR_SOURCE}/python-3.4.3-lib64.patch > + patch -Np1 -i %{DIR_SOURCE}/python-3.6.0-lib64.patch > fi > > # Remove embedded copies of expat and libffi > @@ -86,24 +86,24 @@ build > --enable-shared \ > --without-ensurepip > > - #test > - # LD_LIBRARY_PATH=$(pwd) $(pwd)/python \ > - # -m test.regrtest \ > - # --verbose \ > - # --findleaks \ > - # -x test_distutils \ > - # -x test_faulthandler \ > - # -x test_gdb \ > - # -x test_email \ > - # -x test_subprocess \ > - # -x test_float \ > - # -x test_cmath \ > - # -x test_asynchat \ > - # -x test_asyncore > - # > + test > + LD_LIBRARY_PATH=$(pwd) $(pwd)/python \ > + -m test.regrtest \ > + --verbose \ > + --findleaks \ > + -x test_distutils \ > + -x test_faulthandler \ > + -x test_gdb \ > + -x test_email \ > + -x test_subprocess \ > + -x test_float \ > + -x test_cmath \ > + -x test_asynchat \ > + -x test_asyncore > + > # # test_subprocess won't work on grsecurity-enabled kernels > # # test_float and test_cmath do not work on armv5tel (soft > FPU) > - #end > + end > > install_cmds > install -d -m 0755 %{BUILDROOT}%{pylibdir}/site- > packages/__pycache__