[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DEP3 and even more incompatible "RFC-2822" formats



Le Mon, Nov 23, 2009 at 09:04:19PM +0100, Carl Fürstenberg a écrit :
> I took my time reading DEP3 (http://dep.debian.net/deps/dep3/) and
> notice they introduce an new "RFC-2822-like" format. This time they
> introduce an ambiguous rules where either the Description or the
> Subject field and contain verbatim data (which one is uncertain to me,
> the text implies one of them, but says Description first, and Subject
> later). This will off course require an specific parser as a parser
> for the debcontrol format can't be used due to this rule. Including
> this with the policy that only debian/control can contain comments
> (policy 5.2) and that DEP5 (http://dep.debian.net/deps/dep5/)
> introduces a "superset of RFC2822".
> Wouldn't it now be a good time to formally define a format that can be
> parsed with a generic parser, instead of continuing the invention of
> additional RFC-2822++ formats?
> 
> On an other note, the DEP3 verbatim data specifier doesn't define any
> limits on what data it can contain, so the content "...as you can see
> in the following\nbug: blablabla" is ambiguous as best.

Dear Carl,

The DEP5 specification is starting to age because I and Steve have not been
very active driving it recently, but I am quite confident that, whatever the
final content of this DEP, it will use a less clumsy denomination than
"superset of RFC2822".  Basically, all the comments I made on DEP3 not being a
RFC-2822 format hold there. I think that it will be better to clearly define
the format in the DEP5 itself.

At some moment, I thought it would be possible to write the DEP in a
format-independant manner. This is why there is some part that leaves the
possibility to implement it in YAML. But after experimenting a couple of hours,
I came to conclude that we can not use YAML for a stanza-based format if we
want to be still human-friendly. You can find more details in the following
email, that carries the same conclusion for Debian control files:

http://lists.debian.org/msgid-search/20090801021247.GH4889@kunpuu.plessy.org

for the machine-readable Debian copyright file (DEP5), I actually recomend to
not imitate the syntax of the Debian control files, which is more compact than
the current practices (the dh_make template), and does not alow free-form
comments. I propose a format similar in spirit but more flexible in the
experimental branch of the DEP that I maintain in a git repository (working on
the DEP unfortunately made me strongly allergic to bzr, where it is
maintained).

http://git.debian.org/?p=users/plessy/license-summary.git;a=summary
(every Alioth user has a write access to it).

I attached to this message three minimal copyright files, one using the dh_make
template, the other using DEP5, and the third using the alternative format I
propose for DEP5. I am still not completely satisfied for this format, as it
is very easy to break by forgetting to type some whitespace in the apparently
emptly line between the first line of the License field and the main part.

Have a nice day,

-- 
Charles Plessy
Tsurumi, Kanagawa, Japan
This work was packaged for Debian by:

    Mr Foo <foo@debian.org> on Tue, 24 Nov 2009 08:02:06 +0900

It was downloaded from http://www.example.com/software/project

Upstream Author: John Doe <john.doe@example.com>

Copyright: John Doe <john.doe@example.com>

License:

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This package is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

On Debian systems, the complete text of the GNU General
Public License version 3 can be found in `/usr/share/common-licenses/GPL-3'.    

The Debian packaging is:

    Copyright (C) 2009 Mr Foo <foo@debian.org>

and is licensed under the GPL version 3, see above.
Name: Upstream name
Maintainer: John Doe <john.doe@example.com>
Source: http://www.example.com/software/project

Copyright: John Doe <john.doe@example.com>
License: GPL-3+
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 .
 This package is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
Comment:
 On Debian systems, the complete text of the GNU General
 Public License version 3 can be found in `/usr/share/common-licenses/GPL-3'.    

Files: debian/*
Copyright: © 2009 Mr Foo <foo@debian.org>
License: GPL-3+
Name       :  Upstream name
Maintainer :  John Doe <john.doe@example.com>
Source     :  http://www.example.com/software/project

Copyright: John Doe <john.doe@example.com>
License: GPL-3+
	
	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.
	
	This package is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.
	
	You should have received a copy of the GNU General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>.

On Debian systems, the complete text of the GNU General
Public License version 3 can be found in `/usr/share/common-licenses/GPL-3'.    

Files: debian/*
Copyright: © 2009 Mr Foo <foo@debian.org>
License: GPL-3+

Reply to: