Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-05-01 Thread Jeremy Olexa
On Sat, Apr 4, 2009 at 2:47 PM, Fabian Groffen grob...@gentoo.org wrote:
 On 04-04-2009 20:41:34 +0100, Ciaran McCreesh wrote:
 The two aren't mutually contradictory. Quite the contrary.

 For EAPI 3, we're aiming to make it illegal to do anything with a flag
 unless it's either explicitly listed in IUSE or handled via a number of
 special magic profile variables, so you'd either have to list it
 everywhere or use one of the profile variables. Once you do that, how
 you mask / force it is up to you, unless you need some kind of special
 package manager handling for that flag.

 Sounds to me it would be ok then to add it now in use.mask, and then
 EAPI 3 is done, define it in whatever special variable it needs to be
 added to according to the specs then.  IUSE_IMPLICIT -- assuming it can
 be defined in the profiles -- seems like a good way to prepare for that,
 since it makes explicit it is implicit, IMO.

Alright, I have talked to a few people in IRC. This solution seems to work:

* IUSE_IMPLICIT=prefix in base/make.defaults (for EAPI-3 and greater)
* prefix in base/use.mask (so no profiles will be able to use it
unless specifically unmasked)
* unmask USE=prefix and force it in prefix profiles - not in gentoo-x86 yet

Patch located here if anyone cares to look:
http://dev.gentoo.org/~darkside/tmp/USE-prefix.patch

This is the combined logic of this thread, anything I overlooked?

Thanks,
Jeremy



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Petteri Räty
 
 However, we have toyed with other ideas. One of which is to introduce
 IUSE=prefix in prefix.eclass similar to the USE=multilib approach. I
 don't really like this idea because it exposes the use flag and we
 don't want it exposed to the users.
 

If you don't want it exposed to users, then use a USE_EXPAND variable.
Like zmedico said in EAPI 3 a normal use flag could be hidden but
probably better to not have to migrate everything with prefix support to
EAPI 3. Out of the existing USE_EXPAND variables USERLAND makes most
sense to me but we could also introduce a new one too.

Regards,
Petteri



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Fabian Groffen
On 04-04-2009 13:23:24 +0300, Petteri Räty wrote:
  
  However, we have toyed with other ideas. One of which is to introduce
  IUSE=prefix in prefix.eclass similar to the USE=multilib approach. I
  don't really like this idea because it exposes the use flag and we
  don't want it exposed to the users.
  
 
 If you don't want it exposed to users, then use a USE_EXPAND variable.
 Like zmedico said in EAPI 3 a normal use flag could be hidden but
 probably better to not have to migrate everything with prefix support to
 EAPI 3. Out of the existing USE_EXPAND variables USERLAND makes most
 sense to me but we could also introduce a new one too.

USE_EXPAND does something like:
USERLAND=GNU - userland_GNU

For Prefix, we just need the prefix USE-flag (not prefix_XXX), hence
USE_EXPAND doesn't help us.  Adding prefix to use.mask (and use.force
in Prefix profiles) allows us to get the desired behaviour.



-- 
Fabian Groffen
Gentoo on a different level



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Petteri Räty
Fabian Groffen wrote:
 On 04-04-2009 13:23:24 +0300, Petteri Räty wrote:
 However, we have toyed with other ideas. One of which is to introduce
 IUSE=prefix in prefix.eclass similar to the USE=multilib approach. I
 don't really like this idea because it exposes the use flag and we
 don't want it exposed to the users.

 If you don't want it exposed to users, then use a USE_EXPAND variable.
 Like zmedico said in EAPI 3 a normal use flag could be hidden but
 probably better to not have to migrate everything with prefix support to
 EAPI 3. Out of the existing USE_EXPAND variables USERLAND makes most
 sense to me but we could also introduce a new one too.
 
 USE_EXPAND does something like:
 USERLAND=GNU - userland_GNU
 
 For Prefix, we just need the prefix USE-flag (not prefix_XXX), hence
 USE_EXPAND doesn't help us.  Adding prefix to use.mask (and use.force
 in Prefix profiles) allows us to get the desired behaviour.
 
 

If prefix is in USERLAND then you have a userland_prefix use flag to use
that can be hidden.

Regards,
Petteri



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Petteri Räty
Fabian Groffen wrote:
 On 04-04-2009 14:31:20 +0300, Petteri Räty wrote:
 If prefix is in USERLAND then you have a userland_prefix use flag to use
 that can be hidden.
 
 It is not.
 
 

But can be added.

Regards,
Petteri




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Fabian Groffen
On 04-04-2009 14:54:20 +0300, Petteri Räty wrote:
 Fabian Groffen wrote:
  On 04-04-2009 14:31:20 +0300, Petteri Räty wrote:
  If prefix is in USERLAND then you have a userland_prefix use flag to use
  that can be hidden.
  
  It is not.
 
 But can be added.

I think we talk about different things here.

prefix is not a USERLAND.  In Prefix, USERLAND=GNU.  Neither do I
think a something_prefix (use-expanded SOMETHING) is a useful
approach.  You're either using Prefix, or you don't.  Hence,
use prefix.  Jeremy's question was about how to effectuate that, and
we believe simply adding prefix to use.mask (and use.desc) in
gentoo-x86 is the solution.


-- 
Fabian Groffen
Gentoo on a different level



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Petteri Räty
Fabian Groffen wrote:
 On 04-04-2009 14:54:20 +0300, Petteri Räty wrote:
 Fabian Groffen wrote:
 On 04-04-2009 14:31:20 +0300, Petteri Räty wrote:
 If prefix is in USERLAND then you have a userland_prefix use flag to use
 that can be hidden.
 It is not.
 But can be added.
 
 I think we talk about different things here.
 
 prefix is not a USERLAND.  In Prefix, USERLAND=GNU.  Neither do I
 think a something_prefix (use-expanded SOMETHING) is a useful
 approach.  You're either using Prefix, or you don't.  Hence,
 use prefix.  Jeremy's question was about how to effectuate that, and
 we believe simply adding prefix to use.mask (and use.desc) in
 gentoo-x86 is the solution.
 
 

You can set USERLAND=GNU PREFIX

Regards,
Petteri



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Rémi Cardona

Le 03/04/2009 16:47, Jeremy Olexa a écrit :

However, we have toyed with other ideas. One of which is to introduce
IUSE=prefix in prefix.eclass similar to the USE=multilib approach. I
don't really like this idea because it exposes the use flag and we
don't want it exposed to the users.


Just of curiosity, with IUSE=prefix, how many packages would get the USE 
flag?


If we're only talking about a few packages, I don't mind it showing up 
in portage. If anything, it'll help spread the word about Prefix :)


Cheers,

Rémi



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Fabian Groffen
On 04-04-2009 14:31:20 +0300, Petteri Räty wrote:
 If prefix is in USERLAND then you have a userland_prefix use flag to use
 that can be hidden.

It is not.


-- 
Fabian Groffen
Gentoo on a different level



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Fabian Groffen
On 04-04-2009 15:21:23 +0300, Petteri Räty wrote:
 You can set USERLAND=GNU PREFIX

Prefix is not a userland, please understand that.
It's like pizza not being an elibc, or beer not being a kernel.


-- 
Fabian Groffen
Gentoo on a different level



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Fabian Groffen
On 04-04-2009 14:22:09 +0200, Rémi Cardona wrote:
 Le 03/04/2009 16:47, Jeremy Olexa a écrit :
  However, we have toyed with other ideas. One of which is to introduce
  IUSE=prefix in prefix.eclass similar to the USE=multilib approach. I
  don't really like this idea because it exposes the use flag and we
  don't want it exposed to the users.
 
 Just of curiosity, with IUSE=prefix, how many packages would get the USE 
 flag?
 
 If we're only talking about a few packages, I don't mind it showing up 
 in portage. If anything, it'll help spread the word about Prefix :)

It's more that you cannot sensibly set USE=prefix yourself, neither
should you be suggested or encouraged to do so, hence it should never
show up in Portage's pretend output.

It's like Portage suggesting you that you can set ARCH or KERNEL to some
other value yourself, and that if you emerge -e or something you can
upgrade Linux to FreeBSD or x86 to ppc.  While this would be great, it
doesn't work.


-- 
Fabian Groffen
Gentoo on a different level



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Zac Medico wrote:
 Jeremy Olexa wrote:
 So, my recommendation is to:
 1) mask the prefix USE flag in base/use.mask because no one except the
 prefix profiles should use this flag.
 2) unmask and force the USE flag in prefix profile.
 3) add entry to use.desc.
 addendum) use.{mask,force} imply that the USE flag is explicit so
 there will be no QA warnings.
 
 However, we have toyed with other ideas. One of which is to introduce
 IUSE=prefix in prefix.eclass similar to the USE=multilib approach. I
 don't really like this idea because it exposes the use flag and we
 don't want it exposed to the users.
 
 Note that there are some changes in this area planned for EAPI 3.
 Install app-doc/pms- with USE=eapi3-draft and see section
 4.3.2 which says that there will be a new USE_EXPAND_UNPREFIXED
 variable which you can use (it's only coincidental that your flag
 happens to be called 'prefix' and the new variable contains PREFIX
 in its name). It also says you'll be able to add your flag to
 USE_EXPAND_HIDDEN so that it's not exposed to users.

Actually, after further inspection of PMS, it seems that the
IUSE_IMPLICIT is more appropriate for the 'prefix' flag since it
doesn't seem to fit into the USE_EXPAND paradigm.
- --
Thanks,
Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.11 (GNU/Linux)

iEYEARECAAYFAknXsucACgkQ/ejvha5XGaO5KACg2Ay3wM5joo4tr2mAuShFBXSm
tWwAoMrpEhrBIou8fO5fGPR0AN7G89LT
=Iw82
-END PGP SIGNATURE-



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Ciaran McCreesh
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Sat, 04 Apr 2009 12:20:09 -0700
Zac Medico zmed...@gentoo.org wrote:
 Actually, after further inspection of PMS, it seems that the
 IUSE_IMPLICIT is more appropriate for the 'prefix' flag since it
 doesn't seem to fit into the USE_EXPAND paradigm.

Were we after keeping IUSE_IMPLICIT? That whole part is still fairly
vague, since I'm not sure what Portage is going to be able to do with
it in time for EAPI 3.

- -- 
Ciaran McCreesh
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAknXs5wACgkQ96zL6DUtXhEgvQCfdqWrdFdr0RK5zbdkgsb6/gZI
ouQAoLHPSh3Ak+sdpc5KagnDMKu+KqN7
=SSd8
-END PGP SIGNATURE-


Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Petteri Räty wrote:
 Fabian Groffen wrote:
 On 04-04-2009 15:21:23 +0300, Petteri Räty wrote:
 You can set USERLAND=GNU PREFIX
 Prefix is not a userland, please understand that.
 It's like pizza not being an elibc, or beer not being a kernel.

 
 Sure it's not a user land like GNU or BSD but I can't see why we
 couldn't change what USERLAND means.

But why change the meaning if it's confusing an unnecessary?
Perhaps it's more appropriate to set IUSE_IMPLICIT=prefix.
- --
Thanks,
Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.11 (GNU/Linux)

iEYEARECAAYFAknXs+8ACgkQ/ejvha5XGaMyewCcD+FLwOKxRN35wmUGeUZmvg+l
NDwAoMxK+MkjQO6ehHUjs5BAIu6tnq8+
=h5Hx
-END PGP SIGNATURE-



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Petteri Räty
Zac Medico wrote:
 Petteri Räty wrote:
 Fabian Groffen wrote:
 On 04-04-2009 15:21:23 +0300, Petteri Räty wrote:
 You can set USERLAND=GNU PREFIX
 Prefix is not a userland, please understand that.
 It's like pizza not being an elibc, or beer not being a kernel.

 Sure it's not a user land like GNU or BSD but I can't see why we
 couldn't change what USERLAND means.
 
 But why change the meaning if it's confusing an unnecessary?
 Perhaps it's more appropriate to set IUSE_IMPLICIT=prefix.


I wasn't saying we should. I just said it can be used to solve the
problem. If prefix people are fine with having to be confined to EAPI 3,
then I have no problem with that.

Regards,
Petteri



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Ciaran McCreesh wrote:
 On Sat, 04 Apr 2009 12:20:09 -0700
 Zac Medico zmed...@gentoo.org wrote:
 Actually, after further inspection of PMS, it seems that the
 IUSE_IMPLICIT is more appropriate for the 'prefix' flag since it
 doesn't seem to fit into the USE_EXPAND paradigm.
 
 Were we after keeping IUSE_IMPLICIT? That whole part is still fairly
 vague, since I'm not sure what Portage is going to be able to do with
 it in time for EAPI 3.

Well, portage already supports the notion of IUSE_IMPLICIT
internally, so it won't be much work to modify it to support
whatever changes we decide to do in EAPI 3 (if any).
- --
Thanks,
Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.11 (GNU/Linux)

iEYEARECAAYFAknXt+8ACgkQ/ejvha5XGaNVQgCgkVtqb9+7gnvtVPjc8OaJexAh
txAAn32l6SWtt2eUJ5Zzfjmcx9urrnxe
=gash
-END PGP SIGNATURE-



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-04 Thread Fabian Groffen
On 04-04-2009 20:41:34 +0100, Ciaran McCreesh wrote:
 The two aren't mutually contradictory. Quite the contrary.
 
 For EAPI 3, we're aiming to make it illegal to do anything with a flag
 unless it's either explicitly listed in IUSE or handled via a number of
 special magic profile variables, so you'd either have to list it
 everywhere or use one of the profile variables. Once you do that, how
 you mask / force it is up to you, unless you need some kind of special
 package manager handling for that flag.

Sounds to me it would be ok then to add it now in use.mask, and then
EAPI 3 is done, define it in whatever special variable it needs to be
added to according to the specs then.  IUSE_IMPLICIT -- assuming it can
be defined in the profiles -- seems like a good way to prepare for that,
since it makes explicit it is implicit, IMO.


-- 
Fabian Groffen
Gentoo on a different level



[gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-03 Thread Jeremy Olexa
Hello all,
In the Gentoo Prefix project we have a special USE flag: 'prefix',
kind of like $ARCH USE flags. I am writing here to ask of the best way
to introduce a global implicit USE flag to gentoo-x86. There has been
some interest from other devs to kill diffs in ebuilds between
gentoo-x86 and prefix overlay. The addition of this USE flag will
allow this to happen in a more staged approach.

We utilize the prefix USE flag for various things, such as (but not limited to):
-Exclude dependencies that the host OS provides (glibc, xorg-server, etc)
-No-op a particular action not appropriate for prefix
-Ensure a particular action that is only needed for prefix

ie.
# unavoidable conditional patch, can't submit upstream either, rare case
use prefix  epatch prefix-search-path.patch
# glibc is provided from the host OS, at least can't install in prefix
!prefix? ( elibc_glibc? ( =sys-libs/glibc-2.36 ) )
# rarely seen in real life, but something like this is possible.
$(use_enable !prefix some-host-os-feature)

So, my recommendation is to:
1) mask the prefix USE flag in base/use.mask because no one except the
prefix profiles should use this flag.
2) unmask and force the USE flag in prefix profile.
3) add entry to use.desc.
addendum) use.{mask,force} imply that the USE flag is explicit so
there will be no QA warnings.

However, we have toyed with other ideas. One of which is to introduce
IUSE=prefix in prefix.eclass similar to the USE=multilib approach. I
don't really like this idea because it exposes the use flag and we
don't want it exposed to the users.

BTW, the prefix profiles are not in gentoo-x86 yet, discussion will
follow the USE flag introduction.

Thanks,
-Jeremy



Re: [gentoo-dev] RFC: best way to introduce USE=prefix

2009-04-03 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jeremy Olexa wrote:
 So, my recommendation is to:
 1) mask the prefix USE flag in base/use.mask because no one except the
 prefix profiles should use this flag.
 2) unmask and force the USE flag in prefix profile.
 3) add entry to use.desc.
 addendum) use.{mask,force} imply that the USE flag is explicit so
 there will be no QA warnings.
 
 However, we have toyed with other ideas. One of which is to introduce
 IUSE=prefix in prefix.eclass similar to the USE=multilib approach. I
 don't really like this idea because it exposes the use flag and we
 don't want it exposed to the users.

Note that there are some changes in this area planned for EAPI 3.
Install app-doc/pms- with USE=eapi3-draft and see section
4.3.2 which says that there will be a new USE_EXPAND_UNPREFIXED
variable which you can use (it's only coincidental that your flag
happens to be called 'prefix' and the new variable contains PREFIX
in its name). It also says you'll be able to add your flag to
USE_EXPAND_HIDDEN so that it's not exposed to users.
- --
Thanks,
Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.11 (GNU/Linux)

iEYEARECAAYFAknWeQ4ACgkQ/ejvha5XGaOHmQCgqUrOAzY25DtAJY2wzV+jfSo0
KYkAnR6JpitlXYWSmXMCKTYwqUfQw6W9
=JGuG
-END PGP SIGNATURE-