Re: DEP-5: an example parser, choice of syntax for Files:
Le Sun, Sep 13, 2009 at 11:58:46PM +0100, Jon Dowland a écrit :
> Please find attached a short python script that I have written based on the
> current text of DEP-5 at dep.debian.net.
> It will print out a list of each Files: stanza found in the copyright,
> followed by the list of files which it believes are matched by the stanza.
thank you for sharing this parser. I think that such program will be very
useful in the future, for instance to generate a static list of files with
their license, that is refreshed at each upstream upgrade. The diff of this
file would be more informative than a simple debdiff, as it would give more
context about the new files, and therefore help us to spot the inclusion of
non-free, non-redistributable or non-compatible material at each upgrade.
I think that DEP 5 still needs some work, so I hope that you will not be too
annoyed if some changes during the discussions on the draft will break your
parser from time to time.
As you noted, one of the things to change is the syntax of the Files field. It
actually has been debated in length in a previous thread this year, and while
there was no unanimity on how to handle special characters, I think that there
was a clear majority in favor to drop the syntax based on find. Here is a link
to the discussion thread.
Here is what I think summarises best the discussion:
Files: List of space-separated pathnames indicating files that have the same
licence. Question marks indicate any character and asterisks indicate any
string of characters.
And here is an extension I suggest to make this field optional, as I share the
concerns of the GNOME, KDE, and Iceweasel maintainers about not doing
impossible file–copyright listings on the largest packages.
When this field is omitted in the first paragraph containing a `License` field,
its value will be assumed to be '*'. When omitted in other paragraphs, its
value is assumed to be 'unknown'. If multiple `Files` declarations match the
same file, then only the last match counts.
My point of view as a DEP driver is that there was already a lot of discussion
on the subject, that is enough to justify a modification of the DEP draft to
replace the ‘find’ syntax by a simple list with a few jocker characters that
are pastable to the shell. This would have saved you some time, as the version
you work on is clearly non-consensual. But Steve and I disagree on how to use
the DEP Subversion repository: I would like to commit directly, but Steve, who
was the first to setup the DEP 5 markdown version and who therefore has the
last word, wants all commits to be done through bzr-svn. I had enough headaches
and we already lost two drivers because bzr is a matter of taste, and in our
case we were three out of four to strongly dislike it, but in addition I
realised that bzr-svn rewrites the history of the Subversion repository, and
for this reason I simply refuse to use it. Although I am sure it is not
intended, it puts Steve's name on my work, and in addition it puts my name on
commit comments on works I have never touched. See the history of DEP 4 for
instance. I hope that this helps to understand the sad situation. In the time
waiting for a gentlemen agreement, instead of forking, I have set up an
exploratory version in git where I try to collect improvements, most of which
having been discussed, and that I test on my own packages. This repository is
writable to all DDs, and in contrary to the DEP repo, to all Alioth guests as
well. Everybody is welcome to contribute! Everybody is also welcome to add
their name to the Drivers field if they see themselves as drivers, in the
spirit of DEP 0.
Have a nice day,
Tsurumi, Kanagawa, Japan