--- xml/htdocs/proj/en/glep/glep-0029.html 2004/10/25 16:57:40 1.3 +++ xml/htdocs/proj/en/glep/glep-0029.html 2005/06/24 21:37:07 1.4 @@ -8,7 +8,7 @@ --> - + GLEP 29 -- USE flag groups @@ -24,8 +24,7 @@ [GLEP Index] [GLEP Source] -
- +
@@ -33,11 +32,11 @@ - + - + @@ -47,7 +46,7 @@ - +
Title:USE flag groups
Version:1.4
Version:1.5
Author:Ciaran McCreesh <ciaranm at gentoo.org>
Last-Modified:2004/10/25 16:57:09
Last-Modified:2005/06/24 21:36:04
Status:Draft
Created:19-August-2004
Post-Date:21-August-2004, 18-October-2004, 25-October-2004
Post-Date:21-August-2004, 18-October-2004, 25-October-2004, 24-July-2005
@@ -55,30 +54,35 @@

Contents

+
+

Status

+

Withdrawn by request of the author.

+
-

Abstract

+

Abstract

Currently, USE flags must be selected on a one-by-one basis, making it time-consuming to set up make.conf appropriately for a machine's role.

-

Motivation

+

Motivation

Many packages have optional support for other packages (for example, the Vim text editor can optionally support perl, python and ruby interpreters). In Gentoo, these optional dependencies can be selected by @@ -95,19 +99,19 @@ make USE="-" less dangerous.

-

Specification

+

Specification

-

Group Specification

+

Group Specification

A group shall consist of one or more tokens. Each token may be a USE flag, a -USE flag, a reference to another group or a negative reference to another group.

-

These groups are defined in ${PORTDIR}/profiles/use.groups. It is +

These groups are defined in ${PORTDIR}/profiles/use.groups. It is proposed that uppercase names only are used for groups to keep them visually distinct from normal USE flags (almost all USE flags are lowercase), although this should not been forced programmatically. The file should be similar in format to the existing use.* files. In the -following, SOME_GROUP and OTHER_GROUP are group names, and -flag1 through flag5 are USE flag names:

+following, SOME_GROUP and OTHER_GROUP are group names, and +flag1 through flag5 are USE flag names:

 SOME_GROUP flag1 flag2 flag3
 OTHER_GROUP flag2 flag4
@@ -133,7 +137,7 @@
 # This is a comment
 FOO bar baz fnord
 
-

Users may create their own groups using /etc/portage/use.groups. This +

Users may create their own groups using /etc/portage/use.groups. This file overrides the profile settings in the case of duplicates.

It should be legal for groups to specify -use flags, although for reasons discussed below this feature should not generally be used. The syntax is @@ -151,9 +155,9 @@

-

Group Descriptions

+

Group Descriptions

Groups shall have a textual description associated with them in the same -way as USE flags. The file ${PORTDIR}/profiles/use.groups.desc +way as USE flags. The file ${PORTDIR}/profiles/use.groups.desc contains these:

 # This is a comment
@@ -162,10 +166,10 @@
 
-

Using Groups

-

Groups may be used in /etc/make.conf, /etc/portage/package.use and +

Using Groups

+

Groups may be used in /etc/make.conf, /etc/portage/package.use and other places where USE flags are normally specified. They may not be -used inside IUSE`. As before, the @ symbol is used to indicate that a +used inside IUSE`. As before, the @ symbol is used to indicate that a group is being referenced. For example, a ``make.conf for a KDE desktop system might resemble:

@@ -191,7 +195,7 @@
 
-

Issues with -flags and -@GROUPS

+

Issues with -flags and -@GROUPS

Earlier drafts of this GLEP did not allow -use flags or -@GROUPS. However, because of feedback along the lines of "we shouldn't disallow features just because some users won't understand them" (for example, [3]), these @@ -206,7 +210,7 @@

 USE="@KDE -@GNOME"
 
-

However, this will not give the desired effect -- the X USE flag will +

However, this will not give the desired effect -- the X USE flag will end up being disabled.

Similarly, -use flags could cause a lot of confusion if misused. If, for example, the KDE group turned off GNOME things and the GNOME group turned @@ -231,7 +235,7 @@

This is clearly not the desired effect.

-

Adding New Groups

+

Adding New Groups

The actual groups to be created is beyond the scope of this GLEP, and any group names contained herein should be treated as examples only. Creation of new groups and changing a group's flags should be discussed on the @@ -241,41 +245,41 @@

-

Rationale

+

Rationale

USE groups will simplify selecting an appropriate set of USE flags for a system.

-

Backwards Compatibility

+

Backwards Compatibility

The user will not need to make any changes to keep their current setup. Users who are not running a portage version which supports groups can carry on using current syntax with no side-effects.

Some tools which work with make.conf and / or USE flags (for example, -ufed) will need to be updated to understand the new group syntax.

+ufed) will need to be updated to understand the new group syntax.

There is currently a dynamic list of USE flags available on the Gentoo website [2]. For consistency, a similar list will be needed for USE groups.

-

References

- +

References

+
[1]GLEP 23: Portage handling of ACCEPT_LICENSE (http://www.gentoo.org/proj/en/glep/glep-0023.html)
- +
[2]http://www.gentoo.org/dyn/use-index.xml
- +
[3]GLEP 29 discussion on the gentoo-dev mailing list @@ -284,17 +288,17 @@
-
- + +