From e8d91ad3692c3e8941f86d5d2fe51eb572f20095 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Wed, 17 May 2017 19:29:08 +0100 Subject: Top-level wrapper script to do the environment setup. This sets up $WIX and $LD_PRELOAD before running a Wix .NET executable via mono, so the user doesn't have to have pre-prepared those variables (and, in particular, libpreload doesn't uncontrolledly affect loads of other stuff too). --- wrapper.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 wrapper.py diff --git a/wrapper.py b/wrapper.py new file mode 100755 index 0000000..63f8bde --- /dev/null +++ b/wrapper.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python + +import sys +import os + +def addtopath(val, varname): + newvar = val + if varname in os.environ: + if val in os.environ[varname].split(":"): + return # already there + newvar += ":" + os.environ[varname] + os.environ[varname] = newvar + +scriptname = os.path.basename(sys.argv[0]) +wixdir = os.path.dirname(os.path.abspath(__file__)) + +addtopath(os.path.join(wixdir, "libpreload.so"), "LD_PRELOAD") + +os.environ["WIX"] = wixdir + +dotnet_exe = os.path.join(wixdir, scriptname + ".exe") +os.execvp("/usr/bin/mono", ["mono", dotnet_exe] + sys.argv[1:]) -- cgit v1.2.3-55-g6feb