diff --git a/.gitignore b/.gitignore index 4b13ca0..979511a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/setuptools-39.2.0.zip +setuptools-69.0.3.tar.gz diff --git a/.python-setuptools.metadata b/.python-setuptools.metadata deleted file mode 100644 index befc16c..0000000 --- a/.python-setuptools.metadata +++ /dev/null @@ -1 +0,0 @@ -83e75ec6b04423735e0a9a384b465c68f5206bcf SOURCES/setuptools-39.2.0.zip diff --git a/Adjust-the-setup.py-install-deprecation-message.patch b/Adjust-the-setup.py-install-deprecation-message.patch new file mode 100644 index 0000000..62e5c56 --- /dev/null +++ b/Adjust-the-setup.py-install-deprecation-message.patch @@ -0,0 +1,41 @@ +From 58f33f0aef5b137287e6f425b922a03123735a77 Mon Sep 17 00:00:00 2001 +From: Lumir Balhar +Date: Wed, 20 Sep 2023 17:18:47 +0200 +Subject: [PATCH] Adjust the setup.py install deprecation message and URL + +But only when building RPM packages. +--- + setuptools/command/install.py | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/setuptools/command/install.py b/setuptools/command/install.py +index 606cce9..0af1631 100644 +--- a/setuptools/command/install.py ++++ b/setuptools/command/install.py +@@ -1,6 +1,7 @@ + from distutils.errors import DistutilsArgError + import inspect + import glob ++import os + import platform + import distutils.command.install as orig + +@@ -40,8 +41,13 @@ class install(orig.install): + Please avoid running ``setup.py`` directly. + Instead, use pypa/build, pypa/installer or other + standards-based tools. +- """, +- see_url="https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html", ++ """ ++ + (""" ++ Follow the current Python packaging guidelines when building ++ Python RPM packages. ++ """ if "RPM_BUILD_ROOT" in os.environ else ""), ++ see_url=("https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" + ++ ("\nand https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/" if "RPM_BUILD_ROOT" in os.environ else "")), + # TODO: Document how to bootstrap setuptools without install + # (e.g. by unziping the wheel file) + # and then add a due_date to this warning. +-- +2.41.0 + diff --git a/CVE-2024-6345.patch b/CVE-2024-6345.patch new file mode 100644 index 0000000..d3f5074 --- /dev/null +++ b/CVE-2024-6345.patch @@ -0,0 +1,116 @@ +From 472528deea4063f20c5d9525f0faf64ae0cd0a90 Mon Sep 17 00:00:00 2001 +From: Lumir Balhar +Date: Wed, 24 Jul 2024 14:26:09 +0200 +Subject: [PATCH] CVE-2024-6345 + +--- + setuptools/package_index.py | 21 +++++---------------- + setuptools/tests/test_packageindex.py | 20 ++++++++++---------- + 2 files changed, 15 insertions(+), 26 deletions(-) + +diff --git a/setuptools/package_index.py b/setuptools/package_index.py +index 7095585..1368bde 100644 +--- a/setuptools/package_index.py ++++ b/setuptools/package_index.py +@@ -1,5 +1,6 @@ + """PyPI and direct package downloading.""" + ++import subprocess + import sys + import os + import re +@@ -881,17 +882,11 @@ class PackageIndex(Environment): + url, rev = self._vcs_split_rev_from_url(url, pop_prefix=True) + + self.info("Doing git clone from %s to %s", url, filename) +- os.system("git clone --quiet %s %s" % (url, filename)) ++ subprocess.check_call(["git", "clone", "--quiet", url, filename]) + + if rev is not None: + self.info("Checking out %s", rev) +- os.system( +- "git -C %s checkout --quiet %s" +- % ( +- filename, +- rev, +- ) +- ) ++ subprocess.check_call(["git", "-C", filename, "checkout", "--quiet", rev]) + + return filename + +@@ -900,17 +895,11 @@ class PackageIndex(Environment): + url, rev = self._vcs_split_rev_from_url(url, pop_prefix=True) + + self.info("Doing hg clone from %s to %s", url, filename) +- os.system("hg clone --quiet %s %s" % (url, filename)) ++ subprocess.check_call(["hg", "clone", "--quiet", url, filename]) + + if rev is not None: + self.info("Updating to %s", rev) +- os.system( +- "hg --cwd %s up -C -r %s -q" +- % ( +- filename, +- rev, +- ) +- ) ++ subprocess.check_call(["hg", "--cwd", filename, "up", "-C", "-r", rev, "-q"]) + + return filename + +diff --git a/setuptools/tests/test_packageindex.py b/setuptools/tests/test_packageindex.py +index 0287063..c136e8d 100644 +--- a/setuptools/tests/test_packageindex.py ++++ b/setuptools/tests/test_packageindex.py +@@ -190,37 +190,37 @@ class TestPackageIndex: + url = 'git+https://github.example/group/project@master#egg=foo' + index = setuptools.package_index.PackageIndex() + +- with mock.patch("os.system") as os_system_mock: ++ with mock.patch("subprocess.check_call") as subprocess_check_call_mock: + result = index.download(url, str(tmpdir)) + +- os_system_mock.assert_called() ++ subprocess_check_call_mock.assert_called() + + expected_dir = str(tmpdir / 'project@master') + expected = ( + 'git clone --quiet ' 'https://github.example/group/project {expected_dir}' +- ).format(**locals()) +- first_call_args = os_system_mock.call_args_list[0][0] ++ ).format(**locals()).split() ++ first_call_args = subprocess_check_call_mock.call_args_list[0][0] + assert first_call_args == (expected,) + + tmpl = 'git -C {expected_dir} checkout --quiet master' +- expected = tmpl.format(**locals()) +- assert os_system_mock.call_args_list[1][0] == (expected,) ++ expected = tmpl.format(**locals()).split() ++ assert subprocess_check_call_mock.call_args_list[1][0] == (expected,) + assert result == expected_dir + + def test_download_git_no_rev(self, tmpdir): + url = 'git+https://github.example/group/project#egg=foo' + index = setuptools.package_index.PackageIndex() + +- with mock.patch("os.system") as os_system_mock: ++ with mock.patch("subprocess.check_call") as subprocess_check_call_mock: + result = index.download(url, str(tmpdir)) + +- os_system_mock.assert_called() ++ subprocess_check_call_mock.assert_called() + + expected_dir = str(tmpdir / 'project') + expected = ( + 'git clone --quiet ' 'https://github.example/group/project {expected_dir}' +- ).format(**locals()) +- os_system_mock.assert_called_once_with(expected) ++ ).format(**locals()).split() ++ subprocess_check_call_mock.assert_called_once_with(expected) + + def test_download_svn(self, tmpdir): + url = 'svn+https://svn.example/project#egg=foo' +-- +2.45.2 + diff --git a/Remove-optional-or-unpackaged-test-deps.patch b/Remove-optional-or-unpackaged-test-deps.patch new file mode 100644 index 0000000..7e74ae1 --- /dev/null +++ b/Remove-optional-or-unpackaged-test-deps.patch @@ -0,0 +1,48 @@ +From 850efbc4dfe5b8c64dd21617bc856ba0d4e3a082 Mon Sep 17 00:00:00 2001 +From: Lumir Balhar +Date: Wed, 20 Sep 2023 19:47:05 +0200 +Subject: [PATCH] Remove optional or unpackaged test deps + +--- + setup.cfg | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/setup.cfg b/setup.cfg +index c7aaf14..33b9cd7 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -42,17 +42,7 @@ exclude = + [options.extras_require] + testing = + pytest >= 6 +- pytest-checkdocs >= 2.4 +- pytest-black >= 0.3.7; \ +- python_implementation != "PyPy" +- pytest-cov; \ +- python_implementation != "PyPy" +- pytest-mypy >= 0.9.1; \ +- python_implementation != "PyPy" +- pytest-enabler >= 2.2 +- pytest-ruff; sys_platform != "cygwin" + +- flake8-2020 + virtualenv>=13.0.0 + wheel + pip>=19.1 # For proper file:// URLs support. +@@ -60,13 +50,9 @@ testing = + pytest-xdist + jaraco.path>=3.2.0 + build[virtualenv] +- filelock>=3.4.0 + ini2toml[lite]>=0.9 + tomli-w>=1.0.0 + pytest-timeout +- pytest-perf; \ +- sys_platform != "cygwin" +- jaraco.develop >= 7.21; python_version >= "3.9" and sys_platform != "cygwin" + testing-integration = + pytest + pytest-xdist +-- +2.41.0 + diff --git a/SOURCES/CVE-2022-40897.patch b/SOURCES/CVE-2022-40897.patch deleted file mode 100644 index ab0612d..0000000 --- a/SOURCES/CVE-2022-40897.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/setuptools/package_index.py b/setuptools/package_index.py -index b6407be..bdcf4a6 100755 ---- a/setuptools/package_index.py -+++ b/setuptools/package_index.py -@@ -212,7 +212,7 @@ def unique_values(func): - return wrapper - - --REL = re.compile(r"""<([^>]*\srel\s*=\s*['"]?([^'">]+)[^>]*)>""", re.I) -+REL = re.compile(r"""<([^>]*\srel\s{0,10}=\s{0,10}['"]?([^'" >]+)[^>]*)>""", re.I) - # this line is here to fix emacs' cruddy broken syntax highlighting - - -diff --git a/setuptools/tests/test_packageindex.py b/setuptools/tests/test_packageindex.py -index 63b9294..49bd819 100644 ---- a/setuptools/tests/test_packageindex.py -+++ b/setuptools/tests/test_packageindex.py -@@ -223,6 +223,12 @@ class TestPackageIndex: - assert dists[0].version == '' - assert dists[1].version == vc - -+ def test_REL_DoS(self): -+ """ -+ REL should not hang on a contrived attack string. -+ """ -+ setuptools.package_index.REL.search('< rel=' + ' ' * 2**12) -+ - - class TestContentCheckers: - def test_md5(self): diff --git a/SOURCES/CVE-2024-6345.patch b/SOURCES/CVE-2024-6345.patch deleted file mode 100644 index 54a856e..0000000 --- a/SOURCES/CVE-2024-6345.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 8af1b3e03edc8a38565558aff3bf1689c1ca3545 Mon Sep 17 00:00:00 2001 -From: Lumir Balhar -Date: Fri, 26 Jul 2024 13:49:11 +0200 -Subject: [PATCH] CVE-2024-6345 - ---- - setuptools/package_index.py | 23 +++++++++-------------- - 1 file changed, 9 insertions(+), 14 deletions(-) - -diff --git a/setuptools/package_index.py b/setuptools/package_index.py -index bdcf4a6..1d3e5b4 100755 ---- a/setuptools/package_index.py -+++ b/setuptools/package_index.py -@@ -1,4 +1,5 @@ - """PyPI and direct package downloading""" -+import subprocess - import sys - import os - import re -@@ -848,7 +849,7 @@ class PackageIndex(Environment): - - def _download_svn(self, url, filename): - url = url.split('#', 1)[0] # remove any fragment for svn's sake -- creds = '' -+ creds = [] - if url.lower().startswith('svn:') and '@' in url: - scheme, netloc, path, p, q, f = urllib.parse.urlparse(url) - if not netloc and path.startswith('//') and '/' in path[2:]: -@@ -857,14 +858,14 @@ class PackageIndex(Environment): - if auth: - if ':' in auth: - user, pw = auth.split(':', 1) -- creds = " --username=%s --password=%s" % (user, pw) -+ creds = ["--username=" + user, "--password=" + pw] - else: -- creds = " --username=" + auth -+ creds = ["--username=" + auth] - netloc = host - parts = scheme, netloc, url, p, q, f - url = urllib.parse.urlunparse(parts) - self.info("Doing subversion checkout from %s to %s", url, filename) -- os.system("svn checkout%s -q %s %s" % (creds, url, filename)) -+ subprocess.check_call(["svn", "checkout"] + creds + ["-q", url, filename]) - return filename - - @staticmethod -@@ -890,14 +891,11 @@ class PackageIndex(Environment): - url, rev = self._vcs_split_rev_from_url(url, pop_prefix=True) - - self.info("Doing git clone from %s to %s", url, filename) -- os.system("git clone --quiet %s %s" % (url, filename)) -+ subprocess.check_call(["git", "clone", "--quiet", url, filename]) - - if rev is not None: - self.info("Checking out %s", rev) -- os.system("(cd %s && git checkout --quiet %s)" % ( -- filename, -- rev, -- )) -+ subprocess.check_call(["git", "-C", filename, "checkout", "--quiet", rev]) - - return filename - -@@ -906,14 +904,11 @@ class PackageIndex(Environment): - url, rev = self._vcs_split_rev_from_url(url, pop_prefix=True) - - self.info("Doing hg clone from %s to %s", url, filename) -- os.system("hg clone --quiet %s %s" % (url, filename)) -+ subprocess.check_call(["hg", "clone", "--quiet", url, filename]) - - if rev is not None: - self.info("Updating to %s", rev) -- os.system("(cd %s && hg up -C -r %s -q)" % ( -- filename, -- rev, -- )) -+ subprocess.check_call(["hg", "--cwd", filename, "up", "-C", "-r", rev, "-q"]) - - return filename - --- -2.45.2 - diff --git a/SOURCES/create-site-packages.patch b/SOURCES/create-site-packages.patch deleted file mode 100644 index 60f9795..0000000 --- a/SOURCES/create-site-packages.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py -index 91c48b3..0c9b0f4 100755 ---- a/setuptools/command/easy_install.py -+++ b/setuptools/command/easy_install.py -@@ -446,6 +446,12 @@ class easy_install(Command): - instdir = normalize_path(self.install_dir) - pth_file = os.path.join(instdir, 'easy-install.pth') - -+ if not os.path.exists(instdir): -+ try: -+ os.makedirs(instdir) -+ except (OSError, IOError): -+ self.cant_write_to_target() -+ - # Is it a configured, PYTHONPATH, implicit, or explicit site dir? - is_site_dir = instdir in self.all_site_dirs - diff --git a/SPECS/python-setuptools.spec b/python-setuptools.spec similarity index 53% rename from SPECS/python-setuptools.spec rename to python-setuptools.spec index fc13514..6823e85 100644 --- a/SPECS/python-setuptools.spec +++ b/python-setuptools.spec @@ -1,357 +1,595 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 9; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + %global srcname setuptools -# WARNING When bootstrapping, disable tests as well, -# because tests need pip. -%bcond_with bootstrap -%bcond_without tests +# used when bootstrapping new Python versions +%bcond bootstrap 0 -%bcond_with py2_wheel +# Similar to what we have in pythonX.Y.spec files. +# If enabled, provides unversioned executables and other stuff. +# Disable it if you build this package in an alternative stack. +%bcond main_python 1 -%if 0%{?rhel} && 0%{?rhel} <= 7 -%global _without_python3 1 -# define some macros for RHEL 6 -%global __python2 %__python -%global python2_sitelib %python_sitelib -%endif +# The original RHEL N+1 content set is defined by (build)dependencies +# of the packages in Fedora ELN. Hence we disable tests and documentation here +# to prevent pulling many unwanted packages in. +# We intentionally keep this enabled on EPEL. +%bcond tests %[%{without bootstrap} && (%{defined fedora} || %{defined epel})] -# Note(hguemar): overrides must be placed *before* those -# Otherwise it doesn't work -%bcond_without python2 -%bcond_without python3 - -%if %{without bootstrap} -%global python_wheelname %{srcname}-%{version}-py2.py3-none-any.whl -%if %{with python2} -%global python2_wheelname %python_wheelname -%global python2_record %{python2_sitelib}/%{srcname}-%{version}.dist-info/RECORD -%global python2_wheeldir %{_datadir}/python2-wheels -%endif # with python2 -%if %{with python3} -%global python3_wheelname %python_wheelname -%global python3_record %{python3_sitelib}/%{srcname}-%{version}.dist-info/RECORD -%global python3_wheeldir %{_datadir}/python3-wheels -%endif # with python3 -%endif # without bootstrap +%global python_wheel_name %{srcname}-%{version}-py3-none-any.whl Name: python-setuptools -Version: 39.2.0 -Release: 8%{?dist} +# When updating, update the bundled libraries versions bellow! +Version: 69.0.3 +Release: %autorelease Summary: Easily build and distribute Python packages - -Group: Applications/System -License: MIT +# setuptools is MIT +# platformdirs is MIT +# more-itertools is MIT +# ordered-set is MIT +# packaging is BSD-2-Clause OR Apache-2.0 +# importlib-metadata is Apache-2.0 +# importlib-resources is Apache-2.0 +# jaraco.text is MIT +# typing-extensions is Python-2.0.1 +# zipp is MIT +# nspektr is MIT +# tomli is MIT +# the setuptools logo is MIT +License: MIT AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0) AND Python-2.0.1 URL: https://pypi.python.org/pypi/%{srcname} -Source0: https://files.pythonhosted.org/packages/source/s/%{srcname}/%{srcname}-%{version}.zip +Source0: %{pypi_source %{srcname} %{version}} -# In Fedora, sudo setup.py install installs to /usr/local/lib/pythonX.Y/site-packages -# But pythonX doesn't own that dir, that would be against FHS -# We need to create it if it doesn't exist -# https://bugzilla.redhat.com/show_bug.cgi?id=1576924 -Patch0: create-site-packages.patch +# Some test deps are optional and either not desired or not available in Fedora, thus this patch removes them. +Patch: Remove-optional-or-unpackaged-test-deps.patch -# Security fix for CVE-2022-40897 -# Regular Expression Denial of Service (ReDoS) in package_index.py -# Resolved upstream: https://github.com/pypa/setuptools/commit/43a9c9bfa6aa626ec2a22540bea28d2ca77964be -Patch1: CVE-2022-40897.patch +# The `setup.py install` deprecation notice might be confusing for RPM packagers +# adjust it, but only when $RPM_BUILD_ROOT is set +Patch: Adjust-the-setup.py-install-deprecation-message.patch # Security fix for CVE-2024-6345 # Remote code execution via download functions in the package_index module # Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=2297771 # Upstream solution: https://github.com/pypa/setuptools/pull/4332 # Patch simplified because upstream doesn't support SVN anymore. -Patch2: CVE-2024-6345.patch +Patch: CVE-2024-6345.patch BuildArch: noarch -BuildRequires: gcc -%if %{with python2} -BuildRequires: python2-devel -%if %{with py2_wheel} -BuildRequires: python2-pip -BuildRequires: python2-wheel -%endif # with py2_wheel -%endif # with python2 +BuildRequires: python%{python3_pkgversion}-devel -%if %{with python3} -BuildRequires: python3-devel %if %{with tests} -BuildRequires: python3-pip -BuildRequires: python3-pytest -BuildRequires: python3-mock -%endif # with tests -%if %{without bootstrap} -BuildRequires: python3-pip -BuildRequires: python3-wheel -%endif # without bootstrap -%endif # with python3 +BuildRequires: gcc +%endif -# We're now back to setuptools as the package. -# Keep the python-distribute name active for a few releases. Eventually we'll -# want to get rid of the Provides and just keep the Obsoletes -Provides: python-distribute = %{version}-%{release} -Obsoletes: python-distribute < 0.6.36-2 - -%global _description \ -Setuptools is a collection of enhancements to the Python distutils that allow \ -you to more easily build and distribute Python packages, especially ones that \ -have dependencies on other packages. \ -\ -This package also contains the runtime components of setuptools, necessary to \ -execute the software that requires pkg_resources.py. - -%description %_description - -%if %{with python3} -%package -n platform-python-setuptools -Summary: Easily build and distribute Python 3 packages -Group: Applications/System -Conflicts: python3-setuptools < 39.2.0-4%{?dist} - -%description -n platform-python-setuptools %_description - -%endif # with python3 - - -%if %{with python2} -%package -n python2-setuptools -Summary: Easily build and distribute Python packages -%{?python_provide:%python_provide python2-setuptools} - -%description -n python2-setuptools %_description - -%endif # with python2 - - -%if %{with python3} -%package -n python3-setuptools -Summary: Easily build and distribute Python 3 packages -Group: Applications/System -Requires: platform-python-setuptools = %{version}-%{release} -%{?python_provide:%python_provide python3-setuptools} - -%description -n python3-setuptools %_description - -%endif # with python3 +# python3 bootstrap: this is built before the final build of python3, which +# adds the dependency on python3-rpm-generators, so we require it manually +# The minimal version is for bundled provides verification script to accept multiple files as input +BuildRequires: python3-rpm-generators >= 12-8 %if %{without bootstrap} -%if %{with py2_wheel} -%if %{with python2} -%package -n python2-setuptools-wheel +BuildRequires: pyproject-rpm-macros >= 0-44 +# Not to use the pre-generated egg-info, we use setuptools from previous build to generate it +BuildRequires: python%{python3_pkgversion}-setuptools +%endif + +%description +Setuptools is a collection of enhancements to the Python distutils that allow +you to more easily build and distribute Python packages, especially ones that +have dependencies on other packages. + +This package also contains the runtime components of setuptools, necessary to +execute the software that requires pkg_resources. + +# Virtual provides for the packages bundled by setuptools. +# Bundled packages are defined in multiple files. Generate the list with: +# %%{_rpmconfigdir}/pythonbundles.py --namespace 'python%%{python3_pkgversion}dist' */_vendor/vendored.txt +%global bundled %{expand: +Provides: bundled(python%{python3_pkgversion}dist(importlib-metadata)) = 6 +Provides: bundled(python%{python3_pkgversion}dist(importlib-resources)) = 5.10.2 +Provides: bundled(python%{python3_pkgversion}dist(jaraco-text)) = 3.7 +Provides: bundled(python%{python3_pkgversion}dist(more-itertools)) = 8.8 +Provides: bundled(python%{python3_pkgversion}dist(ordered-set)) = 3.1.1 +Provides: bundled(python%{python3_pkgversion}dist(packaging)) = 23.1 +Provides: bundled(python%{python3_pkgversion}dist(platformdirs)) = 2.6.2 +Provides: bundled(python%{python3_pkgversion}dist(tomli)) = 2.0.1 +Provides: bundled(python%{python3_pkgversion}dist(typing-extensions)) = 4.0.1 +Provides: bundled(python%{python3_pkgversion}dist(typing-extensions)) = 4.4 +Provides: bundled(python%{python3_pkgversion}dist(zipp)) = 3.7 +} + +%package -n python%{python3_pkgversion}-setuptools +Summary: Easily build and distribute Python 3 packages +%{bundled} + +# For users who might see ModuleNotFoundError: No module named 'pkg_resoureces' +# NB: Those are two different provides: one contains underscore, the other hyphen +%py_provides python%{python3_pkgversion}-pkg_resources +%py_provides python%{python3_pkgversion}-pkg-resources + +%description -n python%{python3_pkgversion}-setuptools +Setuptools is a collection of enhancements to the Python 3 distutils that allow +you to more easily build and distribute Python 3 packages, especially ones that +have dependencies on other packages. + +This package also contains the runtime components of setuptools, necessary to +execute the software that requires pkg_resources. + +%if %{without bootstrap} +%package -n %{python_wheel_pkg_prefix}-%{srcname}-wheel Summary: The setuptools wheel +%{bundled} -%description -n python2-setuptools-wheel +%description -n %{python_wheel_pkg_prefix}-%{srcname}-wheel A Python wheel of setuptools to use with venv. -%endif #with python2 -%endif #with py2_wheel +%endif -%if %{with python3} -%package -n python3-setuptools-wheel -Summary: The setuptools wheel - -%description -n python3-setuptools-wheel -A Python wheel of setuptools to use with venv. -%endif #with python3 -%endif #with bootstrap %prep %autosetup -p1 -n %{srcname}-%{version} - -# We can't remove .egg-info (but it doesn't matter, since it'll be rebuilt): -# The problem is that to properly execute setuptools' setup.py, -# it is needed for setuptools to be loaded as a Distribution -# (with egg-info or .dist-info dir), it's not sufficient -# to just have them on PYTHONPATH -# Running "setup.py install" without having setuptools installed -# as a distribution gives warnings such as -# ... distutils/dist.py:267: UserWarning: Unknown distribution option: 'entry_points' -# and doesn't create "easy_install" and .egg-info directory -# Note: this is only a problem if bootstrapping wheel or building on RHEL, -# otherwise setuptools are installed as dependency into buildroot +%if %{without bootstrap} +# If we don't have setuptools installed yet, we use the pre-generated .egg-info +# See https://github.com/pypa/setuptools/pull/2543 +# And https://github.com/pypa/setuptools/issues/2550 +# WARNING: We cannot remove this folder since Python 3.11.1, +# see https://github.com/pypa/setuptools/issues/3761 +#rm -r %%{srcname}.egg-info +%endif # Strip shbang -find setuptools -name \*.py | xargs sed -i -e '1 {/^#!\//d}' +find setuptools pkg_resources -name \*.py | xargs sed -i -e '1 {/^#!\//d}' # Remove bundled exes rm -f setuptools/*.exe -# These tests require internet connection -rm setuptools/tests/test_integration.py +# Don't ship these +rm -r docs/conf.py + +%if %{without bootstrap} +%generate_buildrequires +%pyproject_buildrequires -r %{?with_tests:-x testing} +%endif %build - -%if %{with python2} -%if %{with py2_wheel} && %{without bootstrap} -export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 -%py2_build_wheel -%else -export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 -%py2_build -%endif # without bootstrap + py2_wheel -%endif # with python2 - -%if %{with python3} -%if %{without bootstrap} -%py3_build_wheel -%else +%if %{with bootstrap} %py3_build -%endif # without bootstrap -%endif # with python3 +%else +%pyproject_wheel +%endif %install -# Must do the python3 install first because the scripts in /usr/bin are -# overwritten with every setup.py install (and we want the python2 version to -# be the default for now). -%if %{with python3} -%if %{without bootstrap} -%py3_install_wheel %{python3_wheelname} - -# Remove /usr/bin/easy_install from the record as later on we delete the file -sed -i '/\/usr\/bin\/easy_install,/d' %{buildroot}%{python3_record} +%if %{with bootstrap} +# The setup.py install command tries to import distutils +# but the distutils-precedence.pth file is not yet respected +# and Python 3.12+ no longer has distutils in the standard library. +ln -s setuptools/_distutils distutils +PYTHONPATH=$PWD %py3_install +unlink distutils %else -%py3_install +%pyproject_install +%pyproject_save_files setuptools pkg_resources _distutils_hack %endif -# TODO: we have to remove this by hand now, but it'd be nice if we wouldn't have to -# (pip install wheel doesn't overwrite) -rm %{buildroot}%{_bindir}/easy_install - -rm -rf %{buildroot}%{python3_sitelib}/setuptools/tests +# https://github.com/pypa/setuptools/issues/2709 +rm -rf %{buildroot}%{python3_sitelib}/pkg_resources/tests/ %if %{without bootstrap} -sed -i '/^setuptools\/tests\//d' %{buildroot}%{python3_record} +sed -i '/\/pkg_resources\/tests\b/d' %{pyproject_files} + +# Install the wheel for the python-setuptools-wheel package +mkdir -p %{buildroot}%{python_wheel_dir} +install -p %{_pyproject_wheeldir}/%{python_wheel_name} -t %{buildroot}%{python_wheel_dir} %endif -find %{buildroot}%{python3_sitelib} -name '*.exe' | xargs rm -f -%endif # with python3 +%check +# Verify bundled provides are up to date +%{_rpmconfigdir}/pythonbundles.py */_vendor/vendored.txt --namespace 'python%{python3_pkgversion}dist' --compare-with '%{bundled}' -%if %{with python2} -export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 -%if %{with py2_wheel} -%py2_install_wheel %{python2_wheelname} -%else -%py2_install -%endif #with py2_wheel - -rm -rf %{buildroot}%{python2_sitelib}/setuptools/tests -%if %{with py2_wheel} -sed -i '/^setuptools\/tests\//d' %{buildroot}%{python2_record} -%endif # with py2_wheel - -find %{buildroot}%{python2_sitelib} -name '*.exe' | xargs rm -f -%endif # with python2 - -# Don't ship these -rm -r docs/{Makefile,conf.py,_*} +# Regression test, the tests are not supposed to be installed +test ! -d %{buildroot}%{python3_sitelib}/pkg_resources/tests +test ! -d %{buildroot}%{python3_sitelib}/setuptools/tests %if %{without bootstrap} -%if %{with py2_wheel} -%if %{with python2} -mkdir -p %{buildroot}%{python2_wheeldir} -install -p dist/%{python2_wheelname} -t %{buildroot}%{python2_wheeldir} -%endif #with python2 -%endif #with py2_wheel - -%if %{with python3} -mkdir -p %{buildroot}%{python3_wheeldir} -install -p dist/%{python3_wheelname} -t %{buildroot}%{python3_wheeldir} -%endif #with python3 -%endif #with bootstrap +# Regression test, the wheel should not be larger than 900 kB +# https://bugzilla.redhat.com/show_bug.cgi?id=1914481#c3 +test $(stat --format %%s %{_pyproject_wheeldir}/%{python_wheel_name}) -lt 900000 +%pyproject_check_import +%endif %if %{with tests} -%check -%if %{with python3} -# --ignore=setuptools/tests/test_virtualenv.py: because virtualenv executable -# is configured only for Python 2 version of virtualenv—this needs to be fixed -# in the `python-pytest-virtualenv` package -PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=$(pwd) py.test-%{python3_version} --ignore=setuptools/tests/test_virtualenv.py -%endif # with python3 +# https://github.com/pypa/setuptools/discussions/2607 +rm pyproject.toml + +# Upstream tests +# --ignore=setuptools/tests/test_integration.py +# --ignore=setuptools/tests/integration/ +# --ignore=setuptools/tests/config/test_apply_pyprojecttoml.py +# -k "not test_pip_upgrade_from_source" +# the tests require internet connection +# --ignore=setuptools/tests/test_editable_install.py +# the tests require pip-run which we don't have in Fedora +PRE_BUILT_SETUPTOOLS_WHEEL=%{_pyproject_wheeldir}/%{python_wheel_name} \ +PYTHONPATH=$(pwd) %pytest \ + --ignore=setuptools/tests/test_integration.py \ + --ignore=setuptools/tests/integration/ \ + --ignore=setuptools/tests/test_editable_install.py \ + --ignore=setuptools/tests/config/test_apply_pyprojecttoml.py \ + --ignore=tools/finalize.py \ + -k "not test_pip_upgrade_from_source and not test_setup_requires_honors_fetch_params" %endif # with tests -%if %{with python2} -%files -n python2-setuptools +%files -n python%{python3_pkgversion}-setuptools %{?!with_bootstrap:-f %{pyproject_files}} %license LICENSE -%doc docs/* CHANGES.rst README.rst -%{python2_sitelib}/* -%{_bindir}/easy_install -%{_bindir}/easy_install-2.* -%endif # with python2 - -%if %{with python3} -%files -n python3-setuptools -%license LICENSE -%doc docs/* CHANGES.rst README.rst -# The easy_install-3 binary is created using alternatives -# defined in the python36 package -%{_bindir}/easy_install-3.* - -%files -n platform-python-setuptools -%license LICENSE -%doc docs/* CHANGES.rst README.rst -%{python3_sitelib}/easy_install.py +%doc docs/* NEWS.rst README.rst +%{python3_sitelib}/distutils-precedence.pth +%if %{with bootstrap} +%{python3_sitelib}/setuptools-%{version}-py%{python3_version}.egg-info/ %{python3_sitelib}/pkg_resources/ -%{python3_sitelib}/setuptools*/ -%{python3_sitelib}/__pycache__/* -%endif # with python3 +%{python3_sitelib}/setuptools/ +%{python3_sitelib}/_distutils_hack/ +%endif %if %{without bootstrap} -%if %{with py2_wheel} -%if %{with python2} -%files -n python2-setuptools-wheel +%files -n %{python_wheel_pkg_prefix}-%{srcname}-wheel %license LICENSE # we own the dir for simplicity -%dir %{python2_wheeldir}/ -%{python2_wheeldir}/%{python2_wheelname} -%endif #with python2 -%endif #with py2_wheel - -%if %{with python3} -%files -n python3-setuptools-wheel -%license LICENSE -# we own the dir for simplicity -%dir %{python3_wheeldir}/ -%{python3_wheeldir}/%{python3_wheelname} -%endif #with python3 -%endif #with bootstrap +%dir %{python_wheel_dir}/ +%{python_wheel_dir}/%{python_wheel_name} +%endif %changelog -* Wed Jul 24 2024 Lumír Balhar - 39.2.0-8 +## START: Generated by rpmautospec +* Tue Oct 29 2024 Troy Dawson - 69.0.3-9 +- Bump release for October 2024 mass rebuild: + +* Tue Sep 10 2024 Tomáš Hrnčiar - 69.0.3-8 +- Add gating.yaml + +* Tue Sep 10 2024 Tomáš Hrnčiar - 69.0.3-7 +- CI: Make STI tests compatible with EL 10 + +* Wed Aug 07 2024 Tomáš Hrnčiar - 69.0.3-6 +- Add a simple smoke test + +* Fri Jul 26 2024 Lumir Balhar - 69.0.3-5 - Security fix for CVE-2024-6345 -Resolves: RHEL-50470 -* Wed Jan 11 2023 Charalampos Stratakis - 39.2.0-7 -- Security fix for CVE-2022-40897 -Resolves: rhbz#2158559 +* Mon Jun 24 2024 Troy Dawson - 69.0.3-4 +- Bump release for June 2024 mass rebuild -* Wed Mar 25 2020 Charalampos Stratakis - 39.2.0-6 -- Create /usr/local/lib/pythonX.Y when needed -Resolves: rhbz#1808301 +* Tue Feb 06 2024 Miro Hrončok - 69.0.3-3 +- Undo the removal of pkg_resources DeprecationWarning -* Wed Apr 17 2019 Petr Viktorin - 39.2.0-5 -- Add subpackages with wheels -Resolves: rhbz#1718032 +* Tue Feb 06 2024 Karolina Surma - 69.0.3-1 +- Update to 69.0.3 -* Mon Oct 22 2018 Lumír Balhar - 39.2.0-4 -- New subpackage platform-python-setuptools without files from /usr/bin/* -- python3-setuptools contains only files from /usr/bin/* and depends - on platform-python-setuptools -- Resolves: rhbz#1641973 +* Fri Jan 26 2024 Fedora Release Engineering - 68.2.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild -* Mon Jun 25 2018 Petr Viktorin - 39.2.0-3 -- Allow Python 2 for build - see https://hurl.corp.redhat.com/rhel8-py2 +* Mon Jan 22 2024 Fedora Release Engineering - 68.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild -* Fri Jun 22 2018 Petr Viktorin - 39.2.0-2 -- Do not use wheel on Python 2 +* Wed Sep 20 2023 Lumír Balhar - 68.2.2-1 +- Update to 68.2.2 (rhbz#2208644) -* Tue Jun 19 2018 Charalampos Stratakis - 39.2.0-1 +* Fri Jul 21 2023 Fedora Release Engineering - 67.7.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jul 12 2023 Python Maint - 67.7.2-6 +- Rebuilt for Python 3.12 + +* Tue Jun 13 2023 Python Maint - 67.7.2-5 +- Bootstrap for Python 3.12 + +* Tue Jun 13 2023 Python Maint - 67.7.2-4 +- Bootstrap for Python 3.12 + +* Fri May 05 2023 Miro Hrončok - 67.7.2-2 +- Adjust the `setup.py install` deprecation notice when building RPM packages + +* Fri Apr 21 2023 Charalampos Stratakis - 67.7.2-1 +- Update to 67.7.2 +- Fixes: rhbz#2144132 + +* Thu Apr 20 2023 Charalampos Stratakis - 67.6.1-1 +- Update to 67.6.1 +- Fixes: rhbz#2144132 + +* Tue Mar 28 2023 Miro Hrončok - 65.5.1-3 +- Fix tests with wheel 0.40 + +* Fri Jan 20 2023 Fedora Release Engineering - 65.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Nov 08 2022 Miro Hrončok - 65.5.1-1 +- Update to 65.5.1 +- Fixes: rhbz#2140209 + +* Fri Oct 14 2022 Miro Hrončok - 65.5.0-1 +- Update to 65.5.0 +- Fixes: rhbz#2129562 + +* Thu Oct 13 2022 Miro Hrončok - 65.4.1-1 +- Update to 65.4.1 +- Update the RPM License field to use SPDX expressions + +* Tue Sep 13 2022 Lumír Balhar - 65.3.0-1 +- Update to 65.3.0 +Resolves: rhbz#2102402 + +* Thu Jul 28 2022 Tomáš Hrnčiar - 65.0.2-1 +- Update to 65.0.2 +- Fixes: rhbz#2102402 + +* Fri Jul 22 2022 Fedora Release Engineering - 62.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jun 14 2022 Charalampos Stratakis - 62.6.0-1 +- Update to 62.6.0 +- Fixes: rhbz#2064842 + +* Tue Jun 14 2022 Python Maint - 60.9.3-5 +- Rebuilt for Python 3.11 + +* Mon Jun 13 2022 Python Maint - 60.9.3-4 +- Bootstrap for Python 3.11 + +* Mon Jun 13 2022 Python Maint - 60.9.3-3 +- Bootstrap for Python 3.11 + +* Tue Apr 19 2022 Tomáš Hrnčiar - 60.9.3-2 +- No longer use the deprecated sre_constants module in bundled pyparsing +- Fixes: rhbz#2075487 + +* Wed Feb 16 2022 Karolina Surma - 60.9.3-1 +- Update to 60.9.3 +- Fixes rhbz#2033860 + +* Fri Jan 21 2022 Fedora Release Engineering - 59.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Dec 08 2021 Tomáš Hrnčiar - 59.6.0-1 +- Update to 59.6.0 +- Fixes: rhbz#2023119 +- Fixes: rhbz#2031556 + +* Wed Nov 10 2021 Karolina Surma - 58.5.3-1 +- Update to 58.5.3 +- Fixes rhbz#2016715 + +* Tue Oct 19 2021 Tomáš Hrnčiar - 58.2.0-1 +- Update to 58.2.0 +- Fixes rhbz#2001228 + +* Tue Aug 03 2021 Miro Hrončok - 57.4.0-1 +- Update to 57.4.0 +- https://setuptools.readthedocs.io/en/latest/history.html#v57-4-0 +- Fixes rhbz#1982493 + +* Fri Jul 23 2021 Fedora Release Engineering - 57.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jul 19 2021 Miro Hrončok - 57.1.0-2 +- Modernize packaging + +* Fri Jul 09 2021 Tomas Hrnciar - 57.1.0-1 +- Update to 57.1.0 +- Fixes rhbz#1979122 + +* Thu Jun 17 2021 Lumír Balhar - 57.0.0-1 +- Update to 57.0.0 +Resolves: rhbz#1963411 + +* Fri Jun 04 2021 Python Maint - 56.2.0-4 +- Rebuilt for Python 3.10 + +* Tue Jun 01 2021 Python Maint - 56.2.0-3 +- Bootstrap for Python 3.10 + +* Tue Jun 01 2021 Python Maint - 56.2.0-2 +- Bootstrap for Python 3.10 + +* Mon May 17 2021 Miro Hrončok - 56.2.0-1 +- Update to 56.2.0 +- Fixes rhbz#1958677 + +* Thu May 06 2021 Tomas Hrnciar - 56.1.0-1 +- Update to 56.1.0 + +* Thu Apr 22 2021 Miro Hrončok - 56.0.0-2 +- Provide python3-pkg_resources +- Provide python3-pkg-resources + +* Fri Apr 09 2021 Tomas Hrnciar - 56.0.0-1 +- Update to 56.0.0 + +* Tue Mar 16 2021 Tomas Hrnciar - 54.1.2-1 +- Update to 54.1.2 + +* Tue Feb 02 2021 Miro Hrončok - 53.0.0-1 +- Update to 53.0.0 +- https://setuptools.readthedocs.io/en/latest/history.html#v53-0-0 +- Fixes: rhbz#1923249 + +* Tue Jan 26 2021 Lumír Balhar - 52.0.0-1 +- Update to 52.0.0 (#1917060) +- Removes easy_install module and executable + +* Mon Jan 11 2021 Miro Hrončok - 51.1.2-1 +- Update to 51.1.2 +- Removes tests from the wheel +- https://setuptools.readthedocs.io/en/latest/history.html#v51-1-2 +- Fixes: rhbz#1914481 + +* Tue Dec 29 2020 Miro Hrončok - 51.1.1-1 +- Update to 51.1.1 +- Fixes test failures with pip 20.3 as well as with pytest 6.2+ +- Fixes: rhbz#1909575 + +* Fri Dec 4 2020 Miro Hrončok - 50.3.2-2 +- Disable tests in Fedora ELN (and RHEL) + +* Tue Oct 20 2020 Tomas Hrnciar - 50.3.2-1 +- Update to 50.3.2 (#1889093) + +* Fri Sep 04 2020 Tomas Hrnciar - 50.1.0-1 +- Update to 50.1.0 (#1873889) + +* Fri Aug 21 2020 Petr Viktorin - 49.6.0-1 +- Update to 49.6.0 (#1862791) + +* Wed Jul 29 2020 Miro Hrončok - 49.1.3-1 +- Update to 49.1.3 (#1853597) +- https://setuptools.readthedocs.io/en/latest/history.html#v49-1-3 + +* Wed Jul 29 2020 Fedora Release Engineering - 47.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jun 26 2020 Miro Hrončok - 47.3.1-1 +- Update to 47.3.1 (#1847049) +- https://setuptools.readthedocs.io/en/latest/history.html#v47-3-1 + +* Mon Jun 01 2020 Charalampos Stratakis - 47.1.1-1 +- Update to 47.1.1 (#1841123) +- https://setuptools.readthedocs.io/en/latest/history.html#v47-1-1 + +* Sun May 24 2020 Miro Hrončok - 46.4.0-4 +- Rebuilt for Python 3.9 + +* Thu May 21 2020 Miro Hrončok - 46.4.0-3 +- Bootstrap for Python 3.9 + +* Thu May 21 2020 Miro Hrončok - 46.4.0-2 +- Bootstrap for Python 3.9 + +* Mon May 18 2020 Tomas Hrnciar - 46.4.0-1 +- Update to 46.4.0 (#1835411) +- https://setuptools.readthedocs.io/en/latest/history.html#v46-4-0 + +* Tue May 12 2020 Tomas Hrnciar - 46.2.0-1 +- Update to 46.2.0 (#1833826) +- https://setuptools.readthedocs.io/en/latest/history.html#v46-2-0 + +* Thu Mar 26 2020 Miro Hrončok - 46.1.3-1 +- Upgrade to 46.1.3 (#1817189) +- https://setuptools.readthedocs.io/en/latest/history.html#v46-1-3 + +* Tue Mar 10 2020 Miro Hrončok - 46.0.0-1 +- Upgrade to 46.0.0 (#1811340) +- https://setuptools.readthedocs.io/en/latest/history.html#v46-0-0 + +* Tue Feb 11 2020 Miro Hrončok - 45.2.0-1 +- Upgrade to 45.2.0 (#1775943) +- https://setuptools.readthedocs.io/en/latest/history.html#v45-2-0 +- No longer supports Python 2 + +* Thu Jan 30 2020 Fedora Release Engineering - 41.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Nov 04 2019 Tomas Orsava - 41.6.0-1 +- Upgrade to 41.6.0 (#1758945). +- https://setuptools.readthedocs.io/en/latest/history.html#v41-6-0 +- Disabled a failing upstream test: https://github.com/pypa/setuptools/issues/1896 + +* Tue Sep 03 2019 Randy Barlow - 41.2.0-1 +- Upgrade to 41.2.0 (#1742718). +- https://setuptools.readthedocs.io/en/latest/history.html#v41-2-0 + +* Mon Aug 26 2019 Miro Hrončok - 41.0.1-9 +- Move python2-setuptools to a separate package + +* Sun Aug 18 2019 Miro Hrončok - 41.0.1-8 +- Rebuilt for Python 3.8 + +* Wed Aug 14 2019 Miro Hrončok - 41.0.1-7 +- Bootstrap for Python 3.8 + +* Wed Aug 14 2019 Miro Hrončok - 41.0.1-6 +- Provide pythonXdist(setuptools) when bootstrapping + +* Wed Aug 14 2019 Miro Hrončok - 41.0.1-5 +- Bootstrap for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 41.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jul 16 2019 Miro Hrončok - 41.0.1-3 +- Make /usr/bin/easy_install Python 3 +- Drop obsoleted Obsoletes + +* Fri Jun 21 2019 Petr Viktorin - 41.0.1-2 +- Remove optional test dependencies for Python 2 +- Skip test_virtualenv on Python 2 + +* Thu Apr 25 2019 Miro Hrončok - 41.0.1-1 +- Update to 41.0.1 (#1695846) +- https://github.com/pypa/setuptools/blob/v41.0.1/CHANGES.rst + +* Tue Feb 05 2019 Miro Hrončok - 40.8.0-1 +- Update to 40.8.0 (#1672756) +- https://github.com/pypa/setuptools/blob/v40.8.0/CHANGES.rst + +* Sun Feb 03 2019 Miro Hrončok - 40.7.3-1 +- Hotfix update to 40.7.3 (#1672084) +- https://github.com/pypa/setuptools/blob/v40.7.3/CHANGES.rst + +* Sat Feb 02 2019 Miro Hrončok - 40.7.2-1 +- Hotfix update to 40.7.2 (#1671608) +- https://github.com/pypa/setuptools/blob/v40.7.2/CHANGES.rst + +* Sat Feb 02 2019 Fedora Release Engineering - 40.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jan 29 2019 Miro Hrončok - 40.7.1-1 +- Hotfix update to 40.7.1 (#1670243) +- https://github.com/pypa/setuptools/blob/v40.7.1/CHANGES.rst + +* Mon Jan 28 2019 Miro Hrončok - 40.7.0-1 +- Update to 40.7.0 (#1669876) +- https://github.com/pypa/setuptools/blob/v40.7.0/CHANGES.rst + +* Mon Sep 24 2018 Miro Hrončok - 40.4.3-1 +- Update to 40.4.3 to fix dire DeprecationWarnings (#1627071) +- List vendored libraries +- https://github.com/pypa/setuptools/blob/v40.4.3/CHANGES.rst + +* Wed Sep 19 2018 Randy Barlow - 40.4.1-1 +- Update to 40.4.1 (#1599307). +- https://github.com/pypa/setuptools/blob/v40.4.1/CHANGES.rst + +* Wed Aug 15 2018 Petr Viktorin - 39.2.0-7 +- Add a subpackage with wheels +- Remove the python3 bcond +- Remove macros for RHEL 6 + +* Thu Jul 19 2018 Miro Hrončok - 39.2.0-6 +- Create /usr/local/lib/pythonX.Y when needed (#1576924) + +* Sat Jul 14 2018 Fedora Release Engineering - 39.2.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jun 18 2018 Miro Hrončok - 39.2.0-4 +- Rebuilt for Python 3.7 + +* Wed Jun 13 2018 Miro Hrončok - 39.2.0-3 +- Bootstrap for Python 3.7 + +* Wed Jun 13 2018 Miro Hrončok - 39.2.0-2 +- Bootstrap for Python 3.7 + +* Wed May 23 2018 Charalampos Stratakis - 39.2.0-1 - update to 39.2.0 Fixes bug #1572889 -* Thu Jun 07 2018 Petr Viktorin - 39.0.1-2 -- Remove test requirements on python2 packages and some exotic packages -- Skip tests on Python 2 - * Tue Mar 20 2018 Charalampos Stratakis - 39.0.1-1 - update to 39.0.1 Fixes bug #1531527 @@ -876,7 +1114,7 @@ Resolves: rhbz#1718032 * Thu Feb 04 2010 Toshio Kuratomi - 0.6.10-3 - First build with python3 support enabled. - + * Fri Jan 29 2010 Toshio Kuratomi - 0.6.10-2 - Really disable the python3 portion @@ -928,3 +1166,5 @@ Resolves: rhbz#1718032 * Thu Feb 26 2009 Fedora Release Engineering - 0.6c9-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +## END: Generated by rpmautospec diff --git a/sources b/sources new file mode 100644 index 0000000..821e2e2 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (setuptools-69.0.3.tar.gz) = 11df934931f4b73f7e07ea5713479593c6baa134d423556b2ae7aff0f1e5bdbdee1f5b516131adb169c838231ceb0293441fbf275ef7030dabecf74122565b6d