diff options
-rwxr-xr-x | main.py | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -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, []) |