diff options
author | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-12-15 10:00:41 (GMT) |
---|---|---|
committer | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-12-15 10:00:41 (GMT) |
commit | e05bf4079ee41ec5a00b985bb2a45d4b2c32a2d5 (patch) | |
tree | 99a44d84d17a904ea5aef6049f6ee8f47af124f6 /devbot | |
parent | 6d24aa66ebb5231ead47bf5f0924908b76acd622 (diff) |
Separate build and runtime state
Otherwise it becomes problematic to support multiple profiles
Diffstat (limited to 'devbot')
-rw-r--r-- | devbot/config.py | 22 | ||||
-rw-r--r-- | devbot/state.py | 2 |
2 files changed, 16 insertions, 8 deletions
diff --git a/devbot/config.py b/devbot/config.py index 31abe3d..bb131b8 100644 --- a/devbot/config.py +++ b/devbot/config.py @@ -26,6 +26,7 @@ system_lib_dirs = None cache_home_dir = None config_home_dir = None data_home_dir = None +build_state_dir = None _source_dir = None _build_dir = None @@ -100,28 +101,35 @@ def setup(**kwargs): global _build_dir _build_dir = kwargs["build_dir"] - _setup_home_dir(kwargs["home_dir"]) + _setup_state_dir(kwargs["state_dir"]) _setup_install_dir(kwargs["install_dir"], kwargs["relocatable"]) -def _setup_home_dir(dir): - _ensure_dir(dir) +def _setup_state_dir(state_dir): + _ensure_dir(state_dir) + + global build_state_dir + build_state_dir = os.path.join(state_dir, "build") + _ensure_dir(build_state_dir) + + home_dir = os.path.join(state_dir, "home") + _ensure_dir(home_dir) global cache_home_dir - cache_home_dir = os.path.join(dir, "cache") + cache_home_dir = os.path.join(home_dir, "cache") _ensure_dir(cache_home_dir) global config_home_dir - config_home_dir = os.path.join(dir, "config") + config_home_dir = os.path.join(home_dir, "config") _ensure_dir(config_home_dir) global data_home_dir - data_home_dir = os.path.join(dir, "data") + data_home_dir = os.path.join(home_dir, "data") _ensure_dir(data_home_dir) def _setup_prefix_dir(dir, relocatable): global prefix_dir - real_prefix_path = os.path.join(config_home_dir, "real_prefix") + real_prefix_path = os.path.join(build_state_dir, "real_prefix") if os.path.exists(real_prefix_path): with open(real_prefix_path) as f: diff --git a/devbot/state.py b/devbot/state.py index 03d249e..258c594 100644 --- a/devbot/state.py +++ b/devbot/state.py @@ -6,7 +6,7 @@ from devbot import config _state = None def _get_state_path(): - return os.path.join(config.data_home_dir, "state.json") + return os.path.join(config.build_state_dir, "state.json") def _get_state(): global _state |