]> git.donarmstrong.com Git - lilypond.git/blobdiff - debian/rules
* Ignore test failures on non-i386/amd64 architectures (Closes:
[lilypond.git] / debian / rules
index a1f112f953a9b2b72f8b6eddce633a29633241c3..1381798aa3910a5264f974b65831cb016d8ec48e 100755 (executable)
@@ -1,6 +1,5 @@
 #!/usr/bin/make -f
-# Made with the aid of debhelper by Joey Hess,
-# based on the sample debian/rules file for GNU hello by Ian Jackson.
+# debian/rules for LilyPond in Debian.
 #
 # This is free software; see the GNU General Public Licence
 # version 2 or later for copying conditions.  There is NO warranty.
 # Currently maintained by Anthony Fok <foka@debian.org>
 # for Debian GNU/Linux.
 
-package = lilypond1.3
+package = lilypond
 
 SHELL = /bin/sh
-r = debian/tmp
-TMP = `pwd`/debian/tmp
+r = debian/$(package)
+r_data = debian/$(package)-data
+r_doc = debian/$(package)-doc
 d = usr/share/doc/$(package)
 
+# since I'm building this a few times on my 8-way machine, try to
+# build it faster
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+    NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+    MAKEFLAGS += -j$(NUMJOBS) CPU_COUNT=$(NUMJOBS)
+endif
+
+
+include VERSION
+VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)
+
+# "main_memory = 263000" in /etc/texmf/texmf.cnf isn't large enough
+# for latex to process standchen.dvi.latex, so adding extra_mem_* ...
+# export extra_mem_top = 100000
+# export extra_mem_bot = 100000
+# But now, building lilypond.dvi requires increased pool_size (2002-02-18)
+# export pool_size = 500000
+# But now, it seems that none of the above is needed in 1.4.11  (2002-02-24)
+export MODE = ljfour
+export BDPI = 600
+export USER_CFLAGS = -DDEBIAN
+export DEB_BUILD = yes
+export MAILADDRESS = lilypond@packages.debian.org
+
+# fontconfig blows chunks if it can't write $HOME; and some buildd's
+# set it to a bogus value.
+export HOME = /tmp
+
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-# This is the debhelper compatability version to use.
-export DH_COMPAT=1
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
 
 build: build-stamp
 build-stamp:
        dh_testdir
 
-       ./configure --disable-checking --disable-debugging \
-               --enable-printing --prefix=/usr --disable-optimise \
-               --enable-shared \
+       cp -f /usr/share/misc/config.guess /usr/share/misc/config.sub ./stepmake/bin/
+       ./configure --disable-checking --enable-debugging \
+               --prefix=/usr --enable-optimising \
                --infodir='$${prefix}/share/info' \
                --mandir='$${prefix}/share/man'
-       $(MAKE) all
-       $(MAKE) -C Documentation
-#      $(MAKE) -C Documentation/programmer ps
-       $(MAKE) -C Documentation/user ps
-       $(MAKE) -C Documentation/pictures pngs
+       $(MAKE)
+       # ignore test failures on architectures which aren't i386 or
+       # amd64 until we properly fix failures when /dev/tty doesn't
+       # exist (#572290)
+       if dpkg-architecture -eamd64 || dpkg-architecture -ei386; then \
+               $(MAKE) test; \
+       else \
+               $(MAKE) test || true; \
+        fi;
 
        touch build-stamp
 
+build-doc: build build-doc-stamp
+build-doc-stamp:
+       dh_testdir
+
+       # make html
+       # unfortunatly, this does not work well with multiple processors
+       $(MAKE) -j1 doc WEB_TARGETS="offline"
+       # make info
+       $(MAKE) info
+
+       touch build-doc-stamp
+
 clean:
        dh_testdir
        dh_testroot
-       rm -f build-stamp install-stamp
-       -$(MAKE) distclean
-       rm -f stepmake/stepmake/aclocal.m4
-       dh_clean
+       rm -f build-stamp build-doc-stamp
+       [ ! -f Makefile ] || $(MAKE) web-clean
+       [ ! -f Makefile ] || $(MAKE) distclean
+       rm -f lib/python
+       rm -f ./stepmake/bin/config.guess ./stepmake/bin/config.guess.sub
 
-       # Correct the owner of the out/dummy.dep files when built with sudo.
-       if [ -n "$$SUDO_USER" -a -n "$$SUDO_GID" ]; then \
-               find . -user root | xargs -r chown --dereference $$SUDO_USER.$$SUDO_GID; \
-       fi
+       # Still not clean enough?  Let's use... BRUTE STRENGTH!  :-)
+       find . -type d -name 'out' -o -name 'out-www' | xargs rm -rf
+       rm -f buildscripts/*.pyc
+       rm -f lib/lilypond/python examples.html
+       rm -f debian/emacsen-startup
+       rm -f debian/lilypond1.7*.dirs debian/lilypond.dirs
+       rm -f debian/postinst debian/prerm debian/postrm
+       rm -f debian/lilypond-data.doc-base debian/lilypond.doc-base
+       rm -f GNUmakefile config.log config.make config.status config.hh
+
+       dh_clean
 
+install: DH_OPTIONS=
 install: build
        dh_testdir
        dh_testroot
        dh_clean -k
-       dh_installdirs usr/share/doc/texmf \
-               usr/share/emacs/site-lisp \
-               $(d)/examples \
-               usr/share/texmf/tex \
-               usr/share/texmf/fonts/source/public \
-               usr/share/texmf/fonts/afm/public \
-               usr/share/texmf/fonts/tfm/public
-       ln -fs ../$(package) $(r)/usr/share/doc/texmf/lilypond
-
-       $(MAKE) prefix=$(TMP)/usr install
-
-       ln -s ../../lilypond/tex $(r)/usr/share/texmf/tex/lilypond
-       ln -s ../../../../lilypond/mf $(r)/usr/share/texmf/fonts/source/public/lilypond
-       ln -s ../../../../lilypond/afm $(r)/usr/share/texmf/fonts/afm/public/lilypond
-       ln -s ../../../../lilypond/tfm $(r)/usr/share/texmf/fonts/tfm/public/lilypond
+       dh_installdirs
+
+       # Add here commands to install the package into debian/tmp.
+       $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr
+
+       dh_install --sourcedir=debian/tmp --list-missing
 
 # Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
+binary-indep: DH_OPTIONS=-i
+binary-indep: build-doc install
+       dh_testdir
+       dh_testroot
+       # Install LilyPond web documentation...
+       $(MAKE) install-doc prefix=$(CURDIR)/debian/lilypond-doc/usr/
+       # it installs a random dir-dep file for no reason
+       rm -f $(CURDIR)/debian/lilypond-doc/usr/share/info/*-dir-dep*
+
+       dh_installdocs
+       find $(CURDIR)/debian/lilypond-doc/usr/share/doc/lilypond/html \
+               -type d -empty -delete
+       dh_installemacsen
+
+       #find input \( -name '*.*ly' -o -name '*.abc' -o -name '*.tex' -o -name 'TODO' \) ! -regex '.*/out-www/.*' \
+       #       -exec cp -a --parents '{}' $(r_data)/$(d)/examples ';'
+       install -m 644 debian/xiao-haizi-guai-guai.ly debian/sakura-sakura.ly \
+               $(r_data)/$(d)/examples
+       dh_installchangelogs
+
+#      mv $(r_data)/usr/share/lilypond/$(VERSION)/fonts/map/lilypond.map \
+#         $(r_data)/etc/texmf/dvips/lilypond.map
 
+       dh_link usr/share/lilypond/$(VERSION)/tex \
+                       usr/share/texmf/tex/lilypond \
+               usr/share/lilypond/$(VERSION)/fonts/source \
+                       usr/share/texmf/fonts/source/public/lilypond \
+               usr/share/lilypond/$(VERSION)/fonts/afm \
+                       usr/share/texmf/fonts/afm/public/lilypond \
+               usr/share/lilypond/$(VERSION)/fonts/tfm \
+                       usr/share/texmf/fonts/tfm/public/lilypond \
+               usr/share/lilypond/$(VERSION)/fonts/type1 \
+                       usr/share/texmf/fonts/type1/public/lilypond \
+               etc/texmf/dvips/lilypond.map \
+                       usr/share/lilypond/$(VERSION)/dvips/lilypond.map
+
+       dh_pysupport /usr/share/lilypond/${VERSION}/python
+
+       dh_compress -X$(d)/html/
+       dh_fixperms
+       dh_installdeb
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary-arch: DH_OPTIONS=-s
 binary-arch: build install
        dh_testdir
        dh_testroot
-       cp -av lilypond-mode.el $(r)/usr/share/emacs/site-lisp
-       dh_installdocs DEDICATION TODO *.txt \
-               Documentation/pictures/out/*.png \
-               Documentation/out/*.txt \
-               Documentation/*/out/[a-z]*.dvi \
-               Documentation/*/out/*.ps
-       mkdir $(r)/$(d)/bibliography $(r)/$(d)/misc
-       cp -a Documentation/bibliography/*.bib $(r)/$(d)/bibliography
-       cp -a Documentation/misc/[ACN]* $(r)/$(d)/misc
-#      dh_installexamples input
-       cp -aP `find input mutopia \( -name '*.*ly' -o -name '*.abc' -o -name '*.tex' -o -name 'TODO' \)` \
-               $(r)/$(d)/examples
-       for i in `find $(r)/$(d)/examples/ -type d -name out`; do \
-               mv -fv $$i/* $$i/..; rmdir $$i; done
-#      dh_installmenu
-#      dh_installemacsen
-#      dh_installcron
-#      dh_installmanpages
-#      dh_undocumented
-       dh_installchangelogs -k CHANGES
-       dh_link
+       dh_installdocs AUTHORS.txt NEWS.txt README.txt \
+               DEDICATION THANKS 
+
+
+       dh_installemacsen
+       dh_installchangelogs Documentation/misc/CHANGES* Documentation/misc/ChangeLog*
+
        dh_strip
        dh_compress
        dh_fixperms
-#      dh_suidregister
        dh_installdeb
        dh_shlibdeps
        dh_gencontrol
-#      dh_makeshlibs
        dh_md5sums
        dh_builddeb