Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 286118 - sys-apps/portage-2.2_rc41: TypeError("unsupported operand type(s) for +: 'Atom' and 'str'") in portage.dbapi.vartree.vardbapi.move_ent()
Summary: sys-apps/portage-2.2_rc41: TypeError("unsupported operand type(s) for +: 'Ato...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: Highest major (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS, REGRESSION
: 286957 288146 288308 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-09-23 17:11 UTC by Dan Goodliffe
Modified: 2009-10-09 17:02 UTC (History)
3 users (show)

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


Attachments
fix the TypeError (typeerror.patch,1.93 KB, patch)
2009-09-23 20:06 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Goodliffe 2009-09-23 17:11:16 UTC
Any emerge commands fail with the following output

# emerge anything
Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = emerge_main()
  File "/usr/lib/portage/pym/_emerge/main.py", line 1049, in emerge_main
    if portage._global_updates(trees, mtimedb["updates"]):
  File "/usr/lib/portage/pym/portage/__init__.py", line 8656, in _global_updates
    moves = vardb.move_ent(update_cmd)
  File "/usr/lib/portage/pym/portage/dbapi/vartree.py", line 885, in move_ent
    mynewcpv = newcp + "-" + mycpsplit[2]
TypeError: unsupported operand type(s) for +: 'Atom' and 'str'

That is, any that I've tried, including --pretend and --sync and --info... so I can't post those details unless there's another way to get to them.
Comment 1 Dan Goodliffe 2009-09-23 17:17:41 UTC
Ahhh I missed a key clue.
akira portage # emerge -p portage                                               


Performing Global Updates: /usr/portage/profiles/updates/3Q-2009
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  #='/var/db update'  @='/var/db move'
  s='/var/db SLOT move'  %='binary move'  S='binary SLOT move'
  p='update /etc/portage/package.*'
................................................
Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = emerge_main()
<snip>

If I move 3Q-2009 aside... all appears well, but that will presumably bork everything later.
Comment 2 Zac Medico gentoo-dev 2009-09-23 20:06:11 UTC
Created attachment 205057 [details, diff]
fix the TypeError

If this is saved as /tmp/typeerror.patch, then it can be applied as follows:

 cd /usr/lib/portage
 patch -p0 < /tmp/typeerror.patch
Comment 3 Dan Goodliffe 2009-09-23 20:55:01 UTC
patch applied successfully (with some offsets)
emerge --sync completed successfully
Global updates from 3Q-2009 applied
And all recent updates built successfully
From what I can tell, the patch works as planned, but I would have to assume the global updates were applied correctly.
Comment 4 Zac Medico gentoo-dev 2009-09-26 03:55:04 UTC
This is fixed in 2.2_rc42.
Comment 5 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-09-29 17:12:02 UTC
*** Bug 286957 has been marked as a duplicate of this bug. ***
Comment 6 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-10-08 11:00:02 UTC
*** Bug 288146 has been marked as a duplicate of this bug. ***
Comment 7 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-10-09 17:02:22 UTC
*** Bug 288308 has been marked as a duplicate of this bug. ***