X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debian%2Frules;h=1381798aa3910a5264f974b65831cb016d8ec48e;hb=414e6ba6630d111217f0887ae3bb203a44506ddb;hp=a1f112f953a9b2b72f8b6eddce633a29633241c3;hpb=0ba6b09d5fa86ccb3650888f0e92ddc8cc915007;p=lilypond.git diff --git a/debian/rules b/debian/rules index a1f112f953..1381798aa3 100755 --- a/debian/rules +++ b/debian/rules @@ -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. @@ -8,105 +7,177 @@ # Currently maintained by Anthony Fok # 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