import python2-setuptools-39.0.1-12.module+el8.3.0+7075+8484f0d0
This commit is contained in:
parent
9a2903dd3f
commit
8eebcc8006
354
SOURCES/fix-wheel-tests-compatibility.patch
Normal file
354
SOURCES/fix-wheel-tests-compatibility.patch
Normal file
@ -0,0 +1,354 @@
|
||||
diff --git a/setuptools/tests/test_wheel.py b/setuptools/tests/test_wheel.py
|
||||
index b6be6f1f0..150ac4c1b 100644
|
||||
--- a/setuptools/tests/test_wheel.py
|
||||
+++ b/setuptools/tests/test_wheel.py
|
||||
@@ -92,39 +92,49 @@ def build_wheel(extra_file_defs=None, **kwargs):
|
||||
yield glob.glob(os.path.join(source_dir, 'dist', '*.whl'))[0]
|
||||
|
||||
|
||||
-def tree(root):
|
||||
- def depth(path):
|
||||
- return len(path.split(os.path.sep))
|
||||
- def prefix(path_depth):
|
||||
- if not path_depth:
|
||||
- return ''
|
||||
- return '| ' * (path_depth - 1) + '|-- '
|
||||
- lines = []
|
||||
- root_depth = depth(root)
|
||||
+def tree_set(root):
|
||||
+ contents = set()
|
||||
for dirpath, dirnames, filenames in os.walk(root):
|
||||
- dirnames.sort()
|
||||
- filenames.sort()
|
||||
- dir_depth = depth(dirpath) - root_depth
|
||||
- if dir_depth > 0:
|
||||
- lines.append('%s%s/' % (prefix(dir_depth - 1),
|
||||
- os.path.basename(dirpath)))
|
||||
- for f in filenames:
|
||||
- lines.append('%s%s' % (prefix(dir_depth), f))
|
||||
- return '\n'.join(lines) + '\n'
|
||||
-
|
||||
-
|
||||
-def _check_wheel_install(filename, install_dir, install_tree,
|
||||
+ for filename in filenames:
|
||||
+ contents.add(os.path.join(os.path.relpath(dirpath, root),
|
||||
+ filename))
|
||||
+ return contents
|
||||
+
|
||||
+
|
||||
+def flatten_tree(tree):
|
||||
+ """Flatten nested dicts and lists into a full list of paths"""
|
||||
+ output = set()
|
||||
+ for node, contents in tree.items():
|
||||
+ if isinstance(contents, dict):
|
||||
+ contents = flatten_tree(contents)
|
||||
+
|
||||
+ for elem in contents:
|
||||
+ if isinstance(elem, dict):
|
||||
+ output |= {os.path.join(node, val)
|
||||
+ for val in flatten_tree(elem)}
|
||||
+ else:
|
||||
+ output.add(os.path.join(node, elem))
|
||||
+ return output
|
||||
+
|
||||
+
|
||||
+def format_install_tree(tree):
|
||||
+ return {x.format(
|
||||
+ py_version=PY_MAJOR,
|
||||
+ platform=get_platform(),
|
||||
+ shlib_ext=get_config_var('EXT_SUFFIX') or get_config_var('SO'))
|
||||
+ for x in tree}
|
||||
+
|
||||
+
|
||||
+def _check_wheel_install(filename, install_dir, install_tree_includes,
|
||||
project_name, version, requires_txt):
|
||||
w = Wheel(filename)
|
||||
egg_path = os.path.join(install_dir, w.egg_name())
|
||||
w.install_as_egg(egg_path)
|
||||
- if install_tree is not None:
|
||||
- install_tree = install_tree.format(
|
||||
- py_version=PY_MAJOR,
|
||||
- platform=get_platform(),
|
||||
- shlib_ext=get_config_var('EXT_SUFFIX') or get_config_var('SO')
|
||||
- )
|
||||
- assert install_tree == tree(install_dir)
|
||||
+ if install_tree_includes is not None:
|
||||
+ install_tree = format_install_tree(install_tree_includes)
|
||||
+ exp = tree_set(install_dir)
|
||||
+ assert install_tree.issubset(exp), (install_tree - exp)
|
||||
+
|
||||
metadata = PathMetadata(egg_path, os.path.join(egg_path, 'EGG-INFO'))
|
||||
dist = Distribution.from_filename(egg_path, metadata=metadata)
|
||||
assert dist.project_name == project_name
|
||||
@@ -157,20 +167,17 @@ def __repr__(self):
|
||||
setup_kwargs=dict(
|
||||
packages=['foo'],
|
||||
),
|
||||
- install_tree=DALS(
|
||||
- '''
|
||||
- foo-1.0-py{py_version}.egg/
|
||||
- |-- EGG-INFO/
|
||||
- | |-- DESCRIPTION.rst
|
||||
- | |-- PKG-INFO
|
||||
- | |-- RECORD
|
||||
- | |-- WHEEL
|
||||
- | |-- metadata.json
|
||||
- | |-- top_level.txt
|
||||
- |-- foo/
|
||||
- | |-- __init__.py
|
||||
- '''
|
||||
- ),
|
||||
+ install_tree=flatten_tree({
|
||||
+ 'foo-1.0-py{py_version}.egg': {
|
||||
+ 'EGG-INFO': [
|
||||
+ 'PKG-INFO',
|
||||
+ 'RECORD',
|
||||
+ 'WHEEL',
|
||||
+ 'top_level.txt'
|
||||
+ ],
|
||||
+ 'foo': ['__init__.py']
|
||||
+ }
|
||||
+ }),
|
||||
),
|
||||
|
||||
dict(
|
||||
@@ -192,20 +199,19 @@ def __repr__(self):
|
||||
setup_kwargs=dict(
|
||||
data_files=[('data_dir', ['data.txt'])],
|
||||
),
|
||||
- install_tree=DALS(
|
||||
- '''
|
||||
- foo-1.0-py{py_version}.egg/
|
||||
- |-- EGG-INFO/
|
||||
- | |-- DESCRIPTION.rst
|
||||
- | |-- PKG-INFO
|
||||
- | |-- RECORD
|
||||
- | |-- WHEEL
|
||||
- | |-- metadata.json
|
||||
- | |-- top_level.txt
|
||||
- |-- data_dir/
|
||||
- | |-- data.txt
|
||||
- '''
|
||||
- ),
|
||||
+ install_tree=flatten_tree({
|
||||
+ 'foo-1.0-py{py_version}.egg': {
|
||||
+ 'EGG-INFO': [
|
||||
+ 'PKG-INFO',
|
||||
+ 'RECORD',
|
||||
+ 'WHEEL',
|
||||
+ 'top_level.txt'
|
||||
+ ],
|
||||
+ 'data_dir': [
|
||||
+ 'data.txt'
|
||||
+ ]
|
||||
+ }
|
||||
+ }),
|
||||
),
|
||||
|
||||
dict(
|
||||
@@ -262,19 +268,17 @@ def __repr__(self):
|
||||
sources=['extension.c'])
|
||||
],
|
||||
),
|
||||
- install_tree=DALS(
|
||||
- '''
|
||||
- foo-1.0-py{py_version}-{platform}.egg/
|
||||
- |-- extension{shlib_ext}
|
||||
- |-- EGG-INFO/
|
||||
- | |-- DESCRIPTION.rst
|
||||
- | |-- PKG-INFO
|
||||
- | |-- RECORD
|
||||
- | |-- WHEEL
|
||||
- | |-- metadata.json
|
||||
- | |-- top_level.txt
|
||||
- '''
|
||||
- ),
|
||||
+ install_tree=flatten_tree({
|
||||
+ 'foo-1.0-py{py_version}-{platform}.egg': [
|
||||
+ 'extension{shlib_ext}',
|
||||
+ {'EGG-INFO': [
|
||||
+ 'PKG-INFO',
|
||||
+ 'RECORD',
|
||||
+ 'WHEEL',
|
||||
+ 'top_level.txt',
|
||||
+ ]},
|
||||
+ ]
|
||||
+ }),
|
||||
),
|
||||
|
||||
dict(
|
||||
@@ -288,19 +292,17 @@ def __repr__(self):
|
||||
setup_kwargs=dict(
|
||||
headers=['header.h'],
|
||||
),
|
||||
- install_tree=DALS(
|
||||
- '''
|
||||
- foo-1.0-py{py_version}.egg/
|
||||
- |-- header.h
|
||||
- |-- EGG-INFO/
|
||||
- | |-- DESCRIPTION.rst
|
||||
- | |-- PKG-INFO
|
||||
- | |-- RECORD
|
||||
- | |-- WHEEL
|
||||
- | |-- metadata.json
|
||||
- | |-- top_level.txt
|
||||
- '''
|
||||
- ),
|
||||
+ install_tree=flatten_tree({
|
||||
+ 'foo-1.0-py{py_version}.egg': [
|
||||
+ 'header.h',
|
||||
+ {'EGG-INFO': [
|
||||
+ 'PKG-INFO',
|
||||
+ 'RECORD',
|
||||
+ 'WHEEL',
|
||||
+ 'top_level.txt',
|
||||
+ ]},
|
||||
+ ]
|
||||
+ }),
|
||||
),
|
||||
|
||||
dict(
|
||||
@@ -322,38 +324,37 @@ def __repr__(self):
|
||||
setup_kwargs=dict(
|
||||
scripts=['script.py', 'script.sh'],
|
||||
),
|
||||
- install_tree=DALS(
|
||||
- '''
|
||||
- foo-1.0-py{py_version}.egg/
|
||||
- |-- EGG-INFO/
|
||||
- | |-- DESCRIPTION.rst
|
||||
- | |-- PKG-INFO
|
||||
- | |-- RECORD
|
||||
- | |-- WHEEL
|
||||
- | |-- metadata.json
|
||||
- | |-- top_level.txt
|
||||
- | |-- scripts/
|
||||
- | | |-- script.py
|
||||
- | | |-- script.sh
|
||||
- '''
|
||||
- ),
|
||||
+ install_tree=flatten_tree({
|
||||
+ 'foo-1.0-py{py_version}.egg': {
|
||||
+ 'EGG-INFO': [
|
||||
+ 'PKG-INFO',
|
||||
+ 'RECORD',
|
||||
+ 'WHEEL',
|
||||
+ 'top_level.txt',
|
||||
+ {'scripts': [
|
||||
+ 'script.py',
|
||||
+ 'script.sh'
|
||||
+ ]}
|
||||
+
|
||||
+ ]
|
||||
+ }
|
||||
+ })
|
||||
),
|
||||
|
||||
dict(
|
||||
id='requires1',
|
||||
install_requires='foobar==2.0',
|
||||
- install_tree=DALS(
|
||||
- '''
|
||||
- foo-1.0-py{py_version}.egg/
|
||||
- |-- EGG-INFO/
|
||||
- | |-- DESCRIPTION.rst
|
||||
- | |-- PKG-INFO
|
||||
- | |-- RECORD
|
||||
- | |-- WHEEL
|
||||
- | |-- metadata.json
|
||||
- | |-- requires.txt
|
||||
- | |-- top_level.txt
|
||||
- '''),
|
||||
+ install_tree=flatten_tree({
|
||||
+ 'foo-1.0-py{py_version}.egg': {
|
||||
+ 'EGG-INFO': [
|
||||
+ 'PKG-INFO',
|
||||
+ 'RECORD',
|
||||
+ 'WHEEL',
|
||||
+ 'requires.txt',
|
||||
+ 'top_level.txt',
|
||||
+ ]
|
||||
+ }
|
||||
+ }),
|
||||
requires_txt=DALS(
|
||||
'''
|
||||
foobar==2.0
|
||||
@@ -425,23 +426,22 @@ def __repr__(self):
|
||||
namespace_packages=['foo'],
|
||||
packages=['foo.bar'],
|
||||
),
|
||||
- install_tree=DALS(
|
||||
- '''
|
||||
- foo-1.0-py{py_version}.egg/
|
||||
- |-- foo-1.0-py{py_version}-nspkg.pth
|
||||
- |-- EGG-INFO/
|
||||
- | |-- DESCRIPTION.rst
|
||||
- | |-- PKG-INFO
|
||||
- | |-- RECORD
|
||||
- | |-- WHEEL
|
||||
- | |-- metadata.json
|
||||
- | |-- namespace_packages.txt
|
||||
- | |-- top_level.txt
|
||||
- |-- foo/
|
||||
- | |-- __init__.py
|
||||
- | |-- bar/
|
||||
- | | |-- __init__.py
|
||||
- '''),
|
||||
+ install_tree=flatten_tree({
|
||||
+ 'foo-1.0-py{py_version}.egg': [
|
||||
+ 'foo-1.0-py{py_version}-nspkg.pth',
|
||||
+ {'EGG-INFO': [
|
||||
+ 'PKG-INFO',
|
||||
+ 'RECORD',
|
||||
+ 'WHEEL',
|
||||
+ 'namespace_packages.txt',
|
||||
+ 'top_level.txt',
|
||||
+ ]},
|
||||
+ {'foo': [
|
||||
+ '__init__.py',
|
||||
+ {'bar': ['__init__.py']},
|
||||
+ ]},
|
||||
+ ]
|
||||
+ }),
|
||||
),
|
||||
|
||||
dict(
|
||||
@@ -462,22 +462,22 @@ def __repr__(self):
|
||||
packages=['foo'],
|
||||
data_files=[('foo/data_dir', ['foo/data_dir/data.txt'])],
|
||||
),
|
||||
- install_tree=DALS(
|
||||
- '''
|
||||
- foo-1.0-py{py_version}.egg/
|
||||
- |-- EGG-INFO/
|
||||
- | |-- DESCRIPTION.rst
|
||||
- | |-- PKG-INFO
|
||||
- | |-- RECORD
|
||||
- | |-- WHEEL
|
||||
- | |-- metadata.json
|
||||
- | |-- top_level.txt
|
||||
- |-- foo/
|
||||
- | |-- __init__.py
|
||||
- | |-- data_dir/
|
||||
- | | |-- data.txt
|
||||
- '''
|
||||
- ),
|
||||
+ install_tree=flatten_tree({
|
||||
+ 'foo-1.0-py{py_version}.egg': {
|
||||
+ 'EGG-INFO': [
|
||||
+ 'PKG-INFO',
|
||||
+ 'RECORD',
|
||||
+ 'WHEEL',
|
||||
+ 'top_level.txt',
|
||||
+ ],
|
||||
+ 'foo': [
|
||||
+ '__init__.py',
|
||||
+ {'data_dir': [
|
||||
+ 'data.txt',
|
||||
+ ]}
|
||||
+ ]
|
||||
+ }
|
||||
+ }),
|
||||
),
|
||||
|
||||
)
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
Name: python2-setuptools
|
||||
Version: 39.0.1
|
||||
Release: 11%{?dist}
|
||||
Release: 12%{?dist}
|
||||
Summary: Easily build and distribute Python packages
|
||||
|
||||
Group: Applications/System
|
||||
@ -35,6 +35,10 @@ Source0: https://files.pythonhosted.org/packages/source/s/%{srcname}/%{sr
|
||||
# within koji, so we mark them as expected failures.
|
||||
Patch0: skip-internet-requiring-tests.patch
|
||||
|
||||
# Make the wheel tests compatible with the latest wheel
|
||||
# Resolved upstream: https://github.com/pypa/setuptools/pull/1319/
|
||||
Patch1: fix-wheel-tests-compatibility.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: gcc
|
||||
@ -101,6 +105,7 @@ rm -f setuptools/*.exe
|
||||
rm setuptools/tests/test_integration.py
|
||||
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
%if %{with python2}
|
||||
@ -190,6 +195,10 @@ PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=$(pwd) py.test-%{python2_version} --ignore=
|
||||
%endif #with bootstrap
|
||||
|
||||
%changelog
|
||||
* Wed Jun 17 2020 Charalampos Stratakis <cstratak@redhat.com> - 39.0.1-12
|
||||
- Fix wheel tests compatibility with the latest wheel package
|
||||
- Resolves: rhbz#1756039
|
||||
|
||||
* Tue Jun 18 2019 Petr Viktorin <pviktori@redhat.com> - 39.0.1-12
|
||||
- Add subpackages with wheels
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user