fixes to make things work
authorrobin
Fri, 23 Jun 2017 15:17:22 +0100
changeset 12 f3f4904af418
parent 11 138feabe2772
child 13 2fda36a772b6
fixes to make things work
.hgignore
manylinux/build-wheels
manylinux/container-build-wheels
manylinux/container-test-wheels
manylinux/test-wheels
--- a/.hgignore	Fri Jun 23 12:33:21 2017 +0100
+++ b/.hgignore	Fri Jun 23 15:17:22 2017 +0100
@@ -37,32 +37,7 @@
 *.pyd
 
 syntax: regexp
-^reportlab.egg-info
-^dist/.*
-^demos/stdfonts/.*\.pdf
-^docs/.*\.pdf
-^docs/.*/.*\.pdf
-^src/reportlab/fonts/.*\.pfb
-^src/reportlab/fonts/.*\.afm
-^src/reportlab/fonts/.*\.ttf
-^src/reportlab/graphics/barcode/.*\.pdf
-^src/reportlab/graphics/barcode/test_cbcim\..*
-^src/reportlab/graphics/pmout
-^src/reportlab/graphics/epsout
-^src/reportlab/graphics/pdfout
-^src/reportlab/graphics/out-svg
-^tools/docco/.*\.pdf
-^tests/test_.*\.pdf
-^tests/test_.*\.svg
-^tests/test_.*\.ps
-^tests/_i_am_actually_a_gif\.jpg
-^tests/_i_am_actually_a_jpeg\.gif
-^tests/axestest0\.(svg|ps)
-^tests/pythonpoint\.pdf
-^tests/test_pdfgen_pycanvas_out\.txt
-^tests/test_render(SVG|PS)_output\.html
-^tests/test_source_chars\.txt
-^tests/barcode-out
-^tests/render-out
+^manylinux/wheels.*$
+^manylinux/test-results.txt
 ^tmp/
 ^patches/
--- a/manylinux/build-wheels	Fri Jun 23 12:33:21 2017 +0100
+++ b/manylinux/build-wheels	Fri Jun 23 15:17:22 2017 +0100
@@ -1,16 +1,17 @@
 #!/bin/bash
 set -ev
 cd "$(dirname "${BASH_SOURCE[0]}")"
-UNICODE_WIDTHS='16 32'
-PYTHON_VERSIONS='2.7 3.3 3.4 3.5 3.6'
-ARCHS='x86_64 i686'
-IMAGESRC=quay.io/pypa
+UNICODES=${UNICODES:-'16 32'}
+PYTHONS=${PYTHONS:-'2.7 3.3 3.4 3.5 3.6'}
+ARCHS=${ARCHS:-'x86_64 i686'}
+IMAGESRC=${IMAGESRC:-quay.io/pypa}
 REPO=${REPO:-https://bitbucket.org/rptlab/reportlab}
-REQUIREMENT=${REPO:-$(basename ${REPO})}
+BRANCH=${BRANCH:-default}
+REQUIREMENT=${REQUIREMENT:-$(basename ${REPO})}
 DOCKER_SCRIPT=${DOCKER_SCRIPT:-container-build-wheels}
 DOCKER_PATH=${DOCKER_PATH:-/io/${DOCKER_SCRIPT}}
-#IMAGESRC=rl
-sudo rm -rf wheels wheelsu
+
+sudo rm -rf wheels wheelsu .pip-cache
 mkdir wheels wheelsu
 for arch in ${ARCHS}; do
 	sudo rm -rf wheelhouse wheels_unfixed
@@ -19,9 +20,10 @@
 	docker pull $DOCKER_IMAGE
 	docker run --rm \
 		${DOCKER_ARGS} \
-		-e PYTHON_VERSIONS="$PYTHON_VERSIONS" \
-		-e UNICODE_WIDTHS="$UNICODE_WIDTHS" \
+		-e PYTHONS="$PYTHONS" \
+		-e UNICODES="$UNICODES" \
 		-e REPO="$REPO" \
+		-e BRANCH="$BRANCH" \
 		-e REQUIREMENT="$REQUIREMENT" \
 		-e ARCH="$arch" \
 		-v $(pwd):/io ${DOCKER_IMAGE}  ${DOCKER_PATH}
--- a/manylinux/container-build-wheels	Fri Jun 23 12:33:21 2017 +0100
+++ b/manylinux/container-build-wheels	Fri Jun 23 15:17:22 2017 +0100
@@ -2,12 +2,12 @@
 # Run with:
 #	 docker run --rm -v $PWD:/io quay.io/pypa/manylinux1_x86_64 /io/reportlab-wheels.sh
 # or something like:
-#	 docker run --rm -e PYTHON_VERSIONS=2.7 -v $PWD:/io quay.io/pypa/manylinux1_x86_64 /io/reportlab-wheels.sh
+#	 docker run --rm -e PYTHONS=2.7 -v $PWD:/io quay.io/pypa/manylinux1_x86_64 /io/reportlab-wheels.sh
 # or:
-#	 docker run --rm -e PYTHON_VERSIONS=2.7 -v $PWD:/io quay.io/pypa/manylinux1_x86_64 /io/reportlab-wheels.sh
+#	 docker run --rm -e PYTHONS=2.7 -v $PWD:/io quay.io/pypa/manylinux1_x86_64 /io/reportlab-wheels.sh
 set -e
 
-UNICODE_WIDTHS=${UNICODE_WIDTHS:-16 32}
+UNICODES=${UNICODES:-16 32}
 WHEELHOUSE=${WHEELHOUSE:-/io/wheelhouse}
 WHEELS_UNFIXED=${WHEELS_UNFIXED:-/io/wheels_unfixed}
 
@@ -48,10 +48,10 @@
 export RL_MANYLINUX=1
 
 # Compile wheels
-for PYTHON in ${PYTHON_VERSIONS}; do
+for PYTHON in ${PYTHONS}; do
 	[ $(lex_ver $PYTHON) -lt $(lex_ver $PYLO) ] && continue
 	[ $(lex_ver $PYTHON) -ge $(lex_ver $PYHI) ] && continue
-	for uw in ${UNICODE_WIDTHS}; do
+	for uw in ${UNICODES}; do
 		[ $(lex_ver $PYTHON) -ge $(lex_ver 3.3) ] && [ "$uw" != 32 ] && continue
 		(
 		export UNICODE_WIDTH="$uw"
@@ -63,7 +63,7 @@
 		PIP="$PP/bin/pip"
 		$PIP install wheel setuptools -U
 		echo "Building reportlab for Python $PYTHON"
-		$PIP wheel --no-binary=:all: --no-deps -w "${WHEELS_UNFIXED}" -e "${REPO}#egg=${REQUIREMENT}"
+		$PIP wheel --no-binary=:all: --no-deps -w "${WHEELS_UNFIXED}" --cache-dir=.pip-cache ${REPO}/get/${BRANCH}.tar.gz
 		)
 	done
 done
--- a/manylinux/container-test-wheels	Fri Jun 23 12:33:21 2017 +0100
+++ b/manylinux/container-test-wheels	Fri Jun 23 15:17:22 2017 +0100
@@ -2,12 +2,12 @@
 # Run with:
 #	 docker run --rm -v $PWD:/io quay.io/pypa/manylinux1_x86_64 /io/build_reportlab.sh
 # or something like:
-#	 docker run --rm -e PYTHON_VERSIONS=2.7 -v $PWD:/io quay.io/pypa/manylinux1_x86_64 /io/build_reportlab.sh
+#	 docker run --rm -e PYTHONS=2.7 -v $PWD:/io quay.io/pypa/manylinux1_x86_64 /io/build_reportlab.sh
 # or:
-#	 docker run --rm -e PYTHON_VERSIONS=2.7 -v $PWD:/io quay.io/pypa/manylinux1_x86_64 /io/build_reportlab.sh
+#	 docker run --rm -e PYTHONS=2.7 -v $PWD:/io quay.io/pypa/manylinux1_x86_64 /io/build_reportlab.sh
 set -e
 
-UNICODE_WIDTHS=${UNICODE_WIDTHS:-16 32}
+UNICODES=${UNICODES:-16 32}
 WHEELHOUSE=${WHEELHOUSE:-/io/wheelhouse}
 WHEELS_UNFIXED=${WHEELS_UNFIXED:-/io/wheels_unfixed}
 
@@ -17,10 +17,10 @@
 	}
 
 # Manylinux, openblas version, lex_ver etc etc
-mark source /io/rl_ci_utils/manylinux/manylinux_utils.sh
-source /io/rl_ci_utils/manylinux/manylinux_utils.sh
-mark source /io/rl_ci_utils/manylinux/library_builders.sh
-source /io/rl_ci_utils/manylinux/library_builders.sh
+mark source /io/manylinux_utils.sh
+source /io/manylinux_utils.sh
+mark source /io/library_builders.sh
+source /io/library_builders.sh
 mark "$(env)"
 
 #mark build_jpeg
@@ -43,18 +43,17 @@
 OPATH="$PATH"
 export RL_MANYLINUX=1
 ENV=/io/test-env
-SRC=/io/${REQUIREMENT}-src
+SRC=/io/test-src
 
 # Compile wheels
-for PYTHON in ${PYTHON_VERSIONS}; do
+for PYTHON in ${PYTHONS}; do
 	[ $(lex_ver $PYTHON) -lt $(lex_ver $PYLO) ] && continue
 	[ $(lex_ver $PYTHON) -ge $(lex_ver $PYHI) ] && continue
-	for uw in ${UNICODE_WIDTHS}; do
+	for uw in ${UNICODES}; do
 		[ $(lex_ver $PYTHON) -ge $(lex_ver 3.3) ] && [ "$uw" != 32 ] && continue
 		(
-		export UNICODE_WIDTH="$uw"
-		mark "building reportlab wheel PYTHON=$PYTHON UNICODE_WIDTH=$UNICODE_WIDTH"
-		PP="$(cpython_path $PYTHON $UNICODE_WIDTH)"
+		mark "building reportlab wheel PYTHON=$PYTHON UNICODE_WIDTH=$uw"
+		PP="$(cpython_path $PYTHON $uw)"
 		PY=$PP/bin/python
 		mark "platform=$($PY -mplatform) sys.platform=$($PY -c'import sys;print(sys.platform)') os.name=$($PY -c'import os;print(os.name)')"
 		export PATH="$PP/bin:$OPATH"
@@ -68,14 +67,15 @@
 		. $ENV/bin/activate
 		EPY=$ENV/bin/python
 		EPIP=$ENV/bin/pip
-		[ "${REQUIREMENT}" = "reportlab" ] && $EPIP install --find-links=/io/TEST-WHEELS pillow
 		$EPIP install --find-links=/io/wheels ${REQUIREMENT}
 		rm -f /tmp/eee
-		$EPY setup.py test | tee /tmp/eee
+		cd ${SRC}
+		$EPY setup.py test 2>&1 | tee /tmp/eee
 		grep -q 'OK' /tmp/eee && R="##### OK  " || R="!!!!! FAIL"
-		echo "${R} PYTHON=${PYTHON} UNICODE_WIDTH=${UNICODE_WIDTH} ARCH=${ARCH}" >> /io/test-results.txt
+		echo "${R} PYTHON=${PYTHON} UNICODE_WIDTH=${uw} ARCH=${ARCH}" >> /io/test-results.txt
 		deactivate
 		)
+		rm -rf $ENV
 		)
 	done
 done
--- a/manylinux/test-wheels	Fri Jun 23 12:33:21 2017 +0100
+++ b/manylinux/test-wheels	Fri Jun 23 15:17:22 2017 +0100
@@ -1,25 +1,28 @@
 #!/bin/bash
-UNICODE_WIDTHS='16 32'
-PYTHON_VERSIONS='2.7 3.3 3.4 3.5 3.6'
-ARCHS='x86_64 i686'
-IMAGESRC=quay.io/pypa
+cd "$(dirname "${BASH_SOURCE[0]}")"
+UNICODES=${UNICODES:-'16 32'}
+PYTHONS=${PYTHONS:-'2.7 3.3 3.4 3.5 3.6'}
+ARCHS=${ARCHS:-'x86_64 i686'}
+IMAGESRC=${IMAGESRC:-quay.io/pypa}
 REPO=${REPO:-https://bitbucket.org/rptlab/reportlab}
-REQUIREMENT=${REPO:-$(basename ${REPO})}
+BRANCH=${BRANCHE:-default}
+REQUIREMENT=${REQUIREMENT:-$(basename ${REPO})}
 DOCKER_SCRIPT=${DOCKER_SCRIPT:-container-test-wheels}
 DOCKER_PATH=${DOCKER_PATH:-/io/${DOCKER_SCRIPT}}
-sudo rm -rf test-src
+sudo rm -rf test-src test-results.txt test-env
 hg clone ${REPO} test-src
 [ -n "$REVISION" ] && (cd test-src && hg up "$REVISION")
 #IMAGESRC=rl
 for arch in ${ARCHS}; do
 	DOCKER_IMAGE=${IMAGESRC}/manylinux1_${arch}
+	docker pull $DOCKER_IMAGE
 	docker run --rm \
 		${DOCKER_ARGS} \
-		-e PYTHON_VERSIONS="$PYTHON_VERSIONS" \
-		-e UNICODE_WIDTHS="$UNICODE_WIDTHS" \
+		-e PYTHONS="$PYTHONS" \
+		-e UNICODES="$UNICODES" \
 		-e REPO="$REPO" \
 		-e REQUIREMENT="$REQUIREMENT" \
 		-e ARCH="$arch" \
 		-v $(pwd):/io ${DOCKER_IMAGE} ${DOCKER_PATH}
 done
-sudo rm -rf reportlab-src test-env
+sudo rm -rf test-src test-env