Hello Andreas! I think a lintian Error would be appropriate for the invalid YAML, with a helpful description of the resolution (quoting). For me it is no problem to put the quotes, it would be a bigger challenge/barrier to have to research the solution (as I had to when I first stumbled over it). So if lintian warns me about it and tells what to do (-i), that's all right in my view and it also educates us in the right direction.
Best, Laszlo On 29/02/12 08:39, Andreas Tille wrote: > On Wed, Feb 29, 2012 at 09:47:28AM +0900, Charles Plessy wrote: >> I actually missed that you tried to inject the whole files. > > I do not want to inject whole files. I just want to parse the original > upstream files and the python-yaml parser failed for several of the > available upstream files because these do not contain valid YAML syntax > (and for all those I verified the String ': ' is responsible for the > problem). > >> On the gathering >> part, I am preparing a trigger that will update each packages that are >> newly uploaded to the archive, by monitoring debian-devel-changes. I hope >> to push this on upstream-metadata.debian.net this week-end. >> >> http://git.debian.org/?p=users/plessy/umegaya.git > > Fine. > >> For the YAML syntax, I validate using the way I documented on the wiki: >> >> http://wiki.debian.org/UpstreamMetadata >> perl -MYAML -e '$/=""; Load(<STDIN>)' < upstream # needs the >> libyaml-perl package installed >> >> This can easily become a Lintian check. >> >> But where is your SeaView upstream file from ? In SVN and Unstable, there >> is a >> space between the colon and the number: >> >> title: SeaView version 4 : a multiplatform graphical user interface for >> sequence alignment and phylogenetic tree building > > It might be that I did some editing before quoting here. Feel free to try > what you find in SVN with the Syntax checker at > > http://yaml-online-parser.appspot.com/ > > Whether there is a space in front of the ': ' or not does not seem to > matter and if we want to let people edit those strings they will forget > those tricks (and from an estetical point of view the spae before the > colon is terribly ugly). > >> I see that the Perl module validates both versions with and without space >> anyway. If this module is too laxist, we need to recommend another one. > > I also tried > > $ kwalify -f schema.yaml upstream > /usr/lib/ruby/1.8/yaml.rb:217:in `load_documents': syntax error on line 7, > col 27: ` title: SeaView version 4 : a multiplatform graphical user interface > for sequence alignment and phylogenetic tree building' (ArgumentError) > > where > > $ cat schema.yaml > type: seq > sequence: > - type: str > > So I think kwalify (written in Ruby) as well as Python parser agree that > there is some problem here and when reading the specification I agree > with this (even if I never touched YAML before and I'm far from > pretending any knowledge in this topic). > > The question is, what we should really do. Trying to force people to > learn how to type valid YAML will not increase the acceptance of > debian/upstream so I would love to keep the current syntax. If the > YAML parser of Perl is more relaxed about this syntax I could try to > find some means to call this as a filter before importing into Python > (which seems to be necessary for UDD importers. > > Alternatively we at least should enforce people to use quotes around > titles containing ': ' strings (which works with the Python parser). > > Kind regards > > Andreas. > -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

