Your explanation seems fine. In the meantime, I'll try to work on something more suitable, maybe getting build-depends as array or hash members, I dunno. anyways, thanks for you to answer.
On Sat, 2009-08-01 at 11:12 +0900, Charles Plessy wrote: > Le Fri, Jul 31, 2009 at 10:01:36AM -0400, Adrian Perez a écrit : > > > There's any plan of supporting another format - without breaking > > compatibility, I mean supporting - besides the RFC one? > > I think YAML would be a good one. > > Hello Adrian, > > I thought about YAML for machine-readable license summaries and came the > conclusion that it is not suitable. I think that it is also true for Debian > control files for the following reasons: > > The “pseudo-RFC” format that Debian uses is organised in paragraphs, also > called ‘stanzas’, and often the first of them has a special role. YAML on the > other hand has concepts of scalars, sequences and mappings (in Perl, they > would > be called scalars, arrays and hashes). First of all, if we want the first > paragraph of a Debian control file to have a special role, then the YAML must > be organised as a sequence of mappings. Here is YAML's example: > > Example 2.4. Sequence of Mappings > (players’ statistics) > > - > name: Mark McGwire > hr: 65 > avg: 0.278 > - > name: Sammy Sosa > hr: 63 > avg: 0.288 > > (http://www.yaml.org/spec/1.2/spec.html#id2559116) > > In a Debian control file, it would reduce readability with no benefit. > > Second, the “pseudo-RFC” format delegates the management of folding to the > Debian Policy, while in YAML it has to be part of the markup: “|” and “>” are > used to denote when line breaks are significant or not: > > name: Mark McGwire > accomplishment: > > Mark set a major league > home run record in 1998. > stats: | > 65 Home Runs > 0.278 Batting Average > > (http://www.yaml.org/spec/1.2/spec.html#id2559996) > > So basically, switching Debian control files to YAML would mean addign “-”, > “|” > and “>” signs in precise locations, each of them being one opportunity for a > parsing error. > > Here is a simple example based on a debian/control file for the seaview > package: > > Source: seaview > Section: non-free/science > Priority: optional > Maintainer: Debian-Med Packaging Team > <debian-med-packag...@lists.alioth.debian.org> > DM-Upload-Allowed: yes > Uploaders: Charles Plessy <ple...@debian.org> > Build-Depends: debhelper ( >= 7 ), libfltk1.1-dev, libjpeg62-dev, > libpng12-dev, libxft-dev, > libxext-dev, zlib1g-dev > Standards-Version: 3.8.1 > Vcs-Browser: > http://svn.debian.org/wsvn/debian-med/trunk/packages/seaview/trunk/?rev=0&sc=0 > Vcs-Svn: svn://svn.debian.org/svn/debian-med/trunk/packages/seaview/trunk/ > Homepage: http://pbil.univ-lyon1.fr/software/seaview.html > > Package: seaview > Architecture: any > Depends: ${shlibs:Depends}, ${misc:Depends} > Recommends: clustalw, muscle, phyml > Description: Multiplatform interface for sequence alignment and phylogeny > SeaView reads and writes various file formats (NEXUS, MSF, CLUSTAL, FASTA, > PHYLIP, MASE, Newick) of DNA and protein sequences and of phylogenetic trees. > Alignments can be manually edited. It drives the programs Muscle or Clustal W > for multiple sequence alignment, and also allows to use any external > alignment > algorithm able to read and write FASTA-formatted files. > . > It computes phylogenetic trees by parsimony using PHYLIP's dnapars/protpars > algorithm, by distance with NJ or BioNJ algorithms on a variety of > evolutionary > distances, or by maximum likelihood using the program PhyML 3.0. SeaView > draws > phylogenetic trees on screen or PostScript files, and allows to download > sequences from EMBL/GenBank/UniProt using the Internet. > > Translated in YAML, it would be: > > - > Source: seaview > Section: non-free/science > Priority: optional > Maintainer: Debian-Med Packaging Team > <debian-med-packag...@lists.alioth.debian.org> > DM-Upload-Allowed: yes > Uploaders: Charles Plessy <ple...@debian.org> > Build-Depends: > > debhelper ( >= 7 ), libfltk1.1-dev, libjpeg62-dev, libpng12-dev, > libxft-dev, libxext-dev, > zlib1g-dev > Standards-Version: 3.8.1 > Vcs-Browser: > http://svn.debian.org/wsvn/debian-med/trunk/packages/seaview/trunk/?rev=0&sc=0 > Vcs-Svn: svn://svn.debian.org/svn/debian-med/trunk/packages/seaview/trunk/ > Homepage: http://pbil.univ-lyon1.fr/software/seaview.html > > - > Package: seaview > Architecture: any > Depends: ${shlibs:Depends}, ${misc:Depends} > Recommends: clustalw, muscle, phyml > Description: | > Multiplatform interface for sequence alignment and phylogeny > SeaView reads and writes various file formats (NEXUS, MSF, CLUSTAL, FASTA, > PHYLIP, MASE, Newick) of DNA and protein sequences and of phylogenetic > trees. > Alignments can be manually edited. It drives the programs Muscle or Clustal > W > for multiple sequence alignment, and also allows to use any external > alignment > algorithm able to read and write FASTA-formatted files. > > It computes phylogenetic trees by parsimony using PHYLIP's dnapars/protpars > algorithm, by distance with NJ or BioNJ algorithms on a variety of > evolutionary > distances, or by maximum likelihood using the program PhyML 3.0. SeaView > draws > phylogenetic trees on screen or PostScript files, and allows to download > sequences from EMBL/GenBank/UniProt using the Internet. > > Alternatively, the Description field could indicate with the markup that the > first line is the short description. Either: > > Description: > - Multiplatform interface for sequence alignment and phylogeny > - | > SeaView reads and writes various file formats (NEXUS, MSF, CLUSTAL, FASTA, > PHYLIP, MASE, Newick) of DNA and protein sequences and of phylogenetic > trees. > Alignments can be manually edited. It drives the programs Muscle or > Clustal W > for multiple sequence alignment, and also allows to use any external > alignment > algorithm able to read and write FASTA-formatted files. > > It computes phylogenetic trees by parsimony using PHYLIP's dnapars/protpars > algorithm, by distance with NJ or BioNJ algorithms on a variety of > evolutionary > distances, or by maximum likelihood using the program PhyML 3.0. SeaView > draws > phylogenetic trees on screen or PostScript files, and allows to download > sequences from EMBL/GenBank/UniProt using the Internet. > > or: > > Description: > Short: Multiplatform interface for sequence alignment and phylogeny > Long: | > SeaView reads and writes various file formats (NEXUS, MSF, CLUSTAL, FASTA, > PHYLIP, MASE, Newick) of DNA and protein sequences and of phylogenetic > trees. > Alignments can be manually edited. It drives the programs Muscle or > Clustal W > for multiple sequence alignment, and also allows to use any external > alignment > algorithm able to read and write FASTA-formatted files. > > It computes phylogenetic trees by parsimony using PHYLIP's dnapars/protpars > algorithm, by distance with NJ or BioNJ algorithms on a variety of > evolutionary > distances, or by maximum likelihood using the program PhyML 3.0. SeaView > draws > phylogenetic trees on screen or PostScript files, and allows to download > sequences from EMBL/GenBank/UniProt using the Internet. > > As you see, in terms of human readability and writability, YAML does not bring > advantages over the current format. > > I like YAML a lot, so if I overlooked something that would make it more > suitable, please let me/us know ! > > Have a nice week-end, > > -- > Charles Plessy > Tsurumi, Kanagawa, Japan > > -- Best regards, Adrian Perez <adrianperez....@gmail.com>
signature.asc
Description: This is a digitally signed message part