validate:launcher: Avoid depending on PyGObject
authorThibault Saunier <tsaunier@gnome.org>
Sat, 28 Mar 2015 22:29:56 +0000 (23:29 +0100)
committerThibault Saunier <tsaunier@gnome.org>
Sat, 28 Mar 2015 22:35:07 +0000 (23:35 +0100)
Summary:
And rely on our knowledge of the configuration to figure out where the
suppression file has been installed

Reviewers: gdesmott

Differential Revision: http://phabricator.freedesktop.org/D61

validate/configure.ac
validate/launcher/baseclasses.py
validate/launcher/config.py.in [new file with mode: 0644]

index 0d2f7ad..1ddd65a 100644 (file)
@@ -275,6 +275,8 @@ AM_PATH_PYTHON(2.7.0)
 AS_AC_EXPAND(LIBDIR, $libdir)
 AC_MSG_NOTICE(Storing library files in $LIBDIR)
 AC_CONFIG_FILES([tools/gst-validate-launcher], [chmod +x tools/gst-validate-launcher])
+AS_AC_EXPAND(DATADIR, $datadir)
+AC_CONFIG_FILES([launcher/config.py])
 
 dnl this really should only contain flags, not libs - they get added before
 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
index 44c8af5..5d6efcf 100644 (file)
@@ -25,6 +25,7 @@ import re
 import time
 import utils
 import signal
+import config
 import urlparse
 import subprocess
 import threading
@@ -34,7 +35,6 @@ import ConfigParser
 import loggable
 from loggable import Loggable
 import xml.etree.cElementTree as ET
-from gi.repository import GLib
 
 from utils import mkdir, Result, Colors, printc, DEFAULT_TIMEOUT, GST_SECOND, \
     Protocols
@@ -584,10 +584,11 @@ class GstValidateTest(Test):
             return p
 
         # Look in system data dirs
-        for datadir in GLib.get_system_data_dirs():
-            p = os.path.join(datadir, 'gstreamer-1.0', 'validate', 'gst.supp')
-            if os.path.exists(p):
-                return p
+        p = os.path.join(config.DATADIR, 'gstreamer-1.0', 'validate', 'gst.supp')
+        if os.path.exists(p):
+            return p
+
+        self.error("Could not find any gst.sup file")
 
         return None
 
diff --git a/validate/launcher/config.py.in b/validate/launcher/config.py.in
new file mode 100644 (file)
index 0000000..5773522
--- /dev/null
@@ -0,0 +1,21 @@
+#!/usr/bin/env python2
+#
+# Copyright (c) 2015,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.
+
+LIBDIR = '@LIBDIR@'
+DATADIR = '@DATADIR@'