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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276
|
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
moduleset =
element moduleset {
attlist.moduleset,
(repository
| \include
| autotools
| metamodule
| tarball
| distutils
| perl
| linux
| testmodule
| cvsroot
| cvsmodule
| waf
| cmake
| meson
| systemmodule)+
}
attlist.moduleset &= attribute name { text }?
repository = element repository { attlist.repository, mirror* }
attlist.repository &=
attribute name { text },
attribute type {
"arch"
| "bzr"
| "cvs"
| "darcs"
| "fossil"
| "git"
| "hg"
| "mtn"
| "svn"
| "system"
| "tarball"
},
[ a:defaultValue = "no" ] attribute default { "yes" | "no" }?,
attribute password { text }?,
attribute cvsroot { text }?,
attribute archive { text }?,
attribute href { text }?,
attribute server { text }?,
attribute database { text }?,
attribute defbranch { text }?,
attribute developer-href-example { text }?,
attribute trunk-template { text }?,
attribute branches-template { text }?,
attribute tags-template { text }?
# note the following attributes are specific to some repository types:
# - CVS: password & cvsroot
# - Arch: archive & href
# - Monotone: server, database, defbranch
# - Subversion: *-template
mirror = element mirror { attlist.mirror, empty }
attlist.mirror &=
attribute type {
"arch"
| "bzr"
| "cvs"
| "darcs"
| "fossil"
| "git"
| "hg"
| "svn"
| "tarball"
},
attribute trunk-template { text }?,
attribute branches-template { text }?,
attribute href { text }?
\include = element include { attlist.include, empty }
attlist.include &= attribute href { text }
# As parsed by get_dependencies()
dependencieselements = dependencies?, suggests?, after?, systemdependencies?
argsif = element if { attlist.if & argsif* & autogenargs* & makeargs* & makeinstallargs* }
autotools =
element autotools {
attlist.autotools, argsif*, autogenargs*, makeargs*, makeinstallargs*, pkg-config?, branch, dependencieselements
}
# Note: Here the ID type is not used as some existing IDs in modsets are not
# valid XML ID types - instead CDATA is used
attlist.autotools &=
attribute id { text },
attribute autogenargs { text }?,
attribute makeargs { text }?,
attribute makeinstallargs { text }?,
attribute autogen-sh { text }?,
attribute makefile { text }?,
attribute bootstrap { "true" | "false" }?,
[ a:defaultValue = "false" ]
attribute skip-autogen { "true" | "false" | "never" }?,
[ a:defaultValue = "yes" ]
attribute uninstall-before-install { "true" | "false" }?,
attribute supports-non-srcdir-builds { "yes" | "no" }?,
attribute force-non-srcdir-builds { "yes" | "no" }?,
attribute supports-parallel-builds { "yes" | "no" }?,
attribute supports-unknown-configure-options { "yes" | "no" }?,
attribute autogen-template { text }?,
[ a:defaultValue = "true" ]
attribute check-target { "true" | "false" }?
autogenargs = element autogenargs { attlist.autogenargs }
attlist.autogenargs &= attribute value { text }
makeargs = element makeargs { attlist.makeargs }
attlist.makeargs &= attribute value { text }
makeinstallargs = element makeinstallargs { attlist.autogenargs }
attlist.makeinstallargs &= attribute value { text }
waf =
element waf { attlist.waf, branch, dependencieselements }
# Note: Here the ID type is not used as some existing IDs in modsets are not
# valid XML ID types - instead CDATA is used
attlist.waf &=
attribute id { text },
attribute waf-command { text }?
systemmodule =
element systemmodule { attlist.systemmodule, pkg-config?, branch, dependencieselements }
attlist.systemmodule &=
attribute id { text },
attribute supports-parallel-builds { "yes" | "no" }?
pkg-config = element pkg-config { text }
metamodule =
element metamodule { attlist.metamodule, dependencieselements }
attlist.metamodule &= attribute id { text }
# tarball module type is deprecated, a tarball repository inside the
# appropriate modtype should be used instead
tarball =
element tarball {
attlist.tarball,
pkg-config?,
source,
branch?,
dependencieselements,
patches?
}
attlist.tarball &=
attribute id { text },
attribute version { text },
attribute checkoutdir { text }?,
attribute autogenargs { text }?,
attribute makeargs { text }?,
attribute autogen-sh { text }?,
[ a:defaultValue = "yes" ]
attribute supports-non-srcdir-builds { "yes" | "no" }?
distutils =
element distutils {
attlist.distutils, branch?, dependencies?, after?
}
attlist.distutils &=
attribute id { xsd:ID },
[ a:defaultValue = "yes" ]
attribute python3 { "1" }?,
attribute supports-non-srcdir-builds { "yes" | "no" }?
cmakeargsif = element if { attlist.if & cmakeargsif* & cmakeargs* & makeargs* & ninjaargs* }
cmake = element cmake { attlist.cmake, cmakeargsif*, cmakeargs*, makeargs*, ninjaargs*, pkg-config?, branch?, dependencieselements }
attlist.cmake &=
attribute id { text },
attribute cmakeargs { text }?,
attribute makeargs { text }?,
attribute ninjaargs { text }?,
attribute use-ninja { "yes" | "no" }?,
attribute supports-non-srcdir-builds { "yes" | "no" }?,
attribute force-non-srcdir-builds { "yes" | "no" }?
cmakeargs = element cmakeargs { attlist.cmakeargs }
attlist.cmakeargs &= attribute value { text }
ninjaargs = element ninjaargs { attlist.ninjaargs }
attlist.ninjaargs &= attribute value { text }
mesonargsif = element if { attlist.if & mesonargsif* & mesonargs* & ninjaargs* }
meson = element meson { attlist.meson, mesonargsif*, mesonargs*, ninjaargs*, pkg-config?, branch?, dependencieselements }
attlist.meson &=
attribute id { text },
attribute mesonargs { text }?,
attribute ninjaargs { text }?
mesonargs = element mesonargs { attlist.mesonargs }
attlist.mesonargs &= attribute value { text }
perl = element perl { attlist.perl, branch?, dependencies?, after? }
attlist.perl &=
attribute id { text },
attribute makeargs { text }?
linux =
element linux {
attlist.linux, branch?, dependencies?, after?, kconfig+
}
attlist.linux &=
attribute id { text },
attribute makeargs { text }?
ant = element ant { attlist.ant, branch?, dependencies?, after? }
attlist.ant &=
attribute id { text },
attribute makeargs { text }?
testmodule =
element testmodule {
attlist.testmodule, branch?, dependencies?, after?, testedmodules?
}
attlist.testmodule &=
attribute id { text },
attribute type { text }
cvsroot = element cvsroot { attlist.cvsroot, empty }
attlist.cvsroot &=
attribute name { text },
attribute root { text },
[ a:defaultValue = "" ] attribute password { text }?
cvsmodule =
element cvsmodule {
attlist.cvsmodule, dependencieselements
}
attlist.cvsmodule &=
attribute id { text },
attribute cvsroot { text },
[ a:defaultValue = "yes" ]
attribute supports-non-srcdir-builds { "yes" | "no" }?
# Tarball's children
source = element source { attlist.source, empty }
attlist.source &=
attribute href { text },
attribute size { text }?,
attribute md5sum { text }?,
attribute hash { text }?
patches = element patches { attlist.patches, patch* }
attlist.patches &= empty
patch = element patch { attlist.patch, empty }
attlist.patch &=
attribute file { text },
[ a:defaultValue = "0" ] attribute strip { text }?
# Linux's children
kconfig = element kconfig { attlist.kconfig, empty }
attlist.kconfig &=
attribute repo { text }?,
attribute version { text },
attribute module { text }?,
attribute config { text }?
# Testmodule's children
testedmodules = element testedmodules { attlist.testedmodules, tested }
attlist.testedmodules &= empty
tested = element tested { attlist.tested, empty }
attlist.tested &= attribute package { text }
# Other children
attlist.if = attribute condition-set { text } | attribute condition-unset { text }
depif = element if { attlist.if & depif* & dep* }
dependencies = element dependencies { attlist.dependencies & depif* & dep* }
attlist.dependencies &= empty
suggests = element suggests { attlist.suggests & depif* & dep* }
attlist.suggests &= empty
after = element after { attlist.after & depif* & dep* }
attlist.after &= empty
systemdependencies = element systemdependencies { attlist.systemdependencies, sysdep* }
attlist.systemdependencies &= empty
dep = element dep { attlist.dep, empty }
attlist.dep &= attribute package { text }
sysdep = element dep { attlist.sysdep, altdep* }
attlist.sysdep &= attribute type { text }, attribute name { text }
altdep = element altdep { attlist.sysdep }
branch = element branch { attlist.branch, patch*, quilt* }
attlist.branch &=
attribute repo { text }?,
attribute module { text }?,
attribute checkoutdir { text }?,
[ a:defaultValue = "yes" ]
attribute override-checkoutdir { "yes" | "no" }?,
[ a:defaultValue = "yes" ]
attribute update-new-dirs { "yes" | "no" }?,
attribute source-subdir { text }?,
attribute revision { text }?,
attribute tag { text }?,
attribute user { text }?,
attribute revspec { text }?,
attribute branch { text }?,
attribute version { text }?,
attribute size { text }?,
attribute md5sum { text }?,
attribute hash { text }?,
attribute rename-tarball { text }?
# override-checkoutdir and update-new-dirs are CVS only
# source-subdir is tarballs only
quilt = element quilt { attlist.quilt, branch }
attlist.quilt &= attribute id { text }
start = moduleset | ant
|