Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 772785 - >=sys-apps/portage-3.0.15: FEATURES=binpkg-multi-instance PKGDIR layout change is disruptive, so FEATURES=-binpkg-multi-instance should be sticky for existing installs
Summary: >=sys-apps/portage-3.0.15: FEATURES=binpkg-multi-instance PKGDIR layout chang...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Binary packages support (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS, REGRESSION
Depends on:
Blocks: 715112 766117
  Show dependency tree
 
Reported: 2021-02-24 23:04 UTC by Francois Chenier
Modified: 2023-08-21 05:07 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 Francois Chenier 2021-02-24 23:04:50 UTC
According to https://wiki.gentoo.org/wiki/Binary_package_guide#The_PKGDIR_layout
PKGDIR directory layout should be 

PKGDIR
`+- Packages
 +- app-accessibility/
 |  +- pkg1-version.tbz2
 |  `- pkgN-version.tbz2
 +- app-admin/
 |  `- ...
 `- ...

With portage 3.0.15 (and -r1), have Gentoo portage team created a new PKGDIR layout because with the latest upgrade I have

PKGDIR
`+- Packages
 +- app-accessibility/
 |  +- pkg1/
 |  |   +pkg1-version1.xpak
 |  |   -pkg1-version2.xpak
 |  |   -...
 |  +- pkgN/
 |  |   +pkgN-version1.xpak
 |  |   -pkgN-version2.xpak
 |  |   -...
 +- app-admin/
 |  `- ...
 `- ...

Is it a bug of portage 3.0.15 or a new undocumented layout?
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-02-24 23:13:40 UTC
I suspect this is related to https://github.com/gentoo/portage/commit/bba152098af82e5bc2686d9facb3c0a88bcbdba0.
Comment 2 Zac Medico gentoo-dev 2021-02-24 23:52:31 UTC
Yeah, it's the intentional result of bug 715112.

Have you found any tools that don't work with the new layout?
Comment 3 Francois Chenier 2021-02-25 00:04:36 UTC
(In reply to Sam James from comment #1)
> I suspect this is related to
> https://github.com/gentoo/portage/commit/
> bba152098af82e5bc2686d9facb3c0a88bcbdba0.

You are right. Adding "-binpkg-multi-instance" to FEATURES in /etc/portage/make.conf revert back to packages directory layout version 2.

It would be nice to notify gentoo users of this change of behavior when building  >=portage-3.0.15 or better, thru eselect news system.

Thanks. Problem solved for me.
Comment 4 Francois Chenier 2021-02-25 00:08:07 UTC
(In reply to Zac Medico from comment #2)
> Yeah, it's the intentional result of bug 715112.
> 
> Have you found any tools that don't work with the new layout?

Nope. It's problem solved for me but read my note above.
Comment 5 Zac Medico gentoo-dev 2021-02-25 00:08:44 UTC
I think I should make the old layout sticky for existing installs.

That's what we did for BINPKG_COMPRESSION and DISTDIR/PKGDIR/PORTDIR:

https://gitweb.gentoo.org/proj/portage.git/commit/?id=230595cf600cae6beb6ebf6f817d08ace433c3ea

https://gitweb.gentoo.org/proj/portage.git/commit/?id=ef8469befbd7b61f1bae8f21ffd95e0c0306a4f8
Comment 6 Francois Chenier 2021-02-25 00:35:27 UTC
(In reply to Zac Medico from comment #5)
> I think I should make the old layout sticky for existing installs.
> 

I agree.
Comment 8 Larry the Git Cow gentoo-dev 2021-02-27 01:20:10 UTC
The bug has been referenced in the following commit(s):

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

commit cb354edf61a133798e81e7059bdfcaeb25c13982
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2021-02-26 23:15:09 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2021-02-27 01:16:11 +0000

    make.globals: make FEATURES=-binpkg-multi-instance sticky for existing installs
    
    Add a _compat_upgrade.binpkg_multi_instance script that the ebuild
    can call in pkg_preinst in order to maintain a backward-compatible
    FEATURES=-binpkg-multi-instance default on existing installs where
    enabling binpkg-multi-instance could cause disruption.
    
    Bug: https://bugs.gentoo.org/772785
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 .../_compat_upgrade/binpkg_multi_instance.py       | 33 ++++++++++++++++++++++
 1 file changed, 33 insertions(+)
Comment 9 Larry the Git Cow gentoo-dev 2021-02-27 01:34:20 UTC
The bug has been referenced in the following commit(s):

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

commit fb12ab9a3e772907bea5f5827936b5f03aec57a6
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2021-02-27 01:31:17 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2021-02-27 01:31:34 +0000

    sys-apps/portage: make FEATURES=-binpkg-multi-instance sticky
    
    Bug: https://bugs.gentoo.org/772785
    Package-Manager: Portage-3.0.15, Repoman-3.0.2
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 sys-apps/portage/portage-9999.ebuild | 4 ++++
 1 file changed, 4 insertions(+)
Comment 10 Zac Medico gentoo-dev 2021-02-27 08:21:54 UTC
The bug has been referenced in the following commit(s):

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

commit 489d9587cb80e56ef7f0a0d49bfaa62db588e873
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2021-02-27 00:11:57 -0800
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2021-02-27 00:17:57 -0800

    sys-apps/portage: Bump to version 3.0.16
    
     #721680 Add emirrordist shelve dump/restore
     #749333 PORTAGE_REPOSITORIES: don't override repos with aliases
     #756778 emirrordist --content-db for content-hash layout support
     #772785 don't enable binpkg-multi-instance for existing installs
     #772806 prevent infinite loop after empty os.path.dirname result
    
    https://bugs.gentoo.org/766117
    https://bugs.gentoo.org/721680
    https://bugs.gentoo.org/749333
    https://bugs.gentoo.org/756778
    https://bugs.gentoo.org/772785
    https://bugs.gentoo.org/772806
    Package-Manager: Portage-3.0.16, Repoman-3.0.2
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 sys-apps/portage/Manifest              |   1 +
 sys-apps/portage/portage-3.0.16.ebuild | 272 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 273 insertions(+)