Update kiwi patchset

epel9
Igor Raits 2 years ago
parent 6292e1b4de
commit b595c52dd1
No known key found for this signature in database
GPG Key ID: 115D5AB89C5C1E1E

@ -1,15 +1,18 @@
From e6a9553e9c5850c8c1b9361f84f2f9dbb426ef4c Mon Sep 17 00:00:00 2001
From 7fd19f2239004fcf4e8060a45b75acef255b2457 Mon Sep 17 00:00:00 2001
From: Tomas Kopecek <tkopecek@redhat.com>
Date: Oct 25 2022 10:25:49 +0000
Subject: kiwi: propagate --type option
Date: Tue, 18 Oct 2022 14:49:59 +0200
Subject: [PATCH 1/6] kiwi: propagate --type option
Related: https://pagure.io/koji/issue/3556
(cherry picked from commit 6083bace39ba891d6b5db5354de356f2704fa4a1)
---
plugins/builder/kiwi.py | 8 +++++---
plugins/cli/kiwi.py | 42 +++++++++++++++++++++++------------------
plugins/hub/kiwi.py | 26 ++++++++++++++++---------
3 files changed, 46 insertions(+), 30 deletions(-)
diff --git a/plugins/builder/kiwi.py b/plugins/builder/kiwi.py
index 42aa707..7d6f6e7 100644
index 42aa7071..7d6f6e7e 100644
--- a/plugins/builder/kiwi.py
+++ b/plugins/builder/kiwi.py
@@ -325,11 +325,11 @@ class KiwiCreateImageTask(BaseBuildTask):
@ -45,7 +48,7 @@ index 42aa707..7d6f6e7 100644
cmd.extend([
'--kiwi-file', os.path.basename(desc), # global option for image/system commands
diff --git a/plugins/cli/kiwi.py b/plugins/cli/kiwi.py
index 8786b13..07125d7 100644
index 8786b135..07125d75 100644
--- a/plugins/cli/kiwi.py
+++ b/plugins/cli/kiwi.py
@@ -27,6 +27,7 @@ def handle_kiwi_build(goptions, session, args):
@ -109,7 +112,7 @@ index 8786b13..07125d7 100644
if not goptions.quiet:
print("Created task: %d" % task_id)
diff --git a/plugins/hub/kiwi.py b/plugins/hub/kiwi.py
index 79da38a..17b8e8e 100644
index 79da38a9..17b8e8e4 100644
--- a/plugins/hub/kiwi.py
+++ b/plugins/hub/kiwi.py
@@ -16,7 +16,8 @@ koji.tasks.LEGACY_SIGNATURES['createKiwiImage'] = [
@ -152,4 +155,6 @@ index 79da38a..17b8e8e 100644
return kojihub.make_task('kiwiBuild',
[target, arches, desc_url, desc_path, opts],
**taskOpts)
--
2.38.1

@ -0,0 +1,40 @@
From 0ccf95b7aa3332585217d5da2ff7b255e9cd4b14 Mon Sep 17 00:00:00 2001
From: Tomas Kopecek <tkopecek@redhat.com>
Date: Fri, 4 Nov 2022 10:06:48 +0100
Subject: [PATCH 2/6] fix additional commas
(cherry picked from commit 066e7427efca7a581cb1a63974dfdfec8194bd70)
---
plugins/cli/kiwi.py | 2 +-
plugins/hub/kiwi.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/plugins/cli/kiwi.py b/plugins/cli/kiwi.py
index 07125d75..6e965c05 100644
--- a/plugins/cli/kiwi.py
+++ b/plugins/cli/kiwi.py
@@ -61,7 +61,7 @@ def handle_kiwi_build(goptions, session, args):
for arch in options.optional_arches.split(',')
if arch]
if options.kiwi_profile:
- kwargs['profile'] = options.kiwi_profile,
+ kwargs['profile'] = options.kiwi_profile
if options.release:
kwargs['release'] = options.release
if options.make_prep:
diff --git a/plugins/hub/kiwi.py b/plugins/hub/kiwi.py
index 17b8e8e4..7b0c2f05 100644
--- a/plugins/hub/kiwi.py
+++ b/plugins/hub/kiwi.py
@@ -51,7 +51,7 @@ def kiwiBuild(target, arches, desc_url, desc_path, optional_arches=None, profile
if release:
opts['release'] = release
if optional_arches:
- opts['optional_arches'] = optional_arches,
+ opts['optional_arches'] = optional_arches
if repos:
opts['repos'] = repos
if make_prep:
--
2.38.1

@ -0,0 +1,27 @@
From 39cfeea12a38df825e264ce3a71489f35d4b95c3 Mon Sep 17 00:00:00 2001
From: Tomas Kopecek <tkopecek@redhat.com>
Date: Mon, 31 Oct 2022 13:09:19 +0100
Subject: [PATCH 3/6] kiwi: don't bind builders's /dev
Related: https://pagure.io/koji/issue/3567
(cherry picked from commit 655cb9797fe85f8dc1244f233da2919abfa1548f)
---
plugins/builder/kiwi.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/builder/kiwi.py b/plugins/builder/kiwi.py
index 7d6f6e7e..e220d515 100644
--- a/plugins/builder/kiwi.py
+++ b/plugins/builder/kiwi.py
@@ -307,7 +307,7 @@ class KiwiCreateImageTask(BaseBuildTask):
repo_id=repo_info['id'],
install_group='kiwi-build',
setup_dns=True,
- bind_opts={'dirs': {'/dev': '/dev', }})
+ bind_opts={'dirs': {}})
broot.workdir = self.workdir
# create the mock chroot
--
2.38.1

@ -0,0 +1,83 @@
From a08967bce60d50ec1d27741512dc96f6ed546594 Mon Sep 17 00:00:00 2001
From: Tomas Kopecek <tkopecek@redhat.com>
Date: Fri, 4 Nov 2022 10:13:16 +0100
Subject: [PATCH 4/6] allow to set it by user
(cherry picked from commit 5dcf480a401581442ace9b17e9c2a06241885ae6)
---
plugins/builder/kiwi.py | 6 +++++-
plugins/cli/kiwi.py | 4 ++++
plugins/hub/kiwi.py | 4 +++-
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/plugins/builder/kiwi.py b/plugins/builder/kiwi.py
index e220d515..b70a13a3 100644
--- a/plugins/builder/kiwi.py
+++ b/plugins/builder/kiwi.py
@@ -300,6 +300,10 @@ class KiwiCreateImageTask(BaseBuildTask):
desc_url, desc_path, opts=None):
self.opts = opts
build_tag = target_info['build_tag']
+ if opts.get('bind_dev'):
+ bind_opts = {'dirs': {'/dev': '/dev'}}
+ else:
+ bind_opts = None
broot = BuildRoot(self.session, self.options,
tag=build_tag,
arch=arch,
@@ -307,7 +311,7 @@ class KiwiCreateImageTask(BaseBuildTask):
repo_id=repo_info['id'],
install_group='kiwi-build',
setup_dns=True,
- bind_opts={'dirs': {}})
+ bind_opts=bind_opts)
broot.workdir = self.workdir
# create the mock chroot
diff --git a/plugins/cli/kiwi.py b/plugins/cli/kiwi.py
index 6e965c05..61764efb 100644
--- a/plugins/cli/kiwi.py
+++ b/plugins/cli/kiwi.py
@@ -30,6 +30,9 @@ def handle_kiwi_build(goptions, session, args):
parser.add_option("--type", help="Override default build type from description")
parser.add_option("--make-prep", action="store_true", default=False,
help="Run 'make prep' in checkout before starting the build")
+ parser.add_option("--bind-dev", action="store_true", default=False,
+ help="e.g. images using device-mapper needs /dev mounted in kiwi env, "
+ "while others can fail in such env.")
parser.add_option("--can-fail", action="store", dest="optional_arches",
metavar="ARCH1,ARCH2,...", default="",
help="List of archs which are not blocking for build "
@@ -52,6 +55,7 @@ def handle_kiwi_build(goptions, session, args):
'target': target,
'desc_url': scm,
'desc_path': path,
+ 'bind_dev': options.bind_dev,
}
if options.scratch:
kwargs['scratch'] = True
diff --git a/plugins/hub/kiwi.py b/plugins/hub/kiwi.py
index 7b0c2f05..f83b209d 100644
--- a/plugins/hub/kiwi.py
+++ b/plugins/hub/kiwi.py
@@ -17,7 +17,7 @@ koji.tasks.LEGACY_SIGNATURES['createKiwiImage'] = [
@export
def kiwiBuild(target, arches, desc_url, desc_path, optional_arches=None, profile=None,
scratch=False, priority=None, make_prep=False, repos=None, release=None,
- type=None):
+ type=None, bind_dev=False):
context.session.assertPerm('image')
for i in [desc_url, desc_path, profile, release]:
if i is not None:
@@ -52,6 +52,8 @@ def kiwiBuild(target, arches, desc_url, desc_path, optional_arches=None, profile
opts['release'] = release
if optional_arches:
opts['optional_arches'] = optional_arches
+ if bind_dev:
+ opts['bind_dev'] = bind_dev
if repos:
opts['repos'] = repos
if make_prep:
--
2.38.1

@ -1,15 +1,16 @@
From 18bbb5b21d4da8120fb9f3193248dd6faa915222 Mon Sep 17 00:00:00 2001
From 3a4286be435f6e734c528ab3a649cfd7d44e1338 Mon Sep 17 00:00:00 2001
From: Tomas Kopecek <tkopecek@redhat.com>
Date: Oct 17 2022 12:39:48 +0000
Subject: fix include path
Date: Mon, 17 Oct 2022 12:26:55 +0200
Subject: [PATCH 5/6] fix include path
Related: https://pagure.io/koji/issue/3553
(cherry picked from commit b8b52884b5208dc7ea25881108b7da5eb3d9fc86)
---
plugins/builder/kiwi.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/plugins/builder/kiwi.py b/plugins/builder/kiwi.py
index 42aa707..abb5511 100644
index b70a13a3..4033b520 100644
--- a/plugins/builder/kiwi.py
+++ b/plugins/builder/kiwi.py
@@ -197,16 +197,17 @@ class KiwiCreateImageTask(BaseBuildTask):
@ -32,4 +33,6 @@ index 42aa707..abb5511 100644
# remove remaining old repos
for old_repo in image.getElementsByTagName('repository'):
--
2.38.1

@ -0,0 +1,33 @@
From c3b6e3d0bab224b1bf829c7e16a16a4fdfb1bf7a Mon Sep 17 00:00:00 2001
From: Tomas Kopecek <tkopecek@redhat.com>
Date: Thu, 10 Nov 2022 10:42:30 +0100
Subject: [PATCH 6/6] better error for wrong include xml format
(cherry picked from commit 8b1030f8635ba2688630adf951ac849197c19cd8)
---
plugins/builder/kiwi.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/plugins/builder/kiwi.py b/plugins/builder/kiwi.py
index 4033b520..bc216c2e 100644
--- a/plugins/builder/kiwi.py
+++ b/plugins/builder/kiwi.py
@@ -204,9 +204,12 @@ class KiwiCreateImageTask(BaseBuildTask):
raise koji.GenericError(f"Unhandled include protocol in include path: {path}.")
inc = xml.dom.minidom.parse(path) # nosec
# every included xml has image root element again
- for node in list(inc.getElementsByTagName('image')[0].childNodes):
- if node.nodeName != 'repository':
- image.appendChild(node)
+ try:
+ for node in list(inc.getElementsByTagName('image')[0].childNodes):
+ if node.nodeName != 'repository':
+ image.appendChild(node)
+ except IndexError:
+ raise koji.GenericError("Included file needs to contain <image> tag.")
image.removeChild(inc_node)
# remove remaining old repos
--
2.38.1

@ -9,21 +9,24 @@
Name: koji
Version: 1.30.1
Release: 2%{?dist}
Release: 3%{?dist}
# the included arch lib from yum's rpmUtils is GPLv2+
License: LGPLv2 and GPLv2+
Summary: Build system tools
URL: https://pagure.io/koji/
Source0: https://releases.pagure.org/koji/koji-%{version}.tar.bz2
# Backports
Patch0001: 0001-kiwi-propagate-type-option.patch
Patch0002: 0002-fix-additional-commas.patch
Patch0003: 0003-kiwi-don-t-bind-builders-s-dev.patch
Patch0004: 0004-allow-to-set-it-by-user.patch
Patch0005: 0005-fix-include-path.patch
# Proposed upstream
## From: https://pagure.io/koji/pull-request/3555
Patch1: 3555.patch
## From: https://pagure.io/koji/pull-request/3558
Patch2: 3558.patch
# Not upstreamable
Patch100: fedora-config.patch
Patch1000: fedora-config.patch
BuildArch: noarch
Requires: python%{python3_pkgversion}-%{name} = %{version}-%{release}
@ -353,6 +356,9 @@ done
%systemd_postun kojira.service
%changelog
* Sat Nov 05 2022 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.30.1-3
- Update kiwi patchset
* Tue Oct 25 2022 Neal Gompa <ngompa@fedoraproject.org> - 1.30.1-2
- Backport more fixes for kiwibuild command for CBS

Loading…
Cancel
Save