From 2a793b875f2327a8524bb395ad6c606772faa0d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Fri, 28 Jan 2022 08:39:13 +0100 Subject: Add support for environment overrides. --- main.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index b88132f..c847c06 100755 --- a/main.py +++ b/main.py @@ -237,14 +237,19 @@ def main(): pkgs_ = data.get('packages') + # Flat list of all packages to operate on pkg_names = [] + # Mapping from package name to extra args for makepkg pkg_options = {} + # Mapping from package name to extra environment to makepkg + pkg_envs = {} for pkg in pkgs_: if type(pkg) == str: pkg_names.append(pkg) elif type(pkg) == dict: pkg_names.append(pkg['name']) pkg_options[pkg['name']] = pkg.get('options', '').split(' ') + pkg_envs[pkg['name']] = pkg.get('env', {}) else: logger.fatal('Package entries must be string or dict, not %s', type(pkg)) @@ -279,7 +284,9 @@ def main(): cmd.stdout, package) continue cwd = m[1] - env = { 'PKGDEST': pkgdest, + # Allow extra environments, but force our as non-overridable + env = { **pkg_envs.get(package, {}), + 'PKGDEST': pkgdest, 'PATH': ':'.join(path), } extra_opts = pkg_options.get(package, []) -- cgit v1.2.3