1 |
On 09/21/2012 12:08 PM, Pacho Ramos wrote: |
2 |
> Hello |
3 |
> |
4 |
> This comes from this gentoo-dev thread: |
5 |
> http://www.gossamer-threads.com/lists/gentoo/dev/260536 |
6 |
> |
7 |
> In that one, we try to use the following: |
8 |
> has vala ${IUSE//+/} && ! use vala && return 0 |
9 |
> |
10 |
> as already done in many eclasses/ebuilds. The problem is that Ciaran |
11 |
> wants to forbid it because he says it's not specified in PMS. My |
12 |
> suggestion was to simply specify it as it's currently implemented in |
13 |
> portage because that functionality is (apart of needed) being used for a |
14 |
> long time in the tree by numerous eclasses/ebuilds, then, from my point |
15 |
> of view, wouldn't be any sense on lose time for moving them to current |
16 |
> functionality to a worse one, wait for the next eapi and, finally, |
17 |
> revert them back to current behavior. |
18 |
> |
19 |
> The problem is that I cannot find any doc about how this is currently |
20 |
> handled in portage. Could you help me on it please? |
21 |
|
22 |
That `has vala ${IUSE//+/}` thing should work for all versions of |
23 |
portage that have existed since PMS came around. The way that it works |
24 |
is that that ebuild.sh sources the ebuild, and the inherit function |
25 |
makes temporary backups of IUSE so that the IUSE settings from all of |
26 |
the eclasses and the ebuild can be stacked together after the sourcing |
27 |
is complete. The stacked IUSE value that's generated then remains in the |
28 |
ebuild's environment for all phases. |
29 |
-- |
30 |
Thanks, |
31 |
Zac |