Discussion:
[gentoo-portage-dev] [PATCH] RepoConfig: fix make.conf PORTDIR override (bug 661276)
Zac Medico
2018-07-15 21:09:24 UTC
Permalink
Pass the main-repo name from repos.conf as the repository name
for the PORTDIR RepoConfig constructor, so that it can override
the main repo location even if the profiles/repo_name file does
not exist yet (like in a stage3 tarball).

Bug: https://bugs.gentoo.org/661276
Reported-by: Jorge Manuel B. S. Vicetto <***@gentoo.org>
---
pym/portage/repository/config.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py
index bf2b6dd03..e45e67dec 100644
--- a/pym/portage/repository/config.py
+++ b/pym/portage/repository/config.py
@@ -524,7 +524,8 @@ class RepoConfigLoader(object):
(base_priority == 0 and ov is portdir):
repo_opts = default_repo_opts.copy()
repo_opts['location'] = ov
- repo = RepoConfig(None, repo_opts, local_config=local_config)
+ name = prepos['DEFAULT'].main_repo if ov is portdir else None
+ repo = RepoConfig(name, repo_opts, local_config=local_config)
# repos_conf_opts contains options from repos.conf
repos_conf_opts = repos_conf.get(repo.name)
if repos_conf_opts is not None:
--
2.13.6
Brian Dolbec
2018-07-31 15:40:57 UTC
Permalink
On Sun, 15 Jul 2018 14:09:24 -0700
Post by Zac Medico
Pass the main-repo name from repos.conf as the repository name
for the PORTDIR RepoConfig constructor, so that it can override
the main repo location even if the profiles/repo_name file does
not exist yet (like in a stage3 tarball).
Bug: https://bugs.gentoo.org/661276
---
pym/portage/repository/config.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/pym/portage/repository/config.py
b/pym/portage/repository/config.py index bf2b6dd03..e45e67dec 100644
--- a/pym/portage/repository/config.py
+++ b/pym/portage/repository/config.py
(base_priority == 0 and ov
is portdir): repo_opts = default_repo_opts.copy()
repo_opts['location'] = ov
- repo = RepoConfig(None,
repo_opts, local_config=local_config)
+ name =
prepos['DEFAULT'].main_repo if ov is portdir else None
+ repo = RepoConfig(name,
repo_opts, local_config=local_config) # repos_conf_opts contains
options from repos.conf repos_conf_opts = repos_conf.get(repo.name)
if repos_conf_opts is not
looks good
Zac Medico
2018-07-31 16:42:07 UTC
Permalink
Post by Brian Dolbec
On Sun, 15 Jul 2018 14:09:24 -0700
Post by Zac Medico
Pass the main-repo name from repos.conf as the repository name
for the PORTDIR RepoConfig constructor, so that it can override
the main repo location even if the profiles/repo_name file does
not exist yet (like in a stage3 tarball).
Bug: https://bugs.gentoo.org/661276
---
pym/portage/repository/config.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/pym/portage/repository/config.py
b/pym/portage/repository/config.py index bf2b6dd03..e45e67dec 100644
--- a/pym/portage/repository/config.py
+++ b/pym/portage/repository/config.py
(base_priority == 0 and ov
is portdir): repo_opts = default_repo_opts.copy()
repo_opts['location'] = ov
- repo = RepoConfig(None,
repo_opts, local_config=local_config)
+ name =
prepos['DEFAULT'].main_repo if ov is portdir else None
+ repo = RepoConfig(name,
repo_opts, local_config=local_config) # repos_conf_opts contains
options from repos.conf repos_conf_opts = repos_conf.get(repo.name)
if repos_conf_opts is not
looks good
Thanks, merged:

https://gitweb.gentoo.org/proj/portage.git/commit/?id=01f49cb12c66026e5b225912f9759b50ff2e2289
--
Thanks,
Zac
Loading...