PR#3568: kiwi: don't bind builders's /dev
Merges #3568 https://pagure.io/koji/pull-request/3568 Fixes: #3567 https://pagure.io/koji/issue/3567 kiwi: can't build images touching /dev
This commit is contained in:
commit
56cea9adc2
3 changed files with 12 additions and 2 deletions
|
|
@ -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': {'/dev': '/dev', }})
|
||||
bind_opts=bind_opts)
|
||||
broot.workdir = self.workdir
|
||||
|
||||
# create the mock chroot
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue