From a50ca237c7a6316f6d6333a8d2ae7a10ab6dcb0b Mon Sep 17 00:00:00 2001 From: Pat Riehecky Date: May 16 2022 14:15:03 +0000 Subject: kojid: permit forcing releasever within mock per tag --- diff --git a/builder/kojid b/builder/kojid index a202425..951ddef 100755 --- a/builder/kojid +++ b/builder/kojid @@ -301,6 +301,8 @@ class BuildRoot(object): } if 'mock.module_setup_commands' in self.config['extra']: opts['module_setup_commands'] = self.config['extra']['mock.module_setup_commands'] + if 'mock.releasever' in self.config['extra']: + opts['releasever'] = self.config['extra']['mock.releasever'] if self.internal_dev_setup is not None: opts['internal_dev_setup'] = bool(self.internal_dev_setup) opts['tag_macros'] = {} diff --git a/cli/koji_cli/commands.py b/cli/koji_cli/commands.py index 4c08506..9318f0b 100644 --- a/cli/koji_cli/commands.py +++ b/cli/koji_cli/commands.py @@ -1149,6 +1149,8 @@ def anon_handle_mock_config(goptions, session, args): opts['use_bootstrap'] = buildcfg['extra']['mock.use_bootstrap'] if 'mock.module_setup_commands' in buildcfg['extra']: opts['module_setup_commands'] = buildcfg['extra']['mock.module_setup_commands'] + if 'mock.releasever' in buildcfg['extra']: + opts['releasever'] = buildcfg['extra']['mock.releasever'] opts['tag_macros'] = {} for key in buildcfg['extra']: if key.startswith('rpm.macro.'): diff --git a/docs/source/using_the_koji_build_system.rst b/docs/source/using_the_koji_build_system.rst index 7d8887b..73a3448 100644 --- a/docs/source/using_the_koji_build_system.rst +++ b/docs/source/using_the_koji_build_system.rst @@ -393,6 +393,8 @@ environment follows: * ``mock.new_chroot`` - 0/1 value. If it is set, ``--new-chroot`` or `--old-chroot` option is appended to any mock call. If it is not set, mock's default behavior is used. +* ``mock.releasever`` - When doing cross-compiles it may be necessary + to explicitly set the ``releasever`` to be used. * ``mock.use_bootstrap`` - 0/1 value. If it is set, ``--bootstrap-chroot`` is appended to the mock init call. This tells mock to build in two stages, using chroot rpm for creating the build chroot. If it is not set, mock's diff --git a/koji/__init__.py b/koji/__init__.py index 348f060..f656564 100644 --- a/koji/__init__.py +++ b/koji/__init__.py @@ -1638,6 +1638,8 @@ def genMockConfig(name, arch, managed=False, repoid=None, tag_name=None, **opts) config_opts['use_bootstrap'] = bool(opts['use_bootstrap']) if 'module_setup_commands' in opts: config_opts['module_setup_commands'] = opts['module_setup_commands'] + if 'releasever' in opts: + config_opts['releasever'] = opts['releasever'] # bind_opts are used to mount parts (or all of) /dev if needed. # See kojid::LiveCDTask for a look at this option in action.