aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harder <radhermit@gmail.com>2015-06-27 17:10:31 -0400
committerTim Harder <radhermit@gmail.com>2015-06-27 17:18:04 -0400
commit305885055502138b082cc261627699cf8abd34d1 (patch)
tree42a150a186985c247073ccfe5cbb605c85f93a08
parentportage_conf: throw error on missing repos.conf settings (diff)
downloadpkgcore-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.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/pkgcore/ebuild/portage_conf.py b/pkgcore/ebuild/portage_conf.py
index 0092039ba..14285eb66 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: