Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 765847 - sys-apps/portage: old package remains in ${PKGDIR}/Packages following slotmove with FEATURES=binpkg-multi-instance
Summary: sys-apps/portage: old package remains in ${PKGDIR}/Packages following slotmov...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Binary packages support (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on: 766117
Blocks:
  Show dependency tree
 
Reported: 2021-01-18 02:31 UTC by Zac Medico
Modified: 2021-03-31 20:53 UTC (History)
0 users

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 Zac Medico gentoo-dev 2021-01-18 02:31:19 UTC
I applied moves just now and found that the old package remains in ${PKGDIR}/Packages following a slotmove with FEATURES=binpkg-multi-instance (this may be related to bug 571126). I have FEATURES=pkgdir-index-trusted enabled, which is helpful because it prevents emerge from performing automatic ${PKGDIR}/Packages reindexing which can easily destroy evidence of bugs related to the state of ${PKGDIR}/Packages.

I have --package-moves=n in my EMERGE_DEFAULT_OPTS so that I can choose when to apply packages moves. I ran an emerge command with --package-moves=y and it applied this one slotmove:

profiles/updates/4Q-2020:slotmove media-gfx/gimp 2 0

The emerge command completed successfully, producing output like this:

> Performing Global Updates                                                                                                                                                                     
> (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.*'
> 
> /var/db/repos/gentoo/profiles/updates/4Q-2020........                                                                                                                                    
> /var/db/repos/gentoo/profiles/updates/1Q-2021.                                                                                                                                           
> sS

Afterwards, emaint --check binhost reported this problem:

> # emaint --check binhost
> Emaint: check binhost      100% [============================================>]
> 
> 'media-gfx/gimp-2.10.18-r2' is not in the repository

The old entry for media-gfx/gimp/gimp-2.10.18-r2-1.xpak remains in ${PKGDIR}/Packages, and its content has not changed. There is a new correct entry  for media-gfx/gimp/gimp-2.10.18-r2-2.xpak.
Comment 1 Larry the Git Cow gentoo-dev 2021-01-18 09:20:36 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=7007dbcd1013829466498d7e0708c8b84fdd68bf

commit 7007dbcd1013829466498d7e0708c8b84fdd68bf
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2021-01-18 08:45:34 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2021-01-18 08:46:44 +0000

    bindbapi.aux_update: fix spurious package file renames
    
    Omit the filename argument for the binarytree.inject method
    in aux_update, since an in-place update is desired, and the
    filename argument causes the file to be renamed when
    binpkg-multi-instance is enabled.
    
    Fixes: 328dd4712f88 ("binpkg-multi-instance 3 of 7")
    Bug: https://bugs.gentoo.org/765847
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 lib/portage/dbapi/bintree.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 2 Larry the Git Cow gentoo-dev 2021-01-19 11:16:57 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b03adb22f0432ee992aab733ce5dfa13e9b6801a

commit b03adb22f0432ee992aab733ce5dfa13e9b6801a
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2021-01-19 11:07:56 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2021-01-19 11:16:53 +0000

    sys-apps/portage: Bump to version 3.0.14
    
     #571126 KeyError during package moves "global updates" triggered by
             FEATURES=binpkg-multi-instance (same root cause as bug 765847)
     #739004 Add @changed-subslot package set
     #765847 Spurious package file renames during application of
             package moves with FEATURES=binpkg-multi-instance
     #766012 Copy on write when applying a package move to a binary
             package, so that the old version of a binary package
             will remain available until eclean-pkg deletes it
    
    Bug: https://bugs.gentoo.org/766117
    Bug: https://bugs.gentoo.org/571126
    Bug: https://bugs.gentoo.org/739004
    Bug: https://bugs.gentoo.org/765847
    Bug: https://bugs.gentoo.org/766012
    Package-Manager: Portage-3.0.14, Repoman-3.0.2
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 sys-apps/portage/Manifest              |   1 +
 sys-apps/portage/portage-3.0.14.ebuild | 268 +++++++++++++++++++++++++++++++++
 2 files changed, 269 insertions(+)