Re: [gentoo-portage-dev] Try to specify how to get that a USE flag is present in current ebuild

2012-10-05 Thread Pacho Ramos
El dom, 23-09-2012 a las 09:36 +0200, Pacho Ramos escribió:
 El dom, 23-09-2012 a las 05:52 +, Alec Warner escribió:
  On Sat, Sep 22, 2012 at 7:22 PM, Pacho Ramos pa...@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)
 

As looks like this topic got stalled :(, not sure how hard would be to
implement (and document for PMS) the IUSE_FLATTENED idea over current
portage implementation:
http://www.gossamer-threads.com/lists/gentoo/dev/260812#260812


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-portage-dev] Try to specify how to get that a USE flag is present in current ebuild

2012-09-23 Thread Alec Warner
On Sat, Sep 22, 2012 at 7:22 PM, Pacho Ramos pa...@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



Re: [gentoo-portage-dev] Try to specify how to get that a USE flag is present in current ebuild

2012-09-23 Thread Pacho Ramos
El dom, 23-09-2012 a las 05:52 +, Alec Warner escribió:
 On Sat, Sep 22, 2012 at 7:22 PM, Pacho Ramos pa...@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)



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-portage-dev] Try to specify how to get that a USE flag is present in current ebuild

2012-09-21 Thread Pacho Ramos
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?


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-portage-dev] Try to specify how to get that a USE flag is present in current ebuild

2012-09-21 Thread Zac Medico
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



Re: [gentoo-portage-dev] Try to specify how to get that a USE flag is present in current ebuild

2012-09-21 Thread Brian Harring
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



Re: [gentoo-portage-dev] Try to specify how to get that a USE flag is present in current ebuild

2012-09-21 Thread Zac Medico
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