forked from scikit-learn/scikit-learn
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rules
executable file
·94 lines (79 loc) · 3.06 KB
/
rules
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
PACKAGE_NAME = python-sklearn
PACKAGE_ROOT_DIR = debian/${PACKAGE_NAME}
PYVERS = $(shell pyversions -vr)
PYVER = $(shell pyversions -vd)
# Mega rule
%:
: # Explicit build system to avoid use of all-in-1 Makefile
dh $@ --buildsystem=python_distutils
override_dh_clean:
rm -rf build doc/_build doc/auto_examples *-stamp *.egg-info sklearn/datasets/__config__.py
dh_clean
override_dh_auto_install: ${PYVERS:%=python-install%} ${PYVERS:%=python-test%}
# Per Python version logic -- install, test, move .so into -lib
python-install%:
python$* setup.py install --install-layout=deb --root=$(PACKAGE_ROOT_DIR)
python-test%: python-install%
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
: # Run unittests here against installed scikits.learn
export PYTHONPATH=`/bin/ls -d $$PWD/$(PACKAGE_ROOT_DIR)/usr/lib/python$*/*/`; \
export MPLCONFIGDIR=$(CURDIR)/build HOME=$(CURDIR)/build; \
export JOBLIB_MULTIPROCESSING=0; \
cd build/; python$* /usr/bin/nosetests -s sklearn && \
{ python$* /usr/bin/nosetests --with-doctest --doctest-extension=rst ../doc/ || : ; } # doctests are failing ATM
else
: # Skip unittests due to nocheck
endif
override_dh_installdocs:
: # Build Documentation using installed scikits.learn
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
ifneq (,$(findstring -a,$(DH_INTERNAL_OPTIONS)))
: # not building documentation in -a
else
export PYTHONPATH=`/bin/ls -d $$PWD/$(PACKAGE_ROOT_DIR)/usr/lib/python$(PYVER)/*`; \
export MPLCONFIGDIR=$(CURDIR)/build HOME=$(CURDIR)/build; \
cd doc; $(MAKE) html
endif
endif
: # Use jquery from Debian package, so prune shipped one
-rm doc/_build/html/_static/jquery.js
dh_installdocs -A AUTHORS.rst README*.rst
override_dh_installchangelogs:
dh_installchangelogs doc/whats_new.rst
## move binary libraries into -lib
override_dh_pysupport:
: # Move platform-specific libraries into -lib
set -e; \
for lib in $$(find $(PACKAGE_ROOT_DIR)/usr -name '*.so'); do \
sdir=$$(dirname $$lib) ; \
tdir=$(PACKAGE_ROOT_DIR)-lib/$${sdir#*$(PACKAGE_NAME)/} ; \
mkdir -p $$tdir ; \
echo "Moving '$$lib' into '$$tdir'." ; \
mv $$lib $$tdir ; \
done
if [ -x /usr/bin/dh_numpy ]; then dh_numpy -ppython-sklearn-lib; fi
: # Prune scikits/__init__.py to avoid conflicts
find debian -wholename \*scikits/__init__.py -delete
: # Move scikits. space into a compatibility package
set -e; \
find debian -wholename \*scikits -type d | while read skd; do \
skbd=$$(dirname $$skd); \
skbd_=$$(echo $$skbd | sed -e 's/sklearn/scikits-learn/g'); \
mkdir -p $$skbd_; \
mv $$skd $$skbd_; \
done
dh_pysupport
## immediately useable documentation and exemplar scripts/data
override_dh_compress:
dh_compress -X.py -X.html -X.pdf -X.css -X.jpg -X.txt -X.js -X.json -X.rtc -Xobjects.inv
## to prepare next Debian upstream source tarball
dfsg: dfsg-releases
dfsg-%:
git checkout dfsg
-git merge --no-commit $*
-git rm -rf sklearn/externals/joblib
# -git rm -f ./sklearn/svm/src/libsvm/svm.*
git commit -m "Merge $* into DFSG (pruning externals: joblib)" -a
git checkout debian