From cedb2426c758dac447dbcb12f00d4bf3df5c2424 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 20 Oct 2021 13:19:39 +0200 Subject: [PATCH] osbuild-mpp: Add mpp-join This allows you to join a set of lists, its very nice to use e.g. when constructing the package-list for a depsolve node. --- tools/osbuild-mpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/osbuild-mpp b/tools/osbuild-mpp index 4cc7bb9e..5872e713 100755 --- a/tools/osbuild-mpp +++ b/tools/osbuild-mpp @@ -675,14 +675,23 @@ class ManifestFile: def _is_format(node): if not isinstance(node, dict): return False - if "mpp-eval" in node: - return True + for m in ("mpp-eval", "mpp-join"): + if m in node: + return True for m in ("int", "string", "json"): if f"mpp-format-{m}" in node: return True return False def _eval_format(node, local_vars): + if "mpp-join" in node: + to_merge_list = node["mpp-join"] + self._process_format(to_merge_list) + res = [] + for to_merge in to_merge_list: + res.extend(to_merge) + return res + if "mpp-eval" in node: code = node["mpp-eval"]