public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/python-pyinfra] f45: Update to 3.10.0 + spec cleanup and modernization
@ 2026-08-17 22:42 Filipe Rosset
0 siblings, 0 replies; only message in thread
From: Filipe Rosset @ 2026-08-17 22:42 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/python-pyinfra
Branch : f45
Commit : 48ff1b92b8217011c7a3d136aecd374b85b62f04
Author : Filipe Rosset <rosset.filipe@gmail.com>
Date : 2026-08-07T16:41:10-03:00
Stats : +58/-36 in 4 file(s)
URL : https://src.fedoraproject.org/rpms/python-pyinfra/c/48ff1b92b8217011c7a3d136aecd374b85b62f04?branch=f45
Log:
Update to 3.10.0 + spec cleanup and modernization
Added a patch to workaround dependencies that are not in Fedora
Resolves: rhbz#2476877 - F45FailsToInstall: python3-pyinfra
Resolves: rhbz#2504565 - python-pyinfra: FTBFS in Fedora rawhide/f45
Signed-off-by: Filipe Rosset <rosset.filipe@gmail.com>
---
diff --git a/.gitignore b/.gitignore
index 5fb4f1a..5897e0f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1 @@
-/pyinfra-3.1.1.tar.gz
-/pyinfra-3.2.tar.gz
-/pyinfra-3.4.1.tar.gz
+/pyinfra-*.tar.gz
diff --git a/pyproject-toml-static-version.patch b/pyproject-toml-static-version.patch
new file mode 100644
index 0000000..590f255
--- /dev/null
+++ b/pyproject-toml-static-version.patch
@@ -0,0 +1,47 @@
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,8 +1,6 @@
+ [project]
+ name = "pyinfra"
+-dynamic = [
+- "version",
+-]
++version = "3.10.0"
+ description = "pyinfra automates/provisions/manages/deploys infrastructure."
+ readme = "README.md"
+ authors = [
+@@ -13,7 +11,7 @@
+ requires-python = ">=3.10,<4.0"
+ dependencies = [
+ "gevent>=1.5",
+- "paramiko>=2.11,<5", # 2.11 (2022) adds Transport.open_channel(timeout=...) for ProxyJump timeout (#971)
++ "paramiko>=2.11", # 2.11 (2022) adds Transport.open_channel(timeout=...) for ProxyJump timeout (#971)
+ "click>2",
+ "jinja2>3,<4",
+ "python-dateutil>2,<3",
+@@ -22,7 +20,7 @@
+ "packaging>=16.1",
+ "pydantic>=2.11,<3",
+ "typing-extensions; python_version < '3.11'", # Backport of typing for Unpack (added 3.11)
+- "types-paramiko>=2.7,<5",
++
+ ]
+ classifiers = [
+ "Development Status :: 5 - Production/Stable",
+@@ -101,14 +99,13 @@
+ vagrant = "pyinfra.connectors.vagrant:VagrantInventoryConnector"
+
+ [build-system]
+-requires = ["hatchling", "uv-dynamic-versioning"]
++requires = ["hatchling"]
+ build-backend = "hatchling.build"
+
+ [tool.hatch.build.targets.wheel]
+ packages = ["src/pyinfra", "src/pyinfra_cli"]
+
+-[tool.hatch.version]
+-source = "uv-dynamic-versioning"
++
+
+ [tool.ruff]
+ line-length = 100
diff --git a/python-pyinfra.spec b/python-pyinfra.spec
index 74c6c4c..a249c29 100644
--- a/python-pyinfra.spec
+++ b/python-pyinfra.spec
@@ -1,25 +1,18 @@
-%global forgeurl https://github.com/pyinfra-dev/pyinfra
-%global pypi_name pyinfra
-Name: python-%{pypi_name}
-Version: 3.4.1
-%global tag v%{version}
-Release: %autorelease
+%global forgeurl https://github.com/pyinfra-dev/pyinfra
+Version: 3.10.0
+%forgemeta
+Name: python-pyinfra
+Release: %autorelease
Summary: Provision, manage and deploy infrastructure
License: MIT
URL: https://pyinfra.com
-VCS: git:%{forgeurl}.git
Source: %{forgesource}
-%forgemeta
+Patch: pyproject-toml-static-version.patch
BuildArch: noarch
BuildRequires: python3-devel
-# Test dependencies include extra formatting and coverage tests
-# that are not needed in Fedora CI
-BuildRequires: python3-pytest
-BuildRequires: python3-pyyaml
-BuildRequires: python3-pytest-testinfra
%global _description %{expand:
pyinfra turns Python code into shell commands and runs them on your
@@ -36,11 +29,7 @@ Summary: %{summary}
%prep
%forgesetup
-# Remove unneeded dependency
-sed -i '/configparser/d' setup.py
-# Remove unused scripts, package documentation
-# as text files
-rm docs/*.py
+%autopatch -p1
%generate_buildrequires
%pyproject_buildrequires
@@ -52,28 +41,16 @@ rm docs/*.py
%install
%pyproject_install
-# Remove test files
-rm -r %{buildroot}%{python3_sitelib}/tests
-%pyproject_save_files -l pyinfra
+%pyproject_save_files -l pyinfra pyinfra_cli
%check
%pyproject_check_import
-# Do not run test that depend on network access
-k="${k-}${k+ and }not (test_put_file_sudo)"
-# Temporarily deselect tests that need click 8.2+
-deselect="${deselect-} --deselect=tests/test_cli/test_cli.py::TestFactCli::test_get_fact"
-deselect="${deselect-} --deselect=tests/test_cli/test_cli.py::TestFactCli::test_get_fact_with_kwargs"
-deselect="${deselect-} --deselect=tests/test_cli/test_cli_inventory.py::TestCliInventory::test_host_groups_may_only_contain_strings_or_tuples"
-deselect="${deselect-} --deselect=tests/test_cli/test_cli_inventory.py::TestCliInventory::test_ignores_variables_with_leading_underscore"
-deselect="${deselect-} --deselect=tests/test_cli/test_cli_inventory.py::TestCliInventory::test_only_supports_list_and_tuples"
-%pytest -k "${k-}" ${deselect-}
+# Unit tests require pyinfra-testing which is not packaged in Fedora
%files -n python3-pyinfra -f %{pyproject_files}
%{_bindir}/pyinfra
-%{python3_sitelib}/pyinfra_cli/
-%license LICENSE.md
%doc README.md
%doc CHANGELOG.md
%doc docs
diff --git a/sources b/sources
index 0a9afda..82c3ef5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pyinfra-3.4.1.tar.gz) = 9030b8f310946b9f5728eea4ebad512ba8550be36ad5e7c0da63cb74fd3b459005771630eacc42718d5f4b22b386c9ad85c19908dff6371398d2e2e234c64d26
+SHA512 (pyinfra-3.10.0.tar.gz) = 7e6a9cf7280e70d55d3f700c75c9e60fea0bf7f1e0bd160acecb836461529c1b32bf423cda616baaf78126f4f769b46af00c0e45f199258c57c227c276712392
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-17 22:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-17 22:42 [rpms/python-pyinfra] f45: Update to 3.10.0 + spec cleanup and modernization Filipe Rosset
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox