Re: [gentoo-dev] RFC: best way to introduce USE=prefix
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
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
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
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
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
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
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
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
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
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
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
-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
-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
-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
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
-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
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
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
-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-