Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 948643 - sys-apps/portage-3.0.66.1-r1 --quickpkg-direct=y TypeError: argument of type 'NoneType' is not iterable
Summary: sys-apps/portage-3.0.66.1-r1 --quickpkg-direct=y TypeError: argument of type ...
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Binary packages support (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Portage team
URL:
Whiteboard:
Keywords: REGRESSION
Depends on: 948644
Blocks: 934784
  Show dependency tree
 
Reported: 2025-01-24 08:29 UTC by Esteve Varela Colominas
Modified: 2025-01-24 21:36 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Esteve Varela Colominas 2025-01-24 08:29:43 UTC
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.
Comment 1 Esteve Varela Colominas 2025-01-24 08:38:23 UTC
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
Comment 2 Zac Medico gentoo-dev 2025-01-24 21:20:19 UTC
This is fallout from the change related to bug 934784.
Comment 3 Larry the Git Cow gentoo-dev 2025-01-24 21:29:58 UTC
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(-)