diff options
author | 2015-06-27 17:10:31 -0400 | |
---|---|---|
committer | 2015-06-27 17:18:04 -0400 | |
commit | 305885055502138b082cc261627699cf8abd34d1 (patch) | |
tree | 42a150a186985c247073ccfe5cbb605c85f93a08 | |
parent | portage_conf: throw error on missing repos.conf settings (diff) | |
download | pkgcore-305885055502138b082cc261627699cf8abd34d1.tar.gz pkgcore-305885055502138b082cc261627699cf8abd34d1.tar.bz2 pkgcore-305885055502138b082cc261627699cf8abd34d1.zip |
portage_conf: main-repo setting must be valid or the gentoo repo must exist
We're not quite at a fully unpinned repos setup without any underlying
default so either the default must be set or the gentoo repo must be
configured in repos.conf.
-rw-r--r-- | pkgcore/ebuild/portage_conf.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pkgcore/ebuild/portage_conf.py b/pkgcore/ebuild/portage_conf.py index 0092039b..14285eb6 100644 --- a/pkgcore/ebuild/portage_conf.py +++ b/pkgcore/ebuild/portage_conf.py @@ -337,8 +337,15 @@ def load_repos_conf(path): raise errors.ConfigurationError( "No repos are defined, please fix your repos.conf settings") - # the default repo is gentoo if unset + # the default repo is gentoo if unset and gentoo exists default_repo = defaults.get('main-repo', 'gentoo') + if default_repo not in repos: + raise errors.ConfigurationError( + "The main repo is undefined or invalid, " + "please fix your repos.conf settings") + + if 'main-repo' not in defaults: + defaults['main-repo'] = default_repo # the default repo has a low priority if unset or zero if repos[default_repo]['priority'] == 0: |