import python-wheel-0.31.1-2.module+el8.1.0+3724+3c097090

This commit is contained in:
CentOS Sources 2019-11-05 14:39:23 -05:00 committed by Andrew Lukoshko
parent 7e23d254ce
commit fb2c1ba5d2
4 changed files with 183 additions and 90 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/wheel-0.30.0.tar.gz SOURCES/wheel-0.31.1.tar.gz

View File

@ -1 +1 @@
bf1b7cf2c46378b7300ad9d4e2b86e462cdd7f73 SOURCES/wheel-0.30.0.tar.gz 9adb566f0f481cf14f4d5d5083f93c036b9aeba1 SOURCES/wheel-0.31.1.tar.gz

View File

@ -1,4 +1,4 @@
From 067c844fab1e9774c0f820f9b399e8cab1b29d87 Mon Sep 17 00:00:00 2001 From c9309207bda86222908004b0ccf28c2a5a613f6e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi> From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
Date: Sat, 26 May 2018 20:02:20 +0300 Date: Sat, 26 May 2018 20:02:20 +0300
Subject: [PATCH] Removed wheel signing and verifying features Subject: [PATCH] Removed wheel signing and verifying features
@ -7,14 +7,6 @@ This was discussed on the distutils-sig mailing list:
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/thread/MU2T6FRFNLRDEWSBJDRAFGDIFWCC6OIS/ https://mail.python.org/mm3/archives/list/distutils-sig@python.org/thread/MU2T6FRFNLRDEWSBJDRAFGDIFWCC6OIS/
Fixes #196. Fixes #196.
Backporter's note:
I didn't pull in the changes to the `wheel/metadata.py` file as they
seem unrelated to the signing/verifying. It looks like it's just
housekeeping after removing metadata.json generation
(https://github.com/pypa/wheel/issues/195). Since the metadata.json
generation is still present in this version, including the changes to
metadata.py would break that functionality and the test suite would fail.
--- ---
setup.py | 3 - setup.py | 3 -
tests/test_keys.py | 93 ---------- tests/test_keys.py | 93 ----------
@ -22,14 +14,15 @@ metadata.py would break that functionality and the test suite would fail.
tests/test_tool.py | 27 --- tests/test_tool.py | 27 ---
tox.ini | 5 +- tox.ini | 5 +-
wheel/bdist_wheel.py | 5 - wheel/bdist_wheel.py | 5 -
wheel/install.py | 30 +--- wheel/install.py | 29 +--
wheel/metadata.py | 3 -
wheel/signatures/__init__.py | 110 ------------ wheel/signatures/__init__.py | 110 ------------
wheel/signatures/djbec.py | 323 ---------------------------------- wheel/signatures/djbec.py | 323 ----------------------------------
wheel/signatures/ed25519py.py | 50 ------ wheel/signatures/ed25519py.py | 50 ------
wheel/signatures/keys.py | 101 ----------- wheel/signatures/keys.py | 101 -----------
wheel/tool/__init__.py | 135 +------------- wheel/tool/__init__.py | 143 +--------------
wheel/util.py | 39 ---- wheel/util.py | 41 -----
13 files changed, 10 insertions(+), 960 deletions(-) 14 files changed, 10 insertions(+), 972 deletions(-)
delete mode 100644 tests/test_keys.py delete mode 100644 tests/test_keys.py
delete mode 100644 tests/test_signatures.py delete mode 100644 tests/test_signatures.py
delete mode 100644 wheel/signatures/__init__.py delete mode 100644 wheel/signatures/__init__.py
@ -38,19 +31,19 @@ metadata.py would break that functionality and the test suite would fail.
delete mode 100644 wheel/signatures/keys.py delete mode 100644 wheel/signatures/keys.py
diff --git a/setup.py b/setup.py diff --git a/setup.py b/setup.py
index 973f873..35d76cc 100644 index 10716db..61064cd 100644
--- a/setup.py --- a/setup.py
+++ b/setup.py +++ b/setup.py
@@ -38,9 +38,6 @@ setup(name='wheel', @@ -39,9 +39,6 @@ setup(name='wheel',
license='MIT',
packages=find_packages(), packages=find_packages(),
python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
extras_require={ extras_require={
- 'signatures': ['keyring', 'keyrings.alt'], - 'signatures': ['keyring', 'keyrings.alt'],
- 'signatures:sys_platform!="win32"': ['pyxdg'], - 'signatures:sys_platform!="win32"': ['pyxdg'],
- 'faster-signatures': ['ed25519ll'], - 'faster-signatures': ['ed25519ll'],
'tool': [], 'test': ['pytest >= 3.0.0', 'pytest-cov']
'test': ['jsonschema', 'pytest >= 3.0.0', 'pytest-cov']
}, },
include_package_data=True,
diff --git a/tests/test_keys.py b/tests/test_keys.py diff --git a/tests/test_keys.py b/tests/test_keys.py
deleted file mode 100644 deleted file mode 100644
index 5c120ef..0000000 index 5c120ef..0000000
@ -257,7 +250,7 @@ index db3ac95..a19009c 100644
[testenv:flake8] [testenv:flake8]
basepython = python2.7 basepython = python2.7
diff --git a/wheel/bdist_wheel.py b/wheel/bdist_wheel.py diff --git a/wheel/bdist_wheel.py b/wheel/bdist_wheel.py
index 7fbeb4b..f0b5be6 100644 index 119e555..bb6257f 100644
--- a/wheel/bdist_wheel.py --- a/wheel/bdist_wheel.py
+++ b/wheel/bdist_wheel.py +++ b/wheel/bdist_wheel.py
@@ -7,7 +7,6 @@ A wheel is a built archive format. @@ -7,7 +7,6 @@ A wheel is a built archive format.
@ -265,10 +258,10 @@ index 7fbeb4b..f0b5be6 100644
import hashlib import hashlib
import os import os
-import subprocess -import subprocess
import warnings
import shutil import shutil
import json import sys
@@ -265,10 +264,6 @@ class bdist_wheel(Command): import re
@@ -263,10 +262,6 @@ class bdist_wheel(Command):
os.makedirs(self.dist_dir) os.makedirs(self.dist_dir)
wheel_name = archive_wheelfile(pseudoinstall_root, archive_root) wheel_name = archive_wheelfile(pseudoinstall_root, archive_root)
@ -280,26 +273,24 @@ index 7fbeb4b..f0b5be6 100644
getattr(self.distribution, 'dist_files', []).append( getattr(self.distribution, 'dist_files', []).append(
('bdist_wheel', get_python_version(), wheel_name)) ('bdist_wheel', get_python_version(), wheel_name))
diff --git a/wheel/install.py b/wheel/install.py diff --git a/wheel/install.py b/wheel/install.py
index 5a88a75..40f2507 100644 index 87f2e49..758198e 100644
--- a/wheel/install.py --- a/wheel/install.py
+++ b/wheel/install.py +++ b/wheel/install.py
@@ -12,14 +12,11 @@ import sys @@ -14,12 +14,10 @@ import sys
import warnings import warnings
import zipfile import zipfile
-from . import signatures -from . import signatures
from .decorator import reify
from .paths import get_install_paths from .paths import get_install_paths
from .pep425tags import get_supported from .pep425tags import get_supported
from .pkginfo import read_pkg_info_bytes from .pkginfo import read_pkg_info_bytes
-from .util import ( -from .util import (
- urlsafe_b64encode, from_json, urlsafe_b64decode, native, binary, HashingFile, - urlsafe_b64encode, from_json, urlsafe_b64decode, native, binary, HashingFile, open_for_csv)
- open_for_csv)
+from .util import urlsafe_b64decode, native, binary, HashingFile, open_for_csv +from .util import urlsafe_b64decode, native, binary, HashingFile, open_for_csv
try: try:
_big_number = sys.maxsize _big_number = sys.maxsize
@@ -380,38 +377,25 @@ class WheelFile(object): @@ -397,38 +395,25 @@ class WheelFile(object):
writer.writerow((self.record_name, '', '')) writer.writerow((self.record_name, '', ''))
def verify(self, zipfile=None): def verify(self, zipfile=None):
@ -335,15 +326,36 @@ index 5a88a75..40f2507 100644
- if sig: - if sig:
- headers, payload = signatures.verify(sig) - headers, payload = signatures.verify(sig)
- if payload['hash'] != "sha256=" + native(record_digest): - if payload['hash'] != "sha256=" + native(record_digest):
- msg = "RECORD.sig claimed RECORD hash {0} != computed hash {1}." - msg = "RECORD.jws claimed RECORD hash {} != computed hash {}."
- raise BadWheelFile(msg.format(payload['hash'], - raise BadWheelFile(msg.format(payload['hash'],
- native(record_digest))) - native(record_digest)))
- -
reader = csv.reader((native(r) for r in record.splitlines())) reader = csv.reader((native(r, 'utf-8') for r in record.splitlines()))
- -
for row in reader: for row in reader:
filename = row[0] filename = row[0]
hash = row[1] hash = row[1]
diff --git a/wheel/metadata.py b/wheel/metadata.py
index 6aa495b..6e59f9a 100644
--- a/wheel/metadata.py
+++ b/wheel/metadata.py
@@ -5,7 +5,6 @@ Tools for converting old- to new-style metadata.
import os.path
import re
import textwrap
-from collections import namedtuple
import pkg_resources
@@ -15,8 +14,6 @@ from .pkginfo import read_pkg_info
# in METADATA/PKG-INFO. Support its syntax with the extra at the end only.
EXTRA_RE = re.compile("""^(?P<package>.*?)(;\s*(?P<condition>.*?)(extra == '(?P<extra>.*?)')?)$""")
-MayRequiresKey = namedtuple('MayRequiresKey', ('condition', 'extra'))
-
def requires_to_requires_dist(requirement):
"""Compose the version predicates for requirement in PEP 345 fashion."""
diff --git a/wheel/signatures/__init__.py b/wheel/signatures/__init__.py diff --git a/wheel/signatures/__init__.py b/wheel/signatures/__init__.py
deleted file mode 100644 deleted file mode 100644
index e7a5331..0000000 index e7a5331..0000000
@ -462,16 +474,16 @@ index e7a5331..0000000
- raise RuntimeError("No error from bad wheel.signatures payload.") - raise RuntimeError("No error from bad wheel.signatures payload.")
diff --git a/wheel/signatures/djbec.py b/wheel/signatures/djbec.py diff --git a/wheel/signatures/djbec.py b/wheel/signatures/djbec.py
deleted file mode 100644 deleted file mode 100644
index 87f72d4..0000000 index e9b3115..0000000
--- a/wheel/signatures/djbec.py --- a/wheel/signatures/djbec.py
+++ /dev/null +++ /dev/null
@@ -1,323 +0,0 @@ @@ -1,323 +0,0 @@
-# Ed25519 digital signatures -# Ed25519 digital signatures
-# Based on http://ed25519.cr.yp.to/python/ed25519.py -# Based on https://ed25519.cr.yp.to/python/ed25519.py
-# See also http://ed25519.cr.yp.to/software.html -# See also https://ed25519.cr.yp.to/software.html
-# Adapted by Ron Garret -# Adapted by Ron Garret
-# Sped up considerably using coordinate transforms found on: -# Sped up considerably using coordinate transforms found on:
-# http://www.hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html -# https://www.hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
-# Specifically add-2008-hwcd-4 and dbl-2008-hwcd -# Specifically add-2008-hwcd-4 and dbl-2008-hwcd
- -
-import hashlib -import hashlib
@ -502,7 +514,7 @@ index 87f72d4..0000000
- -
-b = 256 -b = 256
-q = 2 ** 255 - 19 -q = 2 ** 255 - 19
-l = 2 ** 252 + 27742317777372353535851937790883648493 -l = 2 ** 252 + 27742317777372353535851937790883648493 # noqa: E741
- -
- -
-def H(m): -def H(m):
@ -527,7 +539,7 @@ index 87f72d4..0000000
- -
- -
-d = -121665 * inv(121666) -d = -121665 * inv(121666)
-I = expmod(2, (q - 1) // 4, q) -I = expmod(2, (q - 1) // 4, q) # noqa: E741
- -
- -
-def xrecover(y): -def xrecover(y):
@ -564,7 +576,7 @@ index 87f72d4..0000000
-# return Q -# return Q
- -
-# Faster (!) version based on: -# Faster (!) version based on:
-# http://www.hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html -# https://www.hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
- -
-def xpt_add(pt1, pt2): -def xpt_add(pt1, pt2):
- (X1, Y1, Z1, T1) = pt1 - (X1, Y1, Z1, T1) = pt1
@ -704,7 +716,7 @@ index 87f72d4..0000000
-########################################################## -##########################################################
-# -#
-# Curve25519 reference implementation by Matthew Dempsky, from: -# Curve25519 reference implementation by Matthew Dempsky, from:
-# http://cr.yp.to/highspeed/naclcrypto-20090310.pdf -# https://cr.yp.to/highspeed/naclcrypto-20090310.pdf
- -
-# P = 2 ** 255 - 19 -# P = 2 ** 255 - 19
-P = q -P = q
@ -953,11 +965,11 @@ index eb5d4ac..0000000
- """Remember verifying key vk as being valid for signing in scope.""" - """Remember verifying key vk as being valid for signing in scope."""
- self.data['signers'].append({'scope': scope, 'vk': vk}) - self.data['signers'].append({'scope': scope, 'vk': vk})
diff --git a/wheel/tool/__init__.py b/wheel/tool/__init__.py diff --git a/wheel/tool/__init__.py b/wheel/tool/__init__.py
index d6b9893..7e4f55a 100644 index 36292dc..9cbdc08 100644
--- a/wheel/tool/__init__.py --- a/wheel/tool/__init__.py
+++ b/wheel/tool/__init__.py +++ b/wheel/tool/__init__.py
@@ -3,16 +3,13 @@ Wheel command-line utility. @@ -5,16 +5,13 @@ Wheel command-line utility.
""" from __future__ import print_function
import argparse import argparse
-import hashlib -import hashlib
@ -975,7 +987,7 @@ index d6b9893..7e4f55a 100644
def require_pkgresources(name): def require_pkgresources(name):
@@ -26,111 +23,6 @@ class WheelError(Exception): @@ -28,119 +25,6 @@ class WheelError(Exception):
pass pass
@ -992,8 +1004,14 @@ index d6b9893..7e4f55a 100644
- return keys.WheelKeys, keyring - return keys.WheelKeys, keyring
- -
- -
-def warn_signatures():
- print('WARNING: The wheel signing and signature verification commands have been deprecated '
- 'and will be removed before the v1.0.0 release.', file=sys.stderr)
-
-
-def keygen(get_keyring=get_keyring): -def keygen(get_keyring=get_keyring):
- """Generate a public/private key pair.""" - """Generate a public/private key pair."""
- warn_signatures()
- WheelKeys, keyring = get_keyring() - WheelKeys, keyring = get_keyring()
- -
- ed25519ll = signatures.get_ed25519ll() - ed25519ll = signatures.get_ed25519ll()
@ -1005,14 +1023,14 @@ index d6b9893..7e4f55a 100644
- sk = native(urlsafe_b64encode(keypair.sk)) - sk = native(urlsafe_b64encode(keypair.sk))
- kr = keyring.get_keyring() - kr = keyring.get_keyring()
- kr.set_password("wheel", vk, sk) - kr.set_password("wheel", vk, sk)
- sys.stdout.write("Created Ed25519 keypair with vk={0}\n".format(vk)) - print("Created Ed25519 keypair with vk={}".format(vk))
- sys.stdout.write("in {0!r}\n".format(kr)) - print("in {!r}".format(kr))
- -
- sk2 = kr.get_password('wheel', vk) - sk2 = kr.get_password('wheel', vk)
- if sk2 != sk: - if sk2 != sk:
- raise WheelError("Keyring is broken. Could not retrieve secret key.") - raise WheelError("Keyring is broken. Could not retrieve secret key.")
- -
- sys.stdout.write("Trusting {0} to sign and verify all packages.\n".format(vk)) - print("Trusting {} to sign and verify all packages.".format(vk))
- wk.add_signer('+', vk) - wk.add_signer('+', vk)
- wk.trust('+', vk) - wk.trust('+', vk)
- wk.save() - wk.save()
@ -1020,6 +1038,7 @@ index d6b9893..7e4f55a 100644
- -
-def sign(wheelfile, replace=False, get_keyring=get_keyring): -def sign(wheelfile, replace=False, get_keyring=get_keyring):
- """Sign a wheel""" - """Sign a wheel"""
- warn_signatures()
- WheelKeys, keyring = get_keyring() - WheelKeys, keyring = get_keyring()
- -
- ed25519ll = signatures.get_ed25519ll() - ed25519ll = signatures.get_ed25519ll()
@ -1029,7 +1048,7 @@ index d6b9893..7e4f55a 100644
- -
- name = wf.parsed_filename.group('name') - name = wf.parsed_filename.group('name')
- sign_with = wk.signers(name)[0] - sign_with = wk.signers(name)[0]
- sys.stdout.write("Signing {0} with {1}\n".format(name, sign_with[1])) - print("Signing {} with {}".format(name, sign_with[1]))
- -
- vk = sign_with[1] - vk = sign_with[1]
- kr = keyring.get_keyring() - kr = keyring.get_keyring()
@ -1056,6 +1075,7 @@ index d6b9893..7e4f55a 100644
- ordinary archive, with the compressed files and the directory in the same - ordinary archive, with the compressed files and the directory in the same
- order, and without any non-zip content after the truncation point. - order, and without any non-zip content after the truncation point.
- """ - """
- warn_signatures()
- vzf = VerifyingZipFile(wheelfile, "a") - vzf = VerifyingZipFile(wheelfile, "a")
- info = vzf.infolist() - info = vzf.infolist()
- if not (len(info) and info[-1].filename.endswith('/RECORD.jws')): - if not (len(info) and info[-1].filename.endswith('/RECORD.jws')):
@ -1071,6 +1091,7 @@ index d6b9893..7e4f55a 100644
- Wheel's own unpack/install commands verify the manifest against the - Wheel's own unpack/install commands verify the manifest against the
- signature and file contents. - signature and file contents.
- """ - """
- warn_signatures()
- wf = WheelFile(wheelfile) - wf = WheelFile(wheelfile)
- sig_name = wf.distinfo_name + '/RECORD.jws' - sig_name = wf.distinfo_name + '/RECORD.jws'
- try: - try:
@ -1079,15 +1100,14 @@ index d6b9893..7e4f55a 100644
- raise WheelError('The wheel is not signed (RECORD.jws not found at end of the archive).') - raise WheelError('The wheel is not signed (RECORD.jws not found at end of the archive).')
- -
- verified = signatures.verify(sig) - verified = signatures.verify(sig)
- sys.stderr.write("Signatures are internally consistent.\n") - print("Signatures are internally consistent.", file=sys.stderr)
- sys.stdout.write(json.dumps(verified, indent=2)) - print(json.dumps(verified, indent=2))
- sys.stdout.write('\n')
- -
- -
def unpack(wheelfile, dest='.'): def unpack(wheelfile, dest='.'):
"""Unpack a wheel. """Unpack a wheel.
@@ -278,29 +170,6 @@ def parser(): @@ -288,29 +172,6 @@ def parser():
p = argparse.ArgumentParser() p = argparse.ArgumentParser()
s = p.add_subparsers(help="commands") s = p.add_subparsers(help="commands")
@ -1118,18 +1138,19 @@ index d6b9893..7e4f55a 100644
unpack(args.wheelfile, args.dest) unpack(args.wheelfile, args.dest)
unpack_parser = s.add_parser('unpack', help='Unpack wheel') unpack_parser = s.add_parser('unpack', help='Unpack wheel')
diff --git a/wheel/util.py b/wheel/util.py diff --git a/wheel/util.py b/wheel/util.py
index c58d108..8f16c00 100644 index 71802bf..a4f990a 100644
--- a/wheel/util.py --- a/wheel/util.py
+++ b/wheel/util.py +++ b/wheel/util.py
@@ -3,7 +3,6 @@ @@ -1,17 +1,12 @@
-"""Utility functions."""
-
import base64 import base64
import hashlib import hashlib
import json import json
-import os -import os
import sys import sys
from collections import OrderedDict
@@ -11,8 +10,6 @@ __all__ = ['urlsafe_b64encode', 'urlsafe_b64decode', 'utf8', __all__ = ['urlsafe_b64encode', 'urlsafe_b64decode', 'utf8',
'to_json', 'from_json', 'matches_requirement'] 'to_json', 'from_json', 'matches_requirement']
@ -1138,15 +1159,15 @@ index c58d108..8f16c00 100644
if sys.version_info[0] < 3: if sys.version_info[0] < 3:
text_type = unicode # noqa: F821 text_type = unicode # noqa: F821
@@ -118,42 +115,6 @@ class OrderedDefaultDict(OrderedDict): @@ -98,42 +93,6 @@ class HashingFile(object):
return default self.fd.close()
-if sys.platform == 'win32': -if sys.platform == 'win32':
- import ctypes.wintypes - import ctypes.wintypes
- # CSIDL_APPDATA for reference - not used here for compatibility with - # CSIDL_APPDATA for reference - not used here for compatibility with
- # dirspec, which uses LOCAL_APPDATA and COMMON_APPDATA in that order - # dirspec, which uses LOCAL_APPDATA and COMMON_APPDATA in that order
- csidl = dict(CSIDL_APPDATA=26, CSIDL_LOCAL_APPDATA=28, CSIDL_COMMON_APPDATA=35) - csidl = {'CSIDL_APPDATA': 26, 'CSIDL_LOCAL_APPDATA': 28, 'CSIDL_COMMON_APPDATA': 35}
- -
- def get_path(name): - def get_path(name):
- SHGFP_TYPE_CURRENT = 0 - SHGFP_TYPE_CURRENT = 0

View File

@ -1,26 +1,32 @@
# Note that the only function of bootstrap is that it disables the test suite:
# bcond_with bootstrap = tests enabled
%bcond_without bootstrap
# Note(hguemar): EL7 has no python3 stack but EPEL does
%if 0%{?rhel} && 0%{?rhel} <= 7 && 0%{!?epel:1}
%define _without_python3 1
%endif
%if 0%{?_with_python27_module} %if 0%{?_with_python27_module}
%undefine _without_python3 %undefine _without_python3
%endif %endif
# Note that the function of bootstrap is that it disables the test suite and whl
# bcond_with bootstrap = tests enabled, package with whl created
%bcond_with bootstrap
%bcond_with python36_module %bcond_with python36_module
%bcond_without python2 %bcond_with python2
%bcond_without python3 %bcond_without python3
%global pypi_name wheel %global pypi_name wheel
%global python_wheelname %{pypi_name}-%{version}-py2.py3-none-any.whl
%if %{with python2}
%global python2_wheeldir %{_datadir}/python2-wheels
%global python2_wheelname %python_wheelname
%endif # with python2
%if %{with python3}
%global python3_wheeldir %{_datadir}/python3-wheels
%global python3_wheelname %python_wheelname
%endif # with python3
Name: python-%{pypi_name} Name: python-%{pypi_name}
Version: 0.30.0 Version: 0.31.1
Release: 15%{?dist} Release: 2%{?dist}
Epoch: 1 Epoch: 1
Summary: Built-package format for Python Summary: Built-package format for Python
@ -30,7 +36,7 @@ Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz
BuildArch: noarch BuildArch: noarch
# We need to remove wheel's own implementation of crypto due to FIPS concerns. # We need to remove wheel's own implementation of crypto due to FIPS concerns.
# See more: https://bugzilla.redhat.com/show_bug.cgi?id=1732325 # See more: https://bugzilla.redhat.com/show_bug.cgi?id=1731526
# Upstream commit: https://github.com/pypa/wheel/commit/d3f5918ccbb1c79e2fc42b7766626a0aa20dc438 # Upstream commit: https://github.com/pypa/wheel/commit/d3f5918ccbb1c79e2fc42b7766626a0aa20dc438
Patch0: removed-wheel-signing-and-verifying-features.patch Patch0: removed-wheel-signing-and-verifying-features.patch
@ -56,7 +62,7 @@ BuildRequires: python2-pytest
%description -n python2-%{pypi_name} %{_description} %description -n python2-%{pypi_name} %{_description}
Python 2 version. Python 2 version.
%endif %endif # with python2
%if %{with python3} %if %{with python3}
@ -69,9 +75,9 @@ BuildRequires: python36-rpm-macros
BuildRequires: python3-devel BuildRequires: python3-devel
%endif %endif
BuildRequires: python3-setuptools BuildRequires: python3-setuptools
%if ! %{with bootstrap} %if %{without bootstrap}
BuildRequires: python3-pytest BuildRequires: python3-pytest
%endif %endif # without bootstrap
# For alternatives # For alternatives
Requires: python36 Requires: python36
Requires(post): python36 Requires(post): python36
@ -81,6 +87,26 @@ Requires(postun): python36
%description -n python3-%{pypi_name} %{_description} %description -n python3-%{pypi_name} %{_description}
Python 3 version. Python 3 version.
%endif # with python3
%if %{without bootstrap}
%if %{with python2}
%package -n python2-%{pypi_name}-wheel
Summary: The Python wheel module packaged as a wheel
%description -n python2-%{pypi_name}-wheel
A Python wheel of wheel to use with virtualenv.
%endif
%if %{with python3}
%package -n python3-%{pypi_name}-wheel
Summary: The Python wheel module packaged as a wheel
%description -n python3-%{pypi_name}-wheel
A Python wheel of wheel to use with virtualenv.
%endif
%endif %endif
@ -94,10 +120,20 @@ sed -ie '1d' %{pypi_name}/{egg2wheel,wininst2wheel}.py
%if %{with python2} %if %{with python2}
export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 export RHEL_ALLOW_PYTHON2_FOR_BUILD=1
%py2_build %py2_build
%endif
%if %{without bootstrap}
%py2_build_wheel
%endif # without bootstrap
%endif # with python2
%if %{with python3} %if %{with python3}
%py3_build %py3_build
%endif
%if %{without bootstrap}
%py3_build_wheel
%endif # without bootstrap
%endif # with python3
%install %install
@ -115,21 +151,33 @@ mv %{buildroot}%{_bindir}/%{pypi_name}{,-%{python2_version}}
ln -s %{pypi_name}-%{python2_version} %{buildroot}%{_bindir}/%{pypi_name}-2 ln -s %{pypi_name}-%{python2_version} %{buildroot}%{_bindir}/%{pypi_name}-2
%endif %endif
%if ! %{with bootstrap} %if %{without bootstrap}
%if %{with python2}
mkdir -p %{buildroot}%{python2_wheeldir}
install -p dist/%{python2_wheelname} -t %{buildroot}%{python2_wheeldir}
%endif
%if %{with python3}
mkdir -p %{buildroot}%{python3_wheeldir}
install -p dist/%{python3_wheelname} -t %{buildroot}%{python3_wheeldir}
%endif
%check %check
rm setup.cfg rm setup.cfg
# Remove part of the test that uses the "jsonschema" package # Remove part of the test that uses the "jsonschema" package
sed -i '/jsonschema/d' tests/test_bdist_wheel.py sed -i '/jsonschema/d' tests/test_bdist_wheel.py
export LC_ALL=C.UTF-8
%if %{with python2} %if %{with python2}
export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 export RHEL_ALLOW_PYTHON2_FOR_BUILD=1
PYTHONPATH=%{buildroot}%{python2_sitelib} py.test-2 -v --ignore build PYTHONPATH=%{buildroot}%{python2_sitelib} py.test-2 -v --ignore build
%endif %endif # with python2
%if %{with python3} %if %{with python3}
PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-3 -v --ignore build PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-3 -v --ignore build
%endif %endif # with python3
%endif %endif # without bootstrap
%if %{with python3} %if %{with python3}
@ -166,18 +214,42 @@ fi
%{python3_sitelib}/%{pypi_name}* %{python3_sitelib}/%{pypi_name}*
%endif %endif
%if %{without bootstrap}
%if %{with python2}
%files -n python2-%{pypi_name}-wheel
%license LICENSE.txt
# we own the dir for simplicity
%dir %{python2_wheeldir}/
%{python2_wheeldir}/%{python2_wheelname}
%endif
%if %{with python3}
%files -n python3-%{pypi_name}-wheel
%license LICENSE.txt
# we own the dir for simplicity
%dir %{python3_wheeldir}/
%{python3_wheeldir}/%{python3_wheelname}
%endif
%endif
%changelog %changelog
* Tue Aug 06 2019 Tomas Orsava <torsava@redhat.com> - 1:0.30.0-15 * Mon Jul 22 2019 Tomas Orsava <torsava@redhat.com> - 1:0.31.1-2
- Fixed Patch0, which previously broken the metadata.json file generation
Resolves: rhbz#1732325 rhbz#1732326
* Thu Jul 25 2019 Tomas Orsava <torsava@redhat.com> - 1:0.30.0-14
- Removed wheel's own implementation of crypto due to FIPS concerns - Removed wheel's own implementation of crypto due to FIPS concerns
Resolves: rhbz#1732325 rhbz#1732326 Resolves: rhbz#1731526
* Wed Apr 03 2019 Tomas Orsava <torsava@redhat.com> - 1:0.30.0-13 * Fri Jun 21 2019 Charalampos Stratakis <cstratak@redhat.com> - 1:0.31.1-1
- Bumping due to problems with modular RPM upgrade path (#1695587) - Update to 0.31.1
- Related: rhbz#1693974 Resolves: rhbz#1671681
* Thu Jun 20 2019 Miro Hrončok <mhroncok@redhat.com> - 1:0.30.0-14
- Create python{2,3}-wheel-wheel packages with the wheel of wheel
Resolves: rhbz#1659550
* Thu Apr 25 2019 Tomas Orsava <torsava@redhat.com> - 1:0.30.0-13
- Bumping due to problems with modular RPM upgrade path
- Resolves: rhbz#1695587
* Thu Oct 04 2018 Lumír Balhar <lbalhar@redhat.com> - 1:0.30.0-12 * Thu Oct 04 2018 Lumír Balhar <lbalhar@redhat.com> - 1:0.30.0-12
- Fix alternatives - post and postun sections only with python3 - Fix alternatives - post and postun sections only with python3