File: rules

package info (click to toggle)
calibre 5.12.0%2Bdfsg-1%2Bdeb11u2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 391,928 kB
  • sloc: python: 402,208; ansic: 77,519; javascript: 56,085; cpp: 14,321; xml: 1,749; sh: 828; sql: 629; objc: 456; makefile: 54; sed: 3
file content (92 lines) | stat: -rwxr-xr-x 3,172 bytes parent folder | download
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)