diff options
author | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-11-14 16:50:21 (GMT) |
---|---|---|
committer | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-11-14 16:50:21 (GMT) |
commit | 9d88d6a8c38e1a35f5749d06214f92513414ed67 (patch) | |
tree | 32a7aeb593bb30fb2d9cd7df03438118576448ad /devbot/environ.py | |
parent | 66dc2e7ea7011ae63e1d404ebffeaa7782a7f2f5 (diff) |
Refactor dnbuild into devbot
Diffstat (limited to 'devbot/environ.py')
-rw-r--r-- | devbot/environ.py | 85 |
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) |