[jhbuild] modulesets: Update schemas to represent the state of the modulesets
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [jhbuild] modulesets: Update schemas to represent the state of the modulesets
- Date: Wed, 20 Mar 2013 22:09:48 +0000 (UTC)
commit 6ed4fb5f885f7ce017e46420f8836b7d5483ac95
Author: Philip Withnall <philip tecnocode co uk>
Date: Wed Mar 20 16:11:47 2013 +0000
modulesets: Update schemas to represent the state of the modulesets
These updates are not exhaustive, but do mean that (with some fixes to be
committed shortly) all moduleset files now validate against both schemas.
Helps: https://bugzilla.gnome.org/show_bug.cgi?id=696184
modulesets/moduleset.dtd | 25 ++++++++++++++++---------
modulesets/moduleset.rnc | 42 +++++++++++++++++++++++++++++-------------
2 files changed, 45 insertions(+), 22 deletions(-)
---
diff --git a/modulesets/moduleset.dtd b/modulesets/moduleset.dtd
index 2ab13cb..8a97e57 100644
--- a/modulesets/moduleset.dtd
+++ b/modulesets/moduleset.dtd
@@ -1,11 +1,11 @@
-<!ELEMENT moduleset
(repository|include|autotools|metamodule|tarball|distutils|perl|linux|testmodule|cvsroot|cvsmodule|waf|cmake)+>
+<!ELEMENT moduleset
(repository|include|autotools|metamodule|tarball|distutils|perl|linux|testmodule|cvsroot|cvsmodule|waf|cmake|systemmodule)+>
<!ATTLIST moduleset
name CDATA #IMPLIED>
<!ELEMENT repository (mirror*)>
<!ATTLIST repository
name CDATA #REQUIRED
- type (arch|bzr|cvs|darcs|fossil|git|hg|svn|system|tarball) #REQUIRED
+ type (arch|bzr|cvs|darcs|fossil|git|hg|mtn|svn|system|tarball) #REQUIRED
default (yes|no) "no"
password CDATA #IMPLIED
cvsroot CDATA #IMPLIED
@@ -46,6 +46,7 @@
makefile CDATA #IMPLIED
skip-autogen (true|false|never) "false"
supports-non-srcdir-builds (yes|no) "yes"
+ supports-parallel-builds (yes|no) "yes"
autogen-template CDATA #IMPLIED
check-target (true|false) "true">
@@ -56,13 +57,13 @@
id CDATA #REQUIRED
waf-command CDATA #IMPLIED>
-<!ELEMENT metamodule (dependencies,after?)>
+<!ELEMENT metamodule (dependencies,suggests?,after?)>
<!ATTLIST metamodule
id CDATA #REQUIRED>
<!-- tarball module type is deprecated, a tarball repository inside the
appropriate modtype should be used instead -->
-<!ELEMENT tarball (pkg-config?,source,branch?,dependencies?,patches?,suggests?,after?)>
+<!ELEMENT tarball (pkg-config?,source,branch?,dependencies?,suggests?,after?,patches?)>
<!ATTLIST tarball
id CDATA #REQUIRED
version CDATA #REQUIRED
@@ -77,7 +78,7 @@
id ID #REQUIRED
supports-non-srcdir-builds (yes|no) "yes">
-<!ELEMENT cmake (pkg-config?,branch?,dependencies?,after?)>
+<!ELEMENT cmake (pkg-config?,branch?,dependencies?,suggests?,after?)>
<!ATTLIST cmake
id CDATA #REQUIRED
cmakeargs CDATA #IMPLIED
@@ -93,10 +94,10 @@
<!ATTLIST linux
id CDATA #REQUIRED>
-<!ELEMENT systemmodule (pkg-config?,branch?)>
+<!ELEMENT systemmodule (pkg-config?,branch,dependencies?,suggests?,after?,systemdependencies?)>
<!ATTLIST systemmodule
id CDATA #REQUIRED
- makeargs CDATA #IMPLIED>
+ supports-parallel-builds (yes|no) "yes">
<!ELEMENT testmodule (pkg-config?,branch?,dependencies?,after?,testedmodules?)>
<!ATTLIST testmodule
@@ -151,11 +152,17 @@
<!ELEMENT dependencies (dep*)>
<!ELEMENT suggests (dep*)>
<!ELEMENT after (dep*)>
+<!ELEMENT systemdependencies (dep*)>
<!ELEMENT dep EMPTY>
+<!-- This is actually 2 different types of element: <dep package=""/> as used in <dependencies>
+ and <dep type="" name=""/> as used in <systemdependencies>. The DTD can't specify both
+ separately since they have the same element name. -->
<!ATTLIST dep
- package CDATA #REQUIRED>
+ package CDATA #IMPLIED
+ type CDATA #IMPLIED
+ name CDATA #IMPLIED>
-<!ELEMENT branch (patch*)>
+<!ELEMENT branch (patch*,quilt*)>
<!ATTLIST branch
repo CDATA #IMPLIED
module CDATA #IMPLIED
diff --git a/modulesets/moduleset.rnc b/modulesets/moduleset.rnc
index 2c75b6b..bedfd38 100644
--- a/modulesets/moduleset.rnc
+++ b/modulesets/moduleset.rnc
@@ -14,7 +14,9 @@ moduleset =
| testmodule
| cvsroot
| cvsmodule
- | waf)+
+ | waf
+ | cmake
+ | systemmodule)+
}
attlist.moduleset &= attribute name { text }?
repository = element repository { attlist.repository, mirror* }
@@ -28,7 +30,9 @@ attlist.repository &=
| "fossil"
| "git"
| "hg"
+ | "mtn"
| "svn"
+ | "system"
| "tarball"
},
[ a:defaultValue = "no" ] attribute default { "yes" | "no" }?,
@@ -66,9 +70,11 @@ attlist.mirror &=
attribute href { text }?
\include = element include { attlist.include, empty }
attlist.include &= attribute href { text }
+# As parsed by get_dependencies()
+dependencieselements = dependencies?, suggests?, after?, systemdependencies?
autotools =
element autotools {
- attlist.autotools, branch, dependencies?, suggests?, after?
+ attlist.autotools, 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
@@ -83,30 +89,36 @@ attlist.autotools &=
attribute skip-autogen { "true" | "false" | "never" }?,
[ a:defaultValue = "yes" ]
attribute supports-non-srcdir-builds { "yes" | "no" }?,
+ attribute supports-parallel-builds { "yes" | "no" }?,
attribute autogen-template { text }?,
[ a:defaultValue = "true" ]
attribute check-target { "true" | "false" }?
waf =
- element waf { attlist.waf, branch, dependencies?, suggests?, after? }
+ 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, dependencies, after? }
+ 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?,
- dependencies?,
- patches?,
- suggests?,
- after?
+ dependencieselements,
+ patches?
}
attlist.tarball &=
attribute id { text },
@@ -125,10 +137,10 @@ attlist.distutils &=
attribute id { xsd:ID },
[ a:defaultValue = "yes" ]
attribute supports-non-srcdir-builds { "yes" | "no" }?
-cmake = element cmake { attlist.cmake, branch?, dependencies?, after? }
+cmake = element cmake { attlist.cmake, pkg-config?, branch?, dependencieselements }
attlist.cmake &=
attribute id { text },
- attribute cmakeargs { text }?
+ attribute cmakeargs { text }?,
attribute makeargs { text }?
perl = element perl { attlist.perl, branch?, dependencies?, after? }
attlist.perl &=
@@ -159,7 +171,7 @@ attlist.cvsroot &=
[ a:defaultValue = "" ] attribute password { text }?
cvsmodule =
element cvsmodule {
- attlist.cvsmodule, suggests?, dependencies?, after?
+ attlist.cvsmodule, dependencieselements
}
attlist.cvsmodule &=
attribute id { text },
@@ -198,9 +210,13 @@ suggests = element suggests { attlist.suggests, dep* }
attlist.suggests &= empty
after = element after { attlist.after, dep* }
attlist.after &= empty
+systemdependencies = element systemdependencies { attlist.systemdependencies, sysdep* }
+attlist.systemdependencies &= empty
dep = element dep { attlist.dep, empty }
attlist.dep &= attribute package { text }
-branch = element branch { attlist.branch, patch* }
+sysdep = element dep { attlist.sysdep, empty }
+attlist.sysdep &= attribute type { text }, attribute name { text }
+branch = element branch { attlist.branch, patch*, quilt* }
attlist.branch &=
attribute repo { text }?,
attribute module { text }?,
@@ -223,4 +239,4 @@ attlist.branch &=
# source-subdir is tarballs only
quilt = element quilt { attlist.quilt, branch }
attlist.quilt &= attribute id { text }
-start = quilt | moduleset | cmake | ant
+start = moduleset | ant
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]