1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
#!/usr/bin/make -f
# building with python3
PYTHON=$(shell py3versions -r 3.9)
PYTHON_PATH=$(shell which $(PYTHON))
SETUP=$(PYTHON) setup.py
# build options
export DEB_BUILD_MAINT_OPTIONS=hardening=+all reproducible=+all
# Do all test by default
TEST_FLAGS =
# Disable some test when in package builder environment
ifdef SCHROOT_USER
include debian/buildd-options.mak
endif
%:
dh $@ --with=python3 --buildsystem=makefile
.PHONY: calibre_auto_test calibre_auto_install
DEB_DH_GENCONTROL_ARGS = -- -Vpyqt:Version=$(shell dpkg-query -f'$${Version}' -W python3-pyqt5)
export QT_SELECT=qt5
override_dh_auto_configure:
# # use mathjax source package
$(SETUP) mathjax --mathjax-url="file://$(CURDIR)/debian/mathjax/MathJax-3.0.5.tar.gz"
$(SETUP) liberation_fonts --system-liberation_fonts --path-to-liberation_fonts=/usr/share/fonts/truetype/liberation2
override_dh_auto_build:
# # Add false-positive info for blhc(1) check
@echo 'blhc: ignore-line-regexp: \tCompiling form /.+\.ui'
[ -d build ] || $(SETUP) build
# Invoke "calibre_auto_test" target with automatic "HOME" and "XDG_*" variables.
override_dh_auto_test:
dh_auto_test -O--buildsystem=makefile -- -f debian/calibre-builder.mak
# "test_ajax_book" fails if previous test is "test_worker" (Closes: #973458)
calibre_auto_test:
LANGUAGE= LC_ALL=C LC_CTYPE=C LC_MESSAGES=C LANG=C TZ=UTC xvfb-run $(SETUP) test $(TEST_FLAGS) --exclude-test-name=ajax_book
LANGUAGE= LC_ALL=C LC_CTYPE=C LC_MESSAGES=C LANG=C TZ=UTC xvfb-run $(SETUP) test --test-name=ajax_book
override_dh_install:
dh_buildinfo
dh_install
override_dh_auto_install:
dh_auto_install -O--buildsystem=makefile -- -f debian/calibre-builder.mak
calibre_auto_install:
mkdir -p debian/tmp/usr/share/icons/hicolor
mkdir -p debian/tmp/usr/share/applications
mkdir -p debian/tmp/usr/share/mime/packages
mkdir -p debian/tmp/usr/share/zsh/vendor-completions
env LANGUAGE= LC_ALL=C LC_CTYPE=C LC_MESSAGES=C LANG=C XDG_DATA_DIRS=$(CURDIR)/debian/tmp/usr/share CALIBRE_CONFIG_DIRECTORY=debian/tmp/config $(SETUP) install --root=debian/tmp/usr
#
# # not needed
rm debian/tmp/usr/share/calibre/calibre-portable.*
rm debian/tmp/usr/lib/python*/site-packages/init_calibre.py
rmdir debian/tmp/usr/share/desktop-directories
#
# # do not install developer's script
rm debian/tmp/usr/lib/calibre/calibre/devices/mtp/unix/upstream/update.py
# # Debian package "python3-tinycss" doesn't installs test code
rm debian/tmp/usr/lib/calibre/tinycss/tests/*.py
#
# # Replace "python" to "python3" in shebang
find debian/tmp/usr/lib/calibre debian/tmp/usr/share/calibre -name '*.py' -print | xargs --no-run-if-empty sed --separate --file=debian/fix-python-shebang.sed --in-place
override_dh_installman:
# # Create and install some of the man pages
ln -sf $(CURDIR)/man-pages debian/man
dh_installman
override_dh_auto_clean:
rm -f debian/man
[ ! -d build ] || $(SETUP) build -c
$(SETUP) mathjax --clean
$(SETUP) liberation_fonts --clean
py3clean setup src
override_dh_gencontrol:
dh_gencontrol $(DEB_DH_GENCONTROL_ARGS)
# No need to touch "calibre-bin".
override_dh_python3:
dh_python3 --no-package=calibre-bin --shebang=$(PYTHON_PATH)
|