# # spec file # # Copyright (c) 2023 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/ # %define skip_python2 1 %define skip_python36 1 %define skip_python38 1 %define skip_python39 1 %define skip_python311 1 %{?!python_module:%define python_module() python3-%{**}} %global flavor %{nil} %if "%{flavor}" == "test" %define psuffix -test %bcond_without test %else %define psuffix %{nil} %bcond_with test %endif %define skip_python2 1 %define modname path %{?sle15_python_module_pythons} Name: python-path%{psuffix} Version: 16.6.0 Release: 2.2 Summary: A module wrapper for os.path License: MIT URL: https://github.com/jaraco/path Source: https://files.pythonhosted.org/packages/source/p/path/%{modname}-%{version}.tar.gz BuildRequires: %{python_module base >= 3.7} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools >= 56} BuildRequires: %{python_module setuptools_scm >= 3.4.1} BuildRequires: %{python_module tomli} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros BuildArch: noarch # Renaming package Provides: python-path.py = %{version}-%{release} Obsoletes: python-path.py < %{version}-%{release} %if %{with test} # use a multibuild test flavor so that there is no circular dependency with pytest BuildRequires: %{python_module pytest} %endif %python_subpackages %description The path package implements a path objects as first-class entities, allowing common operations on files to be invoked on those path objects directly. %prep %setup -q -n %{modname}-%{version} %build %if !%{with test} %pyproject_wheel %endif %install %if !%{with test} %pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %endif %check %if %{with test} # need to set locale to avoid UnicodeEncodeError export LANG=en_US.UTF-8 # test_import_time -> relies on timing that varies in OBS %pytest -k 'not test_import_time' %endif %if !%{with test} %files %{python_files} %license LICENSE %doc CHANGES.rst README.rst %{python_sitelib}/path %{python_sitelib}/path-%{version}*-info %endif %changelog * Fri Apr 21 2023 Dirk Müller - add sle15_python_module_pythons (jsc#PED-68) * Thu Apr 13 2023 Matej Cepl - Make calling of %%{sle15modernpython} optional. * Wed Dec 7 2022 Yogalakshmi Arunachalam - Update to version 16.6.0 * .mtime and .atime are now settable. * Wed Oct 12 2022 Yogalakshmi Arunachalam - Update to version 16.5.0 * Refreshed packaging. [#197]: Fixed default argument rendering in docs. [#209]: Refactored write_lines to re-use open semantics. Deprecated the linesep parameter. * Wed Mar 30 2022 Ben Greiner - update to version 16.4.0 * #207: Added type hints and declare the library as typed. - Release 16.3.0 * Require Python 3.7 or later. * #205: test_listdir_other_encoding now automatically skips itself on file systems where it's not appropriate. - Release 16.2.0 * Deprecated passing bytes to write_text. Instead, users should call write_bytes. - Release 16.1.0 * #204: Improved test coverage across the package to 99%%, fixing bugs in uncovered code along the way. - Release 16.0.0 * #200: TempDir context now cleans up unconditionally, even if an exception occurs. - Release 15.1.2 * #199: Fixed broken link in README. - Release 15.1.1 * Refreshed package metadata. - Release 15.1.0 * Added ExtantPath and ExtantFile objects that raise errors when they reference a non-existent path or file. - Release 15.0.1 * Refreshed package metadata. - Release 15.0.0 * Removed __version__ property. To determine the version, use importlib.metadata.version('path'). - Release 14.0.1 * Fixed regression on Python 3.7 and earlier where lru_cache did not support a user function. - Release 14.0.0 * Removed namebase property. Use stem instead. * Removed update parameter on method to Path.merge_tree. Instead, to only copy newer files, provide a wrapped copy function, as described in the doc string. * Removed FastPath. Just use Path. * Removed path.CaseInsensitivePattern. Instead use path.matchers.CaseInsensitive. * Removed path.tempdir. Use path.TempDir. * #154: Added Traversal class and support for customizing the behavior of a Path.walk. - Release 13.3.0 * #186: Fix test failures on Python 3.8 on Windows by relying on realpath() instead of readlink(). * #189: realpath() now honors symlinks on Python 3.7 and earlier, approximating the behavior found on Python 3.8. * #187: lines() no longer relies on the deprecated .text(). * Wed Mar 11 2020 Marketa Calabkova - update to version 13.2.0 * Require Python 3.6 or later. * Tue Dec 3 2019 Matej Cepl - Update to 13.1.0: - #170: Added read_text and read_bytes methods to align with pathlib behavior. Deprecated text method. If you require newline normalization of text, use jaraco.text.normalize_newlines(Path.read_text()). - #169: Renamed package from path.py to path. The docs make reference to a pet name "path pie" for easier discovery. - #169: Moved project at GitHub from jaraco/path.py to jaraco/path. - #171: Fixed exception in rmdir_p when target is not empty. - #174: Rely on importlib.metadata on Python 3.8. - Refreshed package metadata. - Rename of the package from path.py to path. * Mon Oct 21 2019 Tomáš Chvátal - Add patch to build with pytest5: * pytest5.patch * Fri Jul 26 2019 Matej Cepl - Update to 12.0.1: - #166: Removed 'universal' wheel support. - #148: Dropped support for Python 2.7 and 3.4. Moved 'path' into a package. * Fri Jul 19 2019 Tomáš Chvátal - Update to 11.5.2: * #163: Corrected 'pymodules' typo in package declaration. * Fri Jul 19 2019 Tomáš Chvátal - Restrict version requirement on pytest to <5.x for now * Tue Feb 26 2019 Tomáš Chvátal - Add missing python2 dependency on backports.os * Tue Feb 26 2019 Tomáš Chvátal - Update to 11.5.0: * Many fixes all around for detailed list see CHANGES.rst - Use multibuild to avoid buildcycles * Tue Jul 4 2017 aloisio@gmx.com - Update to version 10.3.1 * #124: Fixed ``rmdir_p`` raising ``FileNotFoundError`` when directory does not exist on Windows. 10.3: * #115: Added a new performance-optimized implementation for listdir operations, optimizing ``listdir``, ``walk``, ``walkfiles``, ``walkdirs``, and ``fnmatch``, presented as the ``FastPath`` class. Please direct feedback on this implementation to the ticket, especially if the performance benefits justify it replacing the default ``Path`` class. 10.2: * Symlink no longer requires the ``newlink`` parameter and will default to the basename of the target in the current working directory. 10.1: * #123: Implement ``Path.__fspath__`` per PEP 519. 10.0: * Once again as in 8.0 remove deprecated ``path.path``. 9.1: * #121: Removed workaround for #61 added in 5.2. ``path.py`` now only supports file system paths that can be effectively decoded to text. It is the responsibility of the system implementer to ensure that filenames on the system are decodeable by ``sys.getfilesystemencoding()``. 9.0: * Drop support for Python 2.6 and 3.2 as integration dependencies (pip) no longer support these versions. 8.3: * Merge with latest skeleton, adding badges and test runs by default under tox instead of pytest-runner. * Documentation is no longer hosted with PyPI. 8.2.1: * #112: Update Travis CI usage to only deploy on Python 3.5. 8.2: * Refreshed project metadata based on `jaraco's project skeleton _. * Releases are now automatically published via Travis-CI. * #111: More aggressively trap errors when importing ``pkg_resources``. 8.1.2: * #105: By using unicode literals, avoid errors rendering the backslash in __get_owner_windows. - Converted to single-spec * Tue Jul 4 2017 aloisio@gmx.com - Update to version 10.3.1 (see CHANGES.rst) * Wed Sep 16 2015 toddrme2178@gmail.com - Update to version 8.1.1 * Restored path.path with a DeprecationWarning. * Removed path.path. Clients must now refer to the canonical name, path.Path as introduced in 6.2. * Added support for resolving certain directories on a system to platform-friendly locations using the appdirs library. * In order to support "multipath" results, where multiple paths are returned in a single, os.pathsep-separated string, a new class MultiPath now represents those special results. This functionality is experimental and may change. Feedback is invited. * Wed Aug 12 2015 toddrme2178@gmail.com - Update to version 7.6 - Pull Request #100: Add ``merge_tree`` method for merging two existing directory trees. - Uses `setuptools_scm `_ for version management. - Update to version 7.5 - #97: ``__rdiv__`` and ``__rtruediv__`` are now defined. - Update to version 7.4 - #93: chown now appears in docs and raises NotImplementedError if ``os.chown`` isn't present. - #92: Added compatibility support for ``.samefile`` on platforms without ``os.samefile``. - Update to version 7.3 - #91: Releases now include a universal wheel. - Update to version 7.2 - In chmod, added support for multiple symbolic masks (separated by commas). - In chmod, fixed issue in setting of symbolic mask with '=' where unreferenced permissions were cleared. - Update to version 7.1 - #23: Added support for symbolic masks to ``.chmod``. - Update to version 7.0 - The ``open`` method now uses ``io.open`` and supports all of the parameters to that function. ``open`` will always raise an ``OSError`` on failure, even on Python 2. - Updated ``write_text`` to support additional newline patterns. - The ``text`` method now always returns text (never bytes), and thus requires an encoding parameter be supplied if the default encoding is not sufficient to decode the content of the file. - Update to version 6.2 - ``path`` class renamed to ``Path``. The ``path`` name remains as an alias for compatibility. - Update to version 6.1 - ``chown`` now accepts names in addition to numeric IDs. - Update to version 6.0 - Drop support for Python 2.5. Python 2.6 or later required. - Installation now requires setuptools. - Update to version 5.3 - Allow arbitrary callables to be passed to path.walk ``errors`` parameter. Enables workaround for issues such as #73 and #56. - Update to version 5.2 - #61: path.listdir now decodes filenames from os.listdir when loading characters from a file. On Python 3, the behavior is unchanged. On Python 2, the behavior will now mimick that of Python 3, attempting to decode all filenames and paths using the encoding indicated by ``sys.getfilesystemencoding()``, and escaping any undecodable characters using the 'surrogateescape' handler. - Update to version 5.1 - #53: Added ``path.in_place`` for editing files in place. - Update to version 5.0 - ``path.fnmatch`` now takes an optional parameter ``normcase`` and this parameter defaults to self.module.normcase (using case normalization most pertinent to the path object itself). Note that this change means that any paths using a custom ntpath module on non-Windows systems will have different fnmatch behavior. - Issue #50: Methods that accept patterns (``listdir``, ``files``, ``dirs``, ``walk``, ``walkdirs``, ``walkfiles``, and ``fnmatch``) will now use a ``normcase`` attribute if it is present on the ``pattern`` parameter. The path module now provides a ``CaseInsensitivePattern`` wrapper for strings suitable for creating case-insensitive patterns for those methods. - Update to version 4.4 - Issue #44: _hash method would open files in text mode, producing invalid results on Windows. Now files are opened in binary mode, producing consistent results. - Issue #47: Documentation is dramatically improved with Intersphinx links to the Python os.path functions and documentation for all methods and properties. - Update to version 4.3 - Issue #32: Add ``chdir`` and ``cd`` methods. - Update to version 4.2 - ``open()`` now passes all positional and keyword arguments through to the underlying ``builtins.open`` call. - Update to version 4.1 - Native Python 2 and Python 3 support without using 2to3 during the build process. - Update to version 4.0 - Added a ``chunks()`` method to a allow quick iteration over pieces of a file at a given path. - Issue #28: Fix missing argument to ``samefile``. - Initializer no longer enforces `isinstance basestring` for the source object. Now any object that supplies ``__unicode__`` can be used by a ``path`` (except None). Clients that depend on a ValueError being raised for ``int`` and other non-string objects should trap these types internally. - Issue #30: ``chown`` no longer requires both uid and gid to be provided and will not mutate the ownership if nothing is provided. - Update to version 3.2 - Issue #22: ``__enter__`` now returns self. - Update to version 3.1 - Issue #20: `relpath` now supports a "start" parameter to match the signature of `os.path.relpath`. - Update to version 3.0 - Minimum Python version is now 2.5. - Update to version 2.6 - Issue #5: Implemented `path.tempdir`, which returns a path object which is a temporary directory and context manager for cleaning up the directory. - Issue #12: One can now construct path objects from a list of strings by simply using path.joinpath. - Update to version 2.5 - Issue #7: Add the ability to do chaining of operations that formerly only returned None. - Issue #4: Raise a TypeError when constructed from None. - Update to version 2.4 - No upstream changelog * Mon Jul 23 2012 saschpe@suse.de - Initial version