From d0e5a4bb3cfb90b53d25d6781d12157ba72e4049 Mon Sep 17 00:00:00 2001 From: Yannick Jadoul Date: Wed, 13 Sep 2017 22:56:06 +0200 Subject: [PATCH 1/3] Adding extra mount / to /host on docker invocation for linux wheels --- cibuildwheel/linux.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cibuildwheel/linux.py b/cibuildwheel/linux.py index 76952fcf..80a97db3 100644 --- a/cibuildwheel/linux.py +++ b/cibuildwheel/linux.py @@ -120,6 +120,7 @@ def build(project_dir, package_name, output_dir, test_command, test_requires, be '-i', '-v', '%s:/project' % os.path.abspath(project_dir), '-v', '%s:/output' % os.path.abspath(output_dir), + '-v', '/:/host', docker_image, '/bin/bash'], stdin=subprocess.PIPE, universal_newlines=True) From 1730d6fd0b3c22d1db98615a361c8379d8607060 Mon Sep 17 00:00:00 2001 From: Yannick Jadoul Date: Sat, 16 Sep 2017 23:03:14 +0200 Subject: [PATCH 2/3] Adding notes on Linux builds in Docker --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 8a975971..d3f563a3 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,12 @@ All being well, you should get wheels delivered to you in a few minutes. A more detailed description of the options, the allowed values, and some examples can be found in the [Options](#options) section. +### Linux builds on Docker + +Linux wheels are built in the [`manylinux1` docker images](https://github.com/pypa/manylinux) to provide binary compatible wheels on linux, according to [PEP 513](https://www.python.org/dev/peps/pep-0513/). Because of this, when building with `cibuildwheel` on Linux, a few things should be taken into account: +- Progams and libraries cannot be installed on the Travis CI Ubuntu host with `apt-get`, but can be installed inside of the Docker image using `yum` or manually. The same goes for environment variables that are potentially needed to customize the wheel building. `cibuildwheel` supports this by providing the `CIBW_ENVIRONMENT` and `CIBW_BEFORE_BUILD` options to setup the build environment inside the running Docker image. See [below](#options) for details on these options. +- The project directory is mounted in the running Docker instance as `/project`, the output directory for the wheels as `/output`. In general, this handled transparently by `cibuildwheel`. For a more finegrained level of control however, the root of the host file system is mounted as `/host`, allowing for example to access shared files, caches, etc. on the host file system. + Options ------- From 8fa41df67df4fd4eba145d015fcd7499ebcbdc94 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Tue, 19 Sep 2017 20:09:59 +0100 Subject: [PATCH 3/3] Fix a couple typos --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d3f563a3..f61d1d03 100644 --- a/README.md +++ b/README.md @@ -86,9 +86,9 @@ A more detailed description of the options, the allowed values, and some example ### Linux builds on Docker -Linux wheels are built in the [`manylinux1` docker images](https://github.com/pypa/manylinux) to provide binary compatible wheels on linux, according to [PEP 513](https://www.python.org/dev/peps/pep-0513/). Because of this, when building with `cibuildwheel` on Linux, a few things should be taken into account: +Linux wheels are built in the [`manylinux1` docker images](https://github.com/pypa/manylinux) to provide binary compatible wheels on Linux, according to [PEP 513](https://www.python.org/dev/peps/pep-0513/). Because of this, when building with `cibuildwheel` on Linux, a few things should be taken into account: - Progams and libraries cannot be installed on the Travis CI Ubuntu host with `apt-get`, but can be installed inside of the Docker image using `yum` or manually. The same goes for environment variables that are potentially needed to customize the wheel building. `cibuildwheel` supports this by providing the `CIBW_ENVIRONMENT` and `CIBW_BEFORE_BUILD` options to setup the build environment inside the running Docker image. See [below](#options) for details on these options. -- The project directory is mounted in the running Docker instance as `/project`, the output directory for the wheels as `/output`. In general, this handled transparently by `cibuildwheel`. For a more finegrained level of control however, the root of the host file system is mounted as `/host`, allowing for example to access shared files, caches, etc. on the host file system. +- The project directory is mounted in the running Docker instance as `/project`, the output directory for the wheels as `/output`. In general, this is handled transparently by `cibuildwheel`. For a more finegrained level of control however, the root of the host file system is mounted as `/host`, allowing for example to access shared files, caches, etc. on the host file system. Options