public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Filipe Rosset <rosset.filipe@gmail.com>
To: git-commits@fedoraproject.org
Subject: [rpms/python-pyinfra] f45: Update to 3.10.0 + spec cleanup and modernization
Date: Mon, 17 Aug 2026 22:42:25 GMT	[thread overview]
Message-ID: <178700654598.1.6895331128458298698.rpms-python-pyinfra-48ff1b92b821@fedoraproject.org> (raw)

            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

                 reply	other threads:[~2026-08-17 22:42 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178700654598.1.6895331128458298698.rpms-python-pyinfra-48ff1b92b821@fedoraproject.org \
    --to=rosset.filipe@gmail.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox