# # spec file for package python-zipp # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global flavor %{nil} %if "%{flavor}" == "test" %define psuffix -test %bcond_without test %else %define psuffix %{nil} %bcond_with test %endif %{?sle15_python_module_pythons} Name: python-zipp%{psuffix} Version: 3.21.0 Release: 1.4 Summary: Pathlib-compatible object wrapper for zip files License: MIT Group: Development/Languages/Python URL: https://github.com/jaraco/zipp Source: https://files.pythonhosted.org/packages/source/z/zipp/zipp-%{version}.tar.gz BuildRequires: %{python_module base >= 3.8} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools >= 56} BuildRequires: %{python_module setuptools_scm >= 3.4.1} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros BuildArch: noarch %if %{with test} BuildRequires: %{python_module jaraco.functools} BuildRequires: %{python_module jaraco.itertools} BuildRequires: %{python_module jaraco.test} BuildRequires: %{python_module more-itertools} BuildRequires: %{python_module pytest} BuildRequires: %{python_module zipp >= %{version}} %endif %python_subpackages %description A pathlib-compatible Zipfile object wrapper. %prep %setup -q -n zipp-%{version} sed -i '/addopts/ s/--doctest-modules//' pytest.ini # People still want this for 15.X despite Python 3.6 is not supported upstream anymore sed -i 's/python_requires = >=3.7/python_requires = >=3.6/' setup.cfg rm -r zipp.egg-info %build %pyproject_wheel %install %if !%{with test} %pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %endif %if %{with test} %check %pytest %endif %if !%{with test} %files %{python_files} %doc README.rst %license LICENSE %{python_sitelib}/zipp %{python_sitelib}/zipp-%{version}*-info %endif %changelog * Wed Nov 20 2024 Dirk Müller - update to 3.21.0: * Improve performances of :meth:`zipfile.Path.open` for non- reading modes. (1a1928d) * Rely on cached_property to cache values on the instance. * Rely on save_method_args to save method args. * Make zipp.compat.overlay.zipfile hashable. * Replaced SanitizedNames with a more surgical fix for infinite loops, restoring support for names with special characters in the archive. (python/cpython#123270) * Made the zipfile compatibility overlay available as zipp.compat.overlay. * Also match directories in Path.glob. * Mon Jun 10 2024 Dirk Müller - update to 3.19.2 (CVE-2024-5569, bsc#1227547): * No significant changes. * Improved handling of malformed zip files. * Implement is_symlink. * No significant changes. * Sat Mar 16 2024 Dirk Müller - update to 3.18.1: * No significant changes. * Thu Mar 14 2024 Dirk Müller - update to 3.18.0: * Bypass ZipFile.namelist in glob for better performance. * Refactored glob functionality to support a more generalized solution with support for platform-specific path separators. * Mon Nov 27 2023 Dirk Müller - update to 3.17.0: * Added ``CompleteDirs.inject`` classmethod to make available for use elsewhere. * Avoid matching path separators for '?' in glob. * In ``Path.match``, Windows path separators are no longer honored. The fact that they were was incidental and never supported. (#92) * Fixed name/suffix/suffixes/stem operations when no filename is present and the Path is not at the root of the zipfile. (#96) * Reworked glob utilizing the namelist directly. (#101) * Replaced the ``fnmatch.translate`` with a fresh glob-to-regex translator for more correct matching behavior. (#98) * Require Python 3.8 or later. * Fri Apr 21 2023 Dirk Müller - add sle15_python_module_pythons (jsc#PED-68) * Sun Apr 16 2023 Matej Cepl - Make calling of %%{sle15modernpython} optional. * Sat Apr 15 2023 Dirk Müller - update to 3.15.0: * gh-102209: ``test_implied_dirs_performance`` now tests * measures the time complexity experimentally. * Minor cleanup in tests, including #93. * In tests, add a fallback when ``func_timeout`` isn't available. * gh-101566: In ``CompleteDirs``, override ``ZipFile.getinfo`` * to supply a ``ZipInfo`` for implied dirs. * gh-101144: Honor ``encoding`` as positional parameter * to ``Path.open()`` and ``Path.read_text()``. * #85: Added support for new methods on ``Path``: * ``match`` * ``glob`` and ``rglob`` * ``relative_to`` * ``is_symlink`` * Removed 'print' expression in test_pickle. * bpo-43651: Apply ``io.text_encoding`` on Python 3.10 and later. * #81: ``Path`` objects are now pickleable if they've been * constructed from pickleable objects. Any restored objects * will re-construct the zip file with the original arguments. * Fri Aug 26 2022 Ben Greiner - Remove deprecated setup.py hack: move to PEP517 build - Fix requirements * Neither jaraco.itertools nor jaraco.tidelift are used outside testing or documentation building - Ignore that upstream requires Python 3.7 or later since version 3.7.0 * Tue Aug 23 2022 Dirk Müller - update to 3.8.1: * enrolled in tidelift * Sun May 29 2022 Dirk Müller - update to 3.8.0: * Removed compatibility code. * Tue Jan 4 2022 Dirk Müller - update to 3.7.0: * Require Python 3.7 or later. * Tue Jan 4 2022 Dirk Müller - add python-rpm-macros buildrequires * Sat Oct 16 2021 Dirk Müller - update to 3.6.0: * Only ``Path`` is exposed in the public API. * Remove news file intended only for CPython. * Sat Jul 17 2021 Dirk Müller - update to 3.5.0: * Added ``.suffix``, ``.suffixes``, and ``.stem`` properties. * Mon Mar 8 2021 Dirk Müller - update to 3.4.1: * refresh packaging * Wed Nov 25 2020 Dirk Mueller - update to 3.4.0: [#68] and bpo-42090: ``Path.joinpath`` now takes arbitrary positional arguments and no longer accepts ``add`` as a keyword argument. Updated project metadata including badges. bpo-42043: Add tests capturing subclassing requirements. [#9]: ``Path`` objects now expose a ``.filename`` attribute and rely on that to resolve ``.name`` and ``.parent`` when the ``Path`` object is at the root of the zipfile. * Mon Sep 28 2020 Dirk Mueller - update to 3.2.0: * #57 and bpo-40564: Mutate the passed ZipFile object type instead of making a copy. Prevents issues when both the local copy and the caller's copy attempt to close the same file handle. * #56 and bpo-41035: ``Path._next`` now honors subclasses. * #55: ``Path.is_file()`` now returns False for non-existent names. * Fri Mar 13 2020 Tomáš Chvátal - Drop not-removed py2 dependencies * Mon Mar 9 2020 pgajdos@suse.com - version update to 3.1.0 * #47: ``.open`` now raises ``FileNotFoundError`` and ``IsADirectoryError`` when appropriate. * #44: ``zipp.Path.open()`` now supports a compatible signature as ``pathlib.Path.open()``, accepting text (default) or binary modes and soliciting keyword parameters passed through to ``io.TextIOWrapper`` (encoding, newline, etc). The stream is opened in text-mode by default now. ``open`` no longer accepts ``pwd`` as a positional argument and does not accept the ``force_zip64`` parameter at all. This change is a backward-incompatible change for that single function. * #43: Restored performance of implicit dir computation. * #36: Rebuild package with minimum Python version declared both in package metadata and in the python tag. * #32: For read-only zip files, complexity of ``.exists`` and ``joinpath`` is now constant time instead of ``O(n)``, preventing quadratic time in common use-cases and rendering large zip files unusable for Path. Big thanks to Benjy Weinberger for the bug report and contributed fix (#33). * Thu Aug 29 2019 Marketa Calabkova - update to 0.6.0 * When adding implicit dirs, ensure that ancestral directories are added and that duplicates are excluded. * The library now relies on more_itertools. * Mon Jul 22 2019 Tomáš Chvátal - Update to 0.5.2: * #7: Parent of a directory now actually returns the parent. * Thu Jun 6 2019 Tomáš Chvátal - Switch to mulitbuild to avoid build cycle * Thu May 16 2019 ranand@suse.com - update to 0.5.1 * Declared package as backport. * Tue May 14 2019 svasudevan@suse.com - Update to 0.5.0 * no changelog found * Added runtime dependencies python-unittest2 and python-contextlib2 * Mon May 6 2019 pgajdos@suse.com - version update to 0.4.0 * #4: Add support for zip files with implied directories. * Thu Jan 31 2019 Tomáš Chvátal - Initial commit, needed by importlib-metadata