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
|