public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
@ 2016-04-28 19:39 Göktürk Yüksek
  2016-04-28 21:04 ` Brian Dolbec
  0 siblings, 1 reply; 14+ messages in thread
From: Göktürk Yüksek @ 2016-04-28 19:39 UTC (permalink / raw
  To: gentoo-dev

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



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
  2016-04-28 19:39 [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68 Göktürk Yüksek
@ 2016-04-28 21:04 ` Brian Dolbec
  2016-04-28 23:41   ` Göktürk Yüksek
  2016-04-29  0:34   ` [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element " Ulrich Mueller
  0 siblings, 2 replies; 14+ messages in thread
From: Brian Dolbec @ 2016-04-28 21:04 UTC (permalink / raw
  To: gentoo-dev

On Thu, 28 Apr 2016 15:39:05 -0400
Göktürk Yüksek <gokturk@binghamton.edu> 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 :)
-- 
Brian Dolbec <dolsen>



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
  2016-04-28 21:04 ` Brian Dolbec
@ 2016-04-28 23:41   ` Göktürk Yüksek
  2016-04-29 12:57     ` Michał Górny
  2016-04-29  0:34   ` [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element " Ulrich Mueller
  1 sibling, 1 reply; 14+ messages in thread
From: Göktürk Yüksek @ 2016-04-28 23:41 UTC (permalink / raw
  To: gentoo-dev

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

Brian Dolbec:
> On Thu, 28 Apr 2016 15:39:05 -0400 Göktürk Yüksek
> <gokturk@binghamton.edu> 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?

I understand that the DTD is more like a super-set, so anything that
complies with GLEP 68 will comply with the DTD as well. However, there
is a caveat here: for example the GLEP dismisses the list of possible
values for <remote-id/> by saying "The list of available trackers and
their specific identifiers are outside scope of this specification."
but does not mention where these values shall be kept either. The
moment we add a new remote-id, the xmlschema diverges from the DTD and
stops being a subset.

Besides, the PMS says the format of metadata.xml is described in DTD.
Even if we move to something else, doesn't metadata.dtd need to be
kept around until the PMS is amended?

- --
gokturk

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

iQEcBAEBCgAGBQJXIp+LAAoJEIT4AuXAiM4zszAIAI8GPcE8Ap3b652DYWRX/THb
IeRBMGyTsgu8s0GB5i7Qfy94uKMxc1+9SCipEK0GoBq7Vkeils8SHdSNCt2TPE6t
Hzh4UG6lI7qebMVrsRi85GDZr1l4HA5/Co54lizMlFW7uO8vgRRU2Cj7AfPt/BFQ
zan7+yQv+zLv0OVxb2XPAnbCMn0cL5PIzSBXN4aN+p58FVOwJlUs/tEQbNOKjRWK
v6J4ejz4QA8Sy6Gx7aAupBzT+8YhtU9BLMWzbSf4VEMBELD8ZrzYfZtxZQNcpkFV
INef3hFcpM+5whHTDQ0QfAbVXEyRRVoMo1W87yZLUT7qUrlRcMhbjopT6+e+ZCs=
=HDEG
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
  2016-04-28 21:04 ` Brian Dolbec
  2016-04-28 23:41   ` Göktürk Yüksek
@ 2016-04-29  0:34   ` Ulrich Mueller
  1 sibling, 0 replies; 14+ messages in thread
From: Ulrich Mueller @ 2016-04-29  0:34 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 383 bytes --]

>>>>> On Thu, 28 Apr 2016, Brian Dolbec wrote:

> Isn't this almost obsolete?  it's now xmlschema...

Why would that make the DTD obsolete?

The DTD can be used as input format for conversion to other formats
(like RNG or RNC). XML schema is pretty much useless in this respect,
since there seem to be no free conversion tools around that would
accept it as an input format.

Ulrich

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
  2016-04-28 23:41   ` Göktürk Yüksek
@ 2016-04-29 12:57     ` Michał Górny
  2016-04-30  6:36       ` Göktürk Yüksek
  0 siblings, 1 reply; 14+ messages in thread
From: Michał Górny @ 2016-04-29 12:57 UTC (permalink / raw
  To: Göktürk Yüksek; +Cc: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 4156 bytes --]

On Thu, 28 Apr 2016 19:41:06 -0400
Göktürk Yüksek <gokturk@binghamton.edu> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> Brian Dolbec:
> > On Thu, 28 Apr 2016 15:39:05 -0400 Göktürk Yüksek
> > <gokturk@binghamton.edu> 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.

As for DOCTYPE, there was no formal decision on that. It's not
technically required, so the GLEP doesn't enforce it. However, I don't
expect it being gone anytime soon. One of the reasons behind it is that
repoman enforces it as part of metadata.xml validation. If it is to be
gone, stable repoman needs to accept it missing at least for some time.

There was a proposal to link new/additional schemas in metadata.xml
files. However, I personally don't think we should go this way. DOCTYPE
already proved troublesome (when we switched to https),
and maintaining any kind of schema reference in XML files doesn't give
us any real benefit (we don't enforce any hard defaults besides
languages there, and I don't think many XML parsers would respect that
anyway).

> I understand that the DTD is more like a super-set, so anything that
> complies with GLEP 68 will comply with the DTD as well. However, there
> is a caveat here: for example the GLEP dismisses the list of possible
> values for <remote-id/> by saying "The list of available trackers and
> their specific identifiers are outside scope of this specification."
> but does not mention where these values shall be kept either. The
> moment we add a new remote-id, the xmlschema diverges from the DTD and
> stops being a subset.

Well, there is good reason for not hardcoding the list in the GLEP,
and this obviously is to avoid updating the GLEP for every single
change. And yes, as you can see, I didn't point out a specific location
where remote-ids are to be defined to avoid problems like the one noted
below.

As I see it, we can defer it to some project / wiki page, or simply
keep it in either of the schemas. Either way, we should keep both
schemas reasonably up-to-date.

> Besides, the PMS says the format of metadata.xml is described in DTD.
> Even if we move to something else, doesn't metadata.dtd need to be
> kept around until the PMS is amended?

The key point PMS is making is 'outside the scope'. The specific
location is just a minor problem, and it should be updated. I'll take
a look at it.

Oh, and +1 for the patch. If nobody complains and nobody beats me up to
it, I'll commit it this weekend.

-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
  2016-04-29 12:57     ` Michał Górny
@ 2016-04-30  6:36       ` Göktürk Yüksek
  2016-04-30 11:34         ` Michał Górny
  2016-05-01  6:05         ` [gentoo-dev] [PATCH v1 1/4] " Göktürk Yüksek
  0 siblings, 2 replies; 14+ messages in thread
From: Göktürk Yüksek @ 2016-04-30  6:36 UTC (permalink / raw
  To: Michał Górny; +Cc: gentoo-dev

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

Michał Górny:
> On Thu, 28 Apr 2016 19:41:06 -0400 Göktürk Yüksek
> <gokturk@binghamton.edu> wrote:
> 
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
>> 
>> Brian Dolbec:
>>> On Thu, 28 Apr 2016 15:39:05 -0400 Göktürk Yüksek 
>>> <gokturk@binghamton.edu> 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.

> As for DOCTYPE, there was no formal decision on that. It's not 
> technically required, so the GLEP doesn't enforce it. However, I
> don't expect it being gone anytime soon. One of the reasons behind
> it is that repoman enforces it as part of metadata.xml validation.
> If it is to be gone, stable repoman needs to accept it missing at
> least for some time.
> 
> There was a proposal to link new/additional schemas in
> metadata.xml files. However, I personally don't think we should go
> this way. DOCTYPE already proved troublesome (when we switched to
> https), and maintaining any kind of schema reference in XML files
> doesn't give us any real benefit (we don't enforce any hard
> defaults besides languages there, and I don't think many XML
> parsers would respect that anyway).
> 
>> I understand that the DTD is more like a super-set, so anything
>> that complies with GLEP 68 will comply with the DTD as well.
>> However, there is a caveat here: for example the GLEP dismisses
>> the list of possible values for <remote-id/> by saying "The list
>> of available trackers and their specific identifiers are outside
>> scope of this specification." but does not mention where these
>> values shall be kept either. The moment we add a new remote-id,
>> the xmlschema diverges from the DTD and stops being a subset.
> 
> Well, there is good reason for not hardcoding the list in the
> GLEP, and this obviously is to avoid updating the GLEP for every
> single change. And yes, as you can see, I didn't point out a
> specific location where remote-ids are to be defined to avoid
> problems like the one noted below.
> 
> As I see it, we can defer it to some project / wiki page, or
> simply keep it in either of the schemas. Either way, we should keep
> both schemas reasonably up-to-date.
> 
>> Besides, the PMS says the format of metadata.xml is described in
>> DTD. Even if we move to something else, doesn't metadata.dtd need
>> to be kept around until the PMS is amended?
> 
> The key point PMS is making is 'outside the scope'. The specific 
> location is just a minor problem, and it should be updated. I'll
> take a look at it.
> 
> Oh, and +1 for the patch. If nobody complains and nobody beats me
> up to it, I'll commit it this weekend.
> 

Please hold off the merge. I have found a few more things that require
fixing. I'll send a new patch series for review.

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

iQEcBAEBCgAGBQJXJFJcAAoJEIT4AuXAiM4zcTMH+wcmYptb9MPo+7oSRx9ViS22
RVwUKiwdb55JmMHLXWu7ATQS+X1Jb5LqlNxIdpUz77zfP9+WFJJagJI9F1oi7a4s
e9wi7a1J3H812Xo2JcRZGnp95OX2O/c7dyXCcG5VMwB8kqW8JMykb+QmI0opm9s7
ePX0e1lQ3mhaMy8thTRBZK9a1cA+B86PWBtQRtQtb3leotD06DDnO0sZchLYsDYZ
A0qTDOZ+V5t9qJ0EtNJ8jb9T/7dz971noZUwdUDgkveU1Q+3o/IWBzZD765WaPYs
dSlWhn8linRLk3UhHe95+vCL0NAuLLdEEPIiNNrLRG3orz/gfbz7kl0E8+JNW58=
=DLlT
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
  2016-04-30  6:36       ` Göktürk Yüksek
@ 2016-04-30 11:34         ` Michał Górny
  2016-05-01 22:42           ` Göktürk Yüksek
  2016-05-01  6:05         ` [gentoo-dev] [PATCH v1 1/4] " Göktürk Yüksek
  1 sibling, 1 reply; 14+ messages in thread
From: Michał Górny @ 2016-04-30 11:34 UTC (permalink / raw
  To: Göktürk Yüksek; +Cc: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 2828 bytes --]

On Sat, 30 Apr 2016 02:36:18 -0400
Göktürk Yüksek <gokturk@binghamton.edu> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> Michał Górny:
> > On Thu, 28 Apr 2016 19:41:06 -0400 Göktürk Yüksek
> > <gokturk@binghamton.edu> wrote:
> >   
> >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
> >> 
> >> Brian Dolbec:  
> >>> On Thu, 28 Apr 2016 15:39:05 -0400 Göktürk Yüksek 
> >>> <gokturk@binghamton.edu> 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.

-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [gentoo-dev] [PATCH v1 1/4] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
  2016-04-30  6:36       ` Göktürk Yüksek
  2016-04-30 11:34         ` Michał Górny
@ 2016-05-01  6:05         ` Göktürk Yüksek
  2016-05-01  6:05           ` [gentoo-dev] [PATCH v1 2/4] metadata.dtd: set the lang attribute default value to "en" " Göktürk Yüksek
                             ` (2 more replies)
  1 sibling, 3 replies; 14+ messages in thread
From: Göktürk Yüksek @ 2016-05-01  6:05 UTC (permalink / raw
  To: gentoo-dev

Signed-off-by: Göktürk Yüksek <gokturk@binghamton.edu>
---
 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)* >
 
-- 
2.7.3



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-dev] [PATCH v1 2/4] metadata.dtd: set the lang attribute default value to "en" per GLEP 68
  2016-05-01  6:05         ` [gentoo-dev] [PATCH v1 1/4] " Göktürk Yüksek
@ 2016-05-01  6:05           ` Göktürk Yüksek
  2016-05-01  6:05           ` [gentoo-dev] [PATCH v1 3/4] metadata.dtd: update the restrict attribute explanation " Göktürk Yüksek
  2016-05-01  6:05           ` [gentoo-dev] [PATCH v1 4/4] metadata: update the slot element name " Göktürk Yüksek
  2 siblings, 0 replies; 14+ messages in thread
From: Göktürk Yüksek @ 2016-05-01  6:05 UTC (permalink / raw
  To: gentoo-dev

Also mention that the attribute value must be a valid ISO 639-1
language code.

Signed-off-by: Göktürk Yüksek <gokturk@binghamton.edu>
---
 metadata.dtd | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/metadata.dtd b/metadata.dtd
index b608852..a3c06ff 100644
--- a/metadata.dtd
+++ b/metadata.dtd
@@ -42,7 +42,7 @@
     <!ELEMENT changelog (#PCDATA)>
     <!-- URL where the location of the upstream documentation can be found -->
     <!ELEMENT doc (#PCDATA)>
-      <!ATTLIST doc lang CDATA "C" >
+      <!ATTLIST doc lang CDATA "en" >
     <!-- location where to report bugs
       (may also be an email address prefixed with mailto:) -->
     <!ELEMENT bugs-to (#PCDATA)>
@@ -57,14 +57,14 @@
           
 <!-- Common attributes -->
 
-<!-- the lang attribute, specifies the language of this tag. This is 
-  only useful for descriptions of various kinds. If a tag with this 
-  attribute is included there must be a description in the default 
-  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 lang attribute, specifies the language of this tag in the
+  form of a ISO 639-1 language code. This is only useful for
+  descriptions of various kinds. If a tag with this attribute is
+  included there must be a description in the default language "en" -->
+  <!ATTLIST description lang CDATA "en" >
+  <!ATTLIST longdescription lang CDATA "en" >
+  <!ATTLIST slots lang CDATA "en" >
+  <!ATTLIST use lang CDATA "en" >
 
 <!-- The restrict attribute, this attribute specifies restrictions on 
   the applicability of tags on versions. The format of this attribute is 
-- 
2.7.3



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-dev] [PATCH v1 3/4] metadata.dtd: update the restrict attribute explanation per GLEP 68
  2016-05-01  6:05         ` [gentoo-dev] [PATCH v1 1/4] " Göktürk Yüksek
  2016-05-01  6:05           ` [gentoo-dev] [PATCH v1 2/4] metadata.dtd: set the lang attribute default value to "en" " Göktürk Yüksek
@ 2016-05-01  6:05           ` Göktürk Yüksek
  2016-05-01  6:05           ` [gentoo-dev] [PATCH v1 4/4] metadata: update the slot element name " Göktürk Yüksek
  2 siblings, 0 replies; 14+ messages in thread
From: Göktürk Yüksek @ 2016-05-01  6:05 UTC (permalink / raw
  To: gentoo-dev

Signed-off-by: Göktürk Yüksek <gokturk@binghamton.edu>
---
 metadata.dtd | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/metadata.dtd b/metadata.dtd
index a3c06ff..8ef1396 100644
--- a/metadata.dtd
+++ b/metadata.dtd
@@ -68,9 +68,10 @@
 
 <!-- The restrict attribute, this attribute specifies restrictions on 
   the applicability of tags on versions. The format of this attribute is 
-  equal to the format of DEPEND lines in ebuilds. There is one special 
-  value though: restrict="*". A tag that specifies this only applies if 
-  there are no other tags that apply.
+  equal to the format of DEPEND lines in ebuilds. Only package
+  dependency specifications conforming to EAPI=0 syntax are allowed.
+  The dependency specification may only contain references to the
+  package itself and no other package.
   
   For required tags, there must be either an unrestricted version, or a 
   version that is default restricted. -->
-- 
2.7.3



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-dev] [PATCH v1 4/4] metadata: update the slot element name attribute explanation per GLEP 68
  2016-05-01  6:05         ` [gentoo-dev] [PATCH v1 1/4] " Göktürk Yüksek
  2016-05-01  6:05           ` [gentoo-dev] [PATCH v1 2/4] metadata.dtd: set the lang attribute default value to "en" " Göktürk Yüksek
  2016-05-01  6:05           ` [gentoo-dev] [PATCH v1 3/4] metadata.dtd: update the restrict attribute explanation " Göktürk Yüksek
@ 2016-05-01  6:05           ` Göktürk Yüksek
  2 siblings, 0 replies; 14+ messages in thread
From: Göktürk Yüksek @ 2016-05-01  6:05 UTC (permalink / raw
  To: gentoo-dev

Signed-off-by: Göktürk Yüksek <gokturk@binghamton.edu>
---
 metadata.dtd | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/metadata.dtd b/metadata.dtd
index 8ef1396..6d38729 100644
--- a/metadata.dtd
+++ b/metadata.dtd
@@ -20,7 +20,10 @@
   <!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 -->
+      <!-- name attribute holds the name of the SLOT, for sub-SLOTS
+      use the subslots element. A slot name of '*' can be used to
+      indicate a single description applying to all the slots in which
+      case no other <slot/> elements may be present. -->
       <!ATTLIST slot name CDATA #REQUIRED >
     <!-- The meaning of sub-SLOTs for the whole package -->
     <!ELEMENT subslots (#PCDATA)* >
-- 
2.7.3



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
  2016-04-30 11:34         ` Michał Górny
@ 2016-05-01 22:42           ` Göktürk Yüksek
  2016-05-01 23:27             ` Brian Dolbec
  2016-05-02  7:05             ` Michał Górny
  0 siblings, 2 replies; 14+ messages in thread
From: Göktürk Yüksek @ 2016-05-01 22:42 UTC (permalink / raw
  To: Michał Górny; +Cc: gentoo-dev

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

Michał Górny:
> On Sat, 30 Apr 2016 02:36:18 -0400 Göktürk Yüksek
> <gokturk@binghamton.edu> wrote:
> 
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
>> 
>> Michał Górny:
>>> On Thu, 28 Apr 2016 19:41:06 -0400 Göktürk Yüksek 
>>> <gokturk@binghamton.edu> wrote:
>>> 
>>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
>>>> 
>>>> Brian Dolbec:
>>>>> On Thu, 28 Apr 2016 15:39:05 -0400 Göktürk Yüksek 
>>>>> <gokturk@binghamton.edu> 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-----


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
  2016-05-01 22:42           ` Göktürk Yüksek
@ 2016-05-01 23:27             ` Brian Dolbec
  2016-05-02  7:05             ` Michał Górny
  1 sibling, 0 replies; 14+ messages in thread
From: Brian Dolbec @ 2016-05-01 23:27 UTC (permalink / raw
  To: gentoo-dev

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

On Sun, 1 May 2016 18:42:54 -0400
Göktürk Yüksek <gokturk@binghamton.edu> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> Michał Górny:
> > On Sat, 30 Apr 2016 02:36:18 -0400 Göktürk Yüksek
> > <gokturk@binghamton.edu> wrote:
> >   
> >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
> >> 
> >> Michał Górny:  
> >>> On Thu, 28 Apr 2016 19:41:06 -0400 Göktürk Yüksek 
> >>> <gokturk@binghamton.edu> wrote:
> >>>   
> >>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
> >>>> 
> >>>> Brian Dolbec:  
> >>>>> On Thu, 28 Apr 2016 15:39:05 -0400 Göktürk Yüksek 
> >>>>> <gokturk@binghamton.edu> 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.


Can I trouble you and Michał to create some test ebuilds for repoman
that break the rules in a way that properly tests repoman code?

It'll be included in the new gen-b0rk repo which is specifically for
repoman test ebuilds.

 I'll be sending out an email for it shortly.

- -- 
Brian Dolbec <dolsen>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.1

iQJ8BAEBCgBmBQJXJpDdXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNUQ3Qzc0RTA4MUNDNzBEQjRBNEFBRjVG
QkJEMDg3Mjc1ODIwRUQ4AAoJEPu9CHJ1gg7YAWgQAJ/oebwzsbbieOlEZZaONiZr
WPtpKY9en4Dgf2OLeLMbv3boQY71OVVJCdNbqfRHkeYPlIZLgYzoy+tWoh6lUJUS
91GJLVWNpm+OnD4ihc6/6YJW7SVXVv9Y6Ekm80lgWnm6EJZ5sczdvyvt3WzMciOD
P0bzdFPJEDaktCZzMZJrmrjWv6SHEwnNinFpBKASS/G7CpS88z1Ts87hlRdzjidE
Bpx+p1AVudS3WuQcqz/Tdu4QvNHRCm0ZM77XtNPVYl5ZAwAKn3rj8Nw+yZfLTjx9
ldv1n9k6vQoUi4kY/Icrj8FJOo7iWxm9whxh/5nUhcp8OgigsK7OiDyWaJ9+y5jP
AJeoMqfCjQbsmUV8pxeNv2AB0CbvJ00/m9C5aET0T7m7LwqK7N5xTMWPk3OVRHlm
D8BPR+XtGLPTwP4M7yD7hPkrKyjF8MsgVzzyyUwsYoW09dXwtMLOxwbr85i28kST
SDYS5c7lrQlzyMtckG99BVaqU6gEzEvm0jahZw/VyExk8rig8183kS7BmzJsrniN
DZiyeeNbw6Tq60mDm7B0CZcMjh3XlNLq+mdCozyRSFgdYYdbd2vqC0Z/7xq3qP5r
UmDb0vSC3eTeGqkqecChR93Dm285BQCHPKwW+cfZeLdV4VmoCEzDpXiDcloU56sy
Acv9vEXQjIHeF2Y42Gwm
=nZA4
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68
  2016-05-01 22:42           ` Göktürk Yüksek
  2016-05-01 23:27             ` Brian Dolbec
@ 2016-05-02  7:05             ` Michał Górny
  1 sibling, 0 replies; 14+ messages in thread
From: Michał Górny @ 2016-05-02  7:05 UTC (permalink / raw
  To: Göktürk Yüksek; +Cc: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 4557 bytes --]

On Sun, 1 May 2016 18:42:54 -0400
Göktürk Yüksek <gokturk@binghamton.edu> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> Michał Górny:
> > On Sat, 30 Apr 2016 02:36:18 -0400 Göktürk Yüksek
> > <gokturk@binghamton.edu> wrote:
> >   
> >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
> >> 
> >> Michał Górny:  
> >>> On Thu, 28 Apr 2016 19:41:06 -0400 Göktürk Yüksek 
> >>> <gokturk@binghamton.edu> wrote:
> >>>   
> >>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
> >>>> 
> >>>> Brian Dolbec:  
> >>>>> On Thu, 28 Apr 2016 15:39:05 -0400 Göktürk Yüksek 
> >>>>> <gokturk@binghamton.edu> 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

It's not better. As you can have seen, numerous developers were adding
incorrect attributes and sub-elements to downstream and upstream
<maintainer/>s based on DTD. The comments there didn't help.

-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-05-02  7:05 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-28 19:39 [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element per GLEP 68 Göktürk Yüksek
2016-04-28 21:04 ` Brian Dolbec
2016-04-28 23:41   ` Göktürk Yüksek
2016-04-29 12:57     ` Michał Górny
2016-04-30  6:36       ` Göktürk Yüksek
2016-04-30 11:34         ` Michał Górny
2016-05-01 22:42           ` Göktürk Yüksek
2016-05-01 23:27             ` Brian Dolbec
2016-05-02  7:05             ` Michał Górny
2016-05-01  6:05         ` [gentoo-dev] [PATCH v1 1/4] " Göktürk Yüksek
2016-05-01  6:05           ` [gentoo-dev] [PATCH v1 2/4] metadata.dtd: set the lang attribute default value to "en" " Göktürk Yüksek
2016-05-01  6:05           ` [gentoo-dev] [PATCH v1 3/4] metadata.dtd: update the restrict attribute explanation " Göktürk Yüksek
2016-05-01  6:05           ` [gentoo-dev] [PATCH v1 4/4] metadata: update the slot element name " Göktürk Yüksek
2016-04-29  0:34   ` [gentoo-dev] [PATCH] metadata.dtd: Remove obsolete <natural-name/> element " Ulrich Mueller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox