mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-02-02 20:59:06 +08:00
Add --buildrequires/--requires options to build_module_locally
Overriding the platform stream with, e.g, platform:el8.3.1 is necessary to correctly pick up the right build dependencies for some configurations. Match the fedpkg/rhpkg module-build way of doing this by adding --buildrequires and --requires options to build_module_locally.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# SPDX-License-Identifier: MIT
|
||||
from __future__ import absolute_import, print_function
|
||||
from collections import defaultdict
|
||||
from functools import wraps
|
||||
import getpass
|
||||
import logging
|
||||
@@ -103,11 +104,33 @@ def import_module(mmd_file):
|
||||
import_mmd(db.session, mmd)
|
||||
|
||||
|
||||
def collect_dep_overrides(overrides):
|
||||
collected = defaultdict(list)
|
||||
for value in overrides:
|
||||
parts = value.split(":")
|
||||
if len(parts) != 2:
|
||||
raise ValueError("dependency overrides must be in the form name:stream")
|
||||
name, stream = parts
|
||||
collected[name].append(stream)
|
||||
|
||||
return collected
|
||||
|
||||
|
||||
@manager.option("--stream", action="store", dest="stream")
|
||||
@manager.option("--file", action="store", dest="yaml_file")
|
||||
@manager.option("--srpm", action="append", default=[], dest="srpms", metavar="SRPM")
|
||||
@manager.option("--skiptests", action="store_true", dest="skiptests")
|
||||
@manager.option("--offline", action="store_true", dest="offline")
|
||||
@manager.option(
|
||||
'--buildrequires', action='append', metavar='name:stream',
|
||||
dest='buildrequires', default=[],
|
||||
help='Buildrequires to override in the form of "name:stream"'
|
||||
)
|
||||
@manager.option(
|
||||
'--requires', action='append', metavar='name:stream',
|
||||
dest='requires', default=[],
|
||||
help='Requires to override in the form of "name:stream"'
|
||||
)
|
||||
@manager.option("-d", "--debug", action="store_true", dest="log_debug")
|
||||
@manager.option("-l", "--add-local-build", action="append", default=None, dest="local_build_nsvs")
|
||||
@manager.option("-s", "--set-stream", action="append", default=[], dest="default_streams")
|
||||
@@ -125,6 +148,8 @@ def build_module_locally(
|
||||
offline=False,
|
||||
platform_repofiles=None,
|
||||
platform_id=None,
|
||||
requires=None,
|
||||
buildrequires=None,
|
||||
log_debug=False,
|
||||
):
|
||||
""" Performs local module build using Mock
|
||||
@@ -163,7 +188,9 @@ def build_module_locally(
|
||||
|
||||
params = {
|
||||
"local_build": True,
|
||||
"default_streams": dict(ns.split(":") for ns in default_streams)
|
||||
"default_streams": dict(ns.split(":") for ns in default_streams),
|
||||
"require_overrides": collect_dep_overrides(requires),
|
||||
"buildrequire_overrides": collect_dep_overrides(buildrequires),
|
||||
}
|
||||
if srpms:
|
||||
params["srpms"] = srpms
|
||||
|
||||
Reference in New Issue
Block a user