Show More
@@ -2,14 +2,51 b'' | |||||
2 | # Uncomment this to turn on verbose mode. |
|
2 | # Uncomment this to turn on verbose mode. | |
3 | # export DH_VERBOSE=1 |
|
3 | # export DH_VERBOSE=1 | |
4 |
|
4 | |||
|
5 | # By default we build a .deb where the native components are built with the | |||
|
6 | # current "default" version of py3 on the build machine. If you wish to build a | |||
|
7 | # .deb that has native components built for multiple versions of py3: | |||
|
8 | # | |||
|
9 | # 1. install python3.x and python3.x-dev for each version you want | |||
|
10 | # 2. set DEB_HG_MULTI_VERSION=1 or DEB_HG_PYTHON_VERSIONS in your environment | |||
|
11 | # (if both are set, DEB_HG_PYTHON_VERSIONS has precedence) | |||
|
12 | # | |||
|
13 | # If you choose `DEB_HG_MULTI_VERSION=1`, it will build for every "supported" | |||
|
14 | # version of py3 that's installed on the build machine. This may not be equal to | |||
|
15 | # the actual versions that are installed, see the comment above where we set | |||
|
16 | # DEB_HG_PYTHON_VERSIONS below. If you choose to set `DEB_HG_PYTHON_VERSIONS` | |||
|
17 | # yourself, set it to a space-separated string of python version numbers, like: | |||
|
18 | # DEB_HG_PYTHON_VERSIONS="3.7 3.8" make deb | |||
|
19 | DEB_HG_MULTI_VERSION?=0 | |||
|
20 | ||||
5 | CPUS=$(shell cat /proc/cpuinfo | grep -E ^processor | wc -l) |
|
21 | CPUS=$(shell cat /proc/cpuinfo | grep -E ^processor | wc -l) | |
6 |
|
22 | |||
|
23 | # By default, only build for the version of python3 that the system considers | |||
|
24 | # the 'default' (which should be the one invoked by just running 'python3' | |||
|
25 | # without a minor version). If DEB_HG_PYTHON_VERSIONS is set, this is ignored. | |||
|
26 | ifeq ($(DEB_HG_MULTI_VERSION), 1) | |||
|
27 | # If we're building for multiple versions, use all of the "supported" versions | |||
|
28 | # on the build machine. Note: the mechanism in use here (`py3versions`) is the | |||
|
29 | # recommended one, but it relies on a file written by the python3-minimal | |||
|
30 | # package, and this file is not dynamic and does not account for manual | |||
|
31 | # installations, just the ones that would be installed by `python3-all`. This | |||
|
32 | # includes the `-i` flag, which claims it's to list all "installed" versions, | |||
|
33 | # but it doesn't. This was quite confusing, hence this tale of woe. :) | |||
|
34 | DEB_HG_PYTHON_VERSIONS?=$(shell py3versions -vs) | |||
|
35 | else | |||
|
36 | # If we're building for only one version, identify the "default" version on | |||
|
37 | # the build machine and use that when building; this is just so that we don't | |||
|
38 | # have to duplicate the rules below for multi-version vs. single-version. The | |||
|
39 | # shebang line will still be /usr/bin/python3 (no minor version). | |||
|
40 | DEB_HG_PYTHON_VERSIONS?=$(shell py3versions -vd) | |||
|
41 | endif | |||
|
42 | ||||
7 | export HGPYTHON3=1 |
|
43 | export HGPYTHON3=1 | |
8 | export PYTHON=python3 |
|
44 | export PYTHON=python3 | |
9 |
|
45 | |||
10 | %: |
|
46 | %: | |
11 | dh $@ --with python3 |
|
47 | dh $@ --with python3 | |
12 |
|
48 | |||
|
49 | # Note: testing can be disabled using the standard `DEB_BUILD_OPTIONS=nocheck` | |||
13 | override_dh_auto_test: |
|
50 | override_dh_auto_test: | |
14 | http_proxy='' dh_auto_test -- TESTFLAGS="-j$(CPUS)" |
|
51 | http_proxy='' dh_auto_test -- TESTFLAGS="-j$(CPUS)" | |
15 |
|
52 | |||
@@ -24,8 +61,15 b' override_dh_auto_build:' | |||||
24 | $(MAKE) all |
|
61 | $(MAKE) all | |
25 | $(MAKE) -C contrib/chg all |
|
62 | $(MAKE) -C contrib/chg all | |
26 |
|
63 | |||
27 | override_dh_auto_install: |
|
64 | # Build the native extensions for a specfic python3 version (which must be | |
28 | python3 setup.py install --root "$(CURDIR)"/debian/mercurial --install-layout=deb |
|
65 | # installed on the build machine). | |
|
66 | install-python%: | |||
|
67 | python$* setup.py install --root "$(CURDIR)"/debian/mercurial --install-layout=deb | |||
|
68 | ||||
|
69 | # Build the final package. This rule has a dependencies section that causes the | |||
|
70 | # native extensions to be compiled for every version of python3 listed in | |||
|
71 | # DEB_HG_PYTHON_VERSIONS. | |||
|
72 | override_dh_auto_install: $(DEB_HG_PYTHON_VERSIONS:%=install-python%) | |||
29 | # chg |
|
73 | # chg | |
30 | make -C contrib/chg \ |
|
74 | make -C contrib/chg \ | |
31 | DESTDIR="$(CURDIR)"/debian/mercurial \ |
|
75 | DESTDIR="$(CURDIR)"/debian/mercurial \ |
General Comments 0
You need to be logged in to leave comments.
Login now