From 263c917c6a281c73f1ee7b853887e47ca93b4845 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Fri, 26 Sep 2014 18:17:10 +0300 Subject: [PATCH] Install script fix for Windows. --- meson_install.py | 9 +++++++++ test cases/common/60 install script/myinstall.sh | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/meson_install.py b/meson_install.py index c353949f5..f267c5dbb 100755 --- a/meson_install.py +++ b/meson_install.py @@ -106,6 +106,15 @@ def run_install_script(d): } script = d.install_script print('Running custom install script %s' % script) + suffix = os.path.splitext(script)[1].lower() + if platform.system().lower() == 'windows' and suffix != 'bat': + first_line = open(script).readline().strip() + if first_line.startswith('#!'): + commands = first_line[2:].split('#')[0].strip().split() + commands[0] = shutil.which(commands[0].split('/')[-1]) + if commands[0] is None: + raise RuntimeError("Don't know how to run script %s." % script) + script = commands + [script] child_env = os.environ.copy() child_env.update(env) subprocess.check_call(script, env=child_env) diff --git a/test cases/common/60 install script/myinstall.sh b/test cases/common/60 install script/myinstall.sh index 2face9986..725f639fd 100755 --- a/test cases/common/60 install script/myinstall.sh +++ b/test cases/common/60 install script/myinstall.sh @@ -1,5 +1,11 @@ #!/bin/sh +echo Starting custom installation step + +# These commands fail on Windows, but we don't really care. + mkdir "${DESTDIR}/${MESON_INSTALL_PREFIX}/diiba" mkdir "${DESTDIR}/${MESON_INSTALL_PREFIX}/diiba/daaba" touch "${DESTDIR}/${MESON_INSTALL_PREFIX}/diiba/daaba/file.dat" + +echo Finishing custom install step