From 073b644b8ae9d6813b98a00852340349ad08ee035991c30dff85b0b4b8cfd58b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Tue, 3 Jun 2025 09:08:02 +0000 Subject: [PATCH 1/2] - Convert to pip-based build OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pathspec?expand=0&rev=32 --- .gitattributes | 23 ++++ .gitignore | 1 + pathspec-0.12.1.tar.gz | 3 + python-pathspec.changes | 238 ++++++++++++++++++++++++++++++++++++++++ python-pathspec.spec | 61 ++++++++++ 5 files changed, 326 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 pathspec-0.12.1.tar.gz create mode 100644 python-pathspec.changes create mode 100644 python-pathspec.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/pathspec-0.12.1.tar.gz b/pathspec-0.12.1.tar.gz new file mode 100644 index 0000000..fd9108d --- /dev/null +++ b/pathspec-0.12.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712 +size 51043 diff --git a/python-pathspec.changes b/python-pathspec.changes new file mode 100644 index 0000000..f8ac0e7 --- /dev/null +++ b/python-pathspec.changes @@ -0,0 +1,238 @@ +------------------------------------------------------------------- +Tue Jun 3 09:05:14 UTC 2025 - Markéta Machová + +- Convert to pip-based build + +------------------------------------------------------------------- +Tue Dec 12 13:14:15 UTC 2023 - Dirk Müller + +- update to 0.12.1: + * `Issue #84`_: PathSpec.match_file() returns None since + 0.12.0. + * Major changes: + * Dropped support of EOL Python 3.7. See `Pull #82`_. + * API changes: + * Signature of protected method + `pathspec.pathspec.PathSpec._match_file()` (with a leading + underscore) has been changed from `def _match_file(patterns: + Iterable[Pattern], file: str) -> bool` to `def + _match_file(patterns: Iterable[Tuple[int, Pattern]], file: + str) -> Tuple[Optional[bool], Optional[int]]`. + * Added `pathspec.pathspec.PathSpec.check_*()` methods. These + methods behave similarly to `.match_*()` but return + additional information in the `pathspec.util.CheckResult` + objects (e.g., `CheckResult.index` indicates the index of the + last pattern that matched the file). + * Added `pathspec.pattern.RegexPattern.pattern` attribute which + stores the original, uncompiled pattern. + * Mark Python 3.12 as supported. + * Improve test debugging. + * Improve type hint on *on_error* parameter on + `pathspec.pathspec.PathSpec.match_tree_entries()`. + * Improve type hint on *on_error* parameter on + `pathspec.util.iter_tree_entries()`. + +------------------------------------------------------------------- +Thu Sep 7 11:27:28 UTC 2023 - Dirk Müller + +- update to 0.11.2: + * `Issue #80`_: match_files with negated path spec. + `pathspec.PathSpec.match_*()` now have a `negate` parameter + to make using *.gitignore* logic easier and more efficient. + * Add edge case: patterns that end with an escaped + space + * Negate with caret symbol as with the exclamation mark. + +------------------------------------------------------------------- +Fri Apr 21 12:29:07 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:42:56 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Sun Mar 26 19:50:29 UTC 2023 - Dirk Müller + +- update to 0.11.1: + * `Issue #74`_: Include directory should override exclude file. + * `Pull #75`_: Fix partially unknown PathLike type. + * Convert `os.PathLike` to a string properly using `os.fspath`. + * Major changes: + * Changed build backend to `flit_core.buildapi`_ from + `setuptools.build_meta`_. Building with `setuptools` through + `setup.py` is still supported for distributions that need it. + * `Issue #72`_/`Pull #73`_: Please consider switching the + build-system to flit_core to ease setuptools bootstrap. + +------------------------------------------------------------------- +Tue Dec 13 15:46:35 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 0.10.3 + * New features: + Added utility function pathspec.util.append_dir_sep() to aid in distinguishing between directories and files on the file-system. See Issue #65. + * Bug fixes: + Issue #66/Pull #67: Package not marked as py.typed. + Issue #68: Exports are considered private. + Issue #70/Pull #71: 'Self' string literal type is Unknown in pyright. + * Improvements: + Issue #65: Checking directories via match_file() does not work on Path objects. + +------------------------------------------------------------------- +Sat Dec 3 19:55:41 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 0.10.2: + Bug fixes: + * Fix failing tests on Windows. + * Type hint on root parameter on pathspec.pathspec.PathSpec.match_tree_entries(). + * Type hint on root parameter on pathspec.pathspec.PathSpec.match_tree_files(). + * Type hint on root parameter on pathspec.util.iter_tree_entries(). + * Type hint on root parameter on pathspec.util.iter_tree_files(). + * Issue #64: IndexError with my .gitignore file when trying to build a Python package. + Improvements: + * Issue #58: CI: add GitHub Actions test workflow. + +------------------------------------------------------------------- +Mon Sep 12 20:36:41 UTC 2022 - Benoît Monin + +- update to 0.10.1: + * Bug fixes: + + Fix documentation on pathspec.pattern.RegexPattern.match_file(). + + Issue #60: Remove redundant wheel dep from pyproject.toml. + + Issue #61: Dist failure for Fedora, CentOS, EPEL. + + Issue #62: Since version 0.10.0 pure wildcard does not work + in some cases. + * Improvements: + + Restore support for legacy installations using setup.py. See + Issue #61. +- additional changes from 0.10.0: + * Major changes: + + Dropped support of EOL Python 2.7, 3.5, 3.6. See Issue #47 + + The gitwildmatch pattern dir/* is now handled the same as + dir/ + + Added pathspec.GitIgnoreSpec class (see new features) + + Changed build system to pyproject.toml and build backend to + setuptools.build_meta which may have unforeseen consequences + + Renamed GitHub project from python-path-specification to + python-pathspec. See Issue #35. + * API changes: + + Deprecated: pathspec.util.match_files() is an old function no + longer used. + + Deprecated: pathspec.match_files() is an old function no + longer used. + + Deprecated: pathspec.util.normalize_files() is no longer used + + Deprecated: pathspec.util.iter_tree() is an alias for + pathspec.util.iter_tree_files(). + + Deprecated: pathspec.iter_tree() is an alias for + pathspec.util.iter_tree_files(). + + Deprecated: pathspec.pattern.Pattern.match() is no longer + used. Use or implement pathspec.pattern.Pattern.match_file(). + * New features: + + Added class pathspec.gitignore.GitIgnoreSpec (with alias + pathspec.GitIgnoreSpec) to implement gitignore behavior not + possible with standard PathSpec class + * Bug fixes: + + Issue #19: Files inside an ignored sub-directory are not + matched. + + Issue #41: Incorrectly (?) matches files inside directories + that do match. + + Issue #51: Refactor deprecated unittest aliases for Python + 3.11 compatibility. + + Issue #53: Symlink pathspec_meta.py breaks Windows. + + Issue #54: test_util.py uses os.symlink which can fail on + Windows. + + Issue #55: Backslashes at start of pattern not handled + correctly. + + Issue #56: pyproject.toml: include subpackages in setuptools + config + + Issue #57: ! doesn't exclude files in directories if the + pattern doesn't have a trailing slash. + * Improvements: + + Support Python 3.10, 3.11. + + Modernize code to Python 3.7. + + Issue #52: match_files() is not a pure generator function, + and it impacts tree_*() gravely. +- add BuildRequires for python >= 3.7 + +------------------------------------------------------------------- +Wed Jan 5 10:29:55 UTC 2022 - Dirk Müller + +- update to 0.9.0: + * Raise `GitWildMatchPatternError` for invalid git patterns. + * Fix for duplicate leading double-asterisk, and edge cases. + * Fix matching absolute paths. + * API change: `util.normalize_files()` now returns a + `Dict[str, List[pathlike]]` instead of a `Dict[str, pathlike]`. + * Added type hinting. + +------------------------------------------------------------------- +Tue Jun 1 07:24:28 UTC 2021 - pgajdos@suse.com + +- %check: use %pyunittest rpm macro + +------------------------------------------------------------------- +Sat Dec 19 10:49:21 UTC 2020 - Dirk Müller + +- update to 0.8.1: + * `Issue #43`_: Add support for addition operator + +------------------------------------------------------------------- +Wed Oct 7 03:51:16 UTC 2020 - John Vandenberg + +- Update to v0.8.0 + * Expose what patterns matched paths. Added `util.detailed_match_files()` + * `match_tree()` doesn't return symlinks + - Add `PathSpec.match_tree_entries` and `util.iter_tree_entries()` to + support directories and symlinks + - API change: `match_tree()` has been renamed to `match_tree_files()` + The old name `match_tree()` is still available as an alias + - API change: `match_tree_files()` now returns symlinks + +------------------------------------------------------------------- +Wed Mar 11 15:51:56 UTC 2020 - Marketa Calabkova + +- update to 0.7.0 + * Add support for Python 3.8, and drop Python 3.4. + * Publish bdist wheel. + +------------------------------------------------------------------- +Thu Oct 10 08:25:51 UTC 2019 - Tomáš Chvátal + +- Update to 0.6.0: + * Issue #24: Drop support for Python 2.6, 3.2, and 3.3. + * Issue #25: Update README.rst. + * Issue #26: Method to escape gitwildmatch. + +------------------------------------------------------------------- +Thu Feb 14 07:08:42 UTC 2019 - John Vandenberg + +- Update to v0.5.9 + * Fixed file system error handling. +- from v0.5.8 + * Improved type checking. + * Created scripts to test Python 2.6 because Tox removed support for it. + * Improved byte string handling in Python 3. + * Handle dangling symlinks. +- from v0.5.7 + * Fix collections deprecation warning. + +------------------------------------------------------------------- +Tue Dec 4 12:51:19 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Thu May 10 00:06:44 UTC 2018 - toddrme2178@gmail.com + +- Update to 0.5.6 + * Improved unit tests. + * Improved type checking. + * `Issue #20`_: Support current directory prefix. +- Use license tag + +------------------------------------------------------------------- +Wed Jan 17 02:36:25 UTC 2018 - toddrme2178@gmail.com + +- Initial version diff --git a/python-pathspec.spec b/python-pathspec.spec new file mode 100644 index 0000000..6f8cdd7 --- /dev/null +++ b/python-pathspec.spec @@ -0,0 +1,61 @@ +# +# spec file for package python-pathspec +# +# Copyright (c) 2025 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/ +# + + +%{?sle15_python_module_pythons} +Name: python-pathspec +Version: 0.12.1 +Release: 0 +Summary: Utility library for gitignore style pattern matching of file paths +License: MPL-2.0 +URL: https://github.com/cpburnz/python-path-specification +Source: https://files.pythonhosted.org/packages/source/p/pathspec/pathspec-%{version}.tar.gz +BuildRequires: %{python_module base >= 3.7} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildArch: noarch +%python_subpackages + +%description +Pathspec is a utility library for pattern matching of file paths. So +far this only includes Git's wildmatch pattern matching which itself is +derived from Rsync's wildmatch. Git uses wildmatch for its `gitignore`_ +files. + +%prep +%setup -q -n pathspec-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +%pyunittest discover -v + +%files %{python_files} +%doc CHANGES.rst README.rst +%license LICENSE +%{python_sitelib}/pathspec +%{python_sitelib}/pathspec-%{version}*-info + +%changelog From 6898323596c6fe3ae6b08367e0e335be78f1a231df80ed2fc61e0cda0f7bb456 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Tue, 3 Jun 2025 13:03:24 +0000 Subject: [PATCH 2/2] fix build deps OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pathspec?expand=0&rev=33 --- python-pathspec.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-pathspec.spec b/python-pathspec.spec index 6f8cdd7..da3fd32 100644 --- a/python-pathspec.spec +++ b/python-pathspec.spec @@ -25,6 +25,7 @@ License: MPL-2.0 URL: https://github.com/cpburnz/python-path-specification Source: https://files.pythonhosted.org/packages/source/p/pathspec/pathspec-%{version}.tar.gz BuildRequires: %{python_module base >= 3.7} +BuildRequires: %{python_module flit-core} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel}