15
0

Sync with factory

This commit is contained in:
2026-02-18 12:16:09 +01:00
parent 84d92a6006
commit 43447bc052
6 changed files with 139 additions and 9 deletions

3
.gitattributes vendored
View File

@@ -1,4 +1,4 @@
## Default LFS
*.changes merge=merge-changes
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
@@ -12,6 +12,7 @@
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tar 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

5
.gitignore vendored
View File

@@ -1 +1,4 @@
.osc
*.obscpio
*.osc
_build.*
.pbuild

Binary file not shown.

BIN
packaging-26.0.tar.gz LFS Normal file

Binary file not shown.

View File

@@ -1,3 +1,114 @@
-------------------------------------------------------------------
Mon Feb 9 11:07:43 UTC 2026 - Daniel Garcia <daniel.garcia@suse.com>
- Add pythons_for_pypi macro. This macro will help to build the python
minimal stack for different python versions.
-------------------------------------------------------------------
Fri Jan 30 10:34:36 UTC 2026 - ecsos <ecsos@opensuse.org>
- update to 26.0:
* Features:
- PEP 751: support pylock (PR #900)
- PEP 794: import name metadata (PR #948)
- Support for writing metadata to a file (PR #846)
- Support __replace__ on Version (PR #1003)
- Support positional pattern matching for Version and SpecifierSet (PR #1004)
* Behavior adaptations:
- PEP 440 handling of prereleases for Specifier.contains,
SpecifierSet.contains, and SpecifierSet.filter (PR #897)
- Handle PEP 440 edge case in SpecifierSet.filter (PR #942)
- Adjust arbitrary equality intersection preservation in SpecifierSet (PR #951)
- Return False instead of raising for .contains with invalid version (PR #932)
- Support arbitrary equality on arbitrary strings for Specifier
and SpecifierSets filter and contains method. (PR #954)
- Only try to parse as Version on certain marker keys,
return False on unequal ordered comparisons (PR #939)
* Fixes:
- Update _hash when unpickling Tag() (PR #860)
- Correct comment and simplify implicit prerelease handling in
Specifier.prereleases (PR #896)
- Use explicit _GLibCVersion NamedTuple in _manylinux (PR #868)
- Detect invalid license expressions containing () (PR #879)
- Correct regex for metadata 'name' format (PR #925)
- Improve the message around expecting a semicolon (PR #833)
- Support nested parens in license expressions (PR #931)
- Add space before at symbol in Requirements string (PR #953)
- A root logger use found, use a packaging logger instead (PR #965)
- Better support for subclassing Marker and Requirement (PR #1022)
- Normalize all extras, not just if it comes first (PR #1024)
- Dont produce a broken repr if Marker fails to construct (PR #1033)
* Performance:
- Avoid recompiling regexes in the tokenizer for a 3x speedup (PR #1019)
- Improve performance in _manylinux.py (PR #869)
- Minor cleanups to Version (PR #913)
- Skip redundant creation of Versions in specifier comparison (PR #986)
- Cache the Specifiers Version (PR #985)
- Make Version a little faster (PR #987)
- Minor Version regex cleanup (PR #990)
- Faster regex on Python 3.11.5+ for Version (PR #988, PR #1055)
- Lazily calculate _key in Version (PR #989, PR #1048)
- Faster canonicalize_version (PR #993)
- Use re.fullmatch in a couple more places (PR #992, PR #1029)
- Use map instead of generator (PR #996)
- Deprecate ._version (_Version, a NamedTuple) (PR #995, PR #1062)
- Avoid duplicate Version creation in canonicalize_version (PR #994)
- Add __slots__ to core classes (PR #1001, PR #1002, PR #1032)
- Use Version.__replace__ in specifier comparison (PR #999)
- Use _get_spec_version in more places in Specifier (PR #1005)
- Pull set construction out of function (PR #1012)
- Letter normalization dict for prereleases and the like (PR #1014)
- Use str.partition in _parse_project_urls (PR #1013)
- Avoid normalizing extras again when comparing (PR #1028)
- Speed up Version.__str__ by about 10% (PR #997)
- Much faster canonicalize_name by avoiding a regex
(PR #1030, PR #1047, PR #1064)
- Faster zero stripping (PR #1058)
* Type annotations:
- Fix a type annotation (PR #907)
- Fix type hint of function used with contextlib.contextmanager (PR #1046)
- Fix tags return type in parse_wheel_filename docs (PR #973)
- Add type hint for _version in .version.Version (PR #927)
- Changed static type annotations in prereleases setter method
in specifier.py (PR #930)
- Statically type our test suite (PR #982)
* Internal:
- Test and declare support for Python 3.14 (PR #901)
- Change our license metadata to use an SPDX license expression
(PR #881, PR #924)
- Expand the Ruff checks run on our codebase (PR #835, PR #957,
PR #959, PR #963, PR #956, PR #961, PR #964, PR #958, PR #960,
PR #968, PR #967, PR #966, PR #969, PR #980, PR #979, PR #962,
PR #984, PR #972)
- Add spell checking (PR #904, PR #910, PR #1015)
- Improve links back to source in the documentation (PR #991)
- Add case insensitivity tests for arbitrary equality (PR #975)
- Fix incorrectly implicitly concatenated string in specifiers test (PR #946)
- Simpler else instead of assert in a check (PR #1027, PR #1031)
- Synchronize documentation and code for markers (PR #1008)
- Use the GitHub Actions slim runner for the all pass check (PR #1021)
- Use actionlint to check CI workflows (PR #1052)
- Use Trusted Publishing (PR #893, PR #1043, PR #1045, PR #1051)
- Use zizmor to check CI (PR #1035)
- Test on first public release of CPython 3.11 and newer (PR #1056)
Since the final release candidate: Faster canonicalize_name,
especially on Python 3.12 and 3.13, where performance regressed
previously (PR #1064), and reintroduce (deprecated) support for
Version._.version (PR #1062).
-------------------------------------------------------------------
Thu Jan 29 09:25:25 UTC 2026 - Daniel Garcia <daniel.garcia@suse.com>
- Move %sle15_python_module_pythons macro just above the Name, outside
of all the if-else logic
-------------------------------------------------------------------
Thu Jul 31 11:44:29 UTC 2025 - marec <marec@detebe.org>
- update to 25.0:
* PEP 751: Add support for extras and dependency_groups markers. (#885)
* PEP 738: Add support for Android platform tags. (#880)
-------------------------------------------------------------------
Tue May 13 15:38:23 UTC 2025 - Dirk Müller <dmueller@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-packaging
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,8 @@
# in order to avoid rewriting for subpackage generator
%define mypython python
%global flavor @BUILD_FLAVOR@%{nil}
%if 0%{?suse_version} >= 1650
%if 0%{?suse_version} >= 1600
%if "%{flavor}" == "primary"
# this one is goes into Ring0: Bootstrap for primary python stack
%define pprefix %{primary_python}
@@ -42,8 +43,9 @@ ExclusiveArch: do-not-build
%else
%define pprefix python
%endif
%{?sle15_python_module_pythons}
%endif
%if "%{flavor}" == "test"
%define pprefix python
%define psuffix -test
@@ -52,8 +54,20 @@ ExclusiveArch: do-not-build
%bcond_with test
%endif
%if "%{flavor}" == ""
%{?pythons_for_pypi}
%endif
%{?sle15_python_module_pythons}
%if "%{flavor}" == "" && "%{shrink:%{pythons}}" == ""
# Exclude for local osc build: unresolvable
%define python_module() empty-python-buildset
# Exclude for obs server
ExclusiveArch: do-not-build
%endif
Name: %{pprefix}-packaging%{?psuffix}
Version: 24.2
Version: 26.0
Release: 0
Summary: Core utilities for Python packages
License: Apache-2.0 AND BSD-2-Clause
@@ -71,6 +85,7 @@ BuildArch: noarch
BuildRequires: %{python_module packaging = %{version}}
BuildRequires: %{python_module pretend}
BuildRequires: %{python_module pytest >= 6.2}
BuildRequires: %{python_module tomli-w}
%endif
%if "%{flavor}" == "primary"
# See boo#1186870, we can't provide ourselves to pythondistdeps.py