gst-env: Fix shell name check
authorNirbheek Chauhan <nirbheek@centricular.com>
Wed, 18 Dec 2019 21:15:44 +0000 (02:45 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Wed, 18 Dec 2019 21:15:44 +0000 (02:45 +0530)
We should use `endswith`, not `in`. Else we'll match paths like:

`/home/arbash/.local/bin/fish` as a bash shell, not a fish shell.

gst-env.py

index 56d90dd..2124c9c 100755 (executable)
@@ -374,7 +374,7 @@ if __name__ == "__main__":
                 args += ['/k', 'prompt [gst-{}] $P$G'.format(gst_version)]
         else:
             args = [os.environ.get("SHELL", os.path.realpath("/bin/sh"))]
-        if "bash" in args[0] and not strtobool(os.environ.get("GST_BUILD_DISABLE_PS1_OVERRIDE", r"FALSE")):
+        if args[0].endswith('bash') and not strtobool(os.environ.get("GST_BUILD_DISABLE_PS1_OVERRIDE", r"FALSE")):
             tmprc = tempfile.NamedTemporaryFile(mode='w')
             bashrc = os.path.expanduser('~/.bashrc')
             if os.path.exists(bashrc):
@@ -385,7 +385,7 @@ if __name__ == "__main__":
             # Let the GC remove the tmp file
             args.append("--rcfile")
             args.append(tmprc.name)
-        if 'fish' in args[0]:
+        if args[0].endswith('fish'):
             # Ignore SIGINT while using fish as the shell to make it behave
             # like other shells such as bash and zsh.
             # See: https://gitlab.freedesktop.org/gstreamer/gst-build/issues/18