Accepting request 769788 from devel:languages:python:Factory

- Provide python-testsuite from devel subkg to ease py2->py3
  dependencies

- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch
  off tests coliding with the combination of modern Python and
  ancient OpenSSL on SLE-12.

- Provide python-testsuite from devel subkg to ease py2->py3
  dependencies

- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch
  off tests coliding with the combination of modern Python and
  ancient OpenSSL on SLE-12.

- libnsl is required only on more recent SLEs and openSUSE, older
  glibc supported NIS on its own.

- Provide python-testsuite from devel subkg to ease py2->py3
  dependencies

- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch
  off tests coliding with the combination of modern Python and
  ancient OpenSSL on SLE-12.

- libnsl is required only on more recent SLEs and openSUSE, older
  glibc supported NIS on its own.

OBS-URL: https://build.opensuse.org/request/show/769788
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python?expand=0&rev=148
This commit is contained in:
Dominique Leuenberger 2020-02-06 12:18:46 +00:00 committed by Git OBS Bridge
commit 59fa2831c6
8 changed files with 114 additions and 24 deletions

View File

@ -0,0 +1,21 @@
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -152,9 +152,7 @@ def skip_if_broken_ubuntu_ssl(func):
try:
ssl.SSLContext(ssl.PROTOCOL_SSLv2)
except ssl.SSLError:
- if (ssl.OPENSSL_VERSION_INFO == (0, 9, 8, 15, 15) and
- platform.linux_distribution() == ('debian', 'squeeze/sid', '')):
- raise unittest.SkipTest("Patched Ubuntu OpenSSL breaks behaviour")
+ raise unittest.SkipTest("Test fails on SLE-12")
return func(*args, **kwargs)
return f
else:
@@ -1280,6 +1278,7 @@ class ContextTests(unittest.TestCase):
self.assertEqual(ctx.verify_mode, ssl.CERT_NONE)
self._assert_context_options(ctx)
+ @skip_if_broken_ubuntu_ssl
def test__https_verify_certificates(self):
# Unit test to check the contect factory mapping
# The factories themselves are tested above

View File

@ -1,24 +1,21 @@
Index: Python-2.7.9/Lib/ssl.py
===================================================================
--- Python-2.7.9.orig/Lib/ssl.py 2015-08-12 15:53:27.419729448 +0200
+++ Python-2.7.9/Lib/ssl.py 2015-08-12 15:58:10.668465183 +0200
@@ -469,7 +469,18 @@
return context
# Used by http.client if no context is explicitly passed.
-_create_default_https_context = create_default_context
+try:
--- a/Lib/ssl.py
+++ b/Lib/ssl.py
@@ -495,7 +495,17 @@ def _get_https_context_factory():
config_setting = os.environ.get(_https_verify_envvar)
if config_setting == '0':
return _create_unverified_context
- return create_default_context
+
+ try:
+ # load the TLS checks policy from separate package
+ import sle_tls_checks_policy as policy
+ if policy.get_policy:
+ _create_default_https_context = policy.get_policy()
+ return policy.get_policy()
+ else:
+ # empty policy file means simply enable strict verification
+ _create_default_https_context = create_default_context
+
+except ImportError:
+ # policy not present, disable verification for backwards compatibility
+ _create_default_https_context = _create_unverified_context
+ return create_default_context
+ except ImportError:
+ return create_default_context
_create_default_https_context = _get_https_context_factory()
# Backwards compatibility alias, even though it's not a public name.

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Mon Feb 3 19:30:31 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Provide python-testsuite from devel subkg to ease py2->py3
dependencies
-------------------------------------------------------------------
Mon Jan 27 16:47:56 CET 2020 - Matej Cepl <mcepl@suse.com>
- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch
off tests coliding with the combination of modern Python and
ancient OpenSSL on SLE-12.
-------------------------------------------------------------------
Fri Jan 10 16:01:57 CET 2020 - Matej Cepl <mcepl@suse.com>

View File

@ -83,12 +83,14 @@ Patch55: bpo36302-sort-module-sources.patch
# to /usr/local if executable is /usr/bin/python* and RPM build
# is not detected to make pip and distutils install into separate location
Patch56: adapted-from-F00251-change-user-install-location.patch
# Switch couple of tests failing on acient SLE-12
Patch57: python-2.7.17-switch-off-failing-SSL-tests.patch
# COMMON-PATCH-END
%define python_version %(echo %{tarversion} | head -c 3)
BuildRequires: automake
BuildRequires: fdupes
BuildRequires: libbz2-devel
%if %{suse_version} > 1200
%if %{suse_version} >= 1500
BuildRequires: libnsl-devel
%endif
BuildRequires: pkg-config
@ -130,6 +132,9 @@ Requires: glibc-devel
Requires: python = %{version}
Requires: python-base = %{version}-%{release}
Provides: python2-devel = %{version}
# provide testsuite namespace that was split in python3 to ease dependencies
Provides: python-testsuite = %{version}
Provides: python2-testsuite = %{version}
%description -n python-devel
The Python programming language's interpreter can be extended with
@ -192,8 +197,12 @@ other applications.
%patch40 -p1
%endif
%patch41 -p1
%if %{suse_version} >= 1500
%patch47 -p1
%patch48 -p1
%else
%patch57 -p1
%endif
%patch49 -p1
%patch50 -p1
%patch51 -p1

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Feb 3 19:30:31 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Provide python-testsuite from devel subkg to ease py2->py3
dependencies
-------------------------------------------------------------------
Mon Jan 27 16:47:56 CET 2020 - Matej Cepl <mcepl@suse.com>
- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch
off tests coliding with the combination of modern Python and
ancient OpenSSL on SLE-12.
-------------------------------------------------------------------
Fri Jan 10 16:01:57 CET 2020 - Matej Cepl <mcepl@suse.com>
- libnsl is required only on more recent SLEs and openSUSE, older
glibc supported NIS on its own.
-------------------------------------------------------------------
Thu Jan 2 10:34:17 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>

View File

@ -83,6 +83,8 @@ Patch55: bpo36302-sort-module-sources.patch
# to /usr/local if executable is /usr/bin/python* and RPM build
# is not detected to make pip and distutils install into separate location
Patch56: adapted-from-F00251-change-user-install-location.patch
# Switch couple of tests failing on acient SLE-12
Patch57: python-2.7.17-switch-off-failing-SSL-tests.patch
# COMMON-PATCH-END
Provides: pyth_doc
Provides: pyth_ps
@ -136,8 +138,12 @@ Python, and Macintosh Module Reference in PDF format.
%patch40 -p1
%endif
%patch41 -p1
%if %{suse_version} >= 1500
%patch47 -p1
%patch48 -p1
%else
%patch57 -p1
%endif
%patch49 -p1
%patch50 -p1
%patch51 -p1

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Feb 3 19:30:31 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Provide python-testsuite from devel subkg to ease py2->py3
dependencies
-------------------------------------------------------------------
Mon Jan 27 16:47:56 CET 2020 - Matej Cepl <mcepl@suse.com>
- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch
off tests coliding with the combination of modern Python and
ancient OpenSSL on SLE-12.
-------------------------------------------------------------------
Fri Jan 10 16:01:57 CET 2020 - Matej Cepl <mcepl@suse.com>
- libnsl is required only on more recent SLEs and openSUSE, older
glibc supported NIS on its own.
-------------------------------------------------------------------
Thu Jan 2 10:34:17 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>

View File

@ -87,6 +87,8 @@ Patch55: bpo36302-sort-module-sources.patch
# to /usr/local if executable is /usr/bin/python* and RPM build
# is not detected to make pip and distutils install into separate location
Patch56: adapted-from-F00251-change-user-install-location.patch
# Switch couple of tests failing on acient SLE-12
Patch57: python-2.7.17-switch-off-failing-SSL-tests.patch
# COMMON-PATCH-END
BuildRequires: automake
BuildRequires: db-devel
@ -94,7 +96,7 @@ BuildRequires: fdupes
BuildRequires: gdbm-devel
BuildRequires: gmp-devel
BuildRequires: libbz2-devel
%if %{suse_version} > 1200
%if %{suse_version} >= 1500
BuildRequires: libnsl-devel
%endif
BuildRequires: libopenssl-devel
@ -254,8 +256,12 @@ that rely on earlier non-verification behavior.
%patch40 -p1
%endif
%patch41 -p1
%if %{suse_version} >= 1500
%patch47 -p1
%patch48 -p1
%else
%patch57 -p1
%endif
%patch49 -p1
%patch50 -p1
%patch51 -p1
@ -299,7 +305,7 @@ if test $(ulimit -v) = unlimited || test $(ulimit -v) -gt 10000000; then
ulimit -v 10000000 || :
fi
LIST="test_urllib test_ssl test_hashlib test_hmac test_unicodedata test_tarfile test_sqlite test_tcl test_dbm test_anydbm test_dumbdbm test_gdbm test_whichdb test_tk test_ttk_textonly test_bsddb test_bsddb3 test_readline"
make test TESTOPTS="$LIST" TESTPYTHONOPTS="-R"
make test TESTOPTS="-w $LIST" TESTPYTHONOPTS="-R"
%endif
%install