Mercurial > hg
annotate contrib/build-linux-wheels.sh @ 35467:d6cfa722b044
templater: look up mapping table through template engine
These functions are stub for symbol/resource separation. This series is
intended to address the following problems:
a) internal data may be exposed to user (issue5699)
b) defaults['repo'] (a repository name) will conflict with mapping['repo']
(a repo object) in hgweb
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 21 Dec 2017 21:03:25 +0900 |
parents | 637267114513 |
children |
rev | line source |
---|---|
32080
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
1 #!/bin/bash |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
2 # This file is directly inspired by |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
3 # https://github.com/pypa/python-manylinux-demo/blob/master/travis/build-wheels.sh |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
4 set -e -x |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
5 |
33579
637267114513
contrib: drop Python 2.6 from manylinux1 wheel script
Augie Fackler <augie@google.com>
parents:
32080
diff
changeset
|
6 PYTHON_TARGETS=$(ls -d /opt/python/cp27*/bin) |
32080
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
7 |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
8 # Create an user for the tests |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
9 useradd hgbuilder |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
10 |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
11 # Bypass uid/gid problems |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
12 cp -R /src /io && chown -R hgbuilder:hgbuilder /io |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
13 |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
14 # Compile wheels for Python 2.X |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
15 for PYBIN in $PYTHON_TARGETS; do |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
16 "${PYBIN}/pip" wheel /io/ -w wheelhouse/ |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
17 done |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
18 |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
19 # Bundle external shared libraries into the wheels with |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
20 # auditwheel (https://github.com/pypa/auditwheel) repair. |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
21 # It also fix the ABI tag on the wheel making it pip installable. |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
22 for whl in wheelhouse/*.whl; do |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
23 auditwheel repair "$whl" -w /src/wheelhouse/ |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
24 done |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
25 |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
26 # Install packages and run the tests for all Python versions |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
27 cd /io/tests/ |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
28 |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
29 for PYBIN in $PYTHON_TARGETS; do |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
30 # Install mercurial wheel as root |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
31 "${PYBIN}/pip" install mercurial --no-index -f /src/wheelhouse |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
32 # But run tests as hgbuilder user (non-root) |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
33 su hgbuilder -c "\"${PYBIN}/python\" /io/tests/run-tests.py --with-hg=\"${PYBIN}/hg\" --blacklist=/io/contrib/linux-wheel-centos5-blacklist" |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
diff
changeset
|
34 done |