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 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
|
export PYTHONWARNINGS=d
export PYTHONHASHSEED=random
-include /usr/share/python/python.mk
scripts = \
rst-buildhtml \
rst2html \
rst2html4 \
rst2html5 \
rst2latex \
rst2man \
rst2odt \
rst2odt_prepstyles \
rst2pseudoxml \
rst2s5 \
rst2xetex \
rst2xml \
rstpep2html \
pre_localize_css = 's,href="(([.][.]/)*)docutils/.*/([^/]+[.]css)",href="$$1css/$$3",g;'
pre_strip_images1 = 's,<img src="http://[^"]+" alt="([^"]*)"[^>]*>,$$1,g;'
pre_strip_images2 = 's,<img alt="([^"]*)"[^>]*\bsrc="http://[^"]+"[^>]*>,$$1,g;'
pre_strip_images = $(pre_strip_images1)$(pre_strip_images2)
python_all = pyversions -r | tr ' ' '\n' | xargs -t -I {} env {}
python3_all = $(patsubst py%,py3%,$(python_all))
build build-indep: build-stamp
build-stamp:
dh_testdir
rm -f docutils/utils/roman.py
if grep -r __file__ --include='*.py' docutils/ | grep -vw _datadir; then \
echo "Error: Some uses of __file__ are not guarded by _datadir()." \
"Is move-data-to-usr-share.diff up-to-date?"; \
exit 1; \
fi
python setup.py build --build-lib=build/py2/
ifeq "$(filter nocheck,$(DEB_BUILD_OPTIONS))" ""
$(python_all) test/alltests.py --verbose
PYTHONPATH=$(CURDIR)/build/py2 python tools/test/test_buildhtml.py --verbose
endif
python3 setup.py build --build-lib=build/py3/
ifeq "$(filter nocheck,$(DEB_BUILD_OPTIONS))" ""
$(python3_all) test3/alltests.py --verbose
endif
PYTHONPATH=. python tools/buildhtml.py \
--local --link-stylesheet --traceback \
.
PYTHONPATH=. python tools/buildhtml.py \
--link-stylesheet --traceback \
docs
( ls *.html && find docs/ -name '*.html' ) \
| xargs perl -0777 -p -i -e $(pre_localize_css)$(pre_strip_images)
touch build-stamp
clean:
dh_testdir
rm -f build-stamp
rm -rf build/
find -name '*.py[co]' -delete
rm -f *.html
find docs -name '*.html' -not -name 'quickref.html' -delete
rm -rf docutils.egg-info
cd test && rm -rf alltests.out record.txt functional/output/*/ functional/output/[a-z]*.*
rm -rf test3/
dh_clean
install: build
dh_testdir
dh_testroot
dh_installdirs
mkdir -p debian/tmp
python setup.py build --build-lib=build/py2/ install \
--root debian/tmp --no-compile $(py_setup_install_args) \
--install-scripts=/usr/share/docutils/scripts/python2/
python3 setup.py build --build-lib=build/py3/ install \
--root debian/tmp --no-compile $(py_setup_install_args) \
--install-scripts=/usr/share/docutils/scripts/python3/
mkdir -p debian/tmp/usr/share/
cp -rlf debian/tmp/usr/lib/python2.*/*-packages/docutils debian/tmp/usr/share/
find debian/tmp/usr/lib/python[23]*/*-packages/docutils/ -type f '!' -name '*.py' -delete
find debian/tmp/usr/share/docutils/ \( -name '*.py' -o -name '*.py[co]' \) '!' -path '*/scripts/*' -delete
find debian/tmp/ -type d -empty -delete
sed -i -e 's/^\(_debian_package\) = /\1 = 1/' debian/tmp/usr/lib/python[23]*/*-packages/docutils/__init__.py
mkdir -p debian/tmp/usr/share/docutils/scripts/python2/
set -ex && for python in python2 python3; do \
dir=debian/tmp/usr/share/docutils/scripts/$$python/; \
for exe in $(filter-out rst-buildhtml,$(scripts)); do \
mv $$dir/$$exe.py $$dir/$$exe; \
done; \
install tools/buildhtml.py $$dir/rst-buildhtml; \
sed -i -e "1 s,^#!.*,#!/usr/bin/$${python%2}," $$dir/rst-buildhtml; \
done
:
:
mkdir -p debian/tmp/man/
set -ex && for exe in $(filter-out rst2odt_prepstyles,$(scripts)); do \
export PYTHONPATH=debian/tmp/usr/lib/python2.7/dist-packages; \
cp debian/$$exe.txt debian/tmp/man/$$exe.txt; \
python debian/tmp/usr/share/docutils/scripts/python2/$$exe --help | \
sed \
-e '1 s/^Usage$$/Synopsis/' \
-e 's/^=/====/' \
-e '3 s/^ //' \
-e '4 a Description' \
-e '4 a ===========' \
>> debian/tmp/man/$$exe.txt;\
python tools/rst2man.py debian/tmp/man/$$exe.txt \
debian/tmp/man/$$exe.1; \
done
PYTHONPATH=. python tools/rst2man.py debian/rst2odt_prepstyles.txt \
debian/tmp/man/rst2odt_prepstyles.1
sed -i -e 's,"\(docutils/writers/\),"/usr/share/\1,g' debian/tmp/man/*
binary-indep: build install
dh_testdir
dh_testroot
dh_installdocs -XCOPYING
mkdir -p debian/docutils-doc/usr/share/doc/python-docutils/
cd debian/docutils-doc/usr/share/doc/python-docutils/ && ln -sf ../docutils-doc/*.html .
dh_install -p docutils-common -X /scripts/
dh_install -N docutils-common
dh_lintian
dh_python2 -p python-docutils
dh_python3 -p python3-docutils
dh_installexamples
dh_installcatalogs
dh_installxmlcatalogs
dh_installman
dh_installchangelogs -XHISTORY
dh_link
dh_compress -p docutils-doc -X.dtd -X.html -X.txt
dh_compress -N docutils-doc
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
build-arch binary-arch:
binary: binary-indep binary-arch
.PHONY: build build-arch build-indep clean binary-indep binary-arch binary install configure
|