Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devbot/environ.py
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2012-11-14 16:50:21 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2012-11-14 16:50:21 (GMT)
commit9d88d6a8c38e1a35f5749d06214f92513414ed67 (patch)
tree32a7aeb593bb30fb2d9cd7df03438118576448ad /devbot/environ.py
parent66dc2e7ea7011ae63e1d404ebffeaa7782a7f2f5 (diff)
Refactor dnbuild into devbot
Diffstat (limited to 'devbot/environ.py')
-rw-r--r--devbot/environ.py85
1 files changed, 85 insertions, 0 deletions
diff --git a/devbot/environ.py b/devbot/environ.py
new file mode 100644
index 0000000..d18370d
--- /dev/null
+++ b/devbot/environ.py
@@ -0,0 +1,85 @@
+from distutils import sysconfig
+import os
+
+from devbot import config
+
+def setup():
+ _setup_dirs()
+ _setup_gconf()
+ _setup_variables()
+
+def _add_path(name, path):
+ if name not in os.environ:
+ os.environ[name] = path
+ return
+
+ splitted = os.environ[name].split(":")
+ splitted.append(path)
+
+ os.environ[name] = ":".join(splitted)
+
+def _setup_variables():
+ _add_path("LD_LIBRARY_PATH", config.lib_dir)
+ _add_path("PATH", config.bin_dir)
+
+ _add_path("GIO_EXTRA_MODULES",
+ os.path.join(config.system_lib_dir, "gio", "modules"))
+ _add_path("GI_TYPELIB_PATH",
+ os.path.join(config.lib_dir, "girepository-1.0"))
+ _add_path("GI_TYPELIB_PATH",
+ os.path.join(config.system_lib_dir, "girepository-1.0"))
+ _add_path("PKG_CONFIG_PATH",
+ os.path.join(config.lib_dir, "pkgconfig"))
+ _add_path("GST_PLUGIN_PATH",
+ os.path.join(config.lib_dir , "gstreamer-1.0"))
+ _add_path("GST_REGISTRY",
+ os.path.join(config.devbot_dir, "gstreamer.registry"))
+ _add_path("PYTHONPATH",
+ sysconfig.get_python_lib(prefix=config.install_dir))
+ _add_path("PYTHONPATH",
+ sysconfig.get_python_lib(prefix=config.install_dir,
+ plat_specific=True))
+
+ _add_path("XDG_DATA_DIRS", "/usr/share")
+ _add_path("XDG_DATA_DIRS", config.share_dir)
+
+ _add_path("XDG_CONFIG_DIRS", "/etc")
+ _add_path("XDG_CONFIG_DIRS", config.etc_dir)
+
+ os.environ["GTK_DATA_PREFIX"] = config.install_dir
+ os.environ["GTK_PATH"] = os.path.join(config.lib_dir, "gtk-2.0")
+
+def _setup_gconf():
+ gconf_dir = os.path.join(config.etc_dir, "gconf")
+ gconf_pathdir = os.path.join(gconf_dir, "2")
+
+ if not os.path.exists(gconf_pathdir):
+ os.makedirs(gconf_pathdir)
+
+ gconf_path = os.path.join(gconf_pathdir, "path.jhbuild")
+ if not os.path.exists(gconf_path):
+ input = open("/etc/gconf/2/path")
+ output = open(gconf_path, "w")
+
+ for line in input.readlines():
+ if "/etc/gconf" in line:
+ output.write(line.replace("/etc/gconf", gconf_dir))
+ output.write(line)
+
+ output.close()
+ input.close()
+
+ os.environ["GCONF_DEFAULT_SOURCE_PATH"] = gconf_path
+
+ os.environ["GCONF_SCHEMA_INSTALL_SOURCE"] = \
+ "xml:merged:" + os.path.join(gconf_dir, "gconf.xml.defaults")
+
+def _setup_dirs():
+ for dir in [config.source_dir,
+ config.install_dir,
+ config.build_dir,
+ config.share_dir,
+ config.devbot_dir,
+ os.path.join(config.share_dir, "aclocal")]:
+ if not os.path.exists(dir):
+ os.mkdir(dir)