]> git.donarmstrong.com Git - lilypond.git/blobdiff - debian/rules
Run tests only when documentation has been built
[lilypond.git] / debian / rules
index e528bbdfcc069d195c6304db755f963630017221..cb8223a4c7202a9ed7fdf29e1461d6a90652833b 100755 (executable)
@@ -35,9 +35,6 @@ endif
 # START: Definitions from the old guile-1.8 (1.8.8+1-10) package
 ########################################################################
 
-# Make sure the build process doesn't touch the real HOME.
-export HOME := $(CURDIR)/no-trespassing
-
 # These are used for cross-compiling and for saving the configure script
 # from having to guess our platform (since we know it already)
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
@@ -102,22 +99,13 @@ override_dh_auto_configure:
        cd guile18 && $(MAKE) ${guile_make_args}
        $(MAKE) -C guile18 install DESTDIR=$(CURDIR)/out/guile
        rm -f lily/out/parser.*
-       GUILE_LOAD_PATH=$(GUILE_LOAD_PATH) \
+       GUILE_LOAD_PATH="$(GUILE_LOAD_PATH)" \
                dh_auto_configure -- --disable-checking --enable-debugging $(config_opt)
 
 override_dh_auto_build-indep:
-       dh_auto_build
+       dh_auto_build -i -O--parallel
        $(MAKE) doc $(DOC_OPTIONS)
 
-override_dh_auto_install-indep: debian/guile.reloc
-       $(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
@@ -130,6 +118,18 @@ override_dh_auto_install-arch: debian/lilypond.sh debian/lilypond-invoke-editor.
        sed -i -e '1s!$(CURDIR)/out/guile/usr/bin/guile!/usr/bin/guile!' \
                debian/tmp/usr/bin/lilypond-invoke-editor
 
+## We need the non-Documentation arch-independent files installed by
+## the arch-dependent "$(MAKE) install" too, hence the dependency
+## on override_dh_auto_install-arch
+override_dh_auto_install-indep: override_dh_auto_install-arch debian/guile.reloc
+       $(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/
+
 ## we need to nuke the parser files, because if there is a mismatch
 ## between upstreams bison and our bison, the build will fail epically
 override_dh_auto_clean:
@@ -138,12 +138,15 @@ override_dh_auto_clean:
        rm -f lily/out/parser.*
        dh_auto_clean --no-parallel
 
+override_dh_install-arch:
+       dh_install -a -O--parallel --list-missing
+
 ## 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
 ## doc-pdf package. Because dh_install doesn't support regexes, we'll
 ## use find to replace the contents of the .install file before we
 ## call dh_install
-override_dh_install:
+override_dh_install-indep:
        /bin/echo -e 'usr/share/doc/lilypond/html/*/*/*.ly\nusr/share/doc/lilypond/html/*/*/*.png' \
                > $(CURDIR)/debian/lilypond-doc-html.install
        /bin/echo -e 'usr/share/doc/lilypond/html/*/*/*.jpg\nusr/share/doc/lilypond/html/*/*/*.css' \
@@ -158,14 +161,14 @@ override_dh_install:
        find $(CURDIR)/debian/tmp/ -type f \
                -regex '.*usr/share/doc/lilypond/.*/[^\.]+.preview.pdf' \
                -printf '%P\n' >> $(CURDIR)/debian/lilypond-doc-pdf.install
-       dh_install --list-missing
+       dh_install -i -O--parallel --list-missing
 
 override_dh_python2:
        dh_python2 --verbose
        dh_python2 --verbose usr/share/lilypond/$(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)/python/
 
 override_dh_compress:
-       dh_compress -X.ly
+       dh_compress -X.ly -X.pdf
 
 override_dh_installdocs:
        dh_installdocs
@@ -175,12 +178,16 @@ override_dh_installdocs:
                install -m0644 $$a debian/$$package/usr/share/doc-base/$$package; \
        done
 
-override_dh_shlibdeps:
+override_dh_shlibdeps-arch:
        $(eval unexport LD_LIBRARY_PATH)
-       dh_shlibdeps -lusr/lib/$(DEB_HOST_MULTIARCH)/lilypond/$(LILYPOND_VERSION)/guile
+       dh_shlibdeps -a -O--parallel -lusr/lib/$(DEB_HOST_MULTIARCH)/lilypond/$(LILYPOND_VERSION)/guile
+
+# Skip tests for architecture-dependent-only build because
+# the test would fail without built documentation.
+override_dh_auto_test-arch:
 
-override_dh_auto_test:
-ifneq (,$(filter $(DEB_BUILD_OPTIONS),nocheck))
+override_dh_auto_test-indep:
+ifeq (,$(filter $(DEB_BUILD_OPTIONS),nocheck))
        $(MAKE) test-baseline
        $(MAKE) test
 endif