python-podman/c5a356fb4ea8a6fb66a6d20bdc2c9cffe615028b.patch
Jindrich Novy 86137ff169 python-podman-4.4.0-1.el9
- update to 4.4.0
- (and revert the upstream python-tomli dependency)
- Related: #2124478

Signed-off-by: Jindrich Novy <jnovy@redhat.com>
2023-02-15 05:59:09 +01:00

130 lines
3.9 KiB
Diff

From c5a356fb4ea8a6fb66a6d20bdc2c9cffe615028b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Fri, 14 Oct 2022 13:54:31 +0200
Subject: [PATCH] Use modern tomllib/tomli modules for reading TOML files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Replace the unmaintained `toml`/`pytoml` dependencies with the modern
alternatives: the built-in `tomllib` module in Python 3.11, and `tomli`
in older Python versions. Preserving backwards compatibility does not
seem necessary, as podman-py no longer supports Python versions older
than 3.6.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
podman/domain/config.py | 16 ++++++++++------
pyproject.toml | 2 +-
python-podman.spec.rpkg | 8 ++++----
requirements.txt | 2 +-
setup.cfg | 2 +-
5 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/podman/domain/config.py b/podman/domain/config.py
index 555ed9d..6ea8eb6 100644
--- a/podman/domain/config.py
+++ b/podman/domain/config.py
@@ -1,17 +1,21 @@
"""Read containers.conf file."""
+import sys
import urllib
from pathlib import Path
from typing import Dict, Optional
import xdg.BaseDirectory
-try:
- import toml
-except ImportError:
- import pytoml as toml
-
from podman.api import cached_property
+if sys.version_info >= (3, 11):
+ from tomllib import loads as toml_loads
+else:
+ try:
+ from tomli import loads as toml_loads
+ except ImportError:
+ from toml import loads as toml_loads
+
class ServiceConnection:
"""ServiceConnection defines a connection to the Podman service."""
@@ -64,7 +68,7 @@ def __init__(self, path: Optional[str] = None):
if self.path.exists():
with self.path.open(encoding='utf-8') as file:
buffer = file.read()
- self.attrs = toml.loads(buffer)
+ self.attrs = toml_loads(buffer)
def __hash__(self) -> int:
return hash(tuple(self.path.name))
diff --git a/pyproject.toml b/pyproject.toml
index f3cdfb9..3b29ecb 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -25,7 +25,7 @@ requires = [
"requests>=2.24",
"setuptools>=46.4",
"sphinx",
- "toml>=0.10.2",
+ "tomli>=1.2.3; python_version<'3.11'",
"urllib3>=1.26.5",
"wheel",
]
diff --git a/python-podman.spec.rpkg b/python-podman.spec.rpkg
index 5792a31..3683d81 100644
--- a/python-podman.spec.rpkg
+++ b/python-podman.spec.rpkg
@@ -49,19 +49,19 @@ Source: {{{ git_dir_pack }}}
BuildRequires: git-core
BuildRequires: python%{python3_pkgversion}-devel
%if %{?old_rhel}
-BuildRequires: python%{python3_pkgversion}-pytoml
BuildRequires: python%{python3_pkgversion}-pyxdg
BuildRequires: python%{python3_pkgversion}-requests
BuildRequires: python%{python3_pkgversion}-setuptools
-Requires: python%{python3_pkgversion}-pytoml
+BuildRequires: python%{python3_pkgversion}-toml
Requires: python%{python3_pkgversion}-pyxdg
Requires: python%{python3_pkgversion}-requests
+Requires: python%{python3_pkgversion}-toml
%else
BuildRequires: pyproject-rpm-macros
%endif
%if 0%{?fedora} <= 35 && ! 0%{?rhel}
-BuildRequires: python%{python3_pkgversion}-toml
-Requires: python%{python3_pkgversion}-toml
+BuildRequires: python%{python3_pkgversion}-tomli
+Requires: python%{python3_pkgversion}-tomli
%endif
Provides: %{pypi_name}-py = %{version}-%{release}
Summary: %{summary}
diff --git a/requirements.txt b/requirements.txt
index dbee723..9f86c22 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,6 +3,6 @@ pyxdg>=0.26
requests>=2.24
setuptools
sphinx
-toml>=0.10.2
+tomli>=1.2.3; python_version<'3.11'
urllib3>=1.26.5
wheel
diff --git a/setup.cfg b/setup.cfg
index f8d1b6f..2066951 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -36,7 +36,7 @@ test_suite =
install_requires =
pyxdg >=0.26
requests >=2.24
- toml >=0.10.2
+ tomli>=1.2.3; python_version<'3.11'
urllib3 >=1.26.5
# typing_extensions are included for RHEL 8.5