Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 723278 - fcaps.eclass: sys-libs/libcap dependency should be declared in IDEPEND
Summary: fcaps.eclass: sys-libs/libcap dependency should be declared in IDEPEND
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on: 660306
Blocks:
  Show dependency tree
 
Reported: 2020-05-15 19:00 UTC by Shiba
Modified: 2022-04-12 04:40 UTC (History)
4 users (show)

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


Attachments
merge.log (merge.log,4.71 KB, text/x-log)
2020-05-15 19:02 UTC, Shiba
Details
make.conf (file_723278.txt,711 bytes, text/plain)
2020-05-15 19:03 UTC, Shiba
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Shiba 2020-05-15 19:00:21 UTC
The current situation of RDEPEND/BDEPEND is problematic if you are emerging from binpkgs, as there is no guarantee that sys-libs/libcap will be merged before packages inheriting fcaps.eclass.

I reproduced this by chrooting into a fresh stage3 (stage3-amd64-20200514T210257Z.tar.xz) and updating the system: sys-libs/pam is merged before sys-libs/libcap, thus pkg_postinst() fails.
Comment 1 Shiba 2020-05-15 19:02:04 UTC
Created attachment 639408 [details]
merge.log
Comment 2 Shiba 2020-05-15 19:03:06 UTC
Created attachment 639410 [details]
make.conf
Comment 3 Mike Gilbert gentoo-dev 2020-05-15 19:48:02 UTC
Adding it to DEPEND will not help if you are using binpkgs.
Comment 4 Mike Gilbert gentoo-dev 2020-05-15 19:56:49 UTC
In #gentoo-portage, we discussed moving sys-libs/pam from RDEPEND to PDEPEND in sys-lib/libcap to resolve the circular runtime dep and force libcap to be installed first.
Comment 5 Shiba 2020-05-15 21:06:03 UTC
Ouch, you are right, I didn't do my homework. Then I guess I'll look forward to one of the two solutions :)
Comment 6 Larry the Git Cow gentoo-dev 2020-05-17 18:12:32 UTC
The bug has been referenced in the following commit(s):

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

commit c80be5a22f00558e763c473e572f0c5c22c9870e
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2020-05-17 18:07:55 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2020-05-17 18:11:05 +0000

    sys-libs/libcap: move sys-libs/pam from RDEPEND to PDEPEND
    
    Fixes install order for binpkgs.
    
    Bug: https://bugs.gentoo.org/723278
    Bug: https://bugs.gentoo.org/723352
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>

 sys-libs/libcap/libcap-2.26-r2.ebuild | 5 +++--
 sys-libs/libcap/libcap-2.27.ebuild    | 5 +++--
 sys-libs/libcap/libcap-2.33.ebuild    | 5 +++--
 sys-libs/libcap/libcap-2.34.ebuild    | 5 +++--
 4 files changed, 12 insertions(+), 8 deletions(-)
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-04-12 04:40:52 UTC
commit 789ec15b80a0ad2902d59be5bdb7c5fa6fcd0092
Author: David Michael <fedora.dm0@gmail.com>
Date:   Mon Jun 14 12:00:14 2021 -0400

    fcaps.eclass: support EAPI 8

    This defines the native install-time libcap dependency as:

      - EAPI < 7: RDEPEND
            Only regular ROOT=/ builds can be expected to work.

      - EAPI = 7: RDEPEND + BDEPEND
            Also install the native setcap at built time, so cross-
            compiling will work, but not installing binpkgs in ROOTs.

      - EAPI > 7: IDEPEND
            Install native setcap at install-time; it works everywhere.

    Since all remaining users are EAPI 6 and above, declare eclass
    compatibility with EAPIs 6, 7, and 8.

    Signed-off-by: David Michael <fedora.dm0@gmail.com>
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>
    Closes: https://github.com/gentoo/gentoo/pull/21239