summaryrefslogtreecommitdiff
path: root/gst-env.py
diff options
context:
space:
mode:
authorJan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>2020-07-21 21:07:13 +0200
committerJan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>2020-07-21 21:13:56 +0200
commit9fa22f587361419bbbf6b22e914f5f40fc1343b2 (patch)
tree3d5a4117e696c423783ff867f74e2fce63fda114 /gst-env.py
parent64029b1461da186627c8a4e16f1d1fa65bb22ac9 (diff)
downloadgstreamer-9fa22f587361419bbbf6b22e914f5f40fc1343b2.tar.gz
gst-env.py: Sort path sets before using prepend_env_var
Python `set`s have a random ordering. To avoid creating a random environment, create sorted lists before iterating over them. Our Rust crates instruct cargo to rebuild if `PKG_CONFIG_PATH` changes, so this has been causing unnecessary rebuilds. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/177>
Diffstat (limited to 'gst-env.py')
-rwxr-xr-xgst-env.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/gst-env.py b/gst-env.py
index d95b2e9be2..519418eeb5 100755
--- a/gst-env.py
+++ b/gst-env.py
@@ -304,11 +304,12 @@ def get_subprocess_env(options, gst_version):
prepend_env_var(env, 'GST_PLUGIN_PATH', plugin_path,
options.sysroot)
- for p in paths:
+ # Sort to iterate in a consistent order (`set`s and `hash`es are randomized)
+ for p in sorted(paths):
prepend_env_var(env, 'PATH', p, options.sysroot)
if os.name != 'nt':
- for p in mono_paths:
+ for p in sorted(mono_paths):
prepend_env_var(env, "MONO_PATH", p, options.sysroot)
presets = set()
@@ -352,13 +353,13 @@ def get_subprocess_env(options, gst_version):
prepend_env_var(env, 'GST_OMX_CONFIG_DIR', os.path.dirname(path),
options.sysroot)
- for p in presets:
+ for p in sorted(presets):
prepend_env_var(env, 'GST_PRESET_PATH', p, options.sysroot)
- for t in encoding_targets:
+ for t in sorted(encoding_targets):
prepend_env_var(env, 'GST_ENCODING_TARGET_PATH', t, options.sysroot)
- for pkg_dir in pkg_dirs:
+ for pkg_dir in sorted(pkg_dirs):
prepend_env_var(env, "PKG_CONFIG_PATH", pkg_dir, options.sysroot)
# Check if meson has generated -uninstalled pkgconfig files
@@ -366,7 +367,7 @@ def get_subprocess_env(options, gst_version):
if meson_uninstalled.is_dir():
prepend_env_var(env, 'PKG_CONFIG_PATH', str(meson_uninstalled), options.sysroot)
- for python_dir in python_dirs:
+ for python_dir in sorted(python_dirs):
prepend_env_var(env, 'PYTHONPATH', python_dir, options.sysroot)
mesonpath = os.path.join(SCRIPTDIR, "meson")