Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o, pacho@g.o
Subject: Re: [gentoo-portage-dev] Try to specify how to get that a USE flag is present in current ebuild
Date: Fri, 21 Sep 2012 21:06:03
Message-Id: 505CC3DA.3000008@gentoo.org
In Reply to: [gentoo-portage-dev] Try to specify how to get that a USE flag is present in current ebuild by Pacho Ramos
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

Replies