File: rules

package info (click to toggle)
datalad 0.14.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 7,576 kB
  • sloc: python: 63,618; javascript: 25,500; sh: 1,823; makefile: 226
file content (68 lines) | stat: -rwxr-xr-x 2,721 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
#!/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