diff --git a/SOURCES/README.md b/SOURCES/README.md index d2dcb984..92a7e654 100644 --- a/SOURCES/README.md +++ b/SOURCES/README.md @@ -140,7 +140,7 @@ such plugins will be BuildRequired as well. Not all plugins are guaranteed to play well with [tox-current-env], in worst case, patch/sed the requirement out from the tox configuration. -Note that both `-x` and `-t` imply `-r`, +Note that neither `-x` or `-t` can be used with `-R`, because runtime dependencies are always required for testing. You can only use those options if the build backend supports the [prepare-metadata-for-build-wheel hook], or together with `-w`. @@ -152,12 +152,16 @@ or together with `-w`. Additionally to generated requirements you can supply multiple file names to `%pyproject_buildrequires` macro. Dependencies will be loaded from them: - %pyproject_buildrequires -r requirements/tests.in requirements/docs.in requirements/dev.in + %pyproject_buildrequires requirements/tests.in requirements/docs.in requirements/dev.in For packages not using build system you can use `-N` to entirely skip automatical generation of requirements and install requirements only from manually specified files. -`-N` option cannot be used in combination with other options mentioned above -(`-r`, `-w`, `-e`, `-t`, `-x`). +`-N` option implies `-R` and cannot be used in combination with other options mentioned above +(`-w`, `-e`, `-t`, `-x`). + +The `%pyproject_buildrequires` macro also accepts the `-r` flag for backward compatibility; +it means "include runtime dependencies" which has been the default since version 0-53. + Running tox based tests ----------------------- @@ -244,7 +248,7 @@ However, in Fedora packages, always list executables explicitly to avoid uninten `%pyproject_save_files` can automatically mark license files with `%license` macro and language (`*.mo`) files with `%lang` macro and appropriate language code. -Only license files declared via [PEP 639] `License-Field` field are detected. +Only license files declared via [PEP 639] `License-File` field are detected. [PEP 639] is still a draft and can be changed in the future. Note that `%pyproject_save_files` uses data from the [RECORD file](https://www.python.org/dev/peps/pep-0627/). @@ -265,6 +269,7 @@ If `%pyproject_save_files` is not used, calling `%pyproject_check_import` will f When `%pyproject_save_files` is invoked, it creates a list of all valid and public (i.e. not starting with `_`) importable module names found in the package. +Each top-level module name matches at least one of the globs provided as an argument to `%pyproject_save_files`. This list is then usable by `%pyproject_check_import` which performs an import check for each listed module. When a module fails to import, the build fails. diff --git a/SOURCES/config-5.4.211-ppc64le b/SOURCES/config-5.4.211-ppc64le index fedbe8b6..41eb2300 100644 --- a/SOURCES/config-5.4.211-ppc64le +++ b/SOURCES/config-5.4.211-ppc64le @@ -6810,7 +6810,7 @@ CONFIG_QCOM_HIDMA=m CONFIG_DW_DMAC_CORE=m CONFIG_DW_DMAC=m CONFIG_DW_DMAC_PCI=m -CONFIG_DW_EDMA=y +CONFIG_DW_EDMA=n CONFIG_DW_EDMA_PCIE=m # diff --git a/SOURCES/pyproject_buildrequires.py b/SOURCES/pyproject_buildrequires.py index e604de55..cd8c0057 100644 --- a/SOURCES/pyproject_buildrequires.py +++ b/SOURCES/pyproject_buildrequires.py @@ -100,7 +100,7 @@ class Requirements: return [{'extra': e} for e in sorted(self.extras)] return [{'extra': ''}] - def evaluate_all_environamnets(self, requirement): + def evaluate_all_environments(self, requirement): for marker_env in self.marker_envs: if requirement.marker.evaluate(environment=marker_env): return True @@ -126,7 +126,7 @@ class Requirements: name = canonicalize_name(requirement.name) if (requirement.marker is not None and - not self.evaluate_all_environamnets(requirement)): + not self.evaluate_all_environments(requirement)): print_err(f'Ignoring alien requirement:', requirement_str) return diff --git a/SOURCES/pyproject_save_files.py b/SOURCES/pyproject_save_files.py index 4f9cb37f..fad28a50 100644 --- a/SOURCES/pyproject_save_files.py +++ b/SOURCES/pyproject_save_files.py @@ -286,6 +286,36 @@ def module_names_from_path(path): return {'.'.join(parts[:x+1]) for x in range(len(parts))} +def is_license_file(path, license_files, license_directories): + """ + Check if the given BuildrootPath path matches any of the "License-File" entries. + The path is considered matched when resolved from any of the license_directories + matches string-wise what is stored in any "License-File" entry (license_files). + + Examples: + >>> site_packages = BuildrootPath('/usr/lib/python3.12/site-packages') + >>> distinfo = site_packages / 'foo-1.0.dist-info' + >>> license_directories = [distinfo / 'licenses', distinfo] + >>> license_files = ['LICENSE.txt', 'AUTHORS.md'] + >>> is_license_file(distinfo / 'AUTHORS.md', license_files, license_directories) + True + >>> is_license_file(distinfo / 'licenses/LICENSE.txt', license_files, license_directories) + True + >>> # we don't match based on directory only + >>> is_license_file(distinfo / 'licenses/COPYING', license_files, license_directories) + False + >>> is_license_file(site_packages / 'foo/LICENSE.txt', license_files, license_directories) + False + """ + if not license_files or not license_directories: + return False + for license_dir in license_directories: + if (path.is_relative_to(license_dir) and + str(path.relative_to(license_dir)) in license_files): + return True + return False + + def classify_paths( record_path, parsed_record_content, metadata, sitedirs, python_version, prefix ): @@ -311,10 +341,17 @@ def classify_paths( "other": {"files": []}, # regular %file entries we could not parse :( } + license_files = metadata.get_all('License-File') + license_directory = distinfo / 'licenses' # See PEP 369 "Root License Directory" + # setuptools was the first known build backend to implement License-File. + # Unfortunately they don't put licenses to the license directory (yet): + # https://github.com/pypa/setuptools/issues/3596 + # Hence, we check licenses in both licenses and dist-info + license_directories = (license_directory, distinfo) + # In RECORDs generated by pip, there are no directories, only files. # The example RECORD from PEP 376 does not contain directories either. # Hence, we'll only assume files, but TODO get it officially documented. - license_files = metadata.get_all('License-File') for path in parsed_record_content: if path.suffix == ".pyc": # we handle bytecode separately @@ -325,7 +362,7 @@ def classify_paths( # RECORD and REQUESTED files are removed in %pyproject_install # See PEP 627 continue - if license_files and str(path.relative_to(distinfo)) in license_files: + if is_license_file(path, license_files, license_directories): paths["metadata"]["licenses"].append(path) else: paths["metadata"]["files"].append(path) @@ -485,6 +522,12 @@ def generate_file_list(paths_dict, module_globs, include_others=False): done_modules.add(name) done_globs.add(glob) + # Users using '*' don't care about the files in the package, so it's ok + # not to fail the build when no modules are detected + # There can be legitimate reasons to create a package without Python modules + if not modules and fnmatch.fnmatchcase("", glob): + done_globs.add(glob) + missed = module_globs - done_globs if missed: missed_text = ", ".join(sorted(missed)) @@ -493,6 +536,50 @@ def generate_file_list(paths_dict, module_globs, include_others=False): return sorted(files) +def generate_module_list(paths_dict, module_globs): + """ + This function takes the paths_dict created by the classify_paths() function and + reads the modules names from it. + It filters those whose top-level module names match any of the provided module_globs. + + Returns list with matching qualified module names. + + Examples: + + >>> generate_module_list({'module_names': {'foo', 'foo.bar', 'baz'}}, {'foo'}) + ['foo', 'foo.bar'] + + >>> generate_module_list({'module_names': {'foo', 'foo.bar', 'baz'}}, {'*foo'}) + ['foo', 'foo.bar'] + + >>> generate_module_list({'module_names': {'foo', 'foo.bar', 'baz'}}, {'foo', 'baz'}) + ['baz', 'foo', 'foo.bar'] + + >>> generate_module_list({'module_names': {'foo', 'foo.bar', 'baz'}}, {'*'}) + ['baz', 'foo', 'foo.bar'] + + >>> generate_module_list({'module_names': {'foo', 'foo.bar', 'baz'}}, {'bar'}) + [] + + Submodules aren't discovered: + + >>> generate_module_list({'module_names': {'foo', 'foo.bar', 'baz'}}, {'*bar'}) + [] + """ + + module_names = paths_dict['module_names'] + filtered_module_names = set() + + for glob in module_globs: + for name in module_names: + # Match the top-level part of the qualified name, eg. 'foo.bar.baz' -> 'foo' + top_level_name = name.split('.')[0] + if fnmatch.fnmatchcase(top_level_name, glob): + filtered_module_names.add(name) + + return sorted(filtered_module_names) + + def parse_varargs(varargs): """ Parse varargs from the %pyproject_save_files macro @@ -621,7 +708,7 @@ def pyproject_save_files_and_modules(buildroot, sitelib, sitearch, python_versio parsed_records = load_parsed_record(pyproject_record) final_file_list = [] - all_module_names = set() + final_module_list = [] for record_path, files in parsed_records.items(): metadata = dist_metadata(buildroot, record_path) @@ -632,12 +719,11 @@ def pyproject_save_files_and_modules(buildroot, sitelib, sitearch, python_versio final_file_list.extend( generate_file_list(paths_dict, globs, include_auto) ) - all_module_names.update(paths_dict["module_names"]) - - # Sort values, so they are always checked in the same order - all_module_names = sorted(all_module_names) + final_module_list.extend( + generate_module_list(paths_dict, globs) + ) - return final_file_list, all_module_names + return final_file_list, final_module_list def main(cli_args): diff --git a/SOURCES/pyproject_save_files_test_data.yaml b/SOURCES/pyproject_save_files_test_data.yaml index d4c20870..e9eb427b 100644 --- a/SOURCES/pyproject_save_files_test_data.yaml +++ b/SOURCES/pyproject_save_files_test_data.yaml @@ -409,6 +409,22 @@ classified: other: files: - /usr/lib/python3.7/site-packages/zope.event-4.4-py3.7-nspkg.pth + comic2pdf: + metadata: + dirs: + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info + docs: [] + files: + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/METADATA + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/WHEEL + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/entry_points.txt + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/top_level.txt + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/zip-safe + licenses: [] + modules: [] + other: + files: + - /usr/bin/comic2pdf.py django: metadata: dirs: @@ -7739,7 +7755,6 @@ dumped: - ipykernel.tests.utils - ipykernel.trio_runner - ipykernel.zmqshell - - ipykernel_launcher - - zope - zope - - '%dir /usr/lib/python3.7/site-packages/zope' @@ -7764,6 +7779,16 @@ dumped: - zope.event - zope.event.classhandler - zope.event.tests +- - comic2pdf + - '*' + - - '%dir /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info' + - /usr/bin/comic2pdf.py + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/METADATA + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/WHEEL + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/entry_points.txt + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/top_level.txt + - /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/zip-safe + - [] - - django - django - - '%dir /usr/lib/python3.7/site-packages/Django-3.0.7.dist-info' @@ -15458,8 +15483,8 @@ metadata: content: | Name: Django Version: 3.0.7 - License-File: licenses/LICENSE - License-File: licenses/LICENSE.python + License-File: LICENSE + License-File: LICENSE.python Whatever: False data records: @@ -15745,6 +15770,17 @@ records: zope/event/classhandler.py,sha256=CEx6issKWSia0Wruob_jIQI2EfYX45krokoTHyVsJFQ,1816 zope/event/tests.py,sha256=bvEzvOmPoQETMqYiqsR9EeVsC8Dzy-HOclfpQFVjDhE,1871 + comic2pdf: + path: /usr/lib/python3.7/site-packages/comic2pdf-3.1.0.dist-info/RECORD + content: | + ../../../bin/comic2pdf.py,sha256=ad0XbWxj2fzn_oYi1h-usY8jsxAvfpYA1aaify1Ym88,3266 + comic2pdf-3.1.0.dist-info/METADATA,sha256=qMVNbSPY02NdWfGex5yWNxoK1d96ereES-XoKxshVEA,3195 + comic2pdf-3.1.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92 + comic2pdf-3.1.0.dist-info/entry_points.txt,sha256=uORK0FJD-i46W74x2mNHfloSPS4QElN3-Y0vKQZ7svw,46 + comic2pdf-3.1.0.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 + comic2pdf-3.1.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 + comic2pdf-3.1.0.dist-info/RECORD,, + django: path: /usr/lib/python3.7/site-packages/Django-3.0.7.dist-info/RECORD content: | diff --git a/SPECS/pyproject-rpm-macros.spec b/SPECS/pyproject-rpm-macros.spec index 2ea6ce10..aa58cfd2 100644 --- a/SPECS/pyproject-rpm-macros.spec +++ b/SPECS/pyproject-rpm-macros.spec @@ -1,10 +1,8 @@ -%define _rpmmacrodir /usr/lib/rpm/macros.d/ - Name: pyproject-rpm-macros Summary: RPM macros for PEP 517 Python packages License: MIT -%bcond_with tests +%bcond_without tests # The idea is to follow the spirit of semver # Given version X.Y.Z: @@ -12,7 +10,7 @@ License: MIT # Increment Y and reset Z when new macros or features are added # Increment Z when this is a bugfix or a cosmetic change # Dropping support for EOL Fedoras is *not* considered a breaking change -Version: 1.3.2 +Version: 1.4.0 Release: 1%{?dist} # Macro files @@ -47,24 +45,27 @@ URL: https://src.fedoraproject.org/rpms/pyproject-rpm-macros BuildArch: noarch %if %{with tests} -BuildRequires: python3dist(pytest) -BuildRequires: python3dist(pyyaml) -BuildRequires: python3dist(packaging) -BuildRequires: python3dist(pip) -BuildRequires: python3dist(setuptools) -BuildRequires: python3dist(tox-current-env) >= 0.0.6 -BuildRequires: python3dist(wheel) -#BuildRequires: (python3dist(toml) if python3-devel < 3.11) +BuildRequires: python3dist(pytest) +BuildRequires: python3dist(pyyaml) +BuildRequires: python3dist(packaging) +BuildRequires: python3dist(pip) +BuildRequires: python3dist(setuptools) +BuildRequires: python3dist(tox-current-env) >= 0.0.6 +BuildRequires: python3dist(wheel) +BuildRequires: python3dist(toml) %endif # We build on top of those: -Requires: python-rpm-macros -Requires: python-srpm-macros -Requires: python3-rpm-macros +BuildRequires: python-rpm-macros +BuildRequires: python-srpm-macros +BuildRequires: python3-rpm-macros +Requires: python-rpm-macros +Requires: python-srpm-macros +Requires: python3-rpm-macros # We use the following tools outside of coreutils -Requires: /usr/bin/find -Requires: /usr/bin/sed +Requires: /usr/bin/find +Requires: /usr/bin/sed %description These macros allow projects that follow the Python packaging specifications @@ -93,19 +94,19 @@ cp -p %{sources} . %install mkdir -p %{buildroot}%{_rpmmacrodir} mkdir -p %{buildroot}%{_rpmconfigdir}/redhat -install -m 644 macros.pyproject %{buildroot}%{_rpmmacrodir}/ -install -m 644 pyproject_buildrequires.py %{buildroot}%{_rpmconfigdir}/redhat/ -install -m 644 pyproject_convert.py %{buildroot}%{_rpmconfigdir}/redhat/ -install -m 644 pyproject_save_files.py %{buildroot}%{_rpmconfigdir}/redhat/ -install -m 644 pyproject_preprocess_record.py %{buildroot}%{_rpmconfigdir}/redhat/ -install -m 644 pyproject_construct_toxenv.py %{buildroot}%{_rpmconfigdir}/redhat/ -install -m 644 pyproject_requirements_txt.py %{buildroot}%{_rpmconfigdir}/redhat/ -install -m 644 pyproject_wheel.py %{buildroot}%{_rpmconfigdir}/redhat/ +install -pm 644 macros.pyproject %{buildroot}%{_rpmmacrodir}/ +install -pm 644 pyproject_buildrequires.py %{buildroot}%{_rpmconfigdir}/redhat/ +install -pm 644 pyproject_convert.py %{buildroot}%{_rpmconfigdir}/redhat/ +install -pm 644 pyproject_save_files.py %{buildroot}%{_rpmconfigdir}/redhat/ +install -pm 644 pyproject_preprocess_record.py %{buildroot}%{_rpmconfigdir}/redhat/ +install -pm 644 pyproject_construct_toxenv.py %{buildroot}%{_rpmconfigdir}/redhat/ +install -pm 644 pyproject_requirements_txt.py %{buildroot}%{_rpmconfigdir}/redhat/ +install -pm 644 pyproject_wheel.py %{buildroot}%{_rpmconfigdir}/redhat/ %if %{with tests} %check export HOSTNAME="rpmbuild" # to speedup tox in network-less mock, see rhbz#1856356 -%{python3} -m pytest -vv --doctest-modules +%pytest -vv --doctest-modules # brp-compress is provided as an argument to get the right directory macro expansion %{python3} compare_mandata.py -f %{_rpmconfigdir}/brp-compress @@ -114,18 +115,34 @@ export HOSTNAME="rpmbuild" # to speedup tox in network-less mock, see rhbz#1856 %files %{_rpmmacrodir}/macros.pyproject -%{_rpmconfigdir}/redhat/pyproject_buildrequires.py* +%{_rpmconfigdir}/redhat/pyproject_buildrequires.py %{_rpmconfigdir}/redhat/pyproject_convert.py* -%{_rpmconfigdir}/redhat/pyproject_save_files.py* -%{_rpmconfigdir}/redhat/pyproject_preprocess_record.py* +%{_rpmconfigdir}/redhat/pyproject_save_files.py +%{_rpmconfigdir}/redhat/pyproject_preprocess_record.py %{_rpmconfigdir}/redhat/pyproject_construct_toxenv.py* -%{_rpmconfigdir}/redhat/pyproject_requirements_txt.py* -%{_rpmconfigdir}/redhat/pyproject_wheel.py* +%{_rpmconfigdir}/redhat/pyproject_requirements_txt.py +%{_rpmconfigdir}/redhat/pyproject_wheel.py %doc README.md %license LICENSE %changelog +* Mon Sep 19 2022 Python Maint - 1.4.0-1 +- %%pyproject_save_files: Support License-Files installed into the *Root License Directory* from PEP 369 +- Fixes: rhbz#2127946 +- %%pyproject_check_import: Import only the modules whose top-level names + match any of the globs provided to %%pyproject_save_files +- Fixes: rhbz#2127958 + +* Tue Aug 30 2022 Otto Liljalaakso - 1.3.4-1 +- Fix typo in internal function name + +* Tue Aug 09 2022 Karolina Surma - 1.3.3-1 +- Don't fail %%pyproject_save_files '*' if no modules are detected + +* Fri Jul 22 2022 Fedora Release Engineering - 1.3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jun 15 2022 Benjamin A. Beasley - 1.3.2-1 - Update %%pyproject_build_lib to support setuptools 62.1.0 and later - Fixes: rhbz#2097158 diff --git a/SPECS/python-cffi.spec b/SPECS/python-cffi.spec index f368cd2e..bcc2909f 100644 --- a/SPECS/python-cffi.spec +++ b/SPECS/python-cffi.spec @@ -1,49 +1,39 @@ Name: python-cffi -Version: 1.12.2 -Release: 1%{?dist} +%global general_version 1.15.1 +Version: %{general_version}%{?prerel:~%{prerel}} +Release: 3%{?dist} Summary: Foreign Function Interface for Python to call C code License: MIT URL: https://cffi.readthedocs.org/ -Source0: %{pypi_source cffi} +Source: https://foss.heptapod.net/pypy/cffi/-/archive/v%{version}/cffi-v%{version}.tar.bz2 +# Adjust tests for a last minute Python 3.11 change in the traceback format +Patch0: https://foss.heptapod.net/pypy/cffi/-/merge_requests/113.patch + +# Drop usage of the deprecated py.test package +Patch1: https://foss.heptapod.net/pypy/cffi/-/merge_requests/115.patch +# Drop usage of the deprecated py.code package +Patch2: https://foss.heptapod.net/pypy/cffi/-/merge_requests/116.patch + +BuildRequires: make BuildRequires: libffi-devel BuildRequires: gcc # For tests: BuildRequires: gcc-c++ -%?python_enable_dependency_generator - %description Foreign Function Interface for Python, providing a convenient and reliable way of calling existing C code from Python. The interface is based on LuaJIT’s FFI. -%package -n python2-cffi -Summary: Foreign Function Interface for Python 3 to call C code -BuildRequires: python2-pytest -BuildRequires: python2-devel -BuildRequires: python2-setuptools -BuildRequires: python2-Cython -BuildRequires: python2-pycparser -BuildRequires: python2-pytest -%{?python_provide:%python_provide python2-cffi} - -%description -n python2-cffi -Foreign Function Interface for Python, providing a convenient and -reliable way of calling existing C code from Python. The interface is -based on LuaJIT’s FFI. - %package -n python3-cffi Summary: Foreign Function Interface for Python 3 to call C code BuildRequires: python3-sphinx BuildRequires: python3-pytest BuildRequires: python3-devel BuildRequires: python3-setuptools -BuildRequires: python3-Cython BuildRequires: python3-pycparser -BuildRequires: python3-pytest -%{?python_provide:%python_provide python3-cffi} %description -n python3-cffi Foreign Function Interface for Python, providing a convenient and @@ -58,42 +48,138 @@ BuildArch: noarch Documentation for CFFI, the Foreign Function Interface for Python. %prep -%autosetup -n cffi-%{version} +%autosetup -p1 -n cffi-v%{general_version}%{?prerel} %build -%py2_build -%py3_build +%{__python3} setup.py build #cd doc #make SPHINXBUILD=sphinx-build-3 html #rm build/html/.buildinfo %install -%py2_install -%py3_install +%{__python3} setup.py install --optimize=2 --root=%{buildroot} %check -PYTHONPATH=%{buildroot}%{python2_sitearch} %{__python2} -m pytest c/ testing/ PYTHONPATH=%{buildroot}%{python3_sitearch} %{__python3} -m pytest c/ testing/ -%files -n python2-cffi -%doc PKG-INFO -%license LICENSE -%{python2_sitearch}/cffi/ -%{python2_sitearch}/_cffi_backend.so -%{python2_sitearch}/cffi-%{version}-py%{python2_version}.egg-info/ - %files -n python3-cffi -%doc PKG-INFO +%doc README.md %license LICENSE %{python3_sitearch}/cffi/ %{python3_sitearch}/_cffi_backend.*.so -%{python3_sitearch}/cffi-%{version}-py%{python3_version}.egg-info/ +%{python3_sitearch}/cffi-%{general_version}%{?prerel}-py%{python3_version}.egg-info/ %files doc #%doc doc/build/html %changelog +* Mon Nov 14 2022 Miro Hrončok - 1.15.1-3 +- Fix build with pytest 7.2 +- Fixes: rhbz#2142063 + +* Fri Jul 22 2022 Fedora Release Engineering - 1.15.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jul 15 2022 Miro Hrončok - 1.15.1-1 +- Adjust tests for a last minute Python 3.11 change in the traceback format + +* Mon Jul 11 2022 Lumír Balhar - 1.15.1-0 +- Update to 1.15.1 +Resolves: rhbz#2102824 + +* Mon Jun 13 2022 Python Maint - 1.15.0-6 +- Rebuilt for Python 3.11 + +* Wed Mar 30 2022 Miro Hrončok - 1.15.0-5 +- Fix alignment issue on ppc64le +- Fixes: rhbz#2046865 + +* Wed Feb 02 2022 Tomáš Hrnčiar - 1.15.0-4 +- Backport patch to fix compatibility with Python 3.11 +- Fixes: rhbz#2040165 + +* Fri Jan 21 2022 Fedora Release Engineering - 1.15.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Jan 08 2022 Miro Hrončok - 1.15.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34 + +* Tue Dec 21 2021 Lumír Balhar - 1.15.0-1 +- Update to 1.15.0 +Resolves: rhbz#2013760 + +* Thu Oct 07 2021 Tomáš Hrnčiar - 1.15.0~rc2-1 +- Update to 1.15.0rc2 +Resolves: rhbz#2007006 + +* Fri Jul 23 2021 Fedora Release Engineering - 1.14.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jul 09 2021 Lumír Balhar - 1.14.6-1 +- Update to 1.14.6 +Resolves: rhbz#1980622 + +* Wed Jun 02 2021 Python Maint - 1.14.5-2 +- Rebuilt for Python 3.10 + +* Fri Feb 12 2021 Lumír Balhar - 1.14.5-1 +- Update to 1.14.5 +Resolves: rhbz#1927933 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.14.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Nov 19 2020 Joel Capitao - 1.14.3-1 +- Update to 1.14.3 + +* Tue Sep 08 2020 Lumír Balhar - 1.14.2-1 +- Update to 1.14.2 (#1869032) + +* Fri Aug 14 2020 Miro Hrončok - 1.14.1-1 +- Update to 1.14.1 +- Fixes: rhbz#1860698 +- Fixes: rhbz#1865276 + +* Sat May 23 2020 Miro Hrončok - 1.14.0-2 +- Rebuilt for Python 3.9 + +* Mon Feb 10 2020 Lumír Balhar - 1.14.0 +- Update to 1.14.0 (#1800646) + +* Thu Jan 30 2020 Fedora Release Engineering - 1.13.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Nov 18 2019 Lumír Balhar - 1.13.2-1 +- Update to 1.13.2 (#1768219) + +* Mon Oct 21 2019 Miro Hrončok - 1.13.1-1 +- Update to 1.13.1 (#1763767) + +* Tue Oct 15 2019 Miro Hrončok - 1.13.0-1 +- Update to 1.13.0 (#1761757) + +* Sun Oct 13 2019 Miro Hrončok - 1.12.3-5 +- Subpackage python2-cffi has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Thu Oct 03 2019 Miro Hrončok - 1.12.3-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 26 2019 Miro Hrončok - 1.12.3-3 +- Reduce Python 2 build dependencies + +* Fri Aug 16 2019 Miro Hrončok - 1.12.3-2 +- Rebuilt for Python 3.8 + +* Thu Jul 25 2019 Miro Hrončok - 1.12.3-1 +- Update to 1.12.3 (#1701577) +- https://cffi.readthedocs.io/en/latest/whatsnew.html#v1-12-3 + +* Mon Jul 15 2019 Petr Viktorin - 1.12.2-2 +- Remove unused build dependency on Cython +- Remove duplicate build dependency on pytest + * Wed Mar 27 2019 Miro Hrončok - 1.12.2-1 - Update to 1.12.2 (#1677888) diff --git a/SPECS/python-pillow.spec b/SPECS/python-pillow.spec index c16fab61..d83fd3e5 100644 --- a/SPECS/python-pillow.spec +++ b/SPECS/python-pillow.spec @@ -1,75 +1,144 @@ -%global py2_incdir %{_includedir}/python%{python_version} -%global py3_incdir %{_includedir}/python%{python3_version} - -%global name3 python3-pillow -%global with_python3 1 - -# Refer to the comment for Source0 below on how to obtain the source tarball -# The saved file has format python-imaging-Pillow-$version-$ahead-g$shortcommit.tar.gz -%global commit d1c6db88d4dee462c6bbf4e22555e3ddd410d06a -%global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global ahead 105 - -# If ahead is 0, the tarball corresponds to a release version, otherwise to a git snapshot -%if %{ahead} > 0 -%global snap .git%{shortcommit} -%endif - -Name: python-pillow -Version: 2.0.0 -Release: 20%{?snap}%{?dist} +%global py3_incdir %(python3 -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_inc())') +%global py3_libbuilddir %(python3 -c 'import sys; import sysconfig; print("lib.{p}-{v[0]}.{v[1]}".format(p=sysconfig.get_platform(), v=sys.version_info))') + +%global srcname pillow +# bootstrap building docs (pillow is required by docutils, docutils are +# required by sphinx; pillow build-requires sphinx) +%global with_docs 0 + +Name: python-%{srcname} +Version: 5.1.1 +Release: 18%{?dist} Summary: Python image processing library # License: see http://www.pythonware.com/products/pil/license.htm License: MIT URL: http://python-pillow.github.io/ +Source0: https://github.com/python-pillow/Pillow/archive/%{version}/Pillow-%{version}.tar.gz +Patch0: 0001-Fix-potential-un-terminated-buffer-problem-CWE-120.patch +Patch1: 0002-Fix-potential-leaked-storage-issues-CWE-772.patch +Patch2: 0003-Fix-dereferencing-type-punned-pointer.patch +# Combined fixes for CVE-2020-5312 improperly restricted operations on memory buffer in libImaging/PcxDecode.c +# https://bugzilla.redhat.com/show_bug.cgi?id=1789533 +# https://github.com/python-pillow/Pillow/commit/93b22b846e0269ee9594ff71a72bec02d2bea8fd +# and for CVE-2019-16865 reading specially crafted image files leads to allocation of large amounts of memory and denial of service +# https://bugzilla.redhat.com/show_bug.cgi?id=1774066 +# https://github.com/python-pillow/Pillow/commit/cc16025e234b7a7a4dd3a86d2fdc0980698db9cc +# https://github.com/python-pillow/Pillow/commit/b36c1bc943d554ba223086c7efb502d080f73905 +# https://github.com/python-pillow/Pillow/commit/f228d0ccbf6bf9392d7fcd51356ef2cfda80c75a +# https://github.com/python-pillow/Pillow/commit/b9693a51c99c260bd66d1affeeab4a226cf7e5a5 +Patch3: CVE-2020-5312_CVE-2019-16865.patch +# Fix for CVE-2020-5311 - out-of-bounds write in expandrow in libImaging/SgiRleDecode.c +# https://bugzilla.redhat.com/show_bug.cgi?id=1789535 +# https://github.com/python-pillow/Pillow/commit/a79b65c47c7dc6fe623aadf09aa6192fc54548f3 +Patch4: CVE-2020-5311.patch +# CVE-2020-5313 out-of-bounds read in ImagingFliDecode when loading FLI images +# Upstream fix: https://github.com/python-pillow/Pillow/commit/a09acd0decd8a87ccce939d5ff65dab59e7d365b?patch +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=1789532 +Patch5: CVE-2020-5313.patch +# CVE-2020-11538 out-of-bounds reads/writes in the parsing of SGI image files in expandrow/expandrow2 +# Upstream fix: https://github.com/python-pillow/Pillow/pull/4504/ +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=1852814 +Patch6: CVE-2020-11538.patch +# CVE-2020-35653 decoding a crafted PCX file could result in buffer over-read +# Note that there is a wrong CVE number in the commit msg +# Upstream fix: https://github.com/python-pillow/Pillow/commit/2f409261eb1228e166868f8f0b5da5cda52e55bf +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=1915432 +Patch7: CVE-2020-35653.patch +# CVE-2020-35655 decoding crafted SGI RLE image files could result in buffer over-read +# Upstream fix: https://github.com/python-pillow/Pillow/commit/120eea2e4547a7d1826afdf01563035844f0b7d5 +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-35653 +Patch8: CVE-2020-35655.patch +# CVE-2021-25290 negative-offset memcpy with an invalid size in TiffDecode.c +# Upstream fix: https://github.com/python-pillow/Pillow/commit/86f02f7c70862a0954bfe8133736d352db978eaa +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=1934685 +Patch9: CVE-2021-25290.patch +# CVE-2021-25292 backtracking regex in PDF parser could be used as a DOS attack +# Upstream fix: https://github.com/python-pillow/Pillow/commit/3bce145966374dd39ce58a6fc0083f8d1890719c +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-25292 +Patch10: CVE-2021-25292.patch +# CVE-2021-25293 out-of-bounds read in SGIRleDecode.c +# Upstream fix: https://github.com/python-pillow/Pillow/commit/4853e522bddbec66022c0915b9a56255d0188bf9 +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-25293 +Patch11: CVE-2021-25293.patch +# CVE-2021-27921 reported size of a contained image is not properly checked for a BLP container +# CVE-2021-27922 reported size of a contained image is not properly checked for an ICNS container +# CVE-2021-27923 reported size of a contained image is not properly checked for an ICO container +# Upstream fix: https://github.com/python-pillow/Pillow/commit/480f6819b592d7f07b9a9a52a7656c10bbe07442 +# Tracking bugs: +# - https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-27921 +# - https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-27922 +# - https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-27923 +Patch12: CVE-2021-27921_27922_27923.patch +# CVE-2021-25288 and 25287 out-of-bounds read in J2kDecode in j2ku_gray_i and j2ku_graya_la +# Upstream fixes this patch combines: +# - Original fix for the CVEs: https://github.com/python-pillow/Pillow/commit/3bf5eddb89afdf690eceaa52bc4d3546ba9a5f87 +# - Older commit the fix is based on: https://github.com/python-pillow/Pillow/commit/cf6da6b79080a8c16984102fdc85f7ce28dca613 +# Tracking bugs: +# - https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-25287 +# - https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-25288 +Patch13: CVE-2021-25287_25288.patch +# CVE-2021-28675 DoS in PsdImagePlugin +# Upstream fix: https://github.com/python-pillow/Pillow/commit/22e9bee4ef225c0edbb9323f94c26cee0c623497 +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-28675 +Patch14: CVE-2021-28675.patch +# CVE-2021-28676 infinite loop in FliDecode.c can lead to DoS +# Upstream fix: https://github.com/python-pillow/Pillow/commit/bb6c11fb889e6c11b0ee122b828132ee763b5856 +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-28676 +Patch15: CVE-2021-28676.patch +# CVE-2021-28677 DoS in the open phase via a malicious EPS file +# Upstream fix: https://github.com/python-pillow/Pillow/commit/5a5e6db0abf4e7a638fb1b3408c4e495a096cb92 +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-28677 +Patch16: CVE-2021-28677.patch +# CVE-2021-28678 improper check in BlpImagePlugin can lead to DoS +# Upstream fix: https://github.com/python-pillow/Pillow/commit/496245aa4365d0827390bd0b6fbd11287453b3a1 +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-28678 +Patch17: CVE-2021-28678.patch +# CVE-2021-34552: buffer overflow in Convert.c because it allow an attacker to pass +# controlled parameters directly into a convert function +# Upstream fix: https://github.com/python-pillow/Pillow/pull/5567 +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=1982378 +Patch18: CVE-2021-34552.patch +# CVE-2022-22817: PIL.ImageMath.eval allows evaluation of arbitrary expressions +# Upstream fixes: +# https://github.com/python-pillow/Pillow/commit/8531b01d6cdf0b70f256f93092caa2a5d91afc11 +# https://github.com/python-pillow/Pillow/commit/f84ab3bb8a0a196a52e8a76bebed2853362629de +# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=2042527 +Patch19: CVE-2022-22817.patch +# CVE-2022-22815 python-pillow: improperly initializes ImagePath.Path in path_getbbox() in path.c +# CVE-2022-22816 python-pillow: buffer over-read during initialization of ImagePath.Path in path_getbbox() in path.c +# Upstream fix: https://github.com/python-pillow/Pillow/commit/5543e4e2d409cd9e409bc64cdc77be0af007a31f +# Memory issue fix: https://github.com/python-pillow/Pillow/pull/5958 +# Tracking bugs: +# https://bugzilla.redhat.com/show_bug.cgi?id=2042511 +# https://bugzilla.redhat.com/show_bug.cgi?id=2042522 +Patch20: CVE-2022-22815_CVE-2022-22816.patch -# Obtain the tarball for a certain commit via: -# wget --content-disposition https://github.com/python-imaging/Pillow/tarball/$commit -Source0: https://github.com/python-imaging/Pillow/tarball/%{commit}/python-imaging-Pillow-%{version}-%{ahead}-g%{shortcommit}.tar.gz - -# Add s390* and ppc* archs -Patch0: python-pillow-archs.patch -# Fix test hardcoded for little-endian -Patch1: python-pillow_endian.patch -Patch2: python-pillow-2.0.0_bytearray.patch -Patch3: python-pillow-2.0.0_memleaks.patch - -BuildRequires: python2-devel -BuildRequires: python-setuptools -BuildRequires: tkinter -BuildRequires: tk-devel -BuildRequires: python-sphinx -BuildRequires: libjpeg-devel -BuildRequires: zlib-devel BuildRequires: freetype-devel -BuildRequires: sane-backends-devel -# Don't build with webp support on s390* and ppc* archs -# see bug #962091 and #1127230 -%ifnarch s390 s390x ppc ppc64 +BuildRequires: gcc +BuildRequires: ghostscript +BuildRequires: lcms2-devel +BuildRequires: libjpeg-devel +BuildRequires: libtiff-devel BuildRequires: libwebp-devel -%endif -BuildRequires: PyQt4 -BuildRequires: numpy +BuildRequires: openjpeg2-devel +BuildRequires: tk-devel +BuildRequires: zlib-devel -%if %{with_python3} +BuildRequires: python3-cffi BuildRequires: python3-devel +BuildRequires: python3-numpy BuildRequires: python3-setuptools +%if 0%{?with_docs} +BuildRequires: python3-sphinx +BuildRequires: python3-sphinx_rtd_theme +%endif # with_docs BuildRequires: python3-tkinter -BuildRequires: python3-PyQt4 -BuildRequires: python3-numpy -%endif -Provides: python-imaging = %{version}-%{release} -Obsoletes: python-imaging <= 1.1.7-12 +# For EpsImagePlugin.py +Requires: ghostscript -%if %{with_python3} -Provides: python3-imaging = %{version}-%{release} -%endif - -#%filter_provides_in %{python_sitearch} -#%filter_provides_in %{python3_sitearch} -#%filter_setup +%global __provides_exclude_from ^%{python3_sitearch}/PIL/.*\\.so$ %description Python image processing library, fork of the Python Imaging Library (PIL) @@ -77,315 +146,435 @@ Python image processing library, fork of the Python Imaging Library (PIL) This library provides extensive file format support, an efficient internal representation, and powerful image processing capabilities. -There are five subpackages: tk (tk interface), qt (PIL image wrapper for Qt), -sane (scanning devices interface), devel (development) and doc (documentation). +There are these subpackages: tk (tk interface), +devel (development) and doc (documentation). -%package devel -Summary: Development files for %{name} -Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: python-devel, libjpeg-devel, zlib-devel -Provides: python-imaging-devel = %{version}-%{release} -Obsoletes: python-imaging-devel <= 1.1.7-12 +%package -n python3-%{srcname} +Summary: Python 3 image processing library +%{?python_provide:%python_provide python3-%{srcname}} +Provides: python3-imaging = %{version}-%{release} +# For MicImagePlugin.py, FpxImagePlugin.py -%description devel -Development files for %{name}. +%description -n python3-%{srcname} +Python image processing library, fork of the Python Imaging Library (PIL) +This library provides extensive file format support, an efficient +internal representation, and powerful image processing capabilities. -%package doc -Summary: Documentation for %{name} -Group: Documentation -Requires: %{name} = %{version}-%{release} +There are these subpackages: tk (tk interface), +devel (development) and doc (documentation). + + +%package -n python3-%{srcname}-devel +Summary: Development files for %{srcname} +Requires: python3-devel, libjpeg-devel, zlib-devel +Requires: python3-%{srcname}%{?_isa} = %{version}-%{release} +%{?python_provide:%python_provide python3-%{srcname}-devel} +Provides: python3-imaging-devel = %{version}-%{release} -%description doc -Documentation for %{name}. +%description -n python3-%{srcname}-devel +Development files for %{srcname}. -%package sane -Summary: Python module for using scanners -Group: System Environment/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Provides: python-imaging-sane = %{version}-%{release} -Obsoletes: python-imaging-sane <= 1.1.7-12 +%package -n python3-%{srcname}-doc +Summary: Documentation for %{srcname} +BuildArch: noarch +Requires: python3-%{srcname} = %{version}-%{release} +%{?python_provide:%python_provide python3-%{srcname}-doc} +Provides: python3-imaging-doc = %{version}-%{release} -%description sane -This package contains the sane module for Python which provides access to -various raster scanning devices such as flatbed scanners and digital cameras. +%description -n python3-%{srcname}-doc +Documentation for %{srcname}. -%package tk -Summary: Tk interface for %{name} -Group: System Environment/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: tkinter -Provides: python-imaging-tk = %{version}-%{release} -Obsoletes: python-imaging-tk <= 1.1.7-12 +%package -n python3-%{srcname}-tk +Summary: Tk interface for %{srcname} +Requires: python3-tkinter +Requires: python3-%{srcname}%{?_isa} = %{version}-%{release} +%{?python_provide:%python_provide python3-%{srcname}-tk} +Provides: python3-imaging-tk = %{version}-%{release} -%description tk +%description -n python3-%{srcname}-tk Tk interface for %{name}. -%package qt -Summary: PIL image wrapper for Qt -Group: System Environment/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: PyQt4 -Provides: python-imaging-qt = %{version}-%{release} -%description qt -PIL image wrapper for Qt. +%prep +%autosetup -p1 -n Pillow-%{version} -%if %{with_python3} -%package -n %{name3} -Summary: Python 3 image processing library +%build +%py3_build -%description -n %{name3} -%{_description} +%if 0%{?with_docs} +PYTHONPATH=$PWD/build/%py3_libbuilddir make -C docs html BUILDDIR=_build_py3 SPHINXBUILD=sphinx-build-%python3_version +rm -f docs/_build_py3/html/.buildinfo +%endif # with_docs -%package -n %{name3}-devel -Summary: Development files for %{name3} -Group: Development/Libraries -Requires: %{name3}%{?_isa} = %{version}-%{release} -Requires: python3-devel, libjpeg-devel, zlib-devel +%install +install -d %{buildroot}/%{py3_incdir}/Imaging +install -m 644 src/libImaging/*.h %{buildroot}/%{py3_incdir}/Imaging +%py3_install -%description -n %{name3}-devel -Development files for %{name3}. +%check +ln -s $PWD/Images $PWD/build/%py3_libbuilddir/Images +cp -R $PWD/Tests $PWD/build/%py3_libbuilddir/Tests +cp -R $PWD/selftest.py $PWD/build/%py3_libbuilddir/selftest.py +pushd build/%py3_libbuilddir +PYTHONPATH=$PWD %{__python3} selftest.py +popd -%package -n %{name3}-doc -Summary: Documentation for %{name3} -Group: Documentation -Requires: %{name3} = %{version}-%{release} -%description -n %{name3}-doc -Documentation for %{name3}. +%files -n python3-%{srcname} +%doc README.rst CHANGES.rst +%license docs/COPYING +%{python3_sitearch}/* +# These are in subpackages +%exclude %{python3_sitearch}/PIL/_imagingtk* +%exclude %{python3_sitearch}/PIL/ImageTk* +%exclude %{python3_sitearch}/PIL/SpiderImagePlugin* +%exclude %{python3_sitearch}/PIL/ImageQt* +%exclude %{python3_sitearch}/PIL/__pycache__/ImageTk* +%exclude %{python3_sitearch}/PIL/__pycache__/SpiderImagePlugin* +%exclude %{python3_sitearch}/PIL/__pycache__/ImageQt* +%files -n python3-%{srcname}-devel +%{py3_incdir}/Imaging/ -%package -n %{name3}-sane -Summary: Python module for using scanners -Group: System Environment/Libraries -Requires: %{name3}%{?_isa} = %{version}-%{release} +%files -n python3-%{srcname}-doc +%if 0%{?with_docs} +%doc docs/_build_py3/html +%endif # with_docs -%description -n %{name3}-sane -This package contains the sane module for Python which provides access to -various raster scanning devices such as flatbed scanners and digital cameras. +%files -n python3-%{srcname}-tk +%{python3_sitearch}/PIL/_imagingtk* +%{python3_sitearch}/PIL/ImageTk* +%{python3_sitearch}/PIL/SpiderImagePlugin* +%{python3_sitearch}/PIL/__pycache__/ImageTk* +%{python3_sitearch}/PIL/__pycache__/SpiderImagePlugin* -%package -n %{name3}-tk -Summary: Tk interface for %{name3} -Group: System Environment/Libraries -Requires: %{name3}%{?_isa} = %{version}-%{release} -Requires: tkinter +%changelog +* Fri Feb 11 2022 Charalampos Stratakis - 5.1.1-18 +- Fixup for CVE-2022-22817 +- Security fixes for CVE-2022-22815, CVE-2022-22816 +Resolves: rhbz#2042522 -%description -n %{name3}-tk -Tk interface for %{name3}. +* Fri Feb 04 2022 Charalampos Stratakis - 5.1.1-17 +- Fix for CVE-2022-22817 +Resolves: rhbz#2042527 -%package -n %{name3}-qt -Summary: PIL image wrapper for Qt -Group: System Environment/Libraries -Obsoletes: %{name3} <= 2.0.0-5.git93a488e8 -Requires: %{name3}%{?_isa} = %{version}-%{release} -Requires: python3-PyQt4 +* Mon Aug 02 2021 Charalampos Stratakis - 5.1.1-16 +- Fix for CVE-2021-34552 +Resolves: rhbz#1982378 -%description -n %{name3}-qt -PIL image wrapper for Qt. +* Mon Jun 14 2021 Lumír Balhar - 5.1.1-15 +- Fixes for CVE-2021-25288, CVE-2021-25287, CVE-2021-28675, CVE-2021-28676, +CVE-2021-28677 and CVE-2021-28678 +Resolves: rhbz#1958231, rhbz#1958226, rhbz#1958240, rhbz#1958252, rhbz#1958257, rhbz#1958263 -%endif +* Fri Apr 09 2021 Lumír Balhar - 5.1.1-14 +- Fixes for CVE-2021-25290, CVE-2021-25292, CVE-2021-25293, CVE-2021-27921 +CVE-2021-27922, and CVE-2021-27923 +Resolves: rhbz#1934685 rhbz#1934699 rhbz#1934705 rhbz#1935384 rhbz#1935396 rhbz#1935401 +* Thu Feb 18 2021 Lumír Balhar - 5.1.1-13 +- Fixes for CVE-2020-35653 and CVE-2020-35655 +Resolves: rhbz#1915420 rhbz#1915432 -%prep -%setup -q -n python-imaging-Pillow-%{shortcommit} -%patch0 -p1 -b .archs -%patch1 -p1 -b .endian -%patch2 -p1 -b .byte_array -%patch3 -p1 -b .memleaks +* Mon Jul 13 2020 Lumír Balhar - 5.1.1-12 +- Fix for CVE-2020-11538 +Resolves: rhbz#1852814 -%if %{with_python3} -# Create Python 3 source tree -rm -rf %{py3dir} -cp -a . %{py3dir} -%endif +* Wed Mar 04 2020 Lumír Balhar - 5.1.1-11 +- Fix for CVE-2020-5313 +Resolves: rhbz#1789532 +* Mon Feb 17 2020 Lumír Balhar - 5.1.1-10 +- Bump and rebuild for gating to deliver CVE fixes +Resolves: rhbz#1789535 -%build -# Build Python 2 modules -find -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python}|' -CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build +* Mon Feb 17 2020 Lumír Balhar - 5.1.1-9 +- Fix for CVE-2020-5311 - out-of-bounds write in expandrow +Resolves: rhbz#1789535 -pushd Sane -CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build -popd +* Fri Feb 14 2020 Lumír Balhar - 5.1.1-8 +- Combined fixes for CVE-2020-5312 and CVE-2019-16865 +Resolves: rhbz#1789533 +Resolves: rhbz#1774066 -pushd docs -#PYTHONPATH=$PWD/.. make html -rm -f _build/html/.buildinfo -popd +* Tue Nov 27 2018 Lumír Balhar - 5.1.1-7 +- Add upstream patch to solve build-time warning +- Move patches to dist-git +- Resolves: rhbz#1639348 -%if %{with_python3} -# Build Python 3 modules -pushd %{py3dir} -find -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' -CFLAGS="$RPM_OPT_FLAGS" %{__python3} setup.py build +* Mon Oct 15 2018 Lumír Balhar - 5.1.1-6 +- Add patches to fix issues found by static code analysis +- Resolves: rhbz#1602669 -pushd Sane -CFLAGS="$RPM_OPT_FLAGS" %{__python3} setup.py build -popd +* Wed Jun 27 2018 Petr Viktorin - 5.1.1-5 +- Correct dependency on python3-tkinter -pushd docs -#PYTHONPATH=$PWD/.. make html -rm -f _build/html/.buildinfo -popd -popd -%endif +* Tue Jun 19 2018 Petr Viktorin - 5.1.1-4 +- Drop dependency on python3-olefile (breaking MicImagePlugin.py, FpxImagePlugin) +* Thu Jun 14 2018 Petr Viktorin - 5.1.1-3 +- Remove the Python 2 subpackage +- Remove the libimagequant dependency + The imagequant library was only used to support a non-default image + quantization mode. -%install -rm -rf $RPM_BUILD_ROOT - -# Install Python 2 modules -install -d $RPM_BUILD_ROOT/%{py2_incdir}/Imaging -install -m 644 libImaging/*.h $RPM_BUILD_ROOT/%{py2_incdir}/Imaging -%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT -pushd Sane -%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT -popd +* Thu May 31 2018 Petr Viktorin - 5.1.1-2 +- Remove the python2 version of docs +- Remove Qt subpackages +- Drop dependency on python2-olefile (breaking MicImagePlugin.py, FpxImagePlugin) -%if %{with_python3} -# Install Python 3 modules -pushd %{py3dir} -install -d $RPM_BUILD_ROOT/%{py3_incdir}/Imaging -install -m 644 libImaging/*.h $RPM_BUILD_ROOT/%{py3_incdir}/Imaging -%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT -pushd Sane -%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT -popd -popd -%endif +* Wed Apr 25 2018 Sandro Mani - 5.1.1-1 +- Update to 5.1.1 -# The scripts are packaged in %%doc -rm -rf $RPM_BUILD_ROOT%{_bindir} +* Thu Apr 05 2018 Sandro Mani - 5.1.0-1 +- Update to 5.1.0 +* Wed Mar 07 2018 Sandro Mani - 5.0.0-3 +- Add missing BR: gcc -%check -# Check Python 2 modules -ln -s $PWD/Images $RPM_BUILD_ROOT%{python_sitearch}/Images -ln -s $PWD/Tests $RPM_BUILD_ROOT%{python_sitearch}/Tests -ln -s $PWD/selftest.py $RPM_BUILD_ROOT%{python_sitearch}/selftest.py -pushd $RPM_BUILD_ROOT%{python_sitearch} -%{__python} selftest.py -%{__python} Tests/run.py -popd -rm $RPM_BUILD_ROOT%{python_sitearch}/Images -rm $RPM_BUILD_ROOT%{python_sitearch}/Tests -rm $RPM_BUILD_ROOT%{python_sitearch}/selftest.py* - -%if %{with_python3} -# Check Python 3 modules -pushd %{py3dir} -ln -s $PWD/Images $RPM_BUILD_ROOT%{python3_sitearch}/Images -ln -s $PWD/Tests $RPM_BUILD_ROOT%{python3_sitearch}/Tests -ln -s $PWD/selftest.py $RPM_BUILD_ROOT%{python3_sitearch}/selftest.py -pushd $RPM_BUILD_ROOT%{python3_sitearch} -%{__python3} selftest.py -%{__python3} Tests/run.py -popd -rm $RPM_BUILD_ROOT%{python3_sitearch}/Images -rm $RPM_BUILD_ROOT%{python3_sitearch}/Tests -rm $RPM_BUILD_ROOT%{python3_sitearch}/selftest.py* -popd -%endif +* Fri Feb 09 2018 Fedora Release Engineering - 5.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild +* Wed Jan 03 2018 Sandro Mani - 5.0.0-1 +- Update to 5.0.0 -%files -%doc README.rst docs/HISTORY.txt COPYING -%{python_sitearch}/* -# These are in subpackages -%exclude %{python_sitearch}/*sane* -%exclude %{python_sitearch}/_imagingtk* -%exclude %{python_sitearch}/PIL/ImageTk* -%exclude %{python_sitearch}/PIL/SpiderImagePlugin* -%exclude %{python_sitearch}/PIL/ImageQt* +* Tue Oct 03 2017 Sandro Mani - 4.3.0-1 +- Update to 4.3.0 -%files devel -%{py2_incdir}/Imaging/ +* Tue Sep 05 2017 Troy Dawson - 4.2.1-5 +- Cleanup spec file conditionals -%files doc -#%doc Scripts Images docs/_build/html +* Thu Aug 03 2017 Fedora Release Engineering - 4.2.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild -%files sane -%doc Sane/CHANGES Sane/demo*.py Sane/sanedoc.txt -%{python_sitearch}/*sane* +* Thu Jul 27 2017 Fedora Release Engineering - 4.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild -%files tk -%{python_sitearch}/_imagingtk* -%{python_sitearch}/PIL/ImageTk* -%{python_sitearch}/PIL/SpiderImagePlugin* +* Fri Jul 07 2017 Igor Gnatenko - 4.2.1-2 +- Rebuild due to bug in RPM (RHBZ #1468476) -%files qt -%{python_sitearch}/PIL/ImageQt* +* Thu Jul 06 2017 Sandro Mani - 4.2.1-1 +- Update to 4.2.1 -%if %{with_python3} -%files -n %{name3} -%doc README.rst docs/HISTORY.txt COPYING -%{python3_sitearch}/* -# These are in subpackages -%exclude %{python3_sitearch}/*sane* -%exclude %{python3_sitearch}/_imagingtk* -%exclude %{python3_sitearch}/PIL/ImageTk* -%exclude %{python3_sitearch}/PIL/SpiderImagePlugin* -%exclude %{python3_sitearch}/PIL/ImageQt* +* Sat Jul 01 2017 Sandro Mani - 4.2.0-1 +- Update to 4.2.0 -%files -n %{name3}-devel -%{py3_incdir}/Imaging/ +* Fri Apr 28 2017 Sandro Mani - 4.1.1-1 +- Update to 4.1.1 -%files -n %{name3}-doc -#%doc Scripts Images docs/_build/html +* Wed Apr 05 2017 Sandro Mani - 4.1.0-1 +- Update to 4.1.0 -%files -n %{name3}-sane -%doc Sane/CHANGES Sane/demo*.py Sane/sanedoc.txt -%{python3_sitearch}/*sane* +* Wed Feb 15 2017 Sandro Mani - 4.0.0-3 +- Fix some __pycache__ files in wrong subpackage (#1422606) -%files -n %{name3}-tk -%{python3_sitearch}/_imagingtk* -%{python3_sitearch}/PIL/ImageTk* -%{python3_sitearch}/PIL/SpiderImagePlugin* +* Wed Feb 01 2017 Sandro Mani - 4.0.0-2 +- Rebuild (libwebp) -%files -n %{name3}-qt -%{python3_sitearch}/PIL/ImageQt* +* Tue Jan 03 2017 Sandro Mani - 4.0.0-1 +- Update to 4.0.0 -%endif +* Mon Dec 12 2016 Miro Hrončok - 3.4.2-3 +- Enable docs build -%changelog -* Mon Oct 06 2014 Michal Minar 2.0.0-19gitd1c6db8 -- Reenabled webp support on little endian archs. +* Mon Dec 12 2016 Miro Hrončok - 3.4.2-2 +- Rebuild for Python 3.6 + +* Wed Oct 19 2016 Sandro Mani - 3.4.2-1 +- Update to 3.4.2 + +* Tue Oct 04 2016 Sandro Mani - 3.4.1-1 +- Update to 3.4.1 + +* Mon Oct 03 2016 Sandro Mani - 3.4.0-1 +- Update to 3.4.0 + +* Thu Aug 18 2016 Sandro Mani - 3.3.1-1 +- Update to 3.3.1 + +* Tue Jul 19 2016 Fedora Release Engineering - 3.3.0-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Sat Jul 02 2016 Sandro Mani - 3.3.0-1 +- Update to 3.3.0 +- Modernize spec + +* Fri Apr 01 2016 Sandro Mani - 3.2.0-1 +- Update to 3.2.0 + +* Wed Feb 10 2016 Sandro Mani - 3.1.1-3 +- Fix broken python3-pillow package description + +* Sun Feb 07 2016 Igor Gnatenko - 3.1.1-2 +- Fix provides + +* Thu Feb 04 2016 Sandro Mani - 3.1.1-1 +- Update to 3.1.1 +- Fixes CVE-2016-0740, CVE-2016-0775 + +* Mon Jan 11 2016 Toshio Kuratomi - 3.1.0-2 +- Fix executable files in doc package bringing in python 2 for the python3 doc + packages + +* Mon Jan 04 2016 Sandro Mani - 3.1.0-1 +- Update to 3.1.0 + +* Tue Dec 29 2015 Igor Gnatenko - 3.0.0-5 +- Build with docs + +* Mon Dec 28 2015 Igor Gnatenko - 3.0.0-4 +- Rebuilt for libwebp soname bump + +* Wed Oct 14 2015 Robert Kuska - 3.0.0-3 +- Rebuilt for Python3.5 rebuild with docs + +* Tue Oct 13 2015 Robert Kuska - 3.0.0-2 +- Rebuilt for Python3.5 rebuild without docs + +* Fri Oct 02 2015 Sandro Mani - 3.0.0-1 +- Update to 3.0.0 + +* Wed Jul 29 2015 Sandro Mani - 2.9.0-2 +- Fix python3-pillow-tk Requires: tkinter -> python3-tkinter (#1248085) + +* Thu Jul 02 2015 Sandro Mani - 2.9.0-1 +- Update to 2.9.0 + +* Thu Jun 18 2015 Fedora Release Engineering - 2.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Jun 08 2015 Sandro Mani - 2.8.2-1 +- Update to 2.8.2 + +* Thu Apr 02 2015 Sandro Mani - 2.8.1-1 +- Update to 2.8.1 + +* Wed Apr 01 2015 Sandro Mani - 2.8.0-1 +- Update to 2.8.0 + +* Mon Jan 12 2015 Sandro Mani - 2.7.0-1 +- Update to 2.7.0 +- Drop sane subpackage, is in python-sane now +- Fix python3 headers directory +- Drop Obsoletes: python3-pillow on python3-pillow-qt + +* Mon Oct 13 2014 Sandro Mani - 2.6.1-1 +- Update to 2.6.1 + +* Thu Oct 02 2014 Sandro Mani - 2.6.0-1 +- Update to 2.6.0 + +* Wed Aug 20 2014 Sandro Mani - 2.5.3-3 +- Rebuilding again to resolve transient build error that caused BZ#1131723 + +* Tue Aug 19 2014 Stephen Gallagher - 2.5.3-2 +- Rebuilding to resolve transient build error that caused BZ#1131723 + +* Tue Aug 19 2014 Sandro Mani - 2.5.3-1 +- Update to 2.5.3 (Fix CVE-2014-3598, a DOS in the Jpeg2KImagePlugin) + +* Sun Aug 17 2014 Fedora Release Engineering - 2.5.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Aug 13 2014 Sandro Mani - 2.5.2-1 +- Update to 2.5.2 (Fix CVE-2014-3589, a DOS in the IcnsImagePlugin) + +* Sat Jul 26 2014 Sandro Mani - 2.5.1-2 +- Reenable jpeg2k tests on big endian arches + +* Tue Jul 15 2014 Sandro Mani - 2.5.1-1 +- Update to 2.5.1 + +* Wed Jul 02 2014 Sandro Mani - 2.5.0-1 +- Update to 2.5.0 + +* Sat Jun 07 2014 Fedora Release Engineering - 2.4.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 28 2014 Sandro Mani - 2.4.0-10 +- Rebuild with docs enabled +- Update python-pillow_openjpeg-2.1.0.patch + +* Tue May 27 2014 Sandro Mani - 2.4.0-9 +- Rebuild against openjpeg-2.1.0 + +* Fri May 23 2014 Dan Horák - 2.4.0-8 +- skip jpeg2k tests on big endian arches (#1100762) + +* Wed May 21 2014 Jaroslav Škarvada - 2.4.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 + +* Tue May 13 2014 Bohuslav Kabrda - 2.4.0-6 +- Set with_docs to 1 to build docs. + +* Tue May 13 2014 Bohuslav Kabrda - 2.4.0-5 +- Bootstrap building sphinx docs because of circular dependency with sphinx. + +* Fri May 9 2014 Orion Poplawski - 2.4.0-4 +- Rebuild for Python 3.4 + +* Tue Apr 22 2014 Sandro Mani - 2.4.0-3 +- Add patch: Have the tempfile use a suffix with a dot + +* Thu Apr 17 2014 Sandro Mani - 2.4.0-2 +- Enable Jpeg2000 support +- Enable webp support also on s390* archs, bug #962091 is now fixed +- Add upstream patch for ghostscript detection + +* Wed Apr 02 2014 Sandro Mani - 2.4.0-1 +- Update to 2.4.0 + +* Wed Mar 19 2014 Sandro Mani - 2.3.1-1 +- Update to 2.3.1 (Fix insecure use of tempfile.mktemp (CVE-2014-1932 CVE-2014-1933)) + +* Thu Mar 13 2014 Jakub Dorňák - 2.3.0-5 +- python-pillow does not provide python3-imaging + (python3-pillow does) + +* Tue Jan 07 2014 Sandro Mani - 2.3.0-4 +- Add missing ghostscript Requires and BuildRequires + +* Mon Jan 06 2014 Sandro Mani - 2.3.0-3 +- Remove python-pillow_help-theme.patch, add python-sphinx-theme-better BR + +* Sun Jan 05 2014 Sandro Mani - 2.3.0-2 +- Rebuild with docs enabled +- Change lcms BR to lcms2 -* Mon Aug 18 2014 Michal Minar 2.0.0-18gitd1c6db8 -- Disabled webp support on ppc64le due to #962091 and #1127230. -- Updated URL. +* Thu Jan 02 2014 Sandro Mani - 2.3.0-1 +- Update to 2.3.0 +- Build with doc disabled to break circular python-pillow -> python-sphinx -> python pillow dependency -* Fri Feb 21 2014 Michal Minar 2.0.0-17gitd1c6db8 -- Wiped out some memory leaks. +* Wed Oct 23 2013 Sandro Mani - 2.2.1-2 +- Backport fix for decoding tiffs with correct byteorder, fixes rhbz#1019656 -* Fri Jan 24 2014 Daniel Mach - 2.0.0-15.gitd1c6db8 -- Mass rebuild 2014-01-24 +* Wed Oct 02 2013 Sandro Mani - 2.2.1-1 +- Update to 2.2.1 +- Really enable webp on ppc, but leave disabled on s390 -* Tue Jan 14 2014 Michal Minar 2.0.0-14gitd1c6db8 -- Fixed memory corruption. -- Resolves: rhbz#1001122 +* Thu Aug 29 2013 Sandro Mani - 2.1.0-4 +- Add patch to fix incorrect PyArg_ParseTuple tuple signature, fixes rhbz#962091 and rhbz#988767. +- Renable webp support on bigendian arches -* Fri Dec 27 2013 Daniel Mach - 2.0.0-13.gitd1c6db8 -- Mass rebuild 2013-12-27 +* Wed Aug 28 2013 Sandro Mani - 2.1.0-3 +- Add patch to fix memory corruption caused by invalid palette size, see rhbz#1001122 -* Mon Jul 29 2013 Roman Rakus - 2.0.0-12 -- Mark doc subpackage arch dependent. Docs are built depending on supported - features, which are different across archs. - Resolves: rhbz#987839 +* Tue Jul 30 2013 Karsten Hopp 2.1.0-2 +- Build without webp support on ppc* archs (#988767) -* Wed Jul 24 2013 Roman Rakus - 2.0.0-11 -- Drop lcms support - Resolves: rhbz#987839 +* Wed Jul 03 2013 Sandro Mani - 2.1.0-1 +- Update to 2.1.0 +- Run tests in builddir, not installroot +- Build python3-pillow docs with python3 +- python-pillow_endian.patch upstreamed * Mon May 13 2013 Roman Rakus - 2.0.0-10 - Build without webp support on s390* archs diff --git a/SPECS/python-ply.spec b/SPECS/python-ply.spec index 6aad2cce..f42dc0cc 100644 --- a/SPECS/python-ply.spec +++ b/SPECS/python-ply.spec @@ -1,124 +1,216 @@ -%global with_python3 1 -#%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")} - -Name: python-ply -Summary: Python Lex-Yacc -Version: 3.4 -Release: 11%{?dist} -License: BSD -Group: System Environment/Libraries -URL: http://www.dabeaz.com/ply/ -Source0: http://www.dabeaz.com/ply/ply-%{version}.tar.gz -Patch0: 0001-Replace-md5-in-signature-calculation.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildArch: noarch -BuildRequires: python-devel - -%if 0%{?with_python3} -BuildRequires: /usr/bin/2to3 -BuildRequires: python3-devel -%endif # if with_python3 +%global modname ply + +%bcond_without tests + +Name: python-%{modname} +Summary: Python Lex-Yacc +Version: 3.11 +Release: 9%{?dist} +License: BSD +URL: http://www.dabeaz.com/ply/ +Source0: http://www.dabeaz.com/ply/%{modname}-%{version}.tar.gz +BuildArch: noarch %description -PLY is a straightforward lex/yacc implementation. Here is a list of its +PLY is a straightforward lex/yacc implementation. Here is a list of its essential features: * It is implemented entirely in Python. -* It uses LR-parsing which is reasonably efficient and well suited for larger +* It uses LR-parsing which is reasonably efficient and well suited for larger grammars. -* PLY provides most of the standard lex/yacc features including support - for empty productions, precedence rules, error recovery, and support +* PLY provides most of the standard lex/yacc features including support + for empty productions, precedence rules, error recovery, and support for ambiguous grammars. * PLY is straightforward to use and provides very extensive error checking. -* PLY doesn't try to do anything more or less than provide the basic lex/yacc - functionality. In other words, it's not a large parsing framework or a - component of some larger system. +* PLY doesn't try to do anything more or less than provide the basic lex/yacc + functionality. In other words, it's not a large parsing framework or a + component of some larger system. -%if 0%{?with_python3} -%package -n python3-ply +%package -n python3-%{modname} Summary: Python Lex-Yacc -Group: System Environment/Libraries -Requires: python3-setuptools +%{?python_provide:%python_provide python3-%{modname}} +BuildRequires: python3-devel +BuildRequires: python3-setuptools -%description -n python3-ply -PLY is a straightforward lex/yacc implementation. Here is a list of its +%description -n python3-%{modname} +PLY is a straightforward lex/yacc implementation. Here is a list of its essential features: * It is implemented entirely in Python. -* It uses LR-parsing which is reasonably efficient and well suited for larger +* It uses LR-parsing which is reasonably efficient and well suited for larger grammars. -* PLY provides most of the standard lex/yacc features including support - for empty productions, precedence rules, error recovery, and support +* PLY provides most of the standard lex/yacc features including support + for empty productions, precedence rules, error recovery, and support for ambiguous grammars. * PLY is straightforward to use and provides very extensive error checking. -* PLY doesn't try to do anything more or less than provide the basic lex/yacc - functionality. In other words, it's not a large parsing framework or a +* PLY doesn't try to do anything more or less than provide the basic lex/yacc + functionality. In other words, it's not a large parsing framework or a component of some larger system. -%endif # with_python3 + +Python 3 version. %prep -%setup -q -n ply-%{version} -%patch0 -p0 -sed -i 's|/usr/local/bin/python|/usr/bin/python|g' example/yply/yply.py -chmod -x example/yply/yply.py example/newclasscalc/calc.py example/classcalc/calc.py example/cleanup.sh - -%if 0%{?with_python3} -rm -rf %{py3dir} -cp -a . %{py3dir} -find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!/usr/bin/python|#!%{__python3}|' - -# The README states: "You should not convert PLY using -# 2to3--it is not necessary and may in fact break the implementation." -# -# However, one of the example files contains python 2 "print" syntax, which -# lead to syntax errors during byte-compilation -# -# So we fix this file with 2to3: -pushd %{py3dir} - 2to3 --write --nobackups ply/cpp.py -popd -%endif # with_python3 +%autosetup -n %{modname}-%{version} +find example/ -type f -executable -exec chmod -x {} ';' +find example/ -type f -name '*.py' -exec sed -i \ + -e '1{\@^#!/usr/bin/env python@d}' -e '1{\@^#!/usr/local/bin/python@d}' \ + {} ';' +rm -rf *.egg-info %build -%{__python} setup.py build +%py3_build -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py build +%install +%py3_install + +%if %{with tests} +%check +pushd test + ./cleanup.sh + %{__python3} testlex.py + %{__python3} testyacc.py popd -%endif # with_python3 +%endif -%install -rm -rf $RPM_BUILD_ROOT -%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT +%files -n python3-%{modname} +%doc CHANGES README.md +%{python3_sitelib}/%{modname}/ +%{python3_sitelib}/%{modname}-%{version}-*.egg-info/ -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT -popd -%endif # with_python3 +%changelog +* Wed Jul 29 2020 Fedora Release Engineering - 3.11-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild -%clean -rm -rf $RPM_BUILD_ROOT +* Sat May 23 2020 Miro Hrončok - 3.11-8 +- Rebuilt for Python 3.9 -%files -%defattr(-,root,root,-) -%doc CHANGES README example/ -%{python_sitelib}/ply/ -%{python_sitelib}/ply*.egg-info +* Thu Jan 30 2020 Fedora Release Engineering - 3.11-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild -%if 0%{?with_python3} -%files -n python3-ply -%defattr(-,root,root,-) -%doc CHANGES README example/ -%{python3_sitelib}/ply/ -%{python3_sitelib}/ply*.egg-info -%endif # with_python3 +* Sun Oct 20 2019 Miro Hrončok - 3.11-6 +- Subpackage python2-ply has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal -%changelog -* Tue Mar 7 2017 Stanislav Laznicka 3.4-11 -- Replace md5 in signature calculation in order to allow use in FIPS +* Thu Oct 03 2019 Miro Hrončok - 3.11-5 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Thu Aug 15 2019 Miro Hrončok - 3.11-4 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 3.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 3.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 11 2019 Igor Gnatenko - 3.11-1 +- Update to 3.11 + +* Sat Jul 14 2018 Fedora Release Engineering - 3.9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Jun 15 2018 Miro Hrončok - 3.9-7 +- Rebuilt for Python 3.7 + +* Fri Feb 09 2018 Fedora Release Engineering - 3.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Sep 27 2017 Troy Dawson - 3.9-5 +- Cleanup spec file conditionals + +* Thu Jul 27 2017 Fedora Release Engineering - 3.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 3.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Dec 09 2016 Charalampos Stratakis - 3.9-2 +- Rebuild for Python 3.6 + +* Tue Nov 8 2016 Orion Poplawski - 3.9-1 +- Update to 3.9 + +* Tue Jul 19 2016 Fedora Release Engineering - 3.8-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Sun Apr 10 2016 Igor Gnatenko - 3.8-1 +- Update to 3.8 +- Follow new packaging guidelines +- Run tests + +* Thu Feb 04 2016 Fedora Release Engineering - 3.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Oct 13 2015 Robert Kuska - 3.6-3 +- Rebuilt for Python3.5 rebuild + +* Tue Aug 18 2015 Stephen Gallagher 3.6-2 +- Fixes for chromium and SlimIt +- Resolves: rhbz#1242929 +- Resolves: rhbz#1254372 + +* Tue Jul 14 2015 Stephen Gallagher 3.6-1 +- Update to latest ply 3.6 for Python 3 fixes + +* Thu Jun 18 2015 Fedora Release Engineering - 3.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 3.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 12 2014 Bohuslav Kabrda - 3.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Sun Aug 04 2013 Fedora Release Engineering - 3.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 3.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Aug 04 2012 David Malcolm - 3.4-3 +- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3 + +* Sat Jul 21 2012 Fedora Release Engineering - 3.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Mar 19 2012 Tom Callaway - 3.4-1 +- update to 3.4 + +* Sat Jan 14 2012 Fedora Release Engineering - 3.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 3.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Aug 25 2010 Thomas Spura - 3.3-4 +- update to most recent python packaging guidelines +- rebuild with python3.2 + http://lists.fedoraproject.org/pipermail/devel/2010-August/141368.html + +* Thu Jul 22 2010 David Malcolm - 3.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Sat Apr 3 2010 David Malcolm - 3.3-2 +- add python3-ply subpackage + +* Mon Oct 19 2009 Tom "spot" Callaway - 3.3-1 +- update to 3.3 + +* Sun Jul 26 2009 Fedora Release Engineering - 3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Apr 22 2009 Tom "spot" Callaway 3.2-1 +- update to 3.2, license change to BSD + +* Thu Feb 26 2009 Fedora Release Engineering - 2.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 2.5-2 +- Rebuild for Python 2.6 + +* Fri Oct 17 2008 Tom "spot" Callaway 2.5-1 +- update to 2.5 -* Fri Jun 12 2015 Martin Kosek 3.4-10 -- Increase Release number to get a clean upgrade path from EPEL 7 +* Mon Mar 24 2008 Tom "spot" Callaway 0.2.3-2 +- add example dir as doc -* Mon Sep 8 2014 Petr Vobornik 3.4-1 -- Initial package for RHEL 7 +* Sat Mar 15 2008 Tom "spot" Callaway 0.2.3-1 +- Initial package for Fedora diff --git a/SPECS/python-pycparser.spec b/SPECS/python-pycparser.spec index d1782710..02c5e0dd 100644 --- a/SPECS/python-pycparser.spec +++ b/SPECS/python-pycparser.spec @@ -1,115 +1,159 @@ -%global with_python3 1 +%bcond_without tests Name: python-pycparser Summary: C parser and AST generator written in Python -Version: 2.14 +Version: 2.20 Release: 1%{?dist} License: BSD -Group: System Environment/Libraries URL: http://github.com/eliben/pycparser -Source0: http://github.com/eliben/pycparser/archive/release_v%{version}.tar.gz +Source0: %{url}/archive/release_v%{version}.tar.gz Source1: pycparser-0.91.1-remove-relative-sys-path.py -Patch100: pycparser-2.10-ply.patch # This is Fedora-specific; I don't think we should request upstream to # remove embedded libraries from their distribuution, when we can remove # them during packaging. +# It also ensures that pycparser uses the same YACC __tabversion__ as ply +# package to prevent "yacc table file version is out of date" problem. +Patch100: pycparser-unbundle-ply.patch BuildArch: noarch -BuildRequires: python2-devel python-setuptools +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-ply # for unit tests -BuildRequires: dos2unix -BuildRequires: python-ply - -%if 0%{?with_python3} -BuildRequires: python3-devel python3-setuptools -# for unit tests -BuildRequires: python3-ply -%endif # if with_python3 - -Requires: python-ply +%if %{with tests} +BuildRequires: cpp +%endif %description pycparser is a complete parser for the C language, written in pure Python. It is a module designed to be easily integrated into applications that need to parse C source code. -%if 0%{?with_python3} %package -n python3-pycparser -Summary: C parser and AST generator written in Python -Group: System Environment/Libraries -Requires: python3-ply +Summary: %{summary} +%{?python_provide:%python_provide python3-pycparser} %description -n python3-pycparser pycparser is a complete parser for the C language, written in pure Python. It is a module designed to be easily integrated into applications that need to parse C source code. -%endif # if with_python3 %prep -%setup -q -n pycparser-release_v%{version} -%patch100 -p1 -F5 -b .ply +%autosetup -p1 -n pycparser-release_v%{version} # remove embedded copy of ply -rm -rf pycparser/ply - -# examples -%{__python} %{SOURCE1} examples -dos2unix LICENSE +rm -r pycparser/ply -%if 0%{?with_python3} -rm -rf %{py3dir} -cp -a . %{py3dir} -find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!/usr/bin/python|#!%{__python3}|' -%endif # with_python3 +# Remove relative sys.path from the examples +%{__python3} %{SOURCE1} examples %build -%{__python} setup.py build -pushd build/lib/pycparser -%{__python} _build_tables.py -popd - -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py build +%py3_build pushd build/lib/pycparser %{__python3} _build_tables.py popd -popd -%endif # with_python3 %install -%{__python} setup.py install --skip-build --root %{buildroot} - -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py install --skip-build --root %{buildroot} -popd -%endif # with_python3 +%py3_install %check -%{__python} tests/all_tests.py - -%if 0%{?with_python3} -%{__python3} tests/all_tests.py -pushd %{py3dir} -popd -%endif # with_python3 +%if %{with tests} +%{__python3} tests/all_tests.py +%endif -%files -%doc examples LICENSE -%{python_sitelib}/pycparser/ -%{python_sitelib}/pycparser-*.egg-info - -%if 0%{?with_python3} %files -n python3-pycparser +%license LICENSE +%doc examples %{python3_sitelib}/pycparser/ -%{python3_sitelib}/pycparser-*.egg-info -%endif # with_python3 +%{python3_sitelib}/pycparser-*.egg-info/ %changelog +* Fri Jun 05 2020 Miro Hrončok - 2.20-1 +- Update to 2.20 (#1810349) + +* Sat May 23 2020 Miro Hrončok - 2.19-3 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 2.19-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 08 2019 Lumír Balhar - 2.19-1 +- New usptream version 2.19 + +* Sun Oct 20 2019 Miro Hrončok - 2.14-23 +- Subpackage python2-ply has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Thu Oct 03 2019 Miro Hrončok - 2.14-22 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Thu Aug 15 2019 Miro Hrončok - 2.14-21 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 2.14-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jun 10 2019 Marcel Plch - 2.14-19 +- Avoid invalid unicode escape sequences in Py3.8 + +* Tue Feb 26 2019 Christian Heimes - 2.14-18 +- Add build dependency on cpp for unit tests +- Add dependency on python-ply version to prevent "yacc table file version is out of date" +- Fixes RHBZ#1668230 + +* Sat Feb 02 2019 Fedora Release Engineering - 2.14-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2.14-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Jun 15 2018 Miro Hrončok - 2.14-15 +- Rebuilt for Python 3.7 + +* Mon Feb 12 2018 Iryna Shcherbina - 2.14-14 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 2.14-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Sep 27 2017 Troy Dawson - 2.14-12 +- Cleanup spec file conditionals + +* Thu Jul 27 2017 Fedora Release Engineering - 2.14-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 2.14-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 6 2017 Orion Poplawski - 2.14-9 +- Ship python2-pycparser +- Modernize spec + +* Fri Dec 09 2016 Charalampos Stratakis - 2.14-8 +- Rebuild for Python 3.6 + +* Tue Jul 19 2016 Fedora Release Engineering - 2.14-7 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Fri Jul 8 2016 Tom Callaway - 2.14-6 +- rebuild to update yacctab.py + +* Thu Feb 04 2016 Fedora Release Engineering - 2.14-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Oct 13 2015 Robert Kuska - 2.14-4 +- Rebuilt for Python3.5 rebuild + +* Tue Jul 14 2015 Stephen Gallagher - 2.14-3 +- Rebuild alongside python-ply 3.6 + +* Thu Jun 18 2015 Fedora Release Engineering - 2.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Tue Jun 09 2015 Nathaniel McCallum - 2.14-1 - Update to 2.14 diff --git a/SPECS/python-six.spec b/SPECS/python-six.spec index c63e0764..f1dab59f 100644 --- a/SPECS/python-six.spec +++ b/SPECS/python-six.spec @@ -5,7 +5,7 @@ Name: python-six Version: 1.9.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python 2 and 3 compatibility utilities Group: Development/Languages diff --git a/SPECS/python3-pip.spec b/SPECS/python3-pip.spec index c5d7c873..619d28f3 100644 --- a/SPECS/python3-pip.spec +++ b/SPECS/python3-pip.spec @@ -368,12 +368,12 @@ pytest_k='not completion and %doc README.rst %license %{python3_sitelib}/pip-%{upstream_version}.dist-info/LICENSE.txt %if %{with doc} -%{_mandir}/man1/pip.* +%exclude %{_mandir}/man1/pip.* %{_mandir}/man1/pip-*.* %{_mandir}/man1/pip3.* %{_mandir}/man1/pip3-*.* %endif -%{_bindir}/pip +%exclude %{_bindir}/pip %{_bindir}/pip3 %{_bindir}/pip-3 %{_bindir}/pip%{python3_version} diff --git a/SPECS/python3-setuptools.spec b/SPECS/python3-setuptools.spec index a6349fc3..f9f65909 100644 --- a/SPECS/python3-setuptools.spec +++ b/SPECS/python3-setuptools.spec @@ -1,1055 +1,154 @@ -%global srcname setuptools - -%bcond_with tests - -# WARNING When bootstrapping, disable tests as well, -# because tests need pip. -%bcond_with bootstrap -# 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_without main_python - -%global python_wheel_name %{srcname}-%{version}-py3-none-any.whl - -Name: python-setuptools -# When updating, update the bundled libraries versions bellow! -Version: 62.6.0 -Release: 1%{?dist} -Summary: Easily build and distribute Python packages -# setuptools is MIT -# appdirs is MIT -# more-itertools is MIT -# ordered-set is MIT -# packaging is BSD or ASL 2.0 -# pyparsing is MIT -# importlib-metadata is ASL 2.0 -# importlib-resources is ASL 2.0 -# jaraco.text is MIT -# typing-extensions is Python -# zipp is MIT -# nspektr is MIT -# tomli is MIT -# the setuptools logo is MIT -License: MIT and ASL 2.0 and (BSD or ASL 2.0) and Python -URL: https://pypi.python.org/pypi/%{srcname} -Source0: %{pypi_source %{srcname} %{version}} - -# 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 - -BuildArch: noarch - -BuildRequires: python%{python3_pkgversion}-devel - -%if %{with tests} -BuildRequires: gcc +# This package is for EPEL only +# Dependencies for check and wheel introduce circular dependencies +# Set this to 0 after we've bootstrapped. +%{!?_with_bootstrap: %global bootstrap 0} + +%if ! 0%{?bootstrap} +%global with_check 1 +%global build_wheel 1 +%else +%global with_check 0 +%global build_wheel 1 %endif -%if %{without bootstrap} -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 -# 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 -BuildRequires: python3-rpm-generators >= 11-8 -%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 two files: -# - pkg_resources/_vendor/vendored.txt, and -# - setuptools/_vendor/vendored.txt -# Merge them to one and then generate the list with: -# %%{_rpmconfigdir}/pythonbundles.py --namespace 'python%%{python3_pkgversion}dist' allvendor.txt -%global bundled %{expand: -Provides: bundled(python%{python3_pkgversion}dist(appdirs)) = 1.4.3 -Provides: bundled(python%{python3_pkgversion}dist(importlib-metadata)) = 4.11.1 -Provides: bundled(python%{python3_pkgversion}dist(importlib-resources)) = 5.4 -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)) = 21.3 -Provides: bundled(python%{python3_pkgversion}dist(pyparsing)) = 3.0.8 -Provides: bundled(python%{python3_pkgversion}dist(typing-extensions)) = 4.0.1 -Provides: bundled(python%{python3_pkgversion}dist(zipp)) = 3.7 -Provides: bundled(python%{python3_pkgversion}dist(nspektr)) = 0.3 -Provides: bundled(python%{python3_pkgversion}dist(tomli)) = 2.0.1 -} +%global srcname setuptools +%if 0%{?build_wheel} +%global python3_wheelname %{srcname}-%{version}-py2.py3-none-any.whl +%global python3_record %{python3_sitelib}/%{srcname}-%{version}.dist-info/RECORD +%endif -%package -n python%{python3_pkgversion}-setuptools +Name: python3-setuptools +Version: 39.2.0 +Release: 3%{?dist} Summary: Easily build and distribute Python 3 packages -%{bundled} +License: MIT +URL: https://github.com/pypa/setuptools +Source0: %pypi_source %{srcname} %{version} zip -%if %{with bootstrap} -Provides: python%{python3_pkgversion}dist(setuptools) = %{version} -Provides: python%{python3_version}dist(setuptools) = %{version} -%endif +# 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 -# 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 python3-pkg_resources -#%py_provides python3-pkg-resources +BuildArch: noarch -%description -n python%{python3_pkgversion}-setuptools +%description 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 %{python_wheel_pkg_prefix}-%{srcname}-wheel -A Python wheel of setuptools to use with venv. -%endif +execute the software that requires pkg_resources.py. %prep %autosetup -p1 -n %{srcname}-%{version} -%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 -rm -r %{srcname}.egg-info -%endif + +# 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 # Strip shbang -find setuptools pkg_resources -name \*.py | xargs sed -i -e '1 {/^#!\//d}' +find setuptools -name \*.py | xargs sed -i -e '1 {/^#!\//d}' # Remove bundled exes rm -f setuptools/*.exe -# Don't ship these -rm -r docs/conf.py +# These tests require internet connection +rm setuptools/tests/test_integration.py -%if %{without bootstrap} -%generate_buildrequires -%pyproject_buildrequires -r %{?with_tests:-x testing} -%endif %build -%if %{with bootstrap} -%py3_build +%if 0%{?build_wheel} +%py3_build_wheel %else -%pyproject_wheel +%py3_build %endif %install -%if %{with bootstrap} -%py3_install +%if 0%{?build_wheel} +%py3_install_wheel %{python3_wheelname} +sed -i '/\/usr\/bin\/easy_install,/d' %{buildroot}%{python3_record} %else -%pyproject_install -%pyproject_save_files setuptools pkg_resources _distutils_hack +%py3_install %endif +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 '/\/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 +rm %{buildroot}%{_bindir}/easy_install -%if %{with tests} -%check -# Verify bundled provides are up to date -cat pkg_resources/_vendor/vendored.txt setuptools/_vendor/vendored.txt > allvendor.txt -%{_rpmconfigdir}/pythonbundles.py allvendor.txt --namespace 'python%{python3_pkgversion}dist' --compare-with '%{bundled}' +%if 0%{?build_wheel} +sed -i '/^setuptools\/tests\//d' %{buildroot}%{python3_record} +%endif -# Regression test, the wheel should not be larger than 900 KiB -# https://bugzilla.redhat.com/show_bug.cgi?id=1914481#c3 -test $(du %{_pyproject_wheeldir}/%{python_wheel_name} | cut -f1) -lt 900 +find %{buildroot}%{python3_sitelib} -type f -name '*.exe' -print -delete -# 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 +# Don't ship these +rm -r docs/{Makefile,conf.py,_*} -# 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_develop.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_develop.py \ - --ignore=setuptools/tests/config/test_apply_pyprojecttoml.py \ - -k "not test_pip_upgrade_from_source" -%endif # with tests +%if 0%{?with_check} +%check +LANG=en_US.utf8 PYTHONPATH=$(pwd) py.test-%{python3_version} +%endif -%files -n python%{python3_pkgversion}-setuptools %{?!with_bootstrap:-f %{pyproject_files}} +%files -n python%{python3_pkgversion}-setuptools %license LICENSE %doc docs/* CHANGES.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}/_distutils_hack/ -%endif - -%if %{without bootstrap} -%files -n %{python_wheel_pkg_prefix}-%{srcname}-wheel -%license LICENSE -# we own the dir for simplicity -%dir %{python_wheel_dir}/ -%{python_wheel_dir}/%{python_wheel_name} -%endif +%{python3_sitelib}/easy_install.py +%{python3_sitelib}/__pycache__/easy_install.cpython-%{python3_version_nodots}*.py* +%{python3_sitelib}/pkg_resources +%{python3_sitelib}/setuptools +#%{python3_sitelib}/setuptools-%{version}-py%{python3_version}.egg-info +%{python3_sitelib}/setuptools-39.2.0.dist-info/* +%{_bindir}/easy_install-%{python3_version} %changelog -* 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 - -* Tue Mar 20 2018 Charalampos Stratakis - 39.0.1-1 -- update to 39.0.1 Fixes bug #1531527 - -* Wed Mar 14 2018 Tomas Orsava - 38.4.0-4 -- Skip test_virtualenv due to broken executable detection - -* Fri Feb 09 2018 Fedora Release Engineering - 38.4.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Jan 16 2018 Troy Dawson - 38.4.0-2 -- Update conditional - -* Tue Jan 16 2018 Charalampos Stratakis - 38.4.0-1 -- update to 38.4.0 Fixes bug #1531527 - -* Tue Jan 02 2018 Charalampos Stratakis - 38.2.5-1 -- update to 38.2.5 Fixes bug #1528968 - -* Tue Nov 21 2017 Miro Hrončok - 37.0.0-1 -- Update to 37.0.0 (fixes #1474126) -- Removed not needed pip3 patch (upstream included different version of fix) - -* Tue Nov 21 2017 Miro Hrončok - 36.5.0-1 -- Update to 36.5.0 (related to #1474126) - -* Thu Nov 09 2017 Tomas Orsava - 36.2.0-8 -- Remove the platform-python subpackage - -* Sun Aug 20 2017 Tomas Orsava - 36.2.0-7 -- Re-enable tests to finish bootstrapping the platform-python stack - (https://fedoraproject.org/wiki/Changes/Platform_Python_Stack) - -* Wed Aug 09 2017 Tomas Orsava - 36.2.0-6 -- Add the platform-python subpackage -- Disable tests so platform-python stack can be bootstrapped - (https://fedoraproject.org/wiki/Changes/Platform_Python_Stack) - -* Wed Aug 09 2017 Tomas Orsava - 36.2.0-5 -- Add Patch 0 that fixes a test suite failure on Python 3 in absence of - the Python 2 version of pip -- Move docs to their proper place - -* Wed Aug 09 2017 Tomas Orsava - 36.2.0-4 -- Switch macros to bcond's and make Python 2 optional to facilitate building - the Python 2 and Python 3 modules. - -* Tue Aug 08 2017 Michal Cyprian - 36.2.0-3 -- Revert "Add --executable option to easy_install command" - This enhancement is currently not needed and it can possibly - collide with `pip --editable`option - -* Thu Jul 27 2017 Fedora Release Engineering - 36.2.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Jul 15 2017 Charalampos Stratakis - 36.2.0-1 -- update to 36.2.0. Fixes bug #1470908 - -* Thu Jun 15 2017 Charalampos Stratakis - 36.0.1-1 -- update to 36.0.1. Fixes bug #1458093 - -* Sat May 27 2017 Kevin Fenzi - 35.0.2-1 -- update to 35.0.2. Fixes bug #1446622 - -* Sun Apr 23 2017 Kevin Fenzi - 35.0.1-1 -- Update to 35.0.1. Fixes bug #1440388 - -* Sat Mar 25 2017 Kevin Fenzi - 34.3.2-1 -- Update to 34.3.2. Fixes bug #1428818 - -* Sat Feb 25 2017 Kevin Fenzi - 34.3.0-1 -- Update to 34.3.0. Fixes bug #1426463 - -* Fri Feb 17 2017 Michal Cyprian - 34.2.0-2 -- Add --executable option to easy_install command - -* Thu Feb 16 2017 Charalampos Stratakis - 34.2.0-1 -- Update to 34.2.0. Fixes bug #1421676 - -* Sat Feb 04 2017 Kevin Fenzi - 34.1.1-1 -- Update to 34.1.1. Fixes bug #1412268 -- Fix License tag. Fixes bug #1412268 -- Add Requires for fomerly bundled projects: six, packaging appdirs - -* Tue Jan 03 2017 Michal Cyprian - 32.3.1-2 -- Use python macros in build and install sections - -* Thu Dec 29 2016 Kevin Fenzi - 32.3.1-1 -- Update to 32.3.1. Fixes bug #1409091 - -* Wed Dec 28 2016 Kevin Fenzi - 32.3.0-1 -- Update to 32.3.0. Fixes bug #1408564 +* Thu Mar 07 2019 Troy Dawson +- Rebuilt to change main python from 3.4 to 3.6 -* Fri Dec 23 2016 Kevin Fenzi - 32.2.0-1 -- Update to 32.2.0. Fixes bug #1400310 +* Fri Jan 11 2019 Miro Hrončok - 39.2.0-2 +- Create /usr/local/lib/pythonX.Y when needed (#1664722) -* Tue Dec 13 2016 Stratakis Charalampos - 30.4.0-2 -- Enable tests +* Tue Dec 04 2018 Carl George - 39.2.0-1 +- Update to upstream 39.2.0 -* Sun Dec 11 2016 Kevin Fenzi - 30.4.0-1 -- Update to 30.4.0. Fixes bug #1400310 +* Wed May 23 2018 Igor Gnatenko - 19.6.2-3 +- Build for python3_other -* Fri Dec 09 2016 Charalampos Stratakis - 28.8.0-3 -- Rebuild for Python 3.6 with wheel -- Disable tests +* Sun Oct 09 2016 Tim Orling - 19.6.2-2 +- Fixes for EPEL6 build -* Fri Dec 09 2016 Charalampos Stratakis - 28.8.0-2 -- Rebuild for Python 3.6 without wheel - -* Wed Nov 09 2016 Kevin Fenzi - 28.8.0-1 -- Update to 28.8.1. Fixes bug #1392722 - -* Mon Oct 31 2016 Kevin Fenzi - 28.7.1-1 -- Update to 28.7.1. Fixes bug #1389917 - -* Tue Oct 25 2016 Kevin Fenzi - 28.6.1-1 -- Update to 28.6.1. Fixes bug #1387071 - -* Tue Oct 18 2016 Kevin Fenzi - 28.6.0-1 -- Update to 28.6.0. Fixes bug #1385655 - -* Sat Oct 08 2016 Kevin Fenzi - 28.3.0-1 -- Update to 28.3.0. Fixes bug #1382971 - -* Sun Oct 02 2016 Kevin Fenzi - 28.2.0-1 -- Update to 28.2.0. Fixes bug #1381099 - -* Sun Oct 02 2016 Kevin Fenzi - 28.1.0-1 -- Update to 28.1.0. Fixes bug #1381066 - -* Wed Sep 28 2016 Kevin Fenzi - 28.0.0-1 -- Update to 28.0.0. Fixes bug #1380073 - -* Sun Sep 25 2016 Kevin Fenzi - 27.3.0-1 -- Update to 27.3.0. Fixes bug #1378067 - -* Sat Sep 17 2016 Kevin Fenzi - 27.2.0-1 -- Update to 27.2.0. Fixes bug #1376298 - -* Sat Sep 10 2016 Kevin Fenzi - 27.1.2-1 -- Update to 27.1.2. Fixes bug #1370777 - -* Sat Aug 27 2016 Kevin Fenzi - 26.0.0-1 -- Update to 26.0.0. Fixes bug #1370777 - -* Wed Aug 10 2016 Kevin Fenzi - 25.1.6-1 -- Update to 25.1.6. Fixes bug #1362325 - -* Fri Jul 29 2016 Kevin Fenzi - 25.1.1-1 -- Update to 25.1.1. Fixes bug #1361465 - -* Thu Jul 28 2016 Kevin Fenzi - 25.1.0-1 -- Update to 25.1.0 - -* Sat Jul 23 2016 Kevin Fenzi - 25.0.0-1 -- Update to 25.0.0 - -* Fri Jul 22 2016 Kevin Fenzi - 24.2.0-1 -- Update to 24.2.0. Fixes bug #1352734 - -* Tue Jul 19 2016 Fedora Release Engineering - 24.0.1-2 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Mon Jul 04 2016 Kevin Fenzi - 24.0.1-1 -- Update to 24.0.1. Fixes bug #1352532 - -* Wed Jun 15 2016 Kevin Fenzi - 23.0.0-1 -- Update to 23.0.0. Fixes bug #1346542 - -* Tue Jun 07 2016 Kevin Fenzi - 22.0.5-1 -- Update to 22.0.5. Fixes bug #1342706 - -* Thu Jun 02 2016 Kevin Fenzi - 20.0.0-1 -- Upgrade to 22.0.0 - -* Tue May 31 2016 Nils Philippsen -- fix source URL - -* Sun May 29 2016 Kevin Fenzi - 21.2.2-1 -- Update to 21.2.2. Fixes bug #1332357 - -* Thu Apr 28 2016 Kevin Fenzi - 20.10.1-1 -- Update to 20.10.1. Fixes bug #1330375 - -* Sat Apr 16 2016 Kevin Fenzi - 20.9.0-1 -- Update to 20.9.0. Fixes bug #1327827 - -* Fri Apr 15 2016 Kevin Fenzi - 20.8.1-1 -- Update to 20.8.1. Fixes bug #1325910 - -* Thu Mar 31 2016 Kevin Fenzi - 20.6.7-1 -- Update to 20.6.7. Fixes bug #1322836 - -* Wed Mar 30 2016 Kevin Fenzi - 20.4-1 -- Update to 20.4. Fixes bug #1319366 - -* Wed Mar 16 2016 Kevin Fenzi - 20.3-1 -- Update to 20.3. Fixes bug #1311967 - -* Sat Feb 27 2016 Kevin Fenzi - 20.2.2-1 -- Update to 20.2.2. Fixes bug #1311967 - -* Sat Feb 13 2016 Kevin Fenzi - 20.1.1-1 -- Update to 20.1.1. Fixes bug #130719 - -* Fri Feb 12 2016 Kevin Fenzi - 20.1-1 -- Update to 20.1. Fixes bug #1307000 - -* Mon Feb 08 2016 Kevin Fenzi - 20.0-1 -- Update to 20.0. Fixes bug #1305394 - -* Sat Feb 06 2016 Kevin Fenzi - 19.7-1 -- Update to 19.7. Fixes bug #1304563 - -* Wed Feb 3 2016 Orion Poplawski - 19.6.2-2 +* Wed Feb 3 2016 Orion Poplawski - 19.6.2-1 +- Update to 19.6.2 +- Update license - Fix python3 package file ownership -* Sun Jan 31 2016 Kevin Fenzi - 19.6.2-1 -- Update to 19.6.2. Fixes bug #1303397 - -* Mon Jan 25 2016 Kevin Fenzi - 19.6-1 -- Update to 19.6. - -* Mon Jan 25 2016 Kevin Fenzi - 19.5-1 -- Update to 19.5. Fixes bug #1301313 - -* Mon Jan 18 2016 Kevin Fenzi - 19.4-1 -- Update to 19.4. Fixes bug #1299288 - -* Tue Jan 12 2016 Orion Poplawski - 19.2-2 -- Cleanup spec from python3-setuptools review - -* Fri Jan 08 2016 Kevin Fenzi - 19.2-1 -- Update to 19.2. Fixes bug #1296755 - -* Fri Dec 18 2015 Kevin Fenzi - 19.1.1-1 -- Update to 19.1.1. Fixes bug #1292658 - -* Tue Dec 15 2015 Kevin Fenzi - 18.8.1-1 -- Update to 18.8.1. Fixes bug #1291678 - -* Sat Dec 12 2015 Kevin Fenzi - 18.8-1 -- Update to 18.8. Fixes bug #1290942 - -* Fri Dec 04 2015 Kevin Fenzi - 18.7.1-1 -- Update to 18.7.1. Fixes bug #1287372 - -* Wed Nov 25 2015 Kevin Fenzi - 18.6.1-1 -- Update to 18.6.1. Fixes bug #1270578 - -* Sun Nov 15 2015 Thomas Spura - 18.5-3 -- Try to disable zip_safe bug #1271776 -- Add python2 subpackage - -* Fri Nov 06 2015 Robert Kuska - 18.5-2 -- Add patch so it is possible to set test_args variable - -* Tue Nov 03 2015 Robert Kuska - 18.5-1 -- Update to 18.5. Fixes bug #1270578 - -* Tue Oct 13 2015 Robert Kuska - 18.4-1 -- Update to 18.4. Fixes bug #1270578 -- Build with wheel and check phase - -* Wed Sep 23 2015 Robert Kuska - 18.3.2-2 -- Python3.5 rebuild: rebuild without wheel and check phase - -* Tue Sep 22 2015 Kevin Fenzi 18.3.2-1 -- Update to 18.3.2. Fixes bug #1264902 - -* Mon Sep 07 2015 Kevin Fenzi 18.3.1-1 -- Update to 18.3.1. Fixes bug #1256188 - -* Wed Aug 05 2015 Kevin Fenzi 18.1-1 -- Update to 18.1. Fixes bug #1249436 - -* Mon Jun 29 2015 Pierre-Yves Chibon - 18.0.1-2 -- Explicitely provide python2-setuptools - -* Thu Jun 25 2015 Kevin Fenzi 18.0.1-1 -- Update to 18.0.1 - -* Sat Jun 20 2015 Kevin Fenzi 17.1.1-3 -- Drop no longer needed Requires/BuildRequires on python-backports-ssl_match_hostname -- Fixes bug #1231325 - -* Thu Jun 18 2015 Fedora Release Engineering - 17.1.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Jun 10 2015 Kevin Fenzi 17.1.1-1 -- Update to 17.1.1. Fixes bug 1229507 - -* Sun Jun 07 2015 Kevin Fenzi 17.1-1 -- Update to 17.1. Fixes bug 1229066 - -* Sat May 30 2015 Kevin Fenzi 17.0-1 -- Update to 17 - -* Mon May 18 2015 Kevin Fenzi 16.0-1 -- Update to 16 - -* Mon Apr 27 2015 Ralph Bean - 15.2-1 -- new version - -* Sat Apr 04 2015 Ralph Bean - 15.0-1 -- new version - -* Sun Mar 22 2015 Ralph Bean - 14.3.1-1 -- new version - -* Sat Mar 21 2015 Ralph Bean - 14.3.1-1 -- new version - -* Mon Mar 16 2015 Ralph Bean - 14.3-1 -- new version - -* Sun Mar 15 2015 Ralph Bean - 14.2-1 -- new version - -* Sun Mar 15 2015 Ralph Bean - 14.1.1-1 -- new version - -* Fri Mar 06 2015 Ralph Bean - 13.0.2-1 -- new version - -* Thu Mar 05 2015 Ralph Bean - 12.4-1 -- new version - -* Fri Feb 27 2015 Ralph Bean - 12.3-1 -- new version - -* Tue Jan 20 2015 Kevin Fenzi 12.0.3-1 -- Update to 12.0.3 - -* Fri Jan 09 2015 Slavek Kabrda - 11.3.1-2 -- Huge spec cleanup -- Make spec buildable on all Fedoras and RHEL 6 and 7 -- Make tests actually run - -* Wed Jan 07 2015 Kevin Fenzi 11.3.1-1 -- Update to 11.3.1. Fixes bugs: #1179393 and #1178817 - -* Sun Jan 04 2015 Kevin Fenzi 11.0-1 -- Update to 11.0. Fixes bug #1178421 - -* Fri Dec 26 2014 Kevin Fenzi 8.2.1-1 -- Update to 8.2.1. Fixes bug #1175229 - -* Thu Oct 23 2014 Ralph Bean - 7.0-1 -- Latest upstream. Fixes bug #1154590. - -* Mon Oct 13 2014 Ralph Bean - 6.1-1 -- Latest upstream. Fixes bug #1152130. - -* Sat Oct 11 2014 Ralph Bean - 6.0.2-2 -- Modernized python2 macros. -- Inlined locale environment variables in the %%check section. -- Remove bundled egg-info and .exes. - -* Fri Oct 03 2014 Kevin Fenzi 6.0.2-1 -- Update to 6.0.2 - -* Sat Sep 27 2014 Kevin Fenzi 6.0.1-1 -- Update to 6.0.1. Fixes bug #1044444 - -* Mon Jun 30 2014 Toshio Kuratomi - 2.0-8 -- Remove the python-setuptools-devel Virtual Provides as per this Fedora 21 - Change: http://fedoraproject.org/wiki/Changes/Remove_Python-setuptools-devel - -* Mon Jun 30 2014 Toshio Kuratomi - 2.0-7 -- And another bug in sdist - -* Mon Jun 30 2014 Toshio Kuratomi - 2.0-6 -- Fix a bug in the sdist command - -* Sat Jun 07 2014 Fedora Release Engineering - 2.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Fri Apr 25 2014 Matej Stuchlik - 2.0-4 -- Rebuild as wheel for Python 3.4 - -* Thu Apr 24 2014 Tomas Radej - 2.0-3 -- Rebuilt for tag f21-python - -* Wed Apr 23 2014 Matej Stuchlik - 2.0-2 -- Add a switch to build setuptools as wheel - -* Mon Dec 9 2013 Toshio Kuratomi - 2.0-1 -- Update to new upstream release with a few things removed from the API: - Changelog: https://pypi.python.org/pypi/setuptools#id139 - -* Mon Nov 18 2013 Toshio Kuratomi - 1.4-1 -- Update to 1.4 that gives easy_install pypi credential handling - -* Thu Nov 7 2013 Toshio Kuratomi - 1.3.1-1 -- Minor upstream update to reign in overzealous warnings - -* Mon Nov 4 2013 Toshio Kuratomi - 1.3-1 -- Upstream update that pulls in our security patches - -* Mon Oct 28 2013 Toshio Kuratomi - 1.1.7-1 -- Update to newer upstream release that has our patch to the unittests -- Fix for http://bugs.python.org/issue17997#msg194950 which affects us since - setuptools copies that code. Changed to use - python-backports-ssl_match_hostname so that future issues can be fixed in - that package. - -* Sat Oct 26 2013 Toshio Kuratomi - 1.1.6-1 -- Update to newer upstream release. Some minor incompatibilities listed but - they should affect few, if any consumers. - -* Sun Aug 04 2013 Fedora Release Engineering - 0.9.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Tue Jul 23 2013 Toshio Kuratomi - 0.9.6-1 -- Upstream update -- just fixes python-2.4 compat - -* Tue Jul 16 2013 Toshio Kuratomi - 0.9.5-1 -- Update to 0.9.5 - - package_index can handle hashes other than md5 - - Fix security vulnerability in SSL certificate validation - - https://bugzilla.redhat.com/show_bug.cgi?id=963260 - -* Fri Jul 5 2013 Toshio Kuratomi - 0.8-1 -- Update to upstream 0.8 release. Codebase now runs on anything from - python-2.4 to python-3.3 without having to be translated by 2to3. - -* Wed Jul 3 2013 Toshio Kuratomi - 0.7.7-1 -- Update to 0.7.7 upstream release - -* Mon Jun 10 2013 Toshio Kuratomi - 0.7.2-2 -- Update to the setuptools-0.7 branch that merges distribute and setuptools - -* Thu Apr 11 2013 Toshio Kuratomi - 0.6.36-1 -- Update to upstream 0.6.36. Many bugfixes - -* Thu Feb 14 2013 Fedora Release Engineering - 0.6.28-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Fri Aug 03 2012 David Malcolm - 0.6.28-3 -- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3 - -* Fri Aug 3 2012 David Malcolm - 0.6.28-2 -- remove rhel logic from with_python3 conditional - -* Mon Jul 23 2012 Toshio Kuratomi - 0.6.28-1 -- New upstream release: - - python-3.3 fixes - - honor umask when setuptools is used to install other modules - -* Sat Jul 21 2012 Fedora Release Engineering - 0.6.27-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Mon Jun 11 2012 Toshio Kuratomi - 0.6.27-2 -- Fix easy_install.py having a python3 shebang in the python2 package - -* Thu Jun 7 2012 Toshio Kuratomi - 0.6.27-1 -- Upstream bugfix - -* Tue May 15 2012 Toshio Kuratomi - 0.6.24-2 -- Upstream bugfix - -* Sat Jan 14 2012 Fedora Release Engineering - 0.6.24-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Mon Oct 17 2011 Toshio Kuratomi - 0.6.24-1 -- Upstream bugfix -- Compile the win32 launcher binary using mingw - -* Sun Aug 21 2011 Toshio Kuratomi - 0.6.21-1 -- Upstream bugfix release - -* Thu Jul 14 2011 Toshio Kuratomi - 0.6.19-1 -- Upstream bugfix release - -* Tue Feb 22 2011 Toshio Kuratomi - 0.6.14-7 -- Switch to patch that I got in to upstream - -* Tue Feb 22 2011 Toshio Kuratomi - 0.6.14-6 -- Fix build on python-3.2 - -* Wed Feb 09 2011 Fedora Release Engineering - 0.6.14-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Sun Aug 22 2010 Thomas Spura - 0.6.14-4 -- rebuild with python3.2 - http://lists.fedoraproject.org/pipermail/devel/2010-August/141368.html - -* Tue Aug 10 2010 Toshio Kuratomi - 0.6.14-3 -- Update description to mention this is distribute - -* Thu Jul 22 2010 Thomas Spura - 0.6.14-2 -- bump for building against python 2.7 - -* Thu Jul 22 2010 Thomas Spura - 0.6.14-1 -- update to new version -- all patches are upsteam - -* Wed Jul 21 2010 David Malcolm - 0.6.13-7 -- generalize path of easy_install-2.6 and -3.1 to -2.* and -3.* - -* Wed Jul 21 2010 David Malcolm - 0.6.13-6 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - -* Sat Jul 3 2010 Toshio Kuratomi - 0.6.13-5 -- Upstream patch for compatibility problem with setuptools -- Minor spec cleanups -- Provide python-distribute for those who see an import distribute and need - to get the proper package. - -* Thu Jun 10 2010 Toshio Kuratomi - 0.6.13-4 -- Fix race condition in unittests under the python-2.6.x on F-14. - -* Thu Jun 10 2010 Toshio Kuratomi - 0.6.13-3 -- Fix few more buildroot macros - -* Thu Jun 10 2010 Toshio Kuratomi - 0.6.13-2 -- Include data that's needed for running tests - -* Thu Jun 10 2010 Toshio Kuratomi - 0.6.13-1 -- Update to upstream 0.6.13 -- Minor specfile formatting fixes - -* 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 - -* Fri Jan 29 2010 Toshio Kuratomi - 0.6.10-1 -- Update the python3 portions but disable for now. -- Update to 0.6.10 -- Remove %%pre scriptlet as the file has a different name than the old - package's directory - -* Tue Jan 26 2010 Toshio Kuratomi - 0.6.9-4 -- Fix install to make /usr/bin/easy_install the py2 version -- Don't need python3-tools since the library is now in the python3 package -- Few other changes to cleanup style - -* Fri Jan 22 2010 David Malcolm - 0.6.9-2 -- add python3 subpackage - -* Mon Dec 14 2009 Toshio Kuratomi - 0.6.9-1 -- New upstream bugfix release. - -* Sun Dec 13 2009 Toshio Kuratomi - 0.6.8-2 -- Test rebuild - -* Mon Nov 16 2009 Toshio Kuratomi - 0.6.8-1 -- Update to 0.6.8. -- Fix directory => file transition when updating from setuptools-0.6c9. - -* Tue Nov 3 2009 Toshio Kuratomi - 0.6.7-2 -- Fix duplicate inclusion of files. -- Only Obsolete old versions of python-setuptools-devel - -* Tue Nov 3 2009 Toshio Kuratomi - 0.6.7-1 -- Move easy_install back into the main package as the needed files have been - moved from python-devel to the main python package. -- Update to 0.6.7 bugfix. - -* Fri Oct 16 2009 Toshio Kuratomi - 0.6.6-1 -- Upstream bugfix release. - -* Mon Oct 12 2009 Toshio Kuratomi - 0.6.4-1 -- First build from the distribute codebase -- distribute-0.6.4. -- Remove svn patch as upstream has chosen to go with an easier change for now. +* Wed Dec 30 2015 Orion Poplawski - 19.2-3 +- Cleanup docs +- Add version info to summary and description -* Sun Jul 26 2009 Fedora Release Engineering - 0.6c9-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild +* Wed Dec 30 2015 Orion Poplawski - 19.2-2 +- Drop group tag +- Add bootstrap conditional +- Use specific pip version +- Use %%license +- Update license and license source +- Strip unneeded shbangs -* Tue Jul 14 2009 Konstantin Ryabitsev - 0.6c9-4 -- Apply SVN-1.6 versioning patch (rhbz #511021) +* Tue Dec 29 2015 Orion Poplawski - 19.2-1 +- Update to 19.2 -* Thu Feb 26 2009 Fedora Release Engineering - 0.6c9-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild +* Tue Dec 29 2015 Orion Poplawski - 19.1.1-1 +- Initial EPEL package diff --git a/SPECS/python3.spec b/SPECS/python3.spec index f539e95b..961c77b0 100644 --- a/SPECS/python3.spec +++ b/SPECS/python3.spec @@ -238,6 +238,8 @@ BuildRequires: python3-pip-wheel BuildRequires: python%{pybasever} %endif +Obsoletes: system-python-libs >= 3.6 + # ======================= # Source code and patches # =======================