From 5699029b4ba1334c499a856fb934309725ffde3b Mon Sep 17 00:00:00 2001 From: Vinetos Date: Tue, 19 May 2026 21:30:17 +0200 Subject: [PATCH] python3Packages.openstacksdk: 4.10.0 -> 4.13.0 Rebuild packages from sources and update it to 4.13.0 --- .../python-modules/openstacksdk/default.nix | 73 ++++++++++++------- .../openstacksdk/fix-pyproject.patch | 19 +++++ .../python-modules/openstacksdk/tests.nix | 59 ++++++++------- 3 files changed, 94 insertions(+), 57 deletions(-) create mode 100644 pkgs/development/python-modules/openstacksdk/fix-pyproject.patch diff --git a/pkgs/development/python-modules/openstacksdk/default.nix b/pkgs/development/python-modules/openstacksdk/default.nix index 0910addc0717..3a074800cc7a 100644 --- a/pkgs/development/python-modules/openstacksdk/default.nix +++ b/pkgs/development/python-modules/openstacksdk/default.nix @@ -1,54 +1,68 @@ { lib, buildPythonPackage, + fetchFromGitHub, callPackage, - fetchPypi, - platformdirs, + pbr, + setuptools, + + # direct cryptography, dogpile-cache, jmespath, jsonpatch, keystoneauth1, munch, - openstackdocstheme, os-service-types, - pbr, + platformdirs, psutil, pyyaml, - requestsexceptions, - setuptools, + + # docs sphinxHook, + openstackdocstheme, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "openstacksdk"; - version = "4.10.0"; + version = "4.13.0"; pyproject = true; - outputs = [ - "out" - "man" - ]; - - src = fetchPypi { - inherit pname version; - hash = "sha256-Xd6a4/HiQRqH/1ey142lP6yOrp5brI5YcJJ8ti3fwDM="; + src = fetchFromGitHub { + owner = "openstack"; + repo = "openstacksdk"; + tag = finalAttrs.version; + hash = "sha256-nMpUNLz7OosoGd5rozWcOcOEf3jdEHo5dhxmOv0xONw="; }; + patches = [ + ./fix-pyproject.patch + ]; + postPatch = '' # Disable rsvgconverter not needed to build manpage substituteInPlace doc/source/conf.py \ --replace-fail "'sphinxcontrib.rsvgconverter'," "#'sphinxcontrib.rsvgconverter'," ''; - nativeBuildInputs = [ - openstackdocstheme - sphinxHook + env.PBR_VERSION = finalAttrs.version; + + build-system = [ + pbr + setuptools + ]; + + outputs = [ + "out" + "man" ]; sphinxBuilders = [ "man" ]; - build-system = [ setuptools ]; + nativeBuildInputs = [ + openstackdocstheme + sphinxHook + ]; dependencies = [ platformdirs @@ -59,9 +73,7 @@ buildPythonPackage rec { keystoneauth1 munch os-service-types - pbr psutil - requestsexceptions pyyaml ]; @@ -72,13 +84,20 @@ buildPythonPackage rec { tests = callPackage ./tests.nix { }; }; - pythonImportsCheck = [ "openstack" ]; + # Non-exhaustive imports + pythonImportsCheck = [ + "openstack" + "openstack.config.loader" + "openstack.compute.v2.server" + "openstack.test" + ]; meta = { - description = "SDK for building applications to work with OpenStack"; - mainProgram = "openstack-inventory"; - homepage = "https://github.com/openstack/openstacksdk"; + description = "SDK for building applications to work with OpenStack clouds."; + mainProgram = "openstack"; + homepage = "https://docs.openstack.org/openstacksdk/latest/"; + downloadPage = "https://github.com/openstack/openstacksdk/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; teams = [ lib.teams.openstack ]; }; -} +}) diff --git a/pkgs/development/python-modules/openstacksdk/fix-pyproject.patch b/pkgs/development/python-modules/openstacksdk/fix-pyproject.patch new file mode 100644 index 000000000000..9ac75f57d179 --- /dev/null +++ b/pkgs/development/python-modules/openstacksdk/fix-pyproject.patch @@ -0,0 +1,19 @@ +diff --git a/pyproject.toml b/pyproject.toml +index 7c1c1ce58..4e9f3a493 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -33,8 +33,12 @@ Repository = "https://opendev.org/openstack/openstacksdk/" + # TODO(mordred) Move this to an OSC command at some point + openstack-inventory = "openstack.cloud.cmd.inventory:main" + ++[tool.setuptools.package-data] ++"*" = ["**/*"] ++ + [tool.setuptools.packages.find] +-include = ["openstack"] ++where = ["."] ++include = ["openstack", "openstack.*"] + + [tool.mypy] + python_version = "3.11" + diff --git a/pkgs/development/python-modules/openstacksdk/tests.nix b/pkgs/development/python-modules/openstacksdk/tests.nix index 8881cfbc51c8..b3f093652152 100644 --- a/pkgs/development/python-modules/openstacksdk/tests.nix +++ b/pkgs/development/python-modules/openstacksdk/tests.nix @@ -1,15 +1,14 @@ { buildPythonPackage, + stestrCheckHook, ddt, hacking, jsonschema, - lib, openstacksdk, oslo-config, oslotest, prometheus-client, requests-mock, - stdenv, stestr, testscenarios, }: @@ -23,6 +22,7 @@ buildPythonPackage { dontInstall = true; nativeCheckInputs = [ + stestrCheckHook ddt hacking jsonschema @@ -35,32 +35,31 @@ buildPythonPackage { testscenarios ]; - checkPhase = '' - stestr run -e <(echo " - openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_available_wait - openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_inspect_failed - openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_wait - openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_wait_for_baremetal_node_lock_locked - openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_force - openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_wait - openstack.tests.unit.image.v2.test_proxy.TestTask.test_wait_for_task_error_396 - openstack.tests.unit.image.v2.test_proxy.TestTask.test_wait_for_task_wait - openstack.tests.unit.test_resource.TestWaitForDelete.test_callback - openstack.tests.unit.test_resource.TestWaitForDelete.test_status - openstack.tests.unit.test_resource.TestWaitForDelete.test_success_not_found - openstack.tests.unit.test_resource.TestWaitForStatus.test_callback - openstack.tests.unit.test_resource.TestWaitForStatus.test_callback_without_progress - openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails - openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails_different_attribute - openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match - openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_different_attribute - openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_none - openstack.tests.unit.test_stats.TestStats.test_list_projects - openstack.tests.unit.test_stats.TestStats.test_projects - openstack.tests.unit.test_stats.TestStats.test_servers - openstack.tests.unit.test_stats.TestStats.test_servers_error - openstack.tests.unit.test_stats.TestStats.test_servers_no_detail - openstack.tests.unit.test_stats.TestStats.test_timeout - ") - ''; + disabledTests = [ + "openstack.tests.unit.config.test_config.TestConfig.test_force_ipv4_false" + "openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_force" + "openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_wait" + "openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_force" + "openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_wait" + "openstack.tests.unit.image.v2.test_proxy.TestTask.test_wait_for_task_wait" + "openstack.tests.unit.image.v2.test_proxy.TestTask.test_wait_for_task_error_396" + "openstack.tests.unit.test_resource.TestWaitForDelete.test_success_not_found" + "openstack.tests.unit.test_resource.TestWaitForDelete.test_status" + "openstack.tests.unit.test_resource.TestWaitForDelete.test_callback" + "openstack.tests.unit.test_resource.TestWaitForStatus.test_callback" + "openstack.tests.unit.test_resource.TestWaitForStatus.test_callback_without_progress" + "openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match" + "openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_none" + "openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_with_none" + "openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_different_attribute" + "openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails" + "openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails_different_attribute" + "openstack.tests.unit.test_stats.TestStats.test_servers" + "openstack.tests.unit.test_stats.TestStats.test_servers_error" + "openstack.tests.unit.test_stats.TestStats.test_servers_no_detail" + "openstack.tests.unit.test_stats.TestStats.test_projects" + "openstack.tests.unit.test_stats.TestStats.test_list_projects" + "openstack.tests.unit.test_stats.TestStats.test_timeout" + ]; + }