From 4012b3efea3377bea7363ad67e2df4b424ad61f0 Mon Sep 17 00:00:00 2001 From: Jana Cupova Date: Jan 30 2023 12:35:37 +0000 Subject: Add custom_user_metadata to build info for wrapperRPM build type Fixes: https://pagure.io/koji/issue/3655 --- diff --git a/builder/kojid b/builder/kojid index 4d0ad8b..6184b87 100755 --- a/builder/kojid +++ b/builder/kojid @@ -2050,6 +2050,13 @@ class WrapperRPMTask(BaseBuildTask): 'scratch': opts.get('scratch') }) + if opts.get('create_build') and opts.get('custom_user_metadata'): + try: + json.dumps(opts['custom_user_metadata']) + except TypeError: + error_msg = 'custom_user_metadata is not JSON serializable' + raise koji.BuildError(error_msg) + repo_id = opts.get('repo_id') if not repo_id: raise koji.BuildError("A repo id must be provided") @@ -2151,6 +2158,8 @@ class WrapperRPMTask(BaseBuildTask): data['task_id'] = self.id data['source'] = source['source'] data['extra'] = {'source': {'original_url': source['url']}} + if opts.get('custom_user_metadata'): + data['extra']['custom_user_metadata'] = opts['custom_user_metadata'] self.logger.info("Reading package config for %(name)s" % data) pkg_cfg = self.session.getPackageConfig(build_target['dest_tag'], data['name']) if not opts.get('skip_tag'): @@ -2222,6 +2231,8 @@ class WrapperRPMTask(BaseBuildTask): 'rpms': rpms, 'logs': logs, 'source': source} + if opts.get('create_build') and opts.get('custom_user_metadata'): + results['custom_user_metadata'] = opts['custom_user_metadata'] if not task: # Called as a standalone top-level task, so handle the rpms now.