diff options
Diffstat (limited to 'paludis/environments/paludis/paludis_config.cc')
-rw-r--r-- | paludis/environments/paludis/paludis_config.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/paludis/environments/paludis/paludis_config.cc b/paludis/environments/paludis/paludis_config.cc index 1538c2f84..4013ee644 100644 --- a/paludis/environments/paludis/paludis_config.cc +++ b/paludis/environments/paludis/paludis_config.cc @@ -169,6 +169,7 @@ namespace paludis std::string paludis_command; std::string root; + std::string system_root; std::string config_dir; mutable Mutex distribution_mutex; mutable std::string distribution; @@ -177,6 +178,7 @@ namespace paludis Repos repos; std::function<std::string (const std::string &)> predefined_conf_vars_func; std::string root_prefix; + std::string system_root_prefix; std::shared_ptr<KeywordsConf> keywords_conf; std::shared_ptr<UseConf> use_conf; @@ -365,7 +367,6 @@ namespace paludis << (FSPath(config_dir) / "general.conf") << ". Any attempted updates to world will not be saved."; world = std::make_shared<World>(env, world_file); - has_general_conf = true; } @@ -463,6 +464,7 @@ PaludisConfig::PaludisConfig(PaludisEnvironment * const e, const std::string & s if (specpath) { _imp->root_prefix = specpath->get("root"); + _imp->system_root_prefix = specpath->get("system_root"); local_config_suffix = specpath->get("config-suffix"); if (! local_config_suffix.empty()) @@ -479,6 +481,7 @@ PaludisConfig::PaludisConfig(PaludisEnvironment * const e, const std::string & s } _imp->root = _imp->root_prefix.empty() ? "/" : _imp->root_prefix; + _imp->system_root = _imp->system_root_prefix.empty() ? "/" : _imp->system_root_prefix; _imp->config_dir = stringify(local_config_dir); const std::shared_ptr<const PaludisDistribution> dist( @@ -916,6 +919,12 @@ PaludisConfig::root() const } std::string +PaludisConfig::system_root() const +{ + return _imp->system_root; +} + +std::string PaludisConfig::config_dir() const { return _imp->config_dir; |