Add new ** for package.keywords token to bypass keyword visibility layer (trunk r5758...
authorZac Medico <zmedico@gentoo.org>
Tue, 23 Jan 2007 20:55:51 +0000 (20:55 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 23 Jan 2007 20:55:51 +0000 (20:55 -0000)
svn path=/main/branches/2.1.2/; revision=5762

NEWS
man/portage.5
pym/portage.py

diff --git a/NEWS b/NEWS
index c24b5ecc355c0ab617d02aeccdd63a2d8e5cd2cc..436f9895dded2a79a5274f3b157d13a6eea5fd65 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,9 @@
 News (mainly features/major bug fixes)
 
 portage-2.1.2
-------------
+-------------
 
+* Add ** as new token for package.keywords to bypass the keyword visibility layer
 * Ebuilds support default USE flags via +flag in IUSE.
 * New-style virtuals are now usable for packages that depend on themselves for
   bootstrap.
@@ -32,7 +33,7 @@ portage-2.1.2
 * FEATURES="test" automatically implies USE="test".
 
 portage-2.1.1
-------------
+-------------
 
 * Profiles support use.force, package.use.force, and package.use.mask files.
 
index 66547521e302907ca07a8bf1f154c2a0e3a645dd..4b19dc90936923e0dc46fa870cd07c140eefdcdc 100644 (file)
@@ -384,13 +384,9 @@ Per\-package KEYWORDS.  Useful for mixing unstable packages in with a normally
 stable system or vice versa.  This will allow ACCEPT_KEYWORDS to be augmented
 for a single package.
 
-.nf
-\fINote:\fR There are two special KEYWORDS to help out here:
-\fB*\fR  Match any stable KEYWORD
-\fB~*\fR Match any unstable KEYWORD
-
 .I Format:
-\- comments begin with #
+.nf
+\- comment lines begin with # (no inline comments)
 \- one DEPEND atom per line followed by additional KEYWORDS
 \- lines without any KEYWORDS imply unstable host arch
 
@@ -403,6 +399,17 @@ media\-video/mplayer \-~x86
 net-analyzer/netcat
 .fi
 
+.I Note:
+.fi
+In addition to the normal values from ACCEPT_KEYWORDS package.keywords supports
+three special tokens:
+
+.nf
+\fB*\fR  package is visible if it is stable on any architecture
+\fB~*\fR package is visible if it is in testing on any architecture
+\fB**\fR package is always visible (KEYWORDS are ignored completely)
+.fi
+
 .I Additional Note:
 If you encounter the \fB-*\fR KEYWORD, this indicates that the package is known 
 to be broken on all systems which are not otherwise listed in KEYWORDS.  For 
@@ -410,10 +417,11 @@ example, a binary only package which is built for x86 will look like:
 
 games-fps/quake3-demo-1.11.ebuild:KEYWORDS="-* x86"
 
-If you wish to accept this package anyways, then add \fB-*\fR to your 
+If you wish to accept this package anyways, then use one of the other keywords in your 
 package.keywords like this:
 
-games-fps/quake3-demo -*
+games-fps/quake3-demo x86
+
 .TP
 .BR package.mask
 A list of package atoms to mask.  Useful if specific versions of packages do
@@ -422,7 +430,7 @@ versions earlier than 1.0.4496.  No problem!
 
 .I Format:
 .nf
-\- comments begin with #
+\- comment lines begin with # (no inline comments)
 \- one DEPEND atom per line
 .fi
 
index 9070a04d1576a31e91371e66b222ac8edbf407de..6670665971697344a59373551da59d10d871d9ac 100644 (file)
@@ -6146,6 +6146,8 @@ class portdbapi(dbapi):
                                if matches:
                                        inc_pgroups = []
                                        for x in pgroups:
+                                               # The -* special case should be removed once the tree 
+                                               # is clean of KEYWORDS=-* crap
                                                if x != "-*" and x.startswith("-"):
                                                        try:
                                                                inc_pgroups.remove(x[1:])
@@ -6170,7 +6172,7 @@ class portdbapi(dbapi):
                                        hastesting = True
                                elif gp[0] != "-":
                                        hasstable = True
-                       if not match and ((hastesting and "~*" in pgroups) or (hasstable and "*" in pgroups)):
+                       if not match and ((hastesting and "~*" in pgroups) or (hasstable and "*" in pgroups) or "**" in pgroups):
                                match=1
                        if match and eapi_is_supported(eapi):
                                newlist.append(mycpv)