From c786776f270581c2853abffd20d0debc43ef1544 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Mon, 15 Apr 2019 15:32:36 +0530 Subject: [PATCH] gst-uninstalled: De-dedup before prepending to an env var Helps us avoid breaching the maximum length limit for env var values on Windows. --- gst-uninstalled.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gst-uninstalled.py b/gst-uninstalled.py index 982988a010..03b9416f96 100755 --- a/gst-uninstalled.py +++ b/gst-uninstalled.py @@ -44,7 +44,12 @@ def stringify(o): raise AssertionError('Object {!r} must be a string or a list'.format(o)) def prepend_env_var(env, var, value): - env[var] = os.pathsep + value + os.pathsep + env.get(var, "") + env_val = env.get(var, '') + val = os.pathsep + value + os.pathsep + # Don't add the same value twice + if val in env_val or env_val.startswith(value + os.pathsep): + return + env[var] = val + env_val env[var] = env[var].replace(os.pathsep + os.pathsep, os.pathsep).strip(os.pathsep)