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*
|