Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] [EAPI 8 RFC] Install-time dependencies
Date: Thu, 19 Dec 2019 19:40:38
Message-Id: d5e49d584256c6b1ba41a3cad1a8bcd1b6b4f7e3.camel@gentoo.org
1 Hello,
2
3 Here's another potential EAPI 8 feature I'd like to discuss. Please
4 note that this is about *new dependency type*, so please don't hijack it
5 into the big 'let's steal Exherbo syntax' debate.
6
7 Bug: https://bugs.gentoo.org/660306
8
9
10 The problem
11 ===========
12
13 Right now we don't really have a clean way of specifying dependencies
14 that are used during pkg_*inst (and pkg_*rm?) phases. So far RDEPEND
15 was used as a 'close enough' alternative (except for a few developers
16 who rejected it as 'invalid' and used DEPEND which is even more wrong).
17 However, this is no longer sufficient with EAPI 7 cross support.
18
19 By design, pkg_*inst phases are run in build host's environment when
20 cross is used (because obviously you can't run target host executables).
21 Therefore, the relevant dependencies need to be installed into CBUILD
22 root, while RDEPEND is installed into CHOST root.
23
24
25 The proposed solution
26 =====================
27
28 The proposal is to add a new dependency type (codename: IDEPEND) which
29 indicates dependencies used for pkg_*inst (and pkg_*rm?) phases. Those
30 dependencies would be installed into CBUILD root (like BDEPEND), and
31 therefore would be runnable from build host. Similarly to RDEPEND, they
32 would be installed for binary package installs but not for pure binpkg
33 builds (without install).
34
35 Example:
36
37 inherit xdg-utils
38
39 IDEPEND="dev-util/desktop-file-utils"
40
41 pkg_postinst() {
42 xdg_desktop_database_update
43 }
44
45
46 WDYT?
47
48
49 --
50 Best regards,
51 Michał Górny

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies