aboutsummaryrefslogtreecommitdiff
blob: 5f38e605d9c48cdcd11c894bfc98358fc39b5747 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
- sqlite
 - regexp comparisons
 - check /var/log/emerge.log for database up-to-dateness

 
-------------------------
- pkgquery language:
 Query ::= NewStyle | OldStyle | with OldStyle NewStyle
 NewStyle ::= NameVar in /RegExp/
	| VerVar in [ VerExpr ]
	| SetVar in [ SetExpr ]
 NameVar ::= PC | PN | DESCRIPTION | SRC_URI | HOMEPAGE

 SetVar ::= LICENSE | KEYWORDS | IUSE
 VerVar ::= SLOT | PV | DEPEND | RDEPEND

 BinaryOp ::= and | or
 UnaryOp ::= not

 VerExpr ::= SingleVer
	| VerExpr BinOp VerExpr
	| UnaryOp UnaryOp

 SetExpr ::= Element 
	| Element BinOp Element
	| UnaryOp Element

 SingleVer ::= PrefixOp VersionBody ( VersionSuffix )? ( - Revision )?
 PrefixOp ::= ! | < | > | <= | >= | = | ~
 VersionBody ::= Number ( . Number )+ ( . * )?
 VersionSuffix ::= _ ( pre | beta | alpha | rc ) Number?
	| [a-z]
 Revision ::= r Number

------

 PC in /dev-java/ and  
 PN in /ant/ and
 PV in [ >=1.0 or <=2.3 and =2.0.* ] and
 IUSE in [ java or junit ]
 

--
 with >=dev-java/ant-1.0*
	IUSE in [ java or junit ] and
	SLOT in [ >=1.0 ]
 

----------

old cruft:

 SingleVer ::= ( Operator )? ( Category / ) PackageName ( - Version )?
 Operator ::= = | > | >= | < | <= | ~ | !
 Category ::= PackageName
 PackageName ::= NamePart ( - NamePart )+
 NamePart ::= [a-zA-Z+]+
 Version ::= VersionPart ( - VersionPart )+ ( _ VersionSuffix )? ( - Revision )?
 VersionSuffix ::= ( pre | rc | beta | alpha ) ( Number ) ?

 old style: >=dev-java/ant-1.0*