summaryrefslogtreecommitdiff
path: root/debian.py3k/rules
blob: 78e32c5a79cf90891d48512a1e79c210d330267b (plain)
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
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
#
# adapted by Logilab for automatic generation by debianize
# (part of the devtools project, http://www.logilab.org/projects/devtools)
#
# Copyright (c) 2003-2010 LOGILAB S.A. (Paris, FRANCE).
# http://www.logilab.fr/ -- mailto:contact@logilab.fr

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

PACKAGE:=$(shell grep Package debian/control | cut -d ' ' -f2)
PYDEF:=$(shell py3versions -dv)

include /usr/share/python3/python.mk


%:
	dh --with python3 --without python2 $@

override_dh_auto_build:
	# python module build
	2to3-$(PYDEF) -wnv -x import setup.py
	NO_SETUPTOOLS=1 python3 setup.py -q build --build-purelib $(CURDIR)/build/lib
	# build doc
	$(MAKE) -C doc

override_dh_install:
	NO_SETUPTOOLS=1 python3 setup.py -q install --no-compile \
		--root=$(CURDIR)/debian/$(PACKAGE)/ \
		${py_setup_install_args}
	# transform python2 sources to python3
	find $(CURDIR)/debian/$(PACKAGE)/usr/lib/python*/*-packages/ ! -path "*/test/*py" -name "*py" -exec 2to3-$(PYDEF) -wn {} \;
	# remove test directory
	rm -rf debian/$(PACKAGE)/usr/lib/python*/*-packages/logilab/common/test
	# rename pytest for python3k
	mv debian/$(PACKAGE)/usr/bin/pytest debian/$(PACKAGE)/usr/bin/pytest3
	sed -i 's/python -u/python3 -u/' debian/$(PACKAGE)/usr/bin/pytest3
	# don't install python2.X sources in this package
	rm -rf debian/$(PACKAGE)/usr/lib/python2.?

override_dh_pysupport:
	dh_pysupport
	dh_python3 -V "$(PYDEF)-" --suggests=python3

override_dh_installdocs:
	dh_installdocs -i README doc/apidoc/
	dh_installchangelogs -i ChangeLog

override_dh_auto_test:
ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
	# since "logilab.common" is a namespace package, we need to "simulate" it
	touch $(CURDIR)/build/lib/logilab/__init__.py
	# use the default python version to select the script dir to run the tests
	-PYTHONPATH=$(CURDIR)/build/lib/ python3 $(shell unit2) -v -s $(CURDIR)/build/lib/logilab/common/test -p '*test*.py'
	rm -f $(CURDIR)/build/lib/logilab/__init__.py
endif

override_dh_compress:
	dh_compress -i -X.py -X.ini -X.xml -Xtest/ -Xapidoc/