parent
6292e1b4de
commit
b595c52dd1
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in new issue