#60 WIP: Update to 3.7.1rc2
Closed 11 months ago by churchyard. Opened 11 months ago by churchyard.
rpms/ churchyard/python3 3.7.1rc2  into  master

file modified
+9 -8

@@ -53,15 +53,16 @@ 

   }

   #endif

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

- index 904fc7d..288e242 100644

+ index 8d806db..dc8bb16 100644

  --- a/Lib/test/test_gc.py

  +++ b/Lib/test/test_gc.py

- @@ -1,10 +1,11 @@

+ @@ -1,10 +1,12 @@

   import unittest

   from test.support import (verbose, refcount_test, run_unittest,

                             strip_python_stderr, cpython_only, start_threads,

- -                          temp_dir, requires_type_collecting)

- +                          temp_dir, import_module, requires_type_collecting)

+ -                          temp_dir, requires_type_collecting, TESTFN, unlink)

+ +                          temp_dir, requires_type_collecting, TESTFN, unlink,

+ +                          import_module)

   from test.support.script_helper import assert_python_ok, make_script

   

   import sys

@@ -69,7 +70,7 @@ 

   import time

   import gc

   import weakref

- @@ -46,6 +47,8 @@ class GC_Detector(object):

+ @@ -46,6 +48,8 @@ class GC_Detector(object):

           # gc collects it.

           self.wr = weakref.ref(C1055820(666), it_happened)

   

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

   @with_tp_del

   class Uncollectable(object):

       """Create a reference cycle with multiple __del__ methods.

- @@ -863,6 +866,50 @@ class GCCallbackTests(unittest.TestCase):

+ @@ -878,6 +882,50 @@ class GCCallbackTests(unittest.TestCase):

           self.assertEqual(len(gc.garbage), 0)

   

   

@@ -130,7 +131,7 @@ 

       def setUp(self):

           gc.enable()

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

- index 8ba1093..e795308 100644

+ index 4d701cb..388dd78 100644

  --- a/Modules/gcmodule.c

  +++ b/Modules/gcmodule.c

  @@ -239,7 +239,8 @@ update_refs(PyGC_Head *containers)

@@ -251,7 +252,7 @@ 

   

           /* copy-paste of weakrefobject.c's handle_callback() */

           temp = PyObject_CallFunctionObjArgs(callback, wr, NULL);

- @@ -720,12 +726,14 @@ check_garbage(PyGC_Head *collectable)

+ @@ -717,12 +723,14 @@ check_garbage(PyGC_Head *collectable)

       for (gc = collectable->gc.gc_next; gc != collectable;

            gc = gc->gc.gc_next) {

           _PyGCHead_SET_REFS(gc, Py_REFCNT(FROM_GC(gc)));

@@ -1,150 +0,0 @@ 

- From bbd6fc7e77dbd33ae7d3670eaf7800b5d3ff42d3 Mon Sep 17 00:00:00 2001

- From: Victor Stinner <vstinner@redhat.com>

- Date: Fri, 20 Jul 2018 17:34:23 +0200

- Subject: [PATCH] bpo-34008: Allow to call Py_Main() after Py_Initialize()

-  (GH-8043)

- 

- Py_Main() can again be called after Py_Initialize(), as in Python

- 3.6. The new configuration is ignored, except of

- _PyMainInterpreterConfig.argv which is used to update sys.argv.

- (cherry picked from commit fb47bca9ee2d07ce96df94b4e4abafd11826eb01)

- 

- Co-authored-by: Victor Stinner <vstinner@redhat.com>

- ---

-  Lib/test/test_embed.py                             |  8 ++++++++

-  .../C API/2018-07-02-10-58-11.bpo-34008.COewz-.rst |  1 +

-  Modules/main.c                                     | 10 +++++++---

-  Programs/_testembed.c                              | 16 +++++++++++++++

-  Python/pylifecycle.c                               | 23 +++++++++++++++++++---

-  5 files changed, 52 insertions(+), 6 deletions(-)

-  create mode 100644 Misc/NEWS.d/next/C API/2018-07-02-10-58-11.bpo-34008.COewz-.rst

- 

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

- index f3b60433ccc1..024c3f99a85d 100644

- --- a/Lib/test/test_embed.py

- +++ b/Lib/test/test_embed.py

- @@ -238,6 +238,14 @@ def test_initialize_twice(self):

-          self.assertEqual(out, '')

-          self.assertEqual(err, '')

-  

- +    def test_initialize_pymain(self):

- +        """

- +        bpo-34008: Calling Py_Main() after Py_Initialize() must not fail.

- +        """

- +        out, err = self.run_embedded_interpreter("initialize_pymain")

- +        self.assertEqual(out.rstrip(), "Py_Main() after Py_Initialize: sys.argv=['-c', 'arg2']")

- +        self.assertEqual(err, '')

- +

-  

-  if __name__ == "__main__":

-      unittest.main()

- diff --git a/Misc/NEWS.d/next/C API/2018-07-02-10-58-11.bpo-34008.COewz-.rst b/Misc/NEWS.d/next/C API/2018-07-02-10-58-11.bpo-34008.COewz-.rst

- new file mode 100644

- index 000000000000..d9881b9945df

- --- /dev/null

- +++ b/Misc/NEWS.d/next/C API/2018-07-02-10-58-11.bpo-34008.COewz-.rst	

- @@ -0,0 +1 @@

- +Py_Main() can again be called after Py_Initialize(), as in Python 3.6.

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

- index 3809fa4abef5..31ebbceb83e0 100644

- --- a/Modules/main.c

- +++ b/Modules/main.c

- @@ -2647,9 +2647,13 @@ pymain_main(_PyMain *pymain)

-  

-      pymain_init_stdio(pymain);

-  

- -    pymain->err = _Py_InitializeCore(&pymain->config);

- -    if (_Py_INIT_FAILED(pymain->err)) {

- -        _Py_FatalInitError(pymain->err);

- +    /* bpo-34008: For backward compatibility reasons, calling Py_Main() after

- +       Py_Initialize() ignores the new configuration. */

- +    if (!_PyRuntime.initialized) {

- +        pymain->err = _Py_InitializeCore(&pymain->config);

- +        if (_Py_INIT_FAILED(pymain->err)) {

- +            _Py_FatalInitError(pymain->err);

- +        }

-      }

-  

-      if (pymain_init_python_main(pymain) < 0) {

- diff --git a/Programs/_testembed.c b/Programs/_testembed.c

- index b8827f074b9c..b1be682f7adc 100644

- --- a/Programs/_testembed.c

- +++ b/Programs/_testembed.c

- @@ -276,6 +276,21 @@ static int test_initialize_twice(void)

-      return 0;

-  }

-  

- +static int test_initialize_pymain(void)

- +{

- +    wchar_t *argv[] = {L"PYTHON", L"-c",

- +                       L"import sys; print(f'Py_Main() after Py_Initialize: sys.argv={sys.argv}')",

- +                       L"arg2"};

- +    _testembed_Py_Initialize();

- +

- +    /* bpo-34008: Calling Py_Main() after Py_Initialize() must not crash */

- +    Py_Main(Py_ARRAY_LENGTH(argv), argv);

- +

- +    Py_Finalize();

- +

- +    return 0;

- +}

- +

-  

-  /* *********************************************************

-   * List of test cases and the function that implements it.

- @@ -302,6 +317,7 @@ static struct TestCase TestCases[] = {

-      { "pre_initialization_sys_options", test_pre_initialization_sys_options },

-      { "bpo20891", test_bpo20891 },

-      { "initialize_twice", test_initialize_twice },

- +    { "initialize_pymain", test_initialize_pymain },

-      { NULL, NULL }

-  };

-  

- diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c

- index fdb759f480be..219a46558825 100644

- --- a/Python/pylifecycle.c

- +++ b/Python/pylifecycle.c

- @@ -775,6 +775,22 @@ _Py_InitializeCore(const _PyCoreConfig *core_config)

-      return _Py_INIT_OK();

-  }

-  

- +/* Py_Initialize() has already been called: update the main interpreter

- +   configuration. Example of bpo-34008: Py_Main() called after

- +   Py_Initialize(). */

- +static _PyInitError

- +_Py_ReconfigureMainInterpreter(PyInterpreterState *interp,

- +                               const _PyMainInterpreterConfig *config)

- +{

- +    if (config->argv != NULL) {

- +        int res = PyDict_SetItemString(interp->sysdict, "argv", config->argv);

- +        if (res < 0) {

- +            return _Py_INIT_ERR("fail to set sys.argv");

- +        }

- +    }

- +    return _Py_INIT_OK();

- +}

- +

-  /* Update interpreter state based on supplied configuration settings

-   *

-   * After calling this function, most of the restrictions on the interpreter

- @@ -796,9 +812,6 @@ _Py_InitializeMainInterpreter(const _PyMainInterpreterConfig *config)

-      if (!_PyRuntime.core_initialized) {

-          return _Py_INIT_ERR("runtime core not initialized");

-      }

- -    if (_PyRuntime.initialized) {

- -        return _Py_INIT_ERR("main interpreter already initialized");

- -    }

-  

-      /* Get current thread state and interpreter pointer */

-      tstate = PyThreadState_GET();

- @@ -813,6 +826,10 @@ _Py_InitializeMainInterpreter(const _PyMainInterpreterConfig *config)

-          return _Py_INIT_ERR("failed to copy main interpreter config");

-      }

-  

- +    if (_PyRuntime.initialized) {

- +        return _Py_ReconfigureMainInterpreter(interp, config);

- +    }

- +

-      if (interp->core_config._disable_importlib) {

-          /* Special mode for freeze_importlib: run with no import system

-           *

file removed
-182

@@ -1,182 +0,0 @@ 

- diff --git a/Lib/test/dh1024.pem b/Lib/test/dh1024.pem

- deleted file mode 100644

- index a391176..0000000

- --- a/Lib/test/dh1024.pem

- +++ /dev/null

- @@ -1,7 +0,0 @@

- ------BEGIN DH PARAMETERS-----

- -MIGHAoGBAIbzw1s9CT8SV5yv6L7esdAdZYZjPi3qWFs61CYTFFQnf2s/d09NYaJt

- -rrvJhIzWavqnue71qXCf83/J3nz3FEwUU/L0mGyheVbsSHiI64wUo3u50wK5Igo0

- -RNs/LD0irs7m0icZ//hijafTU+JOBiuA8zMI+oZfU7BGuc9XrUprAgEC

- ------END DH PARAMETERS-----

- -

- -Generated with: openssl dhparam -out dh1024.pem  1024

- diff --git a/Lib/test/ffdh3072.pem b/Lib/test/ffdh3072.pem

- new file mode 100644

- index 0000000..ad69bac

- --- /dev/null

- +++ b/Lib/test/ffdh3072.pem

- @@ -0,0 +1,41 @@

- +    DH Parameters: (3072 bit)

- +        prime:

- +            00:ff:ff:ff:ff:ff:ff:ff:ff:ad:f8:54:58:a2:bb:

- +            4a:9a:af:dc:56:20:27:3d:3c:f1:d8:b9:c5:83:ce:

- +            2d:36:95:a9:e1:36:41:14:64:33:fb:cc:93:9d:ce:

- +            24:9b:3e:f9:7d:2f:e3:63:63:0c:75:d8:f6:81:b2:

- +            02:ae:c4:61:7a:d3:df:1e:d5:d5:fd:65:61:24:33:

- +            f5:1f:5f:06:6e:d0:85:63:65:55:3d:ed:1a:f3:b5:

- +            57:13:5e:7f:57:c9:35:98:4f:0c:70:e0:e6:8b:77:

- +            e2:a6:89:da:f3:ef:e8:72:1d:f1:58:a1:36:ad:e7:

- +            35:30:ac:ca:4f:48:3a:79:7a:bc:0a:b1:82:b3:24:

- +            fb:61:d1:08:a9:4b:b2:c8:e3:fb:b9:6a:da:b7:60:

- +            d7:f4:68:1d:4f:42:a3:de:39:4d:f4:ae:56:ed:e7:

- +            63:72:bb:19:0b:07:a7:c8:ee:0a:6d:70:9e:02:fc:

- +            e1:cd:f7:e2:ec:c0:34:04:cd:28:34:2f:61:91:72:

- +            fe:9c:e9:85:83:ff:8e:4f:12:32:ee:f2:81:83:c3:

- +            fe:3b:1b:4c:6f:ad:73:3b:b5:fc:bc:2e:c2:20:05:

- +            c5:8e:f1:83:7d:16:83:b2:c6:f3:4a:26:c1:b2:ef:

- +            fa:88:6b:42:38:61:1f:cf:dc:de:35:5b:3b:65:19:

- +            03:5b:bc:34:f4:de:f9:9c:02:38:61:b4:6f:c9:d6:

- +            e6:c9:07:7a:d9:1d:26:91:f7:f7:ee:59:8c:b0:fa:

- +            c1:86:d9:1c:ae:fe:13:09:85:13:92:70:b4:13:0c:

- +            93:bc:43:79:44:f4:fd:44:52:e2:d7:4d:d3:64:f2:

- +            e2:1e:71:f5:4b:ff:5c:ae:82:ab:9c:9d:f6:9e:e8:

- +            6d:2b:c5:22:36:3a:0d:ab:c5:21:97:9b:0d:ea:da:

- +            1d:bf:9a:42:d5:c4:48:4e:0a:bc:d0:6b:fa:53:dd:

- +            ef:3c:1b:20:ee:3f:d5:9d:7c:25:e4:1d:2b:66:c6:

- +            2e:37:ff:ff:ff:ff:ff:ff:ff:ff

- +        generator: 2 (0x2)

- +        recommended-private-length: 276 bits

- +-----BEGIN DH PARAMETERS-----

- +MIIBjAKCAYEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz

- ++8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a

- +87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7

- +YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi

- +7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD

- +ssbzSibBsu/6iGtCOGEfz9zeNVs7ZRkDW7w09N75nAI4YbRvydbmyQd62R0mkff3

- +7lmMsPrBhtkcrv4TCYUTknC0EwyTvEN5RPT9RFLi103TZPLiHnH1S/9croKrnJ32

- +nuhtK8UiNjoNq8Uhl5sN6todv5pC1cRITgq80Gv6U93vPBsg7j/VnXwl5B0rZsYu

- +N///////////AgECAgIBFA==

- +-----END DH PARAMETERS-----

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

- index f9488a9..da8ba32 100644

- --- a/Lib/test/test_ftplib.py

- +++ b/Lib/test/test_ftplib.py

- @@ -880,18 +880,23 @@ class TestTLS_FTPClass(TestCase):

-          # clear text

-          with self.client.transfercmd('list') as sock:

-              self.assertNotIsInstance(sock, ssl.SSLSocket)

- +            self.assertEqual(sock.recv(1024), LIST_DATA.encode('ascii'))

-          self.assertEqual(self.client.voidresp(), "226 transfer complete")

-  

-          # secured, after PROT P

-          self.client.prot_p()

-          with self.client.transfercmd('list') as sock:

-              self.assertIsInstance(sock, ssl.SSLSocket)

- +            # consume from SSL socket to finalize handshake and avoid

- +            # "SSLError [SSL] shutdown while in init"

- +            self.assertEqual(sock.recv(1024), LIST_DATA.encode('ascii'))

-          self.assertEqual(self.client.voidresp(), "226 transfer complete")

-  

-          # PROT C is issued, the connection must be in cleartext again

-          self.client.prot_c()

-          with self.client.transfercmd('list') as sock:

-              self.assertNotIsInstance(sock, ssl.SSLSocket)

- +            self.assertEqual(sock.recv(1024), LIST_DATA.encode('ascii'))

-          self.assertEqual(self.client.voidresp(), "226 transfer complete")

-  

-      def test_login(self):

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

- index 7bbaa9f..ea528b5 100644

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

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

- @@ -55,7 +55,6 @@ CAPATH = data_file("capath")

-  BYTES_CAPATH = os.fsencode(CAPATH)

-  CAFILE_NEURONIO = data_file("capath", "4e1295a3.0")

-  CAFILE_CACERT = data_file("capath", "5ed36f99.0")

- -WRONG_CERT = data_file("wrongcert.pem")

-  

-  CERTFILE_INFO = {

-      'issuer': ((('countryName', 'XY'),),

- @@ -118,7 +117,7 @@ BADKEY = data_file("badkey.pem")

-  NOKIACERT = data_file("nokia.pem")

-  NULLBYTECERT = data_file("nullbytecert.pem")

-  

- -DHFILE = data_file("dh1024.pem")

- +DHFILE = data_file("ffdh3072.pem")

-  BYTES_DHFILE = os.fsencode(DHFILE)

-  

-  # Not defined in all versions of OpenSSL

- @@ -2846,8 +2845,8 @@ class ThreadedTests(unittest.TestCase):

-          connect to it with a wrong client certificate fails.

-          """

-          client_context, server_context, hostname = testing_context()

- -        # load client cert

- -        client_context.load_cert_chain(WRONG_CERT)

- +        # load client cert that is not signed by trusted CA

- +        client_context.load_cert_chain(CERTFILE)

-          # require TLS client authentication

-          server_context.verify_mode = ssl.CERT_REQUIRED

-          # TLS 1.3 has different handshake

- @@ -2879,7 +2878,8 @@ class ThreadedTests(unittest.TestCase):

-      @unittest.skipUnless(ssl.HAS_TLSv1_3, "Test needs TLS 1.3")

-      def test_wrong_cert_tls13(self):

-          client_context, server_context, hostname = testing_context()

- -        client_context.load_cert_chain(WRONG_CERT)

- +        # load client cert that is not signed by trusted CA

- +        client_context.load_cert_chain(CERTFILE)

-          server_context.verify_mode = ssl.CERT_REQUIRED

-          server_context.minimum_version = ssl.TLSVersion.TLSv1_3

-          client_context.minimum_version = ssl.TLSVersion.TLSv1_3

- diff --git a/Lib/test/wrongcert.pem b/Lib/test/wrongcert.pem

- deleted file mode 100644

- index 5f92f9b..0000000

- --- a/Lib/test/wrongcert.pem

- +++ /dev/null

- @@ -1,32 +0,0 @@

- ------BEGIN RSA PRIVATE KEY-----

- -MIICXAIBAAKBgQC89ZNxjTgWgq7Z1g0tJ65w+k7lNAj5IgjLb155UkUrz0XsHDnH

- -FlbsVUg2Xtk6+bo2UEYIzN7cIm5ImpmyW/2z0J1IDVDlvR2xJ659xrE0v5c2cB6T

- -f9lnNTwpSoeK24Nd7Jwq4j9vk95fLrdqsBq0/KVlsCXeixS/CaqqduXfvwIDAQAB

- -AoGAQFko4uyCgzfxr4Ezb4Mp5pN3Npqny5+Jey3r8EjSAX9Ogn+CNYgoBcdtFgbq

- -1yif/0sK7ohGBJU9FUCAwrqNBI9ZHB6rcy7dx+gULOmRBGckln1o5S1+smVdmOsW

- -7zUVLBVByKuNWqTYFlzfVd6s4iiXtAE2iHn3GCyYdlICwrECQQDhMQVxHd3EFbzg

- -SFmJBTARlZ2GKA3c1g/h9/XbkEPQ9/RwI3vnjJ2RaSnjlfoLl8TOcf0uOGbOEyFe

- -19RvCLXjAkEA1s+UE5ziF+YVkW3WolDCQ2kQ5WG9+ccfNebfh6b67B7Ln5iG0Sbg

- -ky9cjsO3jbMJQtlzAQnH1850oRD5Gi51dQJAIbHCDLDZU9Ok1TI+I2BhVuA6F666

- -lEZ7TeZaJSYq34OaUYUdrwG9OdqwZ9sy9LUav4ESzu2lhEQchCJrKMn23QJAReqs

- -ZLHUeTjfXkVk7dHhWPWSlUZ6AhmIlA/AQ7Payg2/8wM/JkZEJEPvGVykms9iPUrv

- -frADRr+hAGe43IewnQJBAJWKZllPgKuEBPwoEldHNS8nRu61D7HzxEzQ2xnfj+Nk

- -2fgf1MAzzTRsikfGENhVsVWeqOcijWb6g5gsyCmlRpc=

- ------END RSA PRIVATE KEY-----

- ------BEGIN CERTIFICATE-----

- -MIICsDCCAhmgAwIBAgIJAOqYOYFJfEEoMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV

- -BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX

- -aWRnaXRzIFB0eSBMdGQwHhcNMDgwNjI2MTgxNTUyWhcNMDkwNjI2MTgxNTUyWjBF

- -MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50

- -ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB

- -gQC89ZNxjTgWgq7Z1g0tJ65w+k7lNAj5IgjLb155UkUrz0XsHDnHFlbsVUg2Xtk6

- -+bo2UEYIzN7cIm5ImpmyW/2z0J1IDVDlvR2xJ659xrE0v5c2cB6Tf9lnNTwpSoeK

- -24Nd7Jwq4j9vk95fLrdqsBq0/KVlsCXeixS/CaqqduXfvwIDAQABo4GnMIGkMB0G

- -A1UdDgQWBBTctMtI3EO9OjLI0x9Zo2ifkwIiNjB1BgNVHSMEbjBsgBTctMtI3EO9

- -OjLI0x9Zo2ifkwIiNqFJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUt

- -U3RhdGUxITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAOqYOYFJ

- -fEEoMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAQwa7jya/DfhaDn7E

- -usPkpgIX8WCL2B1SqnRTXEZfBPPVq/cUmFGyEVRVATySRuMwi8PXbVcOhXXuocA+

- -43W+iIsD9pXapCZhhOerCq18TC1dWK98vLUsoK8PMjB6e5H/O8bqojv0EeC+fyCw

- -eSHj5jpC8iZKjCHBn+mAi4cQ514=

- ------END CERTIFICATE-----

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

- index 20d4eeac12..a0c683bbcf 100644

- --- a/Lib/test/test_poplib.py

- +++ b/Lib/test/test_poplib.py

- @@ -178,7 +178,8 @@ class DummyPOP3Handler(asynchat.async_chat):

-                      return self.handle_close()

-                  # TODO: SSLError does not expose alert information

-                  elif ("SSLV3_ALERT_BAD_CERTIFICATE" in err.args[1] or

- -                      "SSLV3_ALERT_CERTIFICATE_UNKNOWN" in err.args[1]):

- +                      "SSLV3_ALERT_CERTIFICATE_UNKNOWN" in err.args[1] or

- +                      "bad record type" in err.args[1]):

-                      return self.handle_close()

-                  raise

-              except OSError as err:

file modified
+7 -20

@@ -13,8 +13,9 @@ 

  

  #  WARNING  When rebasing to a new Python version,

  #           remember to update the python3-docs package as well

- Version: %{pybasever}.0

- Release: 10%{?dist}

+ Version: %{pybasever}.1

+ %global prerel rc2

+ Release: 0.1.%{?prerel}%{?dist}

  License: Python

  

  

@@ -196,7 +197,7 @@ 

  # Source code and patches

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

  

- Source: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz

+ Source: https://www.python.org/ftp/python/%{version}/Python-%{version}%{?prerel}.tar.xz

  

  # A simple script to check timestamps of bytecode files

  # Run in check section with Python that is currently being built

@@ -305,21 +306,6 @@ 

  # and: https://src.fedoraproject.org/rpms/redhat-rpm-config/c/078af19

  Patch291: 00291-setup-Link-ctypes-against-dl-explicitly.patch

  

- # 00307 #

- # Allow to call Py_Main() after Py_Initialize()

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

- # and: https://bugs.python.org/issue34008

- Patch307: 00307-allow-to-call-Py_Main-after-Py_Initialize.patch

- 

- # 00308 #

- # TLS 1.3 related fixes from upstream:

- # https://github.com/python/cpython/pull/8762

- # https://github.com/python/cpython/pull/8787

- # And a workaround before openssl is 1.1.1-pre9:

- # https://bugzilla.redhat.com/show_bug.cgi?id=1609291#c12

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

- Patch308: 00308-tls-1.3.patch

- 

  # (New patches go here ^^^)

  #

  # When adding new patches to "python" and "python3" in Fedora, EL, etc.,

@@ -650,8 +636,6 @@ 

  %patch251 -p1

  %patch274 -p1

  %patch291 -p1

- %patch307 -p1

- %patch308 -p1

  

  

  # Remove files that should be generated by the build

@@ -1551,6 +1535,9 @@ 

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

  

  %changelog

+ * Sun Oct 14 2018 Miro Hrončok <mhroncok@redhat.com> - 3.7.1-0.1.rc2

+ - Update to 3.7.1rc2

+ 

  * Thu Sep 27 2018 Petr Viktorin <pviktori@redhat.com> - 3.7.0-10

  - Compile the debug build with -Og rather than -O0

  

file modified
+1 -1

@@ -1,1 +1,1 @@ 

- SHA512 (Python-3.7.0.tar.xz) = 8bb11233fb67ee9ab8ed1b72f8fdc62f66e26a6beaaeb92448bce681cf065269833b1658d3ed2459127f25ba43adb0eab73cf27c59834a2a803fb529b4216739

+ SHA512 (Python-3.7.1rc2.tar.xz) = efc0d17a2e76a13981b85de532ab817a1353312955e9cbb04f6f103e71bf5c284fa8aa5b7a3e9c92facad95827888cf1e0d56002770f745936e25571b7b3d10f