-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Michał Górny:
> On Sat, 30 Apr 2016 02:36:18 -0400 Göktürk Yüksek
> <[email protected]> wrote:
> 
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
>> 
>> Michał Górny:
>>> On Thu, 28 Apr 2016 19:41:06 -0400 Göktürk Yüksek 
>>> <[email protected]> wrote:
>>> 
>>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
>>>> 
>>>> Brian Dolbec:
>>>>> On Thu, 28 Apr 2016 15:39:05 -0400 Göktürk Yüksek 
>>>>> <[email protected]> wrote:
>>>>> 
>>>>>> --- metadata.dtd | 5 +---- 1 file changed, 1
>>>>>> insertion(+), 4 deletions(-)
>>>>>> 
>>>>>> diff --git a/metadata.dtd b/metadata.dtd index 
>>>>>> 7626a57..b608852 100644 --- a/metadata.dtd +++
>>>>>> b/metadata.dtd @@ -3,7 +3,7 @@ <!ATTLIST catmetadata
>>>>>> pkgname CDATA "">
>>>>>> 
>>>>>> <!-- Metadata for a package --> -<!ELEMENT pkgmetadata (
>>>>>>  
>>>>>> (maintainer|natural-name|longdescription|slots|use|upstream)*
>>>>>>  )> +<!ELEMENT pkgmetadata ( 
>>>>>> (maintainer|longdescription|slots|use|upstream)* )>
>>>>>> <!ATTLIST pkgmetadata pkgname CDATA ""> <!-- One tag for
>>>>>> each maintainer of a package, multiple allowed--> @@
>>>>>> -13,9 +13,6 @@ explicit type) for Gentoo maintainers is
>>>>>> prohibited. --> <!ATTLIST maintainer type
>>>>>> (person|project|unknown) "unknown">
>>>>>> 
>>>>>> -  <!-- Natural name for package, example: LibreOffice
>>>>>> (for app-office/libreoffice) --> -  <!ELEMENT
>>>>>> natural-name (#PCDATA)
>>>>>>> - <!-- A long description of the package in freetext-->
>>>>>>> 
>>>>>> <!ELEMENT longdescription (#PCDATA|pkg|cat)* >
>>>>> 
>>>>> Isn't this almost obsolete?  it's now xmlschema...  And I
>>>>> hope to have the new repoman with it out this weekend :)
>>>> 
>>>> Does GLEP 68 explicitly declare metadata.dtd obsolete? I see
>>>> that the example metadata.xml on the GLEP is missing DOCTYPE,
>>>> are we getting rid of those too?
>>> 
>>> No, and I don't know.
>>> 
>>> metadata.dtd is still required by many tools, and as such it
>>> makes sense to keep it. However, we may want to put some
>>> warning that it's not very strict, and allows major structural
>>> violations due to technical limitations.
>>> 
>> After a discussion with ulm on IRC, we agreed that the following
>> makes sense: "the format of the metadata is defined in GLEP 68.
>> the syntax is defined in metadata.dtd. The xml-schema can be used
>> for stricter validation checks." If you have no objections, I
>> will update devmanual based on this description.
> 
> What is the precise difference between 'format' and 'syntax' here?
> I'm no native English speaker, and I don't see any obvious split
> of responsibility between the two here, and I'm pretty sure this
> will be quite confusing for other people as well.
> 
I admit that it is hard to make a clear distinction. When I look at
the GLEPs replaced by GLEP68, I see that they propose a change for
metadata.xml and explain how that affects metadata.dtd. GLEP34 has
"The DTD file would need to be updated to include the <catmetadata>
element.", GLEP46 explicitly says "metadata.dtd should allow the use
of a upstream tag in metadata.xml.", GLEP56 points to #199788 which
required DTD to be patched. GLEP68 is rather vague as to how
metadata.dtd is affected. It doesn't say whether it should be updated
or if it has any role at all.

GLEP68 provides a single human readable specification for the metadata
format. In that respect, however, the DTD along with the comments in
it is just as expressive, if not better: a developer can read through
the DTD and learn all the information contained in the GLEP, plus the
remote-id values which are not part of the specification for reasons
you stated earlier. And that was the reason why I used the term
"syntax": the DTD lists all the allowed elements, attributes, and
values for the metadata that should be used in conformance with the GLEP
.

In the end, the DTD isn't much better than the GLEP as a human
readable document and does a worse job than the xsd as a machine
readable document for validation purposes. Once repoman switches to
the xml-schema, there would be no good use for it and I don't know
what should be done about the DTD. I think that until we figure it
out, we should keep it in sync with the GLEP and xsd.


-----BEGIN PGP SIGNATURE-----

iQEcBAEBCgAGBQJXJoZnAAoJEIT4AuXAiM4z1tsIAKj7/dBAQcsttsMxJbOlM4Ew
GMiS4LK3/QZqlEM8ixL3otKptbWDhyJiB+c7cafyAamgFKGprWYnk2X+zFEfgmRw
adjWjH4fwtS/AW/VFU4aeE4cYVOGF0ju0dh6ZO6bAYl4MJtcS5xVtRdDkIm3eacX
OMjdzvuKgwYKiYxRu2AmCLS2+jExEj48mDEa9jPZMOb14xEljsRNjF76kPr6o8eG
/XJ6t5o4+Ckkpwx4kckBUDtSj6ipuPz0SqwVrYLxhogwDas6E0h9BovGuaeLmgVM
GYCXJzsetuWIvbRxJJhH9cTADjCwAt7SYGfdA72fknnmf0QZgScPjBnLUQSn2G4=
=/CcU
-----END PGP SIGNATURE-----

Reply via email to