commit: 84aa6c743581222a3f4a8a855dbcb77a2774c5b6 Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Sun Jul 3 06:08:13 2016 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Sun Jul 3 17:50:27 2016 +0000 URL: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=84aa6c74
eshowkw: migrate to PORTAGE_REPOSITORIES (bug 587856) Since PORTDIR_OVERLAY is deprecated, migrate to PORTAGE_REPOSITORIES. X-Gentoo-bug: 587856 X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=587856 pym/gentoolkit/eshowkw/__init__.py | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/pym/gentoolkit/eshowkw/__init__.py b/pym/gentoolkit/eshowkw/__init__.py index ded166d..42a3860 100644 --- a/pym/gentoolkit/eshowkw/__init__.py +++ b/pym/gentoolkit/eshowkw/__init__.py @@ -1,5 +1,5 @@ # vim:fileencoding=utf-8 -# Copyright 2010 Gentoo Foundation +# Copyright 2010-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 __package__ = 'gentoolkit.eshowkw' @@ -122,10 +122,32 @@ def main(argv, indirect = False): msg_err = 'No ebuilds at "%s"' % currdir raise SystemExit(msg_err) package= '%s/%s' % (os.path.basename(os.path.abspath('../')), os.path.basename(currdir)) - ourtree = os.path.abspath('../../') - overlays = '%s %s' % (ports['PORTDIR_OVERLAY'], ourtree) - mysettings = portc(local_config=False, env={'PORTDIR_OVERLAY': overlays}) - dbapi = portdbapi(mysettings=mysettings) + ourtree = os.path.realpath('../..') + ourstat = os.stat(ourtree) + ourstat = (ourstat.st_ino, ourstat.st_dev) + for repo in ports.repositories: + try: + repostat = os.stat(repo.location) + except OSError: + continue + if ourstat == (repostat.st_ino, repostat.st_dev): + dbapi = portdbapi(mysettings=portc(local_config=False)) + break + else: + repos = {} + for repo in ports.repositories: + repos[repo.name] = repo.location + + with open(os.path.join(ourtree, 'profiles', 'repo_name'), + 'rt') as f: + repo_name = f.readline().strip() + + repos[repo_name] = ourtree + repos = ''.join('[{}]\nlocation={}\n'.format(k, v) + for k, v in repos.items()) + mysettings = portc(local_config=False, + env={'PORTAGE_REPOSITORIES': repos}) + dbapi = portdbapi(mysettings=mysettings) # specify that we want just our nice tree we are in cwd dbapi.porttrees = [ourtree] process_display(package, keywords, dbapi)