#44 F27: Update to 3.6.6
Merged 5 years ago by cstratak. Opened 5 years ago by churchyard.
rpms/ churchyard/python3 f27-366  into  f27

file modified
+24 -12
@@ -1,5 +1,5 @@ 

  diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py

- index d69e09f..5cb12df 100644

+ index 4748ba4..986d5e9 100644

  --- a/Lib/ensurepip/__init__.py

  +++ b/Lib/ensurepip/__init__.py

  @@ -1,8 +1,10 @@
@@ -13,16 +13,25 @@ 

   

   

   __all__ = ["version", "bootstrap"]

- @@ -25,6 +27,8 @@ def _run_pip(args, additional_paths=None):

+ @@ -24,8 +26,15 @@ def _run_pip(args, additional_paths=None):

+          sys.path = additional_paths + sys.path

   

       # Install the bundled software

-      import pip

+ -    import pip._internal

+ -    return pip._internal.main(args)

+ +    try:

+ +        # pip 10

+ +        from pip._internal import main

+ +    except ImportError:

+ +        # pip 9

+ +        from pip import main

  +    if args[0] in ["install", "list", "wheel"]:

  +        args.append('--pre')

-      return pip.main(args)

+ +    return main(args)

   

   

- @@ -88,20 +92,39 @@ def _bootstrap(*, root=None, upgrade=False, user=False,

+  def version():

+ @@ -88,20 +97,39 @@ def _bootstrap(*, root=None, upgrade=False, user=False,

           # omit pip and easy_install

           os.environ["ENSUREPIP_OPTIONS"] = "install"

   
@@ -72,9 +81,11 @@ 

   

           # Construct the arguments to be passed to the pip command

           args = ["install", "--no-index", "--find-links", tmpdir]

- diff -Nur Python-3.4.1/Lib/ensurepip/rewheel/__init__.py Python-3.4.1-rewheel/Lib/ensurepip/rewheel/__init__.py

- --- Python-3.4.1/Lib/ensurepip/rewheel/__init__.py  1970-01-01 01:00:00.000000000 +0100

- +++ Python-3.4.1-rewheel/Lib/ensurepip/rewheel/__init__.py  2014-08-21 10:11:22.560320121 +0200

+ diff --git a/Lib/ensurepip/rewheel/__init__.py b/Lib/ensurepip/rewheel/__init__.py

+ new file mode 100644

+ index 0000000..753c764

+ --- /dev/null

+ +++ b/Lib/ensurepip/rewheel/__init__.py

  @@ -0,0 +1,143 @@

  +import argparse

  +import codecs
@@ -219,10 +230,11 @@ 

  +        else:

  +            pass # bad RECORD or empty line

  +    return to_write, to_omit

- diff -Nur Python-3.4.1/Makefile.pre.in Python-3.4.1-rewheel/Makefile.pre.in

- --- Python-3.4.1/Makefile.pre.in    2014-08-21 10:49:31.512695040 +0200

- +++ Python-3.4.1-rewheel/Makefile.pre.in    2014-08-21 10:10:41.961341722 +0200

- @@ -1145,7 +1145,7 @@

+ diff --git a/Makefile.pre.in b/Makefile.pre.in

+ index 85e2ee3..4d34130 100644

+ --- a/Makefile.pre.in

+ +++ b/Makefile.pre.in

+ @@ -1256,7 +1256,7 @@ LIBSUBDIRS=	tkinter tkinter/test tkinter/test/test_tkinter \

   		test/test_asyncio \

   		collections concurrent concurrent/futures encodings \

   		email email/mime test/test_email test/test_email/data \

@@ -1,22 +1,3 @@ 

- diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst

- index 847b50140a6..570dc3ed6fe 100644

- --- a/Doc/whatsnew/3.6.rst

- +++ b/Doc/whatsnew/3.6.rst

- @@ -1852,10 +1852,10 @@ Build and C API Changes

-  * The :c:func:`PyUnicode_FSConverter` and :c:func:`PyUnicode_FSDecoder`

-    functions will now accept :term:`path-like objects <path-like object>`.

-  

- -* The ``PyExc_RecursionErrorInst`` singleton that was part of the public API

- -  has been removed as its members being never cleared may cause a segfault

- -  during finalization of the interpreter. Contributed by Xavier de Gaye in

- -  :issue:`22898` and :issue:`30697`.

- +* The ``PyExc_RecursionErrorInst`` singleton is not used anymore as its members

- +  being never cleared may cause a segfault during finalization of the

- +  interpreter. Contributed by Xavier de Gaye in :issue:`22898` and

- +  :issue:`30697`.

-  

-  

-  Other Improvements

  diff --git a/Include/pyerrors.h b/Include/pyerrors.h

  index c28c1373f82..8c1dbc5047b 100644

  --- a/Include/pyerrors.h

@@ -79,7 +79,7 @@ 

       if cafile or capath or cadata:

           context.load_verify_locations(cafile, capath, cadata)

  diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py

- index 54644e1..799100c 100644

+ index 9785a59..34a7ec2 100644

  --- a/Lib/test/test_ssl.py

  +++ b/Lib/test/test_ssl.py

  @@ -18,6 +18,7 @@ import asyncore
@@ -120,12 +120,12 @@ 

       def test_get_ciphers(self):

           ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)

  diff --git a/Modules/_ssl.c b/Modules/_ssl.c

- index df8c6a7..e23a569 100644

+ index 5e007da..130f006 100644

  --- a/Modules/_ssl.c

  +++ b/Modules/_ssl.c

- @@ -206,6 +206,31 @@ SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s)

+ @@ -237,6 +237,31 @@ SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s)

   

-  #endif /* OpenSSL < 1.1.0 or LibreSSL */

+  #endif /* OpenSSL < 1.1.0 or LibreSSL < 2.7.0 */

   

  +/* Default cipher suites */

  +#ifndef PY_SSL_DEFAULT_CIPHERS
@@ -155,7 +155,7 @@ 

   

   enum py_ssl_error {

       /* these mirror ssl.h */

- @@ -2739,7 +2764,12 @@ _ssl__SSLContext_impl(PyTypeObject *type, int proto_version)

+ @@ -2803,7 +2828,12 @@ _ssl__SSLContext_impl(PyTypeObject *type, int proto_version)

       /* A bare minimum cipher list without completely broken cipher suites.

        * It's far from perfect but gives users a better head start. */

       if (proto_version != PY_SSL_VERSION_SSL2) {
@@ -169,7 +169,7 @@ 

       } else {

           /* SSLv2 needs MD5 */

           result = SSL_CTX_set_cipher_list(ctx, "HIGH:!aNULL:!eNULL");

- @@ -5279,6 +5309,9 @@ PyInit__ssl(void)

+ @@ -5343,6 +5373,9 @@ PyInit__ssl(void)

                                (PyObject *)&PySSLSession_Type) != 0)

           return NULL;

   
@@ -180,10 +180,10 @@ 

                               PY_SSL_ERROR_ZERO_RETURN);

       PyModule_AddIntConstant(m, "SSL_ERROR_WANT_READ",

  diff --git a/configure.ac b/configure.ac

- index 7ea62f8..4b42393 100644

+ index 3703701..2eff514 100644

  --- a/configure.ac

  +++ b/configure.ac

- @@ -5555,6 +5555,42 @@ if test "$have_getrandom" = yes; then

+ @@ -5598,6 +5598,42 @@ if test "$have_getrandom" = yes; then

                 [Define to 1 if the getrandom() function is available])

   fi

   

@@ -1,104 +0,0 @@ 

- From 5affd5c29eb1493cb31ef3cfdde15538ac134689 Mon Sep 17 00:00:00 2001

- From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>

- Date: Tue, 13 Mar 2018 10:56:43 +0100

- Subject: [PATCH] bpo-32885: Tools/scripts/pathfix.py: Add -n option for no

-  backup~ (#5772)

- 

- Creating backup files with ~ suffix can be undesirable in some environment,

- such as when building RPM packages. Instead of requiring the user to remove

- those files manually, option -n was added, that simply disables this feature.

- 

- -n was selected because 2to3 has the same option with this behavior.

- ---

-  Misc/ACKS                                          |  1 +

-  .../2018-02-20-12-16-47.bpo-32885.dL5x7C.rst       |  2 ++

-  Tools/scripts/pathfix.py                           | 28 +++++++++++++++-------

-  3 files changed, 23 insertions(+), 8 deletions(-)

-  create mode 100644 Misc/NEWS.d/next/Tools-Demos/2018-02-20-12-16-47.bpo-32885.dL5x7C.rst

- 

- diff --git a/Misc/ACKS b/Misc/ACKS

- index d8179c8b03ab..d752d8a35434 100644

- --- a/Misc/ACKS

- +++ b/Misc/ACKS

- @@ -687,6 +687,7 @@ Ken Howard

-  Brad Howes

-  Mike Hoy

-  Ben Hoyt

- +Miro Hrončok

-  Chiu-Hsiang Hsu

-  Chih-Hao Huang

-  Christian Hudon

- diff --git a/Misc/NEWS.d/next/Tools-Demos/2018-02-20-12-16-47.bpo-32885.dL5x7C.rst b/Misc/NEWS.d/next/Tools-Demos/2018-02-20-12-16-47.bpo-32885.dL5x7C.rst

- new file mode 100644

- index 000000000000..e003e1d84fd0

- --- /dev/null

- +++ b/Misc/NEWS.d/next/Tools-Demos/2018-02-20-12-16-47.bpo-32885.dL5x7C.rst

- @@ -0,0 +1,2 @@

- +Add an ``-n`` flag for ``Tools/scripts/pathfix.py`` to disbale automatic

- +backup creation (files with ``~`` suffix).

- diff --git a/Tools/scripts/pathfix.py b/Tools/scripts/pathfix.py

- index 562bbc737812..c5bf984306a3 100755

- --- a/Tools/scripts/pathfix.py

- +++ b/Tools/scripts/pathfix.py

- @@ -7,8 +7,9 @@

-  # Directories are searched recursively for files whose name looks

-  # like a python module.

-  # Symbolic links are always ignored (except as explicit directory

- -# arguments).  Of course, the original file is kept as a back-up

- -# (with a "~" attached to its name).

- +# arguments).

- +# The original file is kept as a back-up (with a "~" attached to its name),

- +# -n flag can be used to disable this.

-  #

-  # Undoubtedly you can do this using find and sed or perl, but this is

-  # a nice example of Python code that recurses down a directory tree

- @@ -31,14 +32,17 @@

-  

-  new_interpreter = None

-  preserve_timestamps = False

- +create_backup = True

- +

-  

-  def main():

-      global new_interpreter

-      global preserve_timestamps

- -    usage = ('usage: %s -i /interpreter -p file-or-directory ...\n' %

- +    global create_backup

- +    usage = ('usage: %s -i /interpreter -p -n file-or-directory ...\n' %

-               sys.argv[0])

-      try:

- -        opts, args = getopt.getopt(sys.argv[1:], 'i:p')

- +        opts, args = getopt.getopt(sys.argv[1:], 'i:pn')

-      except getopt.error as msg:

-          err(str(msg) + '\n')

-          err(usage)

- @@ -48,6 +52,8 @@ def main():

-              new_interpreter = a.encode()

-          if o == '-p':

-              preserve_timestamps = True

- +        if o == '-n':

- +            create_backup = False

-      if not new_interpreter or not new_interpreter.startswith(b'/') or \

-             not args:

-          err('-i option or file-or-directory missing\n')

- @@ -134,10 +140,16 @@ def fix(filename):

-      except OSError as msg:

-          err('%s: warning: chmod failed (%r)\n' % (tempname, msg))

-      # Then make a backup of the original file as filename~

- -    try:

- -        os.rename(filename, filename + '~')

- -    except OSError as msg:

- -        err('%s: warning: backup failed (%r)\n' % (filename, msg))

- +    if create_backup:

- +        try:

- +            os.rename(filename, filename + '~')

- +        except OSError as msg:

- +            err('%s: warning: backup failed (%r)\n' % (filename, msg))

- +    else:

- +        try:

- +            os.remove(filename)

- +        except OSError as msg:

- +            err('%s: warning: removing failed (%r)\n' % (filename, msg))

-      # Now move the temp file to the original file

-      try:

-          os.rename(tempname, filename)

file modified
+10 -21
@@ -13,8 +13,8 @@ 

  

  #  WARNING  When rebasing to a new Python version,

  #           remember to update the python3-docs package as well

- Version: %{pybasever}.5

- Release: 2%{?dist}

+ Version: %{pybasever}.6

+ Release: 1%{?dist}

  License: Python

  

  
@@ -350,12 +350,6 @@ 

  # See also: https://bugzilla.redhat.com/show_bug.cgi?id=1489816

  Patch294: 00294-define-TLS-cipher-suite-on-build-time.patch

  

- # 00301 #

- # Tools/scripts/pathfix.py: Add -n option for no backup~

- # See: https://bugzilla.redhat.com/show_bug.cgi?id=1546990

- # Fixed upstream: https://bugs.python.org/issue32885

- Patch301: 00301-pathfix-add-n-option-for-no-backup.patch

- 

  # (New patches go here ^^^)

  #

  # When adding new patches to "python" and "python3" in Fedora, EL, etc.,
@@ -565,7 +559,7 @@ 

  rm -r Modules/zlib

  

  %if %{with rewheel}

- %global pip_version 9.0.3

+ %global pip_version %(pip3 --version | cut -d' ' -f2)

  sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/ensurepip/__init__.py

  %endif

  
@@ -595,7 +589,6 @@ 

  %patch274 -p1

  %patch292 -p1

  %patch294 -p1

- %patch301 -p1

  

  

  # Remove files that should be generated by the build
@@ -827,9 +820,9 @@ 

  desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE10}

  

  # Install and validate appdata file

- mkdir -p %{buildroot}%{_datadir}/appdata

- cp -a %{SOURCE11} %{buildroot}%{_datadir}/appdata

- appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/idle3.appdata.xml

+ mkdir -p %{buildroot}%{_metainfodir}

+ cp -a %{SOURCE11} %{buildroot}%{_metainfodir}

+ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/idle3.appdata.xml

  

  # Development tools

  install -m755 -d %{buildroot}%{pylibdir}/Tools
@@ -1038,7 +1031,6 @@ 

  /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

  

  %files

- %defattr(-, root, root)

  %license LICENSE

  %doc README.rst

  %{_bindir}/pydoc*
@@ -1052,7 +1044,6 @@ 

  %{_libexecdir}/system-python

  

  %files libs

- %defattr(-,root,root,-)

  %license LICENSE

  %doc README.rst

  
@@ -1270,7 +1261,6 @@ 

  %{_libdir}/libpython3.so

  

  %files devel

- %defattr(-,root,root)

  %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/*

  %exclude %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile

  %{pylibdir}/distutils/command/wininst-*.exe
@@ -1290,19 +1280,17 @@ 

  %{_rpmconfigdir}/macros.d/macros.systempython

  

  %files tools

- %defattr(-,root,root,755)

  %{_bindir}/2to3

  # TODO: Remove 2to3-3.7 once rebased to 3.7

  %{_bindir}/2to3-%{pybasever}

  %{_bindir}/idle*

  %{pylibdir}/Tools

  %doc %{pylibdir}/Doc

- %{_datadir}/appdata/idle3.appdata.xml

+ %{_metainfodir}/idle3.appdata.xml

  %{_datadir}/applications/idle3.desktop

  %{_datadir}/icons/hicolor/*/apps/idle3.*

  

  %files tkinter

- %defattr(-,root,root,755)

  %{pylibdir}/tkinter

  %exclude %{pylibdir}/tkinter/test

  %{dynload_dir}/_tkinter.%{SOABI_optimized}.so
@@ -1315,7 +1303,6 @@ 

  %{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes}

  

  %files test

- %defattr(-, root, root)

  %{pylibdir}/ctypes/test

  %{pylibdir}/distutils/tests

  %{pylibdir}/sqlite3/test
@@ -1337,7 +1324,6 @@ 

  

  %if %{with debug_build}

  %files debug

- %defattr(-,root,root,-)

  

  # Analog of the core subpackage's files:

  %{_bindir}/python%{LDVERSION_debug}
@@ -1462,6 +1448,9 @@ 

  # ======================================================

  

  %changelog

+ * Tue Jul 10 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.6-1

+ - Update to Python 3.6.6

+ 

  * Tue Jul 10 2018 Tomas Orsava <torsava@redhat.com> - 3.6.5-2

  - Fix %%py_byte_compile macro: when invoked with a Python 2 binary it also

    mistakenly ran py3_byte_compile

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (Python-3.6.5.tar.xz) = 6b26fcd296b9bd8e67861eff10d14db7507711ddba947288d16d6def53135c39326b7f969c04bb2b2993f924d9e7ad3f5c5282a3915760bc0885cf0a8ea5eb51

+ SHA512 (Python-3.6.6.tar.xz) = c71f87c5906e770322a14cacad228655659f782207db826320449d12bf86091c3662f317e1773158dec52f8b052eaedfb4c03b561cc2a6cfcd381597fd2d2b04