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 |