I'm having issues with portage installing packages with --quickpkg-direct=y, when the package in question was never built with --buildpkg=y. The symptoms are as follows: # emerge --root /tmp/root --quickpkg-direct=y acct-group/portage * IMPORTANT: 5 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. These are the packages that would be merged, in order: Calculating dependencies ... done! Dependency resolution took 1.11 s (backtrack: 0/20). [binary N ] acct-group/portage-0-r2-1 to /tmp/root/ Would you like to merge these packages? [Yes/No] >>> Running pre-merge checks for acct-group/portage-0-r2 Traceback (most recent call last): File "/usr/lib/python-exec/python3.12/emerge", line 57, in main retval = emerge_main() ^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/_emerge/main.py", line 1309, in emerge_main return run_action(emerge_config) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/_emerge/actions.py", line 4041, in run_action retval = action_build(emerge_config, spinner=spinner) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/_emerge/actions.py", line 688, in action_build retval = mergetask.merge() ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/_emerge/Scheduler.py", line 1177, in merge rval = self._merge() ^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/_emerge/Scheduler.py", line 1623, in _merge rval = self._sched_iface.run_until_complete( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/portage/util/_eventloop/asyncio_event_loop.py", line 164, in _run_until_complete return self._loop.run_until_complete(future) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/asyncio/base_events.py", line 686, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/_emerge/Scheduler.py", line 972, in _run_pkg_pretend filename = bintree.getname(x.cpv) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/portage/dbapi/bintree.py", line 2243, in getname return self.getname_build_id( ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/portage/dbapi/bintree.py", line 2272, in getname_build_id elif instance_key in self._remotepkgs: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: argument of type 'NoneType' is not iterable Let me know if more information needs to be provided, I'm not sure how to debug this.
Actually, I think I figured it out. The following sequence works: # emerge -1 --buildpkg=n --usepkg=n acct-group/portage # emerge --root /tmp/root --quickpkg-direct=y acct-group/portage The following sequence doesn't work: # emerge -1 --buildpkg=y --usepkg=n acct-group/portage # emerge --root /tmp/root --quickpkg-direct=y acct-group/portage Removing the BUILD_ID file from the package database also works: # rm -v /var/db/pkg/acct-group/portage-*/BUILD_ID # emerge --root /tmp/root --quickpkg-direct=y acct-group/portage
This is fallout from the change related to bug 934784.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=04bb5cc67c8c8d71ff66367a2b4becd0b20a5d8a commit 04bb5cc67c8c8d71ff66367a2b4becd0b20a5d8a Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2025-01-24 21:23:13 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2025-01-24 21:25:25 +0000 getname: Handle None remotepkgs Bug: https://bugs.gentoo.org/948643 Signed-off-by: Zac Medico <zmedico@gentoo.org> lib/portage/dbapi/bintree.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)