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
|
#!/usr/bin/make -f
#export DH_VERBOSE = 1
srcpkg = $(shell LC_ALL=C dpkg-parsechangelog | grep '^Source:' | cut -d ' ' -f 2,2)
# this figures out the last merge point from 'master' into the Debian branch and
# then described this commit relative to the last release tag (V...)
# If this should make any sense the local master branch must track upstream's
# master or whatever other source branch.
gitver = $(shell [ -x /usr/bin/git ] && git describe --tags --match '[0-9].*' $$(git merge-base -a HEAD master) | sed -e 's/-/+git/')
export DH_VERBOSE = 1
export PYBUILD_NAME = datalad
# Excluding test_basics as a dirty workaround
# for https://github.com/datalad/datalad/issues/4753
# for https://github.com/datalad/datalad/issues/5379
# test_script_shims - ideally addressed properly after verifying that pybuild does install scripts without EASY
export PYBUILD_TEST_ARGS = -s -v -e 'test_(basics|proxying_open_testrepobased|script_shims)'
export DATALAD_TESTS_NONETWORK = 1
export http_proxy=
export https_proxy=
# We need to copy .egg-info so entry points are discovered. And also need
# to generate then per-Python version since some module requirements differ
export PYBUILD_BEFORE_TEST=PYTHONPATH=$(CURDIR)/bin python{version} setup.py develop --install-dir bin/;cp -rp datalad.egg-info {build_dir}/;
%:
dh $@ --with python3 --buildsystem=pybuild
clean::
dh_clean
-rm -rf bin build .pybuild datalad.egg-info
-find . -name '*.pyc' -delete
override_dh_auto_configure:
# cheap fake of an installed datalad, so we get .egg-info with entry points
$(MAKE) bin
# and leave the rest for dh_python* runs
mkdir -p build; \
export HOME=$(CURDIR)/build; \
git config --global user.name "TESTING"; \
git config --global user.email "TESTING@example.com"
override_dh_auto_test:
# # Since pybuild overrides HOME for its own purposes, we will rely on our
# # setup_package placing it back into HOME
PATH=$(CURDIR)/bin:$$PATH \
dh_auto_test -- --test-nose
override_dh_auto_install:
dh_auto_install
mv debian/python3-datalad/usr/bin/* debian/datalad/usr/bin
rm -f debian/python*-datalad/usr/bin/*
# Building manpages. Overcoming #532 which creates some config file
mkdir -p build/man
HOME=$(CURDIR)/build python3 setup.py build_manpage
# Generating argcomplete helper for bash_completion.d
register-python-argcomplete3 datalad > debian/datalad/usr/share/bash-completion/completions/datalad
override_dh_installchangelogs:
dh_installchangelogs CHANGELOG.md
# make orig tarball from repository content
get-orig-source:
# orig tarball, turn directory into something nicer
git archive --format=tar --prefix=$(srcpkg)-$(gitver)/ HEAD | \
gzip -9 > $(srcpkg)_$(gitver).orig.tar.gz
|