Section: doc
Architecture: all
Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info
-Suggests: lilypond (>= ${source:Version}), gv | postscript-viewer, mozilla-browser | www-browser
-Description: LilyPond Documentation in HTML, PS and DVI formats
+Recommends: lilypond-doc-html, lilypond-doc-pdf
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond Documentation in info format (and meta package)
LilyPond is a music typesetter, an automated engraving system. It
produces beautiful sheet music using a high level description file as input.
.
- This package contains the HTML, PostScript and DVI documentation for the
+ This package includes the info documentation and recommends the html
+ and pdf documentation for the LilyPond music typesetting software.
+
+Package: lilypond-doc-pdf
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info
+Recommends: evince | pdf-viewer
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond PDF Documentation
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the PDF documentation for the LilyPond music
+ typesetting software.
+
+Package: lilypond-doc-html
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info
+Recommends: mozilla-browser | www-browser
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond HTML Documentation
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the HTML documentation for the LilyPond music
+ typesetting software.
+
+Package: lilypond-doc-html-cs
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info, lilypond-doc-html
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond HTML Documentation in Czech
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the HTML documentation in Czech for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-html-de
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info, lilypond-doc-html
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond HTML Documentation in German
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the HTML documentation in German for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-html-fr
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info, lilypond-doc-html
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond HTML Documentation in French
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the HTML documentation in French for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-html-hu
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info, lilypond-doc-html
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond HTML Documentation in Hungarian
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the HTML documentation in Hungarian for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-html-it
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info, lilypond-doc-html
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond HTML Documentation in Italian
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the HTML documentation in Italian for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-html-ja
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info, lilypond-doc-html
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond HTML Documentation in Japanese
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the HTML documentation in Japanese for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-html-nl
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info, lilypond-doc-html
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond HTML Documentation in Dutch
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the HTML documentation in Dutch for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-html-zh
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info, lilypond-doc-html
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond HTML Documentation in Chinese
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the HTML documentation in Chinese for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-pdf-de
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info
+Recommends: evince | pdf-viewer
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond PDF Documentation in German
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the PDF documentation in German for the
LilyPond music typesetting software.
+
+Package: lilypond-doc-pdf-es
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info
+Recommends: evince | pdf-viewer
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond PDF Documentation in Spanish
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the PDF documentation in Spanish for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-pdf-fr
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info
+Recommends: evince | pdf-viewer
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond PDF Documentation in French
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the PDF documentation in French for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-pdf-hu
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info
+Recommends: evince | pdf-viewer
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond PDF Documentation in Hungarian
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the PDF documentation in Hungarian for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-pdf-it
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info
+Recommends: evince | pdf-viewer
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond PDF Documentation in Italian
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the PDF documentation in Italian for the
+ LilyPond music typesetting software.
+
+Package: lilypond-doc-pdf-ja
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}, dpkg (>= 1.15.4) | install-info
+Recommends: evince | pdf-viewer
+Suggests: lilypond (>= ${source:Version})
+Description: LilyPond PDF Documentation in Japanese
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the PDF documentation in Japanese for the
+ LilyPond music typesetting software.
+
--- /dev/null
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+
+use IO::File;
+
+my $cf = $ARGV[0];
+my $df = $ARGV[1];
+
+my $cfh = IO::File->new("debian/control",'r') or
+ die "Unable to open $cf for reading: $!";
+
+my $dfh = IO::File->new("debian/doc_languages.txt",'r') or
+ die "Unable to open $df for reading: $!";
+
+# read in languages
+my %languages;
+while (<$dfh>) {
+ chomp;
+ my ($type,$short,$long) = split /\s+/;
+ $languages{$type}{$short} = $long;
+}
+
+# parse control file
+my $new_control_file;
+my $discard_stanza = 0;
+while (<$cfh>) {
+ if (/^Package: lilypond-doc-(pdf|html)-.*/) {
+ $discard_stanza = 1;
+ }
+ if (/^\n?$/) {
+ if ($discard_stanza) {
+ $discard_stanza = 0;
+ next;
+ }
+ }
+ next if $discard_stanza;
+ $new_control_file .= $_;
+}
+close($cfh);
+
+for my $type (sort keys %languages) {
+ my $uc_type = uc($type);
+ my $recommends = '';
+ my $depends = '';
+ if ($type eq 'html') {
+ $recommends = '';
+ # this is required because the images are only in the -html
+ # package
+ $depends = ', lilypond-doc-html'
+ } else {
+ $recommends = "\nRecommends: evince | pdf-viewer";
+ }
+ for my $lang (sort keys %{$languages{$type}}) {
+ my $ucfirst_long_lang = ucfirst($languages{$type}{$lang});
+ # write out the control file stanza
+ $new_control_file .= <<EOF;
+Package: lilypond-doc-$type-$lang
+Section: doc
+Architecture: all
+Depends: \${misc:Depends}, dpkg (>= 1.15.4) | install-info${depends}${recommends}
+Suggests: lilypond (>= \${source:Version})
+Description: LilyPond $uc_type Documentation in $ucfirst_long_lang
+ LilyPond is a music typesetter, an automated engraving system. It
+ produces beautiful sheet music using a high level description file as input.
+ .
+ This package contains the $uc_type documentation in $ucfirst_long_lang for the
+ LilyPond music typesetting software.
+
+EOF
+ # write out the package.install file for this example
+ my $install_fh = IO::File->new("debian/lilypond-doc-$type-${lang}.install",'w') or
+ die "Unable to open debian/lilypond-doc-$type-${lang}.install for writing: $!";
+ if ($type eq 'html') {
+ print {$install_fh} <<EOF;
+usr/share/doc/lilypond/html/*/*/*.${lang}.html
+usr/share/doc/lilypond/html/*/*.${lang}.html
+usr/share/doc/lilypond/html/*.${lang}.html
+EOF
+
+ } else {
+ print {$install_fh} <<EOF;
+usr/share/doc/lilypond/html/*/*.${lang}.pdf
+usr/share/doc/lilypond/html/*.${lang}.pdf
+EOF
+ }
+ close($install_fh);
+ }
+}
+
+$cfh = IO::File->new('debian/control','w') or
+ die "Unable to open debian/control for writing: $!";
+print {$cfh} $new_control_file;
+
+close($cfh);