https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: app-portage/repoman-3.0.3-r1 fails tests. Discovered on: amd64 (internal ref: ci)
Created attachment 699336 [details] build.log build log and emerge --info
(In reply to Agostino Sarubbo from comment #1) > Created attachment 699336 [details] > build.log > > Traceback (most recent call last): > File "/usr/lib/pypy3.7/site-packages/portage/util/_async/AsyncFunction.py", line 39, in _run > result = self.target(*(self.args or []), **(self.kwargs or {})) > File "/var/tmp/portage/app-portage/repoman-3.0.3-r1/work/repoman-3.0.3-pypy3/lib/repoman/tests/simple/test_simple.py", line 68, in _subprocess > repoman_vars = _repoman_init(["repoman"] + args) > File "/var/tmp/portage/app-portage/repoman-3.0.3-r1/work/repoman-3.0.3-pypy3/lib/repoman/main.py", line 98, in _repoman_init > repo_settings, vcs_settings, scanner, qadata = _create_scanner(options, can_force, config_root, repoman_settings) > File "/var/tmp/portage/app-portage/repoman-3.0.3-r1/work/repoman-3.0.3-pypy3/lib/repoman/main.py", line 118, in _create_scanner > repoman_settings, vcs_settings, options, qadata) > File "/var/tmp/portage/app-portage/repoman-3.0.3-r1/work/repoman-3.0.3-pypy3/lib/repoman/repos.py", line 114, in __init__ > self.repoman_settings["PORTAGE_GPG_KEY"]) > File "/usr/lib/pypy3.7/site-packages/portage/package/ebuild/config.py", line 2633, in __getitem__ > return self._getitem(key) > File "/usr/lib/pypy3.7/site-packages/portage/package/ebuild/config.py", line 2694, in _getitem > raise KeyError(mykey) > KeyError: 'PORTAGE_GPG_KEY' It looks like FEATURES="sign" somehow leaked into the test environment.
Running tests in a venv under wsl on Ubuntu, I've found that I need to make these variables lazy: > lib/portage/tests/__init__.py: cnf_path = os.path.join(PORTAGE_BASE_PATH, 'cnf') > lib/portage/tests/__init__.py: cnf_etc_path = cnf_path > lib/portage/tests/__init__.py: cnf_bindir = PORTAGE_BIN_PATH > lib/portage/tests/__init__.py: cnf_sbindir = cnf_bindir > lib/portage/tests/__init__.py: cnf_path = os.path.join(EPREFIX or '/', GLOBAL_CONFIG_PATH) > lib/portage/tests/__init__.py: cnf_etc_path = os.path.join(EPREFIX or '/', 'etc') > lib/portage/tests/__init__.py: cnf_eprefix = EPREFIX > lib/portage/tests/__init__.py: cnf_bindir = os.path.join(EPREFIX or '/', 'usr', 'bin') > lib/portage/tests/__init__.py: cnf_sbindir = os.path.join(EPREFIX or '/', 'usr', 'sbin') > lib/portage/tests/__init__.py: self.cnf_path = cnf_path > lib/portage/tests/__init__.py: self.cnf_etc_path = cnf_etc_path > lib/portage/tests/resolver/ResolverPlayground.py: cnf_path_repoman = None > repoman/lib/repoman/tests/__init__.py: cnf_path = os.path.join(REPOMAN_BASE_PATH, 'cnf') > repoman/lib/repoman/tests/__init__.py: cnf_path_repoman = cnf_path > repoman/lib/repoman/tests/__init__.py: cnf_etc_path = cnf_path > repoman/lib/repoman/tests/__init__.py: cnf_bindir = os.path.join(REPOMAN_BASE_PATH, 'bin') > repoman/lib/repoman/tests/__init__.py: cnf_sbindir = cnf_bindir > repoman/lib/repoman/tests/__init__.py: cnf_path = os.path.join(EPREFIX or '/', GLOBAL_CONFIG_PATH) > repoman/lib/repoman/tests/__init__.py: cnf_path_repoman = os.path.join(EPREFIX or '/', > repoman/lib/repoman/tests/__init__.py: cnf_etc_path = os.path.join(EPREFIX or '/', 'etc') > repoman/lib/repoman/tests/__init__.py: cnf_eprefix = EPREFIX > repoman/lib/repoman/tests/__init__.py: cnf_bindir = os.path.join(EPREFIX or '/', 'usr', 'bin') > repoman/lib/repoman/tests/__init__.py: cnf_sbindir = os.path.join(EPREFIX or '/', 'usr', 'sbin') > repoman/lib/repoman/tests/__init__.py: self.cnf_path = cnf_path > repoman/lib/repoman/tests/__init__.py: self.cnf_etc_path = cnf_etc_path
repoman support has been removed per bug 835013. Please file a new bug (or, I suppose, reopen this one) if you feel this check is still applicable to pkgcheck and doesn't already exist.