From 715eedf5f01f4493f5c319e17842d510e4a74853 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 16 Sep 2024 18:28:03 +0200 Subject: [PATCH] gen_depsolve_dnf4: include version/release/arch for kernel The `grub2` fragment require the release/version/arch of the kernel package. Add them to the external so that they can be used inside otk files. Also tweak the mocks to follow https://github.com/osbuild/images/pull/937 so that we have predictable but non-empty version/release numbers. --- .../command/gen_depsolve_dnf4.py | 7 ++++++- test/test_gen_depsolve_dnf4.py | 12 ++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/otk_external_osbuild/command/gen_depsolve_dnf4.py b/src/otk_external_osbuild/command/gen_depsolve_dnf4.py index 38c3dce3..30a7bf20 100644 --- a/src/otk_external_osbuild/command/gen_depsolve_dnf4.py +++ b/src/otk_external_osbuild/command/gen_depsolve_dnf4.py @@ -32,6 +32,8 @@ def transform(tree: dict, packages: List[dict]) -> dict: data["tree"]["const"]["kernel"] = { "name": kernel_pkg["name"], "version": kernel_pkg["version"], + "release": kernel_pkg["release"], + "arch": kernel_pkg["arch"], } return data @@ -47,7 +49,10 @@ def mockdata(packages): "name": p, "checksum": "sha256:" + hashlib.sha256(p.encode()).hexdigest(), "remote_location": f"https://example.com/repo/packages/{p}", - "version": "", + # see https://github.com/osbuild/images/pull/937 + "version": f"{ord(p[0]) % 9}", + "release": f"r{ord(p[1]) % 9}", + "arch": "noarch", } for p in packages ] diff --git a/test/test_gen_depsolve_dnf4.py b/test/test_gen_depsolve_dnf4.py index 90ea1e80..7078eb64 100644 --- a/test/test_gen_depsolve_dnf4.py +++ b/test/test_gen_depsolve_dnf4.py @@ -24,7 +24,8 @@ def test_otk_under_test_mock_data(monkeypatch, capsys): "checksum": "sha256:3d7b91c2dd3273400f26d21a492fcdfdc3dde228cd5627247dfef745ce717755", "name": "pkg1", "remote_location": "https://example.com/repo/packages/pkg1", - "version": "", + "version": "4", + "release": "r8", }, ], }, @@ -50,7 +51,8 @@ def test_otk_under_test_mock_data_kernel(monkeypatch, capsys): "const": { "kernel": { "name": "my-kernel", - "version": "", + "version": "1", + "release": "r4", }, "internal": { "packages": [ @@ -58,13 +60,15 @@ def test_otk_under_test_mock_data_kernel(monkeypatch, capsys): "checksum": "sha256:c892f5086e0951a7b31364bfd1373c375b10567a26e6e37ff96de2993428bc12", "name": "my-kernel", "remote_location": "https://example.com/repo/packages/my-kernel", - "version": "", + "version": "1", + "release": "r4", }, { "checksum": "sha256:3d7b91c2dd3273400f26d21a492fcdfdc3dde228cd5627247dfef745ce717755", "name": "pkg1", "remote_location": "https://example.com/repo/packages/pkg1", - "version": "", + "version": "4", + "release": "r8", }, ], },