aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/scripts/dist.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/scripts/dist.py')
-rw-r--r--mesonbuild/scripts/dist.py21
1 files changed, 11 insertions, 10 deletions
diff --git a/mesonbuild/scripts/dist.py b/mesonbuild/scripts/dist.py
index 68cfcd0..56ac585 100644
--- a/mesonbuild/scripts/dist.py
+++ b/mesonbuild/scripts/dist.py
@@ -81,16 +81,17 @@ def run_dist_scripts(dist_root, dist_scripts):
env = os.environ.copy()
env['MESON_DIST_ROOT'] = dist_root
for d in dist_scripts:
- print('Processing dist script %s' % d)
- ddir, dname = os.path.split(d)
- ep = ExternalProgram(dname,
- search_dir=os.path.join(dist_root, ddir),
- silent=True)
- if not ep.found():
- sys.exit('Script %s could not be found in dist directory' % d)
- pc = subprocess.run(ep.command, env=env)
- if pc.returncode != 0:
- sys.exit('Dist script errored out')
+ script = d['exe']
+ args = d['args']
+ name = ' '.join(script + args)
+ print('Running custom dist script {!r}'.format(name))
+ try:
+ rc = subprocess.call(script + args, env=env)
+ if rc != 0:
+ sys.exit('Dist script errored out')
+ except OSError:
+ print('Failed to run dist script {!r}'.format(name))
+ sys.exit(1)
def git_have_dirty_index(src_root):