Backport upstream PR 1780
(cherry picked from commit 94c3195e7398d8f75720216676a87509e2177fc2)
This commit is contained in:
parent
e9ed4402e6
commit
8334b2f027
214
1780.patch
Normal file
214
1780.patch
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
From d351773dab7b3aa8e6de82bbe23058b6b3448dd4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lubomír Sedlář <lsedlar@redhat.com>
|
||||||
|
Date: Aug 26 2024 06:53:10 +0000
|
||||||
|
Subject: kiwibuild: Add options for version and repo_releasever
|
||||||
|
|
||||||
|
|
||||||
|
The version follows the same rules as versioning for live media etc.
|
||||||
|
That means it's always going to be set. The precedence goes like this:
|
||||||
|
|
||||||
|
* image specific option
|
||||||
|
* `kiwibuild_version`
|
||||||
|
* `global_version`
|
||||||
|
* `release_version` or `<release_version>_<label_milestone>`.
|
||||||
|
|
||||||
|
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/doc/configuration.rst b/doc/configuration.rst
|
||||||
|
index b0a6d5c..c6f936a 100644
|
||||||
|
--- a/doc/configuration.rst
|
||||||
|
+++ b/doc/configuration.rst
|
||||||
|
@@ -1570,6 +1570,13 @@ KiwiBuild Settings
|
||||||
|
* ``type_attr`` -- (*[str]*) override default attributes for the build type
|
||||||
|
from description.
|
||||||
|
* ``bundle_name_format`` -- (*str*) override default bundle format name.
|
||||||
|
+ * ``version`` -- (*str*) override version. Follows the same rules as
|
||||||
|
+ described in :ref:`automatic versioning <auto-version>`.
|
||||||
|
+ * ``repo_releasever`` -- (*str*) Override default releasever of the output
|
||||||
|
+ image.
|
||||||
|
+
|
||||||
|
+ The options can be set either for the specific image, or at the phase level
|
||||||
|
+ (see below). Version also falls back to ``global_version``.
|
||||||
|
|
||||||
|
**kiwibuild_description_scm**
|
||||||
|
(*str*) -- URL for scm containing the description files
|
||||||
|
@@ -1586,6 +1593,12 @@ KiwiBuild Settings
|
||||||
|
**kiwibuild_bundle_name_format**
|
||||||
|
(*str*) -- override default bundle format name.
|
||||||
|
|
||||||
|
+**kiwibuild_version**
|
||||||
|
+ (*str*) -- overide version for all kiwibuild tasks.
|
||||||
|
+
|
||||||
|
+**kiwibuild_repo_releasever**
|
||||||
|
+ (*str*) -- override releasever for all kiwibuild tasks.
|
||||||
|
+
|
||||||
|
|
||||||
|
OSBuild Composer for building images
|
||||||
|
====================================
|
||||||
|
diff --git a/pungi/checks.py b/pungi/checks.py
|
||||||
|
index dae31f5..bcf23e5 100644
|
||||||
|
--- a/pungi/checks.py
|
||||||
|
+++ b/pungi/checks.py
|
||||||
|
@@ -1212,6 +1212,8 @@ def make_schema():
|
||||||
|
"type": {"type": "string"},
|
||||||
|
"type_attr": {"$ref": "#/definitions/list_of_strings"},
|
||||||
|
"bundle_name_format": {"type": "string"},
|
||||||
|
+ "version": {"type": "string"},
|
||||||
|
+ "repo_releasever": {"type": "string"},
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
# description_scm and description_path
|
||||||
|
@@ -1233,6 +1235,8 @@ def make_schema():
|
||||||
|
"kiwibuild_type": {"type": "string"},
|
||||||
|
"kiwibuild_type_attr": {"$ref": "#/definitions/list_of_strings"},
|
||||||
|
"kiwibuild_bundle_name_format": {"type": "string"},
|
||||||
|
+ "kiwibuild_version": {"type": "string"},
|
||||||
|
+ "kiwibuild_repo_releasever": {"type": "string"},
|
||||||
|
"osbuild_target": {"type": "string"},
|
||||||
|
"osbuild_release": {"$ref": "#/definitions/optional_string"},
|
||||||
|
"osbuild_version": {"type": "string"},
|
||||||
|
diff --git a/pungi/phases/kiwibuild.py b/pungi/phases/kiwibuild.py
|
||||||
|
index fabcce5..7ce3a54 100644
|
||||||
|
--- a/pungi/phases/kiwibuild.py
|
||||||
|
+++ b/pungi/phases/kiwibuild.py
|
||||||
|
@@ -84,6 +84,8 @@ class KiwiBuildPhase(
|
||||||
|
"bundle_name_format": self.get_config(
|
||||||
|
image_conf, "bundle_name_format"
|
||||||
|
),
|
||||||
|
+ "version": self.get_version(image_conf),
|
||||||
|
+ "repo_releasever": self.get_config(image_conf, "repo_releasever"),
|
||||||
|
}
|
||||||
|
|
||||||
|
repo = self._get_repo(image_conf, variant)
|
||||||
|
@@ -144,6 +146,8 @@ class RunKiwiBuildThread(WorkerThread):
|
||||||
|
result_bundle_name_format=generics["bundle_name_format"],
|
||||||
|
# this ensures the task won't fail if only failable arches fail
|
||||||
|
optional_arches=self.failable_arches,
|
||||||
|
+ version=generics["version"],
|
||||||
|
+ repo_releasever=generics["repo_releasever"],
|
||||||
|
)
|
||||||
|
|
||||||
|
koji.save_task_id(task_id)
|
||||||
|
diff --git a/tests/test_kiwibuildphase.py b/tests/test_kiwibuildphase.py
|
||||||
|
index 237dcaf..50116a2 100644
|
||||||
|
--- a/tests/test_kiwibuildphase.py
|
||||||
|
+++ b/tests/test_kiwibuildphase.py
|
||||||
|
@@ -50,6 +50,8 @@ class TestKiwiBuildPhase(PungiTestCase):
|
||||||
|
"type": None,
|
||||||
|
"type_attr": None,
|
||||||
|
"bundle_name_format": None,
|
||||||
|
+ "version": compose.image_version,
|
||||||
|
+ "repo_releasever": None,
|
||||||
|
},
|
||||||
|
[self.topdir + "/compose/Server/$arch/os"],
|
||||||
|
[], # failable arches
|
||||||
|
@@ -69,6 +71,8 @@ class TestKiwiBuildPhase(PungiTestCase):
|
||||||
|
"type": "custom",
|
||||||
|
"type_attr": ["foo", "bar"],
|
||||||
|
"bundle_name_format": "fmt",
|
||||||
|
+ "version": "Rawhide",
|
||||||
|
+ "repo_releasever": "41",
|
||||||
|
},
|
||||||
|
MINIMAL_CONF,
|
||||||
|
)
|
||||||
|
@@ -95,6 +99,8 @@ class TestKiwiBuildPhase(PungiTestCase):
|
||||||
|
"type": "custom",
|
||||||
|
"type_attr": ["foo", "bar"],
|
||||||
|
"bundle_name_format": "fmt",
|
||||||
|
+ "version": "Rawhide",
|
||||||
|
+ "repo_releasever": "41",
|
||||||
|
},
|
||||||
|
[
|
||||||
|
"https://example.com/repo/",
|
||||||
|
@@ -131,6 +137,8 @@ class TestKiwiBuildPhase(PungiTestCase):
|
||||||
|
"type": None,
|
||||||
|
"type_attr": None,
|
||||||
|
"bundle_name_format": None,
|
||||||
|
+ "version": compose.image_version,
|
||||||
|
+ "repo_releasever": None,
|
||||||
|
},
|
||||||
|
[self.topdir + "/compose/Server/$arch/os"],
|
||||||
|
["x86_64"], # failable arches
|
||||||
|
@@ -151,6 +159,8 @@ class TestKiwiBuildPhase(PungiTestCase):
|
||||||
|
"kiwibuild_type": "custom",
|
||||||
|
"kiwibuild_type_attr": ["foo", "bar"],
|
||||||
|
"kiwibuild_bundle_name_format": "fmt",
|
||||||
|
+ "kiwibuild_version": "Rawhide",
|
||||||
|
+ "kiwibuild_repo_releasever": "41",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
@@ -175,6 +185,8 @@ class TestKiwiBuildPhase(PungiTestCase):
|
||||||
|
"type": "custom",
|
||||||
|
"type_attr": ["foo", "bar"],
|
||||||
|
"bundle_name_format": "fmt",
|
||||||
|
+ "version": "Rawhide",
|
||||||
|
+ "repo_releasever": "41",
|
||||||
|
},
|
||||||
|
[self.topdir + "/compose/Server/$arch/os"],
|
||||||
|
[], # failable arches
|
||||||
|
@@ -190,6 +202,7 @@ class TestKiwiBuildPhase(PungiTestCase):
|
||||||
|
"kiwibuild": {"^Server$": [cfg]},
|
||||||
|
"global_target": "f40",
|
||||||
|
"global_release": "1234",
|
||||||
|
+ "global_version": "41",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
@@ -214,6 +227,8 @@ class TestKiwiBuildPhase(PungiTestCase):
|
||||||
|
"type": None,
|
||||||
|
"type_attr": None,
|
||||||
|
"bundle_name_format": None,
|
||||||
|
+ "version": "41",
|
||||||
|
+ "repo_releasever": None,
|
||||||
|
},
|
||||||
|
[self.topdir + "/compose/Server/$arch/os"],
|
||||||
|
[], # failable arches
|
||||||
|
@@ -278,6 +293,8 @@ class TestKiwiBuildThread(PungiTestCase):
|
||||||
|
"type": "t",
|
||||||
|
"type_attr": ["ta"],
|
||||||
|
"bundle_name_format": "fmt",
|
||||||
|
+ "version": "v",
|
||||||
|
+ "repo_releasever": "r",
|
||||||
|
},
|
||||||
|
[self.repo],
|
||||||
|
[],
|
||||||
|
@@ -298,6 +315,8 @@ class TestKiwiBuildThread(PungiTestCase):
|
||||||
|
type_attr=["ta"],
|
||||||
|
result_bundle_name_format="fmt",
|
||||||
|
optional_arches=[],
|
||||||
|
+ version="v",
|
||||||
|
+ repo_releasever="r",
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
@@ -362,6 +381,8 @@ class TestKiwiBuildThread(PungiTestCase):
|
||||||
|
"type": None,
|
||||||
|
"type_attr": None,
|
||||||
|
"bundle_name_format": None,
|
||||||
|
+ "version": None,
|
||||||
|
+ "repo_releasever": None,
|
||||||
|
},
|
||||||
|
[self.repo],
|
||||||
|
[],
|
||||||
|
@@ -413,6 +434,8 @@ class TestKiwiBuildThread(PungiTestCase):
|
||||||
|
"type": None,
|
||||||
|
"type_attr": None,
|
||||||
|
"bundle_name_format": None,
|
||||||
|
+ "version": None,
|
||||||
|
+ "repo_releasever": None,
|
||||||
|
},
|
||||||
|
[self.repo],
|
||||||
|
["amd64"],
|
||||||
|
@@ -433,6 +456,8 @@ class TestKiwiBuildThread(PungiTestCase):
|
||||||
|
type_attr=None,
|
||||||
|
result_bundle_name_format=None,
|
||||||
|
optional_arches=["amd64"],
|
||||||
|
+ version=None,
|
||||||
|
+ repo_releasever=None,
|
||||||
|
)
|
||||||
|
]
|
||||||
|
assert get_image_paths.mock_calls == [mock.call(1234)]
|
||||||
|
|
@ -8,6 +8,7 @@ Summary: Distribution compose tool
|
|||||||
License: GPL-2.0-only
|
License: GPL-2.0-only
|
||||||
URL: https://pagure.io/pungi
|
URL: https://pagure.io/pungi
|
||||||
Source0: %{name}-%{version}.tar.bz2
|
Source0: %{name}-%{version}.tar.bz2
|
||||||
|
Patch: https://pagure.io/pungi/pull-request/1780.patch
|
||||||
|
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: python3-pytest
|
BuildRequires: python3-pytest
|
||||||
@ -190,6 +191,9 @@ rm %{buildroot}%{_bindir}/pungi
|
|||||||
* Thu Sep 05 2024 Stepan Oksanichenko <soksanichenko@almalinux.org> - 4.7.0-2
|
* Thu Sep 05 2024 Stepan Oksanichenko <soksanichenko@almalinux.org> - 4.7.0-2
|
||||||
- Use xorriso as recommended package and genisoimage as required for RHEL8/9 and vice versa for RHEL10
|
- Use xorriso as recommended package and genisoimage as required for RHEL8/9 and vice versa for RHEL10
|
||||||
|
|
||||||
|
* Wed Aug 28 2024 Lubomír Sedlář <lsedlar@redhat.com> - 4.7.0-2
|
||||||
|
- Backport patch with kiwibuild options version and repo_releasever
|
||||||
|
|
||||||
* Thu Aug 22 2024 Lubomír Sedlář <lsedlar@redhat.com> - 4.7.0-1
|
* Thu Aug 22 2024 Lubomír Sedlář <lsedlar@redhat.com> - 4.7.0-1
|
||||||
- kiwibuild: Add support for type, type attr and bundle format (lsedlar)
|
- kiwibuild: Add support for type, type attr and bundle format (lsedlar)
|
||||||
- createiso: Block reuse if unsigned packages are allowed (lsedlar)
|
- createiso: Block reuse if unsigned packages are allowed (lsedlar)
|
||||||
|
Loading…
Reference in New Issue
Block a user