summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Ospald <hasufell@gentoo.org>2015-10-12 19:19:33 +0200
committerMichał Górny <mgorny@gentoo.org>2015-10-17 21:11:52 +0200
commit551e00fc42ed21f6a6ff6129b5b85e64725d9665 (patch)
treef515f6f4d15092df93e1ac72b13cd35f83a7b642
parentherds: Remove no-longer usable <maintainingproject/> element (diff)
downloaddtd-551e00fc42ed21f6a6ff6129b5b85e64725d9665.tar.gz
dtd-551e00fc42ed21f6a6ff6129b5b85e64725d9665.tar.bz2
dtd-551e00fc42ed21f6a6ff6129b5b85e64725d9665.zip
metadata: add slots element
There seems to be some general confusion about specific package SLOTs and their meaning, since there can be several naming schemes applied and documentation is either non-existent or is inside the ebuild via comments. Because of that it should be part of metadata.xml. An example use case for media-libs/libpng would be: <slots> <slot name="0">For building against. This is the only slot that provides headers and command line tools.</slot> <slot name="1.2">For binary compatibility, provides libpng12.so.0.</slot> <slot name="1.5">For binary compatibility, provides libpng15.so.15.</slot> <subslots>Represent ABI compatibility for libpng.so.</subslots> </slots> For packages like x11-libs/wxGTK one could write: <slots> <slot name="*">Major versions.</slot> </slots>
-rw-r--r--metadata.dtd12
1 files changed, 11 insertions, 1 deletions
diff --git a/metadata.dtd b/metadata.dtd
index ff2649c..4b29f3b 100644
--- a/metadata.dtd
+++ b/metadata.dtd
@@ -5,7 +5,7 @@
<!ATTLIST catmetadata pkgname CDATA "">
<!-- Metadata for a package -->
-<!ELEMENT pkgmetadata ( (herd|maintainer|natural-name|longdescription|use|upstream)* )>
+<!ELEMENT pkgmetadata ( (herd|maintainer|natural-name|longdescription|slots|use|upstream)* )>
<!ATTLIST pkgmetadata pkgname CDATA "">
<!-- One tag for each herd this package is assigned to. -->
@@ -20,6 +20,15 @@
<!-- A long description of the package in freetext-->
<!ELEMENT longdescription (#PCDATA|pkg|cat)* >
+ <!-- A description of the packages SLOTs -->
+ <!ELEMENT slots ((slot)*,subslots?) >
+ <!-- A particular SLOT -->
+ <!ELEMENT slot (#PCDATA)* >
+ <!-- name attribute holds the name of the SLOT, for sub-SLOTS use the subslots element -->
+ <!ATTLIST slot name CDATA #REQUIRED >
+ <!-- The meaning of sub-SLOTs for the whole package -->
+ <!ELEMENT subslots (#PCDATA)* >
+
<!-- The changelog of the package-->
<!-- Please note that #PCDATA is mentioned only for the upstream changelog
element, where the content is a URL. This is due to limitations of the DTD -->
@@ -79,6 +88,7 @@
language "C" or "en", which is equivalent -->
<!ATTLIST description lang CDATA "C" >
<!ATTLIST longdescription lang CDATA "C" >
+ <!ATTLIST slots lang CDATA "C" >
<!ATTLIST use lang CDATA "C" >
<!-- The restrict attribute, this attribute specifies restrictions on