mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-04 07:26:33 +00:00
2d6c667c9a
Development mode has been determined by whether the launcher is in git repo or not. This could be wrong when the launcher is installed to subdirectory of other project's git repo, such as jhbuild. It is normal to install compiled output to subdirectory of your jhbuild. Changed logic gets the first commit hash of current git repo and compares it with gst-devtools' the first commit hash. https://bugzilla.gnome.org/show_bug.cgi?id=744781
56 lines
1.9 KiB
Python
56 lines
1.9 KiB
Python
#!/usr/bin/env python2
|
|
#
|
|
# Copyright (c) 2014,Thibault Saunier <thibault.saunier@collabora.com>
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this program; if not, write to the
|
|
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
|
# Boston, MA 02110-1301, USA.
|
|
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
|
|
LIBDIR = '@LIBDIR@'
|
|
GIT_FIRST_HASH = 'da962d096af9460502843e41b7d25fdece7ff1c2'
|
|
|
|
|
|
def _get_git_first_hash(path):
|
|
try:
|
|
return subprocess.check_output(['git', '-C', path, 'rev-list', '--max-parents=0', 'HEAD']).rstrip('\n')
|
|
except subprocess.CalledProcessError:
|
|
return ''
|
|
|
|
|
|
def _in_devel():
|
|
root_dir = os.path.abspath(os.path.dirname(os.path.join(os.path.dirname(os.path.abspath(__file__)),
|
|
"..", "..", "..")))
|
|
return _get_git_first_hash(root_dir) == GIT_FIRST_HASH
|
|
|
|
|
|
def _add_gst_launcher_path():
|
|
if not _in_devel():
|
|
root = os.path.join(LIBDIR, 'gst-validate-launcher', 'python')
|
|
else:
|
|
print "Running with development path"
|
|
dir_ = os.path.dirname(os.path.abspath(__file__))
|
|
root = os.path.split(dir_)[0]
|
|
|
|
sys.path.insert(0, root)
|
|
return os.path.join(root, "launcher")
|
|
|
|
|
|
if "__main__" == __name__:
|
|
libsdir = _add_gst_launcher_path()
|
|
from launcher.main import main
|
|
exit(main(libsdir))
|