summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmain.py9
1 files changed, 8 insertions, 1 deletions
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, [])