File: rules

package info (click to toggle)
datasette 0.65.2%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 3,540 kB
  • sloc: python: 19,371; javascript: 10,089; sh: 71; makefile: 47; ansic: 26
file content (50 lines) | stat: -rwxr-xr-x 1,764 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/make -f

include /usr/share/dpkg/architecture.mk

export PYBUILD_NAME=datasette
export PYBUILD_DESTDIR_python3=debian/datasette
export PYBUILD_BEFORE_TEST=cp -r {dir}/docs {build_dir}
export PYBUILD_AFTER_TEST=rm -rf {build_dir}/docs

# Test exclusions:
# - test_black.py, test_docs.py: require black/sphinx modules not needed at runtime
# - test_publish_*.py: require network access
# - test_cli_serve_server.py: requires installed datasette binary
# - Individual tests using result.stderr: Click CliRunner compatibility issue
# - test_database_page: Unicode handling difference in build environment
export PYBUILD_TEST_ARGS=--ignore=tests/test_black.py \
	--ignore=tests/test_docs.py \
	--ignore=tests/test_publish_cloudrun.py \
	--ignore=tests/test_publish_heroku.py \
	--ignore=tests/test_cli_serve_server.py \
	-k 'not test_serve_invalid_ports \
	and not test_setting_type_validation \
	and not test_sql_errors_logged_to_stderr \
	and not test_error_on_config_json \
	and not test_crossdb_warning_if_too_many_databases \
	and not test_database_page'

%:
	dh $@ --buildsystem=pybuild

ifeq ($(DEB_HOST_ARCH_BITS),32)
override_dh_auto_test:
	# Reduce stack on 32bit archs to 1MB to avoid address space exhaustion
	ulimit -s 1024 && dh_auto_test
endif

execute_after_dh_auto_build:
	PYTHONPATH={build_dir} \
		help2man --no-info --no-discard-stderr \
		--name="multi-tool for exploring and publishing data" \
		--output=debian/datasette.1 \
		"python3 -m datasette"

override_dh_sphinxdoc:
ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS)))
	PYTHONPATH=$$(dirname $$(find .pybuild/ -type d -name "datasette*dist-info" | head -n1)) \
		python3 -m sphinx -b html docs/ -E -N \
		debian/datasette-doc/usr/share/doc/datasette-doc/html/
	dh_sphinxdoc
endif