X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debian%2Frules;h=87828fafdde40af6853e82376283835270d092d1;hb=16d17361945fa0264a607f7a1409c35ce7ac97b8;hp=20c134bb5aa3acfd883e4079ea4967128234eecd;hpb=22eb8f0dd011fe3b3b891be0f1d27576e959eac3;p=lilypond.git diff --git a/debian/rules b/debian/rules index 20c134bb5a..87828fafdd 100755 --- a/debian/rules +++ b/debian/rules @@ -5,11 +5,9 @@ # version 2 or later for copying conditions. There is NO warranty. # -export MAILADDRESS = lilypond@packages.debian.org +include VERSION -# fontconfig blows chunks if it can't write to $HOME; and some -# buildds set it to a bogus value. -export HOME = /tmp +export MAILADDRESS = lilypond@packages.debian.org DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) CFLAGS := $(shell dpkg-buildflags --get CFLAGS) @@ -18,30 +16,57 @@ ifneq (,$(filter $(DEB_HOST_ARCH), i386 kfreebsd-i386)) config_opt = --disable-optimising CFLAGS := $(filter-out -O%, $(CFLAGS)) CXXFLAGS := $(filter-out -O%, $(CXXFLAGS)) +else +ifneq (,$(filter $(DEB_BUILD_OPTIONS),noopt)) + config_opt = --disable-optimising else config_opt = --enable-optimising endif +endif DOC_OPTIONS := WEB_TARGETS="offline" ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) - DOC_OPTIONS := $(DOC_OPTIONS) $(DEB_BUILD_OPTIONS) CPU_COUNT=$(firstword $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))) + DOC_OPTIONS := $(DOC_OPTIONS) CPU_COUNT=$(firstword $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))) endif %: - dh $@ --parallel --with autotools-dev --with python2 - + dh $@ --parallel --with autotools-dev --with python2 --with quilt -override_dh_auto_configure: - dh_auto_configure -- --disable-checking --enable-debugging $(config_opt) +## we need to nuke the parser files, because if there is a mistmatch +## between upstreams bison and our bison, the build will fail epically +override_dh_auto_configure: + rm -f lily/out/parser.* + ./autogen.sh --noconfigure + dh_auto_configure -- --disable-checking --enable-debugging --enable-guile2 $(config_opt) override_dh_auto_build-indep: dh_auto_build - $(MAKE) $(DOC_OPTIONS) doc + $(MAKE) doc $(DOC_OPTIONS) override_dh_auto_install-indep: - $(MAKE) install-doc prefix=$(CURDIR)/debian/tmp/usr/ + $(MAKE) install-doc $(DOC_OPTIONS) prefix=$(CURDIR)/debian/tmp/usr/ + $(MAKE) install-info $(DOC_OPTIONS) prefix=$(CURDIR)/debian/tmp/usr rm -rf $(CURDIR)/debian/tmp/usr/share/omf rm -rf $(CURDIR)/debian/tmp/usr/share/doc/lilypond/html/input + perl debian/move_info_images_from_html_doc $(CURDIR)/debian/tmp/usr/share/info/ $(CURDIR)/debian/tmp/usr/share/doc/lilypond/html/Documentation/ + perl debian/symlink_html_images_to_info_images $(CURDIR)/debian/tmp/usr/share/info/lilypond + perl debian/remove_w3c_callback $(CURDIR)/debian/tmp/usr/share/doc/lilypond/ $(CURDIR)/debian/tmp/usr/share/info/ + +## Unfortunately, lilypond is kind of broken, and installs the wrong +## info documentation (missing images) if we call their makefile +## directly. They also don't provide an install rule which doesn't +## install the documentation, which we don't care about for the +## architecture dependent build +override_dh_auto_install-arch: + for dir in `echo */*makefile|xargs -n 1 dirname|grep -v Documentation`; do \ + $(MAKE) --no-builtin-rules PACKAGE=LILYPOND package=lilypond -C $$dir install $(DOC_OPTIONS) prefix=$(CURDIR)/debian/tmp/usr/; \ + done; + +## we need to nuke the parser files, because if there is a mistmatch +## between upstreams bison and our bison, the build will fail epically +override_dh_auto_clean: + rm -f lily/out/parser.* + dh_auto_clean ## we need to install only the png, jpg, css, ly and english html ## files into the doc-html package, and only the english pdfs into the @@ -66,8 +91,8 @@ override_dh_install: dh_install --list-missing override_dh_python2: - dh_python2 - dh_python2 usr/share/lilypond/2.16.0/python/ + dh_python2 --verbose + dh_python2 --verbose usr/share/lilypond/$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)/python/ override_dh_compress: dh_compress -X.ly @@ -75,11 +100,17 @@ override_dh_compress: override_dh_installdocs: dh_installdocs for a in $(wildcard $(CURDIR)/debian/*.doc-base-special); do \ - package=$$(basename $$a .doc-base-special); \ - install -d debian/$$package/usr/share/doc-base \ - install $$a debian/$$package/usr/share/doc-base/$$package; \ + package=`basename $$a .doc-base-special`; \ + install -d debian/$$package/usr/share/doc-base; \ + install -m0644 $$a debian/$$package/usr/share/doc-base/$$package; \ done; +override_dh_auto_test: +ifneq (,$(filter $(DEB_BUILD_OPTIONS),nocheck)) + $(MAKE) test-baseline + $(MAKE) test +endif + ## this rule will update debian/control and the per-language install ## files; all of the files it generates/modifies should be included in ## the Debian package and should not need to be regenerated or