FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Portage Developer

 
 
LinkBack Thread Tools
 
Old 09-21-2012, 07:08 PM
Pacho Ramos
 
Default Try to specify how to get that a USE flag is present in current ebuild

Hello

This comes from this gentoo-dev thread:
http://www.gossamer-threads.com/lists/gentoo/dev/260536

In that one, we try to use the following:
has vala ${IUSE//+/} && ! use vala && return 0

as already done in many eclasses/ebuilds. The problem is that Ciaran
wants to forbid it because he says it's not specified in PMS. My
suggestion was to simply specify it as it's currently implemented in
portage because that functionality is (apart of needed) being used for a
long time in the tree by numerous eclasses/ebuilds, then, from my point
of view, wouldn't be any sense on lose time for moving them to current
functionality to a worse one, wait for the next eapi and, finally,
revert them back to current behavior.

The problem is that I cannot find any doc about how this is currently
handled in portage. Could you help me on it please?

Thanks a lot
 
Old 09-21-2012, 07:45 PM
Zac Medico
 
Default Try to specify how to get that a USE flag is present in current ebuild

On 09/21/2012 12:08 PM, Pacho Ramos wrote:
> Hello
>
> This comes from this gentoo-dev thread:
> http://www.gossamer-threads.com/lists/gentoo/dev/260536
>
> In that one, we try to use the following:
> has vala ${IUSE//+/} && ! use vala && return 0
>
> as already done in many eclasses/ebuilds. The problem is that Ciaran
> wants to forbid it because he says it's not specified in PMS. My
> suggestion was to simply specify it as it's currently implemented in
> portage because that functionality is (apart of needed) being used for a
> long time in the tree by numerous eclasses/ebuilds, then, from my point
> of view, wouldn't be any sense on lose time for moving them to current
> functionality to a worse one, wait for the next eapi and, finally,
> revert them back to current behavior.
>
> The problem is that I cannot find any doc about how this is currently
> handled in portage. Could you help me on it please?

That `has vala ${IUSE//+/}` thing should work for all versions of
portage that have existed since PMS came around. The way that it works
is that that ebuild.sh sources the ebuild, and the inherit function
makes temporary backups of IUSE so that the IUSE settings from all of
the eclasses and the ebuild can be stacked together after the sourcing
is complete. The stacked IUSE value that's generated then remains in the
ebuild's environment for all phases.
--
Thanks,
Zac
 
Old 09-21-2012, 08:26 PM
Pacho Ramos
 
Default Try to specify how to get that a USE flag is present in current ebuild

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

Thanks a lot, do you let me send your reply to gentoo-dev ML?
 
Old 09-21-2012, 08:32 PM
Zac Medico
 
Default Try to specify how to get that a USE flag is present in current ebuild

On 09/21/2012 01:26 PM, Pacho Ramos wrote:
> El vie, 21-09-2012 a las 12:45 -0700, Zac Medico escribió:
>> On 09/21/2012 12:08 PM, Pacho Ramos wrote:
>>> Hello
>>>
>>> This comes from this gentoo-dev thread:
>>> http://www.gossamer-threads.com/lists/gentoo/dev/260536
>>>
>>> In that one, we try to use the following:
>>> has vala ${IUSE//+/} && ! use vala && return 0
>>>
>>> as already done in many eclasses/ebuilds. The problem is that Ciaran
>>> wants to forbid it because he says it's not specified in PMS. My
>>> suggestion was to simply specify it as it's currently implemented in
>>> portage because that functionality is (apart of needed) being used for a
>>> long time in the tree by numerous eclasses/ebuilds, then, from my point
>>> of view, wouldn't be any sense on lose time for moving them to current
>>> functionality to a worse one, wait for the next eapi and, finally,
>>> revert them back to current behavior.
>>>
>>> The problem is that I cannot find any doc about how this is currently
>>> handled in portage. Could you help me on it please?
>>
>> That `has vala ${IUSE//+/}` thing should work for all versions of
>> portage that have existed since PMS came around. The way that it works
>> is that that ebuild.sh sources the ebuild, and the inherit function
>> makes temporary backups of IUSE so that the IUSE settings from all of
>> the eclasses and the ebuild can be stacked together after the sourcing
>> is complete. The stacked IUSE value that's generated then remains in the
>> ebuild's environment for all phases.
>
> Thanks a lot, do you let me send your reply to gentoo-dev ML?

Sure.
--
Thanks,
Zac
 
Old 09-21-2012, 08:38 PM
Brian Harring
 
Default Try to specify how to get that a USE flag is present in current ebuild

On Fri, Sep 21, 2012 at 12:45:30PM -0700, Zac Medico wrote:
> On 09/21/2012 12:08 PM, Pacho Ramos wrote:
> > Hello
> >
> > This comes from this gentoo-dev thread:
> > http://www.gossamer-threads.com/lists/gentoo/dev/260536
> >
> > In that one, we try to use the following:
> > has vala ${IUSE//+/} && ! use vala && return 0
> >
> > as already done in many eclasses/ebuilds. The problem is that Ciaran
> > wants to forbid it because he says it's not specified in PMS. My
> > suggestion was to simply specify it as it's currently implemented in
> > portage because that functionality is (apart of needed) being used for a
> > long time in the tree by numerous eclasses/ebuilds, then, from my point
> > of view, wouldn't be any sense on lose time for moving them to current
> > functionality to a worse one, wait for the next eapi and, finally,
> > revert them back to current behavior.
> >
> > The problem is that I cannot find any doc about how this is currently
> > handled in portage. Could you help me on it please?
>
> That `has vala ${IUSE//+/}` thing should work for all versions of

*cough* negated defaults; you need a - in addition.

~harring
 
Old 09-21-2012, 08:44 PM
Zac Medico
 
Default Try to specify how to get that a USE flag is present in current ebuild

On 09/21/2012 01:38 PM, Brian Harring wrote:
> On Fri, Sep 21, 2012 at 12:45:30PM -0700, Zac Medico wrote:
>> On 09/21/2012 12:08 PM, Pacho Ramos wrote:
>>> Hello
>>>
>>> This comes from this gentoo-dev thread:
>>> http://www.gossamer-threads.com/lists/gentoo/dev/260536
>>>
>>> In that one, we try to use the following:
>>> has vala ${IUSE//+/} && ! use vala && return 0
>>>
>>> as already done in many eclasses/ebuilds. The problem is that Ciaran
>>> wants to forbid it because he says it's not specified in PMS. My
>>> suggestion was to simply specify it as it's currently implemented in
>>> portage because that functionality is (apart of needed) being used for a
>>> long time in the tree by numerous eclasses/ebuilds, then, from my point
>>> of view, wouldn't be any sense on lose time for moving them to current
>>> functionality to a worse one, wait for the next eapi and, finally,
>>> revert them back to current behavior.
>>>
>>> The problem is that I cannot find any doc about how this is currently
>>> handled in portage. Could you help me on it please?
>>
>> That `has vala ${IUSE//+/}` thing should work for all versions of
>
> *cough* negated defaults; you need a - in addition.

Good point. The negated ones didn't have much meaning for a long time,
so it's easy to overlook them. Nowadays, they can be used to negate
repo-level defaults [1].

[1] https://bugs.gentoo.org/show_bug.cgi?id=370693
--
Thanks,
Zac
 
Old 09-22-2012, 05:54 PM
Mike Frysinger
 
Default Try to specify how to get that a USE flag is present in current ebuild

On Friday 21 September 2012 15:08:20 Pacho Ramos wrote:
> In that one, we try to use the following:
> has vala ${IUSE//+/} && ! use vala && return 0

inherit eutils
use_if_iuse vala
-mike
 
Old 09-22-2012, 07:22 PM
Pacho Ramos
 
Default Try to specify how to get that a USE flag is present in current ebuild

El sáb, 22-09-2012 a las 13:54 -0400, Mike Frysinger escribió:
> On Friday 21 September 2012 15:08:20 Pacho Ramos wrote:
> > In that one, we try to use the following:
> > has vala ${IUSE//+/} && ! use vala && return 0
>
> inherit eutils
> use_if_iuse vala
> -mike

I am aware of that one also, but Ciaran also wants to forbid it for the
same reason :S
 
Old 09-23-2012, 05:52 AM
Alec Warner
 
Default Try to specify how to get that a USE flag is present in current ebuild

On Sat, Sep 22, 2012 at 7:22 PM, Pacho Ramos <pacho@gentoo.org> wrote:
> El sáb, 22-09-2012 a las 13:54 -0400, Mike Frysinger escribió:
>> On Friday 21 September 2012 15:08:20 Pacho Ramos wrote:
>> > In that one, we try to use the following:
>> > has vala ${IUSE//+/} && ! use vala && return 0
>>
>> inherit eutils
>> use_if_iuse vala
>> -mike
>
> I am aware of that one also, but Ciaran also wants to forbid it for the
> same reason :S

Well I assume Ciaran wants to forbid it because he is attempting to
write a PMS compliant PM; but in order to use these ebuilds properly
he has to emulate the unspecified behavior that the ebuilds rely on
upon. His claim is that the council is supposed to forbid this
behavior (presumably to make his job less horrible) but I don't see
them beating down your door to change it (and the behavior is not
new.)

-A
 
Old 09-23-2012, 07:36 AM
Pacho Ramos
 
Default Try to specify how to get that a USE flag is present in current ebuild

El dom, 23-09-2012 a las 05:52 +0000, Alec Warner escribió:
> On Sat, Sep 22, 2012 at 7:22 PM, Pacho Ramos <pacho@gentoo.org> wrote:
> > El sáb, 22-09-2012 a las 13:54 -0400, Mike Frysinger escribió:
> >> On Friday 21 September 2012 15:08:20 Pacho Ramos wrote:
> >> > In that one, we try to use the following:
> >> > has vala ${IUSE//+/} && ! use vala && return 0
> >>
> >> inherit eutils
> >> use_if_iuse vala
> >> -mike
> >
> > I am aware of that one also, but Ciaran also wants to forbid it for the
> > same reason :S
>
> Well I assume Ciaran wants to forbid it because he is attempting to
> write a PMS compliant PM; but in order to use these ebuilds properly
> he has to emulate the unspecified behavior that the ebuilds rely on
> upon. His claim is that the council is supposed to forbid this
> behavior (presumably to make his job less horrible) but I don't see
> them beating down your door to change it (and the behavior is not
> new.)
>
> -A
>
>

My point of view is that, as this is already supported in portage (and
probably in other PMs as, otherwise, they would have had a lot of
problems with, for example, a lot of packages inheritting important
eclasses like gnome2, cmake-utils or xorg-2) and also used in the tree
for years, the easiest solution is to simply specify current behavior
for existing eapis, needing to wait for a new one to change that
behavior.

As I pointed in http://www.gossamer-threads.com/lists/gentoo/dev/260662
other options would be:
- wait for next eapi to specify that, the problem is that, if that eapi
take a long time to be approved, we would need to move all
eclasses/ebuilds to the other non-automatic way to later revert
them back.
- include this specification in eapi5 as it's still not allowed in the
tree (maybe for this a council meeting should be soon enough I guess)
 

Thread Tools




All times are GMT. The time now is 07:44 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org