Hello Jan and Han-Wen,

Attached is the Debian diff.  :-)
Please do look through it before applying it, because I made changes to
lily/kpath.cc and Documentation/user/GNUmakefile that you may want to
double check.

+++ lilypond-1.3.150/lily/kpath.cc
+++ lilypond-1.3.150/debian/changelog
+++ lilypond-1.3.150/debian/control
+++ lilypond-1.3.150/debian/copyright
+++ lilypond-1.3.150/debian/postinst
+++ lilypond-1.3.150/debian/rules
+++ lilypond-1.3.150/debian/lilypond1.3.copyright
+++ lilypond-1.3.150/stepmake/stepmake/toplevel-targets.make
+++ lilypond-1.3.150/Documentation/user/GNUmakefile

In particular, regarding the following comment in kpath.cc:

    Remove the setting for TFMFONTS if we have kpathsea, because
    kpathsea can find TFM fonts anyway.

    If we don't lily will want to make tfms for cmr fonts, even if
    there is a :: entry in the TFMFONTS path.

I think it is not quite accurate.  :-)
I think we can keep TFMFONTS, and no, lilypond won't make TFMs for cmr
fonts if we add the colon at the right place, hence the change:

    char * mypath = kpse_expand ((my_tfm + ":").ch_C ());
                                 ^^^^^^^^^^^^^^

Also, you may hate me for this, but I decided to add those "#ifdef DEBIAN"
stuff too, because "$VARTEXFONTS/tfm/public/lilypond" is currently the
standard in web2c.  By that, I mean the feta font is listed in
/usr/share/texmf/fontname/special.map:

        @c @mapfile{
        @c   email = "[EMAIL PROTECTED]",
        @c   date = "30 May 1999",
        @c   url = "http://tug.org/fontname/special.map";,
        @c   supported = "yes",
        @c   docstring = "Abbreviations for nonstandard TeX font names."
        @c }
        ...
        ...
        feta            public          lilypond

So, at least for the Debian package, I would rather let teTeX do its job
(it knows where to put the fonts properly using to special.map)
than using --destdir to force the TFMs, including non-feta fonts, to go
into $VARTEXFONTS/tfm/lilypond/<version>.  Besides, since feta*.tfm
are already installed to, say, /usr/share/texmf/fonts/tfm/public/lilypond,
lilypond should never need to regenerate feta*.tfm under normal
circumstances anyhow.

I have tested this on Debian with -DDEBIAN, and it seems to work as
expected.  Please do test without -DDEBIAN on your favourite platform
to make sure the "add the colon" trick works too.  :-)

Oh, one more thing.  There seems to be a small bug in the feta?? fonts
in 1.3.150.  They are not truly device-independent, and it gave checksum
errors when, for example, the TFM is generated in MODE=ljfour
and the PK in MODE=epstylus:

$ xdvi l-fake.dvi
Checksum mismatch (dvi = 3022688161, pk = 3561820577) in font file
        /var/spool/texmf/pk/epstylus/public/lilypond/feta16.360pk
Checksum mismatch (dvi = 2276510827, pk = 3220606057) in font file
        /var/spool/texmf/pk/epstylus/public/lilypond/feta20.360pk

As mentioned in metafont-for-beginners.tex:

    Incidentally, properly constructed {\sc tfm} files are
    device-independent, so running \MF{} with different modes normally
    produces the identical {\sc tfm}.
    % This explanation might want a different place...
    Dimensions in {\sc tfm}~files are specified to~\MF{} in device
    independent `sharped' dimensions (commonly suffixed by \#), where
    a~value of~1 corresponds to the dimension of {\tt 1pt} (typographical
    point).  Most of \MF{}'s calculations are done with (resolution and
    device dependent) pixels as units.  Care must be taken by font
    designers to {\em always\/} calculate unsharped dimensions from sharped
    ones, and never the other way round, so as to keep roundoff errors or
    similar effects from influencing the {\sc tfm} files to depend on
    resolution or device.  Although type quality will be influenced only in
    minuscule ways, this is one of the more common reasons for checksum
    errors reported by printer drivers.
    Note that the only way to be sure that a TFM file is device-independent
    is to create the font in different modes and compare the resulting
    TFM's, perhaps using {\sf tftopl}.

Hehe, I am sure you know a lot more about Metafont than I do.  So, yes,
please to fix it before 1.4 is out.  :-)

Thanks,

Anthony

-- 
Anthony Fok Tung-Ling                Civil and Environmental Engineering
[EMAIL PROTECTED], [EMAIL PROTECTED]    University of Alberta, Canada
   Debian GNU/Linux Chinese Project -- http://www.debian.org/intl/zh/
Come visit Our Lady of Victory Camp -- http://www.olvc.ab.ca/

--- lilypond-1.3.150.orig/lily/kpath.cc
+++ lilypond-1.3.150/lily/kpath.cc
@@ -68,7 +68,7 @@
     /var/texmf/fonts, reducing clutter and compilation time.
     
   */
-  unsetenv ("TFMFONTS");
+  // unsetenv ("TFMFONTS");
   
   /*
    initialize kpathsea
@@ -76,14 +76,20 @@
   kpse_set_program_name (av0, NULL);
   kpse_maketex_option ("tfm", TRUE);
 
+#ifdef DEBIAN
+  String my_tfm = "$VARTEXFONTS/tfm/public/lilypond";
+#else
   String my_tfm = "$VARTEXFONTS/tfm/lilypond/";
   my_tfm += version_str () + "/";
+#endif
 
-  char * mypath = kpse_expand (my_tfm.ch_C ());
+  char * mypath = kpse_expand ((my_tfm + ":").ch_C ());
+#ifndef DEBIAN
   String prog = "mktextfm --destdir ";
   prog += mypath;
   
   kpse_format_info[kpse_tfm_format].program = strdup (prog.ch_C ());
+#endif
   kpse_format_info[kpse_tfm_format].client_path = mypath;
 #endif
 }
--- lilypond-1.3.150.orig/debian/changelog
+++ lilypond-1.3.150/debian/changelog
@@ -1,3 +1,23 @@
+lilypond (1.3.150-1) unstable; urgency=low
+
+  * New upstream version.
+  * Renamed package from lilypond1.3 back to lilypond.
+    This also fixes a lot of bugs from the old lilypond-1.2.17 package.
+    lilypond1.3 is temporarily provided as a dummy transitional package.
+    Closes: Bug#67697, 84352, 48731, 72223, 85834.
+  * [debian/rules]:
+     - No longer blindly copy intermediate DVI files into
+       the deb package.  Thanks to Daniel Burrows for the reminder.
+       Closes: Bug#87852.
+     - Added "export MODE=ljfour" and "export BDPI=600" because I use
+       something different in my local /etc/texmf/mktex.cnf and that
+       broke the build.
+  * Fixed Build-Depends because pnmtopng has been merged into the netpbm
+    package.  Thanks to Adrian Bunk for the notice.  Closes: Bug#93961.
+  * [lily/kpath.cc]: Modified to better conform to web2c fontpath policy.
+
+ -- Anthony Fok <[EMAIL PROTECTED]>  Thu, 26 Apr 2001 03:25:50 -0600
+
 lilypond1.3 (1.3.132-1) unstable; urgency=medium
 
   * New upstream version.
--- lilypond-1.3.150.orig/debian/control
+++ lilypond-1.3.150/debian/control
@@ -1,30 +1,37 @@
-Source: lilypond1.3
-Build-Depends: debhelper (>= 2.0.72), python-base (>= 1.5.2-4), libguile-dev (>= 
1:1.4-9), tetex-bin, libkpathsea-dev, tetex-extra, flex, bison, texinfo (>= 4.0-1), 
bibtex2html, groff, gs, netpbm, pnmtopng, m4, gettext (>= 0.10.35-13)
+Source: lilypond
+Build-Depends: debhelper (>= 3.0.5), python-base (>= 1.5.2-4), libguile-dev (>= 
+1:1.4-9), tetex-bin, libkpathsea-dev, tetex-extra, flex, bison, texinfo (>= 4.0-1), 
+bibtex2html, groff, gs, netpbm (>= 2:9.10-1), m4, gettext (>= 0.10.36-1)
 Build-Conflicts: lilypond, lilypond1.3
 Section: tex
 Priority: optional
 Maintainer: Anthony Fok <[EMAIL PROTECTED]>
-Standards-Version: 3.2.1
+Standards-Version: 3.5.2
 
-Package: lilypond1.3
+Package: lilypond
 Architecture: any
-Replaces: lilypond
-Provides: lilypond
-Depends: ${shlibs:Depends}, tetex-bin (>= 1.0.5-1), python-base (>= 1.5.2-4), guile1.4
+Replaces: lilypond1.3
+Provides: lilypond1.3
+Depends: ${shlibs:Depends}, tetex-bin (>= 1.0.5-1), python-base (>= 1.5.2-4), guile
 Recommends: tetex-extra (>= 1.0-1)
-Conflicts: lilypond, musixtex-fonts
+Conflicts: lilypond, lilypond1.3 (<= 1.3.132-1), musixtex-fonts
 Description: A program for printing sheet music.
  LilyPond is a music typesetter.  It produces beautiful sheet music
  using a high level description file as input.  LilyPond is part of 
  the GNU Project.
  .
- This is the developmental 1.3 branch of LilyPond.  It is not intended for
- use with stable projects, although 1.3.x is most likely to be less buggy
- and much more featureful than then the old "stable" 1.2.17.
- .
   URLs: http://www.cs.uu.nl/~hanwen/lilypond/
         http://www.xs4all.nl/~jantien/lilypond/
         http://sca.uwaterloo.ca/lilypond/
         http://www.lilypond.org/
   Authors: Han-Wen Nienhuys <[EMAIL PROTECTED]>
            Jan Nieuwenhuizen <[EMAIL PROTECTED]>
+
+Package: lilypond1.3
+Architecture: all
+Depends: lilypond (>= 1.3.150-1)
+Description: Dummy package for transition to new stable lilypond.
+ This dummy package provides a transition from the previous lilypond1.3
+ package back to a newer lilypond because the 1.3.x series will become
+ 1.4 really soon now.
+ .
+ Please feel free to remove this dummy package after you have upgraded
+ to the latest lilypond.
--- lilypond-1.3.150.orig/debian/copyright
+++ lilypond-1.3.150/debian/copyright
@@ -1,14 +1,16 @@
 This package was Debianized by Anthony Fok <[EMAIL PROTECTED]> on
 Wed,  6 Aug 1997 04:30:28 -0600
 
-The development branch, lilypond1.3, is packaged separately
+The development branch, lilypond1.3, was packaged separately
 on Tue,  9 Nov 1999 22:30:32 -0700
+but was merged back into the lilypond package
+as of Mon, 16 Apr 2001 21:58:42 -0600
 
 It was downloaded from
-      ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/v1.3/
+      ftp://ftp.lilypond.org/pub/LilyPond/v1.3/
 
 It is also available at: 
-      ftp://ftp.lilypond.org/pub/LilyPond/v1.3/
+      ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/v1.3/
 
 For more information about GNU LilyPond, please visit:
       http://www.cs.uu.nl/~hanwen/lilypond/
--- lilypond-1.3.150.orig/debian/postinst
+++ lilypond-1.3.150/debian/postinst
@@ -3,7 +3,7 @@
 # postinst script for the Debian GNU/Linux lilypond package
 #   by Anthony Fok <[EMAIL PROTECTED]>
 #   Initial release:  Sun, 26 Oct 1997 03:23:00 -0700
-#     Last modified:  Sun, 26 Mar 2000 02:18:41 -0700
+#     Last modified:  Thu, 26 Apr 2001 03:20:10 -0600
 
 set -e
 
@@ -18,11 +18,12 @@
 echo " Running /usr/bin/mktexlsr $TEXMFMAIN..."
 /usr/bin/mktexlsr $TEXMFMAIN
 
-install-info --description='LilyPond, the GNU Project music typesetter' \
+install-info --quiet \
        --section "Music" "Music" \
-       --quiet /usr/share/info/lilypond.info.gz
+       --description='LilyPond, the GNU Project music typesetter' \
+       /usr/share/info/lilypond.info.gz
 
 #DEBHELPER#
 echo
 echo " $pkg_name configuration completed."
-echo " Please read /usr/share/doc/lilypond1.3/README.Debian to get started."
+echo " Please read /usr/share/doc/lilypond/README.Debian to get started."
--- lilypond-1.3.150.orig/debian/rules
+++ lilypond-1.3.150/debian/rules
@@ -8,18 +8,27 @@
 # Currently maintained by Anthony Fok <[EMAIL PROTECTED]>
 # for Debian GNU/Linux.
 
-package = lilypond1.3
+package = lilypond
 
 SHELL = /bin/sh
 r = debian/$(package)
-TMP = `pwd`/$(r)
+TMP = $(PWD)/$(r)
 d = usr/share/doc/$(package)
 
+TELY_FILES := $(notdir $(wildcard Documentation/user/*.tely))
+DVI_FILES = $(addprefix Documentation/user/out/, $(TELY_FILES:.tely=.dvi))
+PS_FILES = $(DVI_FILES:.dvi=.ps)
+export MODE=ljfour
+export BDPI=600
+
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
 # This is the debhelper compatibility version to use.
-export DH_COMPAT=2
+export DH_COMPAT=3
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
 
 build: build-stamp
 build-stamp:
@@ -30,9 +39,8 @@
                --enable-shared \
                --infodir='$${prefix}/share/info' \
                --mandir='$${prefix}/share/man'
-       $(MAKE) all
-       $(MAKE) -C Documentation
-       $(MAKE) -C Documentation/user ps
+       $(MAKE) USER_CFLAGS=-DDEBIAN all
+       $(MAKE) -C Documentation/user dvi ps
        $(MAKE) -C Documentation/pictures pngs
 
        touch build-stamp
@@ -49,6 +57,7 @@
                find . -user root | xargs -r chown --dereference 
$$SUDO_USER.$$SUDO_GID; \
        fi
 
+install: DH_OPTIONS=
 install: build
        dh_testdir
        dh_testroot
@@ -62,7 +71,7 @@
                usr/share/texmf/fonts/tfm/public
        ln -fs ../$(package) $(r)/usr/share/doc/texmf/lilypond
 
-       $(MAKE) prefix=$(TMP)/usr install
+       $(MAKE) prefix=$(TMP)/usr USER_CFLAGS=-DDEBIAN install
 
        ln -s ../../lilypond/tex $(r)/usr/share/texmf/tex/lilypond
        ln -s ../../../../lilypond/mf $(r)/usr/share/texmf/fonts/source/public/lilypond
@@ -76,11 +85,22 @@
        fi
 
 # Build architecture-independent files here.
+binary-indep: DH_OPTIONS=-i
 binary-indep: build install
-# We have nothing to do by default.
+       dh_testdir
+       dh_testroot
+       dh_installdocs
+       dh_installchangelogs
+       dh_link
+       dh_compress
+       dh_fixperms
+       dh_installdeb
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
 
+binary-arch: DH_OPTIONS=-a
 binary-arch: build install
-       dh_testversion 2
        dh_testdir
        dh_testroot
        cp -av lilypond-mode.el lilypond-font-lock.el \
@@ -88,8 +108,7 @@
        dh_installdocs DEDICATION NEWS ROADMAP *.txt \
                Documentation/pictures/out/*.png \
                Documentation/out/*.txt \
-               Documentation/*/out/[a-z]*.dvi \
-               Documentation/*/out/*.ps
+               $(DVI_FILES) $(PS_FILES)
        mkdir $(r)/$(d)/bibliography $(r)/$(d)/misc
        cp -a Documentation/bibliography/*.bib $(r)/$(d)/bibliography/
        cp -a Documentation/misc/[ACN]* $(r)/$(d)/misc/
@@ -108,7 +127,6 @@
        dh_strip
        dh_compress
        dh_fixperms
-#      dh_suidregister
        dh_installdeb
        dh_shlibdeps
        dh_gencontrol
--- lilypond-1.3.150.orig/debian/lilypond1.3.copyright
+++ lilypond-1.3.150/debian/lilypond1.3.copyright
@@ -0,0 +1,21 @@
+This is a dummy package to aid the transition from the old
+"lilypond1.3" package to the newer "lilypond" package.
+It was created by Anthony Fok <[EMAIL PROTECTED]>
+Mon, 16 Apr 2001 22:17:10 -0600
+
+Copyright:
+
+  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 2 of the License, or
+  (at your option) any later version.
+
+  This program 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 with
+  the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL;
+  if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+  Suite 330, Boston, MA  02111-1307  USA
--- lilypond-1.3.150.orig/stepmake/stepmake/toplevel-targets.make
+++ lilypond-1.3.150/stepmake/stepmake/toplevel-targets.make
@@ -9,7 +9,7 @@
 local-distclean: 
        rm -f config.h config.hh config.make Makefile GNUmakefile \
                config.cache config.status config.log index.html \
-               afm tfm cmtfm share/locale/*/LC_MESSAGES/lilypond.mo
+               stepmake/stepmake/stepmake stepmake/stepmake/bin
 
 local-maintainerclean:
        rm -f configure
--- lilypond-1.3.150.orig/Documentation/user/GNUmakefile
+++ lilypond-1.3.150/Documentation/user/GNUmakefile
@@ -12,7 +12,7 @@
 
 HTML_FILES = $(addprefix $(outdir)/, $(TELY_FILES:.tely=.html))
 
-PS_FILES = $(DVI_FILES:.dvi=.ps)  $(OUTDOC_FILES:.doc=.ps) $(OUTTEX_FILES:.tex=.ps)
+PS_FILES = $(DVI_FILES:.dvi=.ps)
 
 PS_GZ_FILES= $(addsuffix .gz, $(PS_FILES))
 

Reply via email to