Jean-Christophe Fillion-Robin
30a73bcd24
base: Fix building of OpenSSL. See #73
...
This commit fixes the following error reported when building the base
image.
sh: 1: [: =: unexpected operator
sh: 1: [: =: unexpected operator
It turns out that (1) DEFAULT_DOCKCROSS_IMAGE is not set when building the
base image and (2) latest openssl will not be available in linux-x64 and
linux-x86 images.
2016-11-19 14:32:20 -05:00
Matt McCormick
0bc5941bc8
Merge pull request #72 from jcfr/install-openssl-in-linux-based-images
...
common.docker: Ensure openssl-1.0.2j is available in manylinux and linux images
2016-11-18 20:09:00 -05:00
Jean-Christophe Fillion-Robin
4bb8f97ffc
common.docker: Ensure openssl-1.0.2j is available in manylinux and linux images
...
If images are any of manylinux-x86, manylinux-x64, linux-x86 or linux-x64,
OpenSSL libraries are installed in /usr .
2016-11-18 15:30:03 -05:00
Jean-Christophe Fillion-Robin
2e9a5f7ed7
Merge pull request #71 from chadawagner/patch-1
...
quote HOST_PWD in docker cmd to allow spaces
2016-11-18 15:24:31 -05:00
chadawagner
9373f029f4
quote HOST_PWD in docker cmd to allow spaces
2016-11-17 21:19:54 -08:00
Matt McCormick
3a0f84f977
Merge pull request #68 from thewtex/DebianCDN
...
base: Use Debian package repository CDN
2016-11-17 09:19:27 -05:00
Matt McCormick
9a8d19a52c
Merge pull request #69 from thewtex/WindowsSupport
...
Windows support
2016-11-17 09:18:33 -05:00
Matt McCormick
5e8b3e422a
doc: Features formatting
2016-11-17 01:16:55 -05:00
Matt McCormick
192d14ccda
Merge pull request #70 from thewtex/Articles
...
doc: Add Articles section
2016-11-17 01:15:01 -05:00
Matt McCormick
2254494748
doc: Add Articles section
2016-11-17 01:12:10 -05:00
Matt McCormick
8dffb1d6d8
base: Use Debian package repository CDN
...
For improved reliability and performance
2016-11-17 00:59:31 -05:00
Matt McCormick
6b71b08cbd
doc: We support Docker for Mac and Docker for Windows
...
No longer support boot2docker on these platforms
2016-11-16 19:08:04 -08:00
Matt McCormick
d9d65ffcc9
dockcross: Add support for Windows
...
Tested on Git Bash and Bash on Ubuntu for Windows.
There are some issue with building the Docker image itself, but using the
images works great.
2016-11-16 19:02:55 -08:00
Matt McCormick
0ee005a0ca
Merge pull request #67 from thewtex/AndroidToolchainFile
...
Android toolchain file
2016-11-16 21:14:25 -05:00
Matt McCormick
a138f60ab6
android-arm: Update NDK to 13b and API to 16
...
API level 16 still covers the majority of systems:
https://developer.android.com/about/dashboards/index.html
https://developer.android.com/ndk/guides/stable_apis.html
2016-11-16 16:23:33 -05:00
Matt McCormick
0d3333a3e1
android-arm: Add CMake 3.7 toolchain file support
...
See:
https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html#cross-compiling-for-android-with-a-standalone-toolchain
2016-11-16 15:14:17 -05:00
Matt McCormick
46e4b18ebf
Merge pull request #65 from thewtex/build-cmake-with-ssl
...
Build cmake with ssl
2016-11-06 15:20:25 -05:00
Matt McCormick
b54dbfd9cf
base: Improve openssl build for i686
...
Avoid bash-isms.
Also return true from the sub-shell.
2016-11-06 10:13:08 -05:00
Jean-Christophe Fillion-Robin
3b6e09b520
manylinux-x86: Fix build of Openssl and CMake
...
This commit fixes the error reported below by ensuring openssl and CMake
are configured and build as x86 binaries.
It also removes the download of CMake binaries that was introduced
by mistake in 1354fe2
(manylinux-x86: Initial addition).
Error:
```
Configured for linux-x86_64.
making all in crypto...
make[1]: Entering directory `/usr/src/openssl-1.0.2j/crypto'
/usr/bin/perl ../util/mkbuildinf.pl "gcc -I. -I.. -I../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM" "linux-x86_64" >buildinf.h
gcc -I. -I.. -I../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -c -o cryptlib.o cryptlib.c
cryptlib.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
/* crypto/cryptlib.c */
^
make[1]: *** [cryptlib.o] Error 1
```
2016-11-05 17:55:58 -04:00
Jean-Christophe Fillion-Robin
6f7e7b05fd
common.docker: Fix CMake https download building it against openssl 1.0.2j
...
See #63
2016-11-05 11:25:42 -04:00
Matt McCormick
39c5f29733
Merge pull request #62 from jcfr/manylinux-ownership-of-python-install
...
manylinux.common: Fix warning changing ownership of python install
2016-11-05 09:27:03 -04:00
Jean-Christophe Fillion-Robin
8923c6a3c7
manylinux.common: Fix warning changing ownership of python install
...
While the use of sudo (made possible by 53cf084
) allows to install
additional packages, the warning copied below was still reported.
To avoid this warning and streamline the installation of new packages,
this commit (1) introduces the concept of "pre_exec" entrypoint hook
and (2) adds such a hook to change the ownership of python "bin" and
"site-packages" directories for the manylinux images.
Warning reported are similar to this one:
```
The directory '/home/jcfr/.cache/pip/http' or its parent directory is
not owned by the current user and the cache has been disabled. Please
check the permissions and owner of that directory. If executing pip
with sudo, you may want sudo's -H flag.
```
Note that the sudo "-H" flag suggested in the warning is not available
in centos.
2016-11-04 22:58:31 -04:00
Matt McCormick
4b7265bde0
Merge pull request #60 from thewtex/no-tty-sudo
...
No tty sudo
2016-11-04 10:17:18 -04:00
Matt McCormick
f3654d8dce
manylinux: Run visudo -c
...
Verify /etc/sudoers validity
Tested-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
2016-11-03 21:50:42 -04:00
Matt McCormick
53cf0849fe
manylinux: Do not require a tty for sudo
...
This enabling installation of Python packages with on CI services.
Issue #57
2016-11-03 21:50:41 -04:00
Matt McCormick
26c5447d29
manylinux: Consolidate common content into common.manylinux
2016-11-03 21:50:41 -04:00
Matt McCormick
d41d7f919e
Merge pull request #59 from jcfr/manylinux-upgrade-pip
...
Manylinux upgrade pip
2016-11-03 21:22:18 -04:00
Matt McCormick
a257df34e8
Merge pull request #58 from thewtex/cmake-add_custom_command-built-emulator
...
base: Bump CMake for improved add_custom_command
2016-11-03 17:17:53 -04:00
Jean-Christophe Fillion-Robin
667b5c1ca7
manylinux-common/install-python-packages: Ensure latest pip is installed
2016-11-03 13:11:47 -04:00
Jean-Christophe Fillion-Robin
ab0ab22c67
manylinux: Deduplicate install-skbuild.sh and rename to install-python-packages.sh
2016-11-03 13:10:06 -04:00
Matt McCormick
b3feda218b
base: Bump CMake for improved add_custom_command
...
Improves cross-compilation support in add_custom_command by integrating
https://gitlab.kitware.com/cmake/cmake/merge_requests/217
CMake Git master from 2016-11-03 (3.8-master).
Addresses #54
2016-11-03 12:38:25 -04:00
Matt McCormick
ee2c1618c3
Merge pull request #56 from thewtex/microbadger-badges
...
doc: Use MicroBadger badges
2016-11-01 10:27:40 -04:00
Matt McCormick
e43de27275
Merge pull request #55 from thewtex/doc-variables
...
doc: variable -> variables
2016-11-01 10:01:15 -04:00
Matt McCormick
a7c894ab50
doc: Use MicroBadger badges
2016-11-01 10:00:15 -04:00
Matt McCormick
fdb3a52a01
doc: variable -> variables
2016-11-01 09:51:20 -04:00
Matt McCormick
d7ac739c2e
Merge pull request #48 from jcfr/keep-track-buildtime-metadata
...
dockerfile: Keep track of buildtime metadata
2016-11-01 07:28:35 -04:00
Matt McCormick
95f2462567
Merge pull request #53 from thewtex/scikit-build-0.4.0
...
manylinux-x{64,86}: Bump scikit-build to 0.4.0
2016-10-31 21:21:32 -04:00
Matt McCormick
623148e6e5
manylinux-x{64,86}: Bump scikit-build to 0.4.0
2016-10-31 18:40:36 -04:00
Matt McCormick
cb95cf3c94
Merge pull request #52 from jcfr/dockcross-ignore-rm-error-when-running-in-unprivileged-lxc-container-no-tty-support
...
dockcross: Prevent dockcross from blocking when used with Python subprocess
2016-10-31 00:12:45 -04:00
Jean-Christophe Fillion-Robin
cfcc7d6700
dockerfile: Keep track of buildtime metadata
...
This commit build each images with the following arguments:
* IMAGE: Name of the image (e.g dockcross/base, dockcross/manylinux-x64, ...)
* VCS_REF: dockcross/dockcross commit from which this image is built
* VCS_URL: this repository obtained reading remote.origin.url
* BUILD_DATE: Date and time when the build was initiated
Then, within the Dockerfile, the metadata are associated with the image
using the "LABEL" instruction.
See https://docs.docker.com/engine/reference/builder/#/label
The corresponding labels can be found here:
http://label-schema.org/rc1/#build-time-labels
See #28
2016-10-30 23:57:04 -04:00
Jean-Christophe Fillion-Robin
f31e582f80
dockcross: Simplify container name generation using $RANDOM
...
This commit removes the complex pipeline leveraging output from
/dev/urandom and simply uses $RANDOM variable. For the purpose
of generating an available container name, it will works well.
Suggested-by: Matt McCormick <matt.mccormick@kitware.com>
2016-10-30 23:46:01 -04:00
Jean-Christophe Fillion-Robin
bd234af0a9
dockcross: Prevent dockcross from blocking when used with Python subprocess
...
As explained in [1], when using dockcross from python subprocess, the
interactive mode is disabled and output of "cat /dev/urandom" is block
buffered instead of being line buffered.
Workaround to this problem is to simply read a fixed amount of characters
from urandom.
The following two snippets illustrates the problem and the
the implemented solution:
Works
```python
import subprocess as sp
sp.check_call("var=$(head -c 500 /dev/urandom | base64 | tr -dc 'a-zA-Z0-9' | fold -w 7 | head -n 1); echo $var", shell=True)
```
=> output random string
Fail:
```python
import subprocess as sp
sp.check_call("var=$(cat /dev/urandom | base64 | tr -dc 'a-zA-Z0-9' | fold -w 7 | head -n 1); echo $var", shell=True)
```
=> Hang
[1] http://stackoverflow.com/questions/16805827/unable-to-read-stdout-from-a-running-process#16806506
2016-10-30 03:27:10 -04:00
Matt McCormick
e378a9b336
Merge pull request #51 from jcfr/dockcross-ignore-rm-error-when-running-in-unprivileged-lxc-container
...
dockcross: Ignore deletion error when running in unprivileged LXC container
2016-10-27 13:34:45 -04:00
Jean-Christophe Fillion-Robin
3288c877e5
dockcross: Fix "tr: Illegal byte sequence" when generating container name on MacOSx
...
See #50
2016-10-27 13:20:31 -04:00
Jean-Christophe Fillion-Robin
c5edcb3a74
dockcross: Ensure exit code associated with run command is always returned
2016-10-27 11:37:07 -04:00
Jean-Christophe Fillion-Robin
904cb09858
dockcross: Change name of container from "dockcross" to "dockcross_RAND"
...
where RAND is a 7 characters long randomly generated alphanumeric string.
Note that container name can NOT start with "_",
only [a-zA-Z0-9][a-zA-Z0-9_.-] are allowed
See #50
2016-10-27 11:37:03 -04:00
Jean-Christophe Fillion-Robin
7a8f4fab0e
dockcross: Do not output any text after container is removed
...
See #50
2016-10-27 11:19:37 -04:00
Matt McCormick
195827d40d
Merge pull request #49 from thewtex/mxe-update
...
windows-x{64,86}: Bump MXE to 2016-10-25
2016-10-27 11:12:17 -04:00
Jean-Christophe Fillion-Robin
2e71db2234
dockcross: Ignore deletion error when running in unprivileged LXC container
...
This commit workarounds the problem described in [1] and [2] by ignoring error
happening when deleting container in unprivileged LXC container.
Fixes #50
[1] https://circleci.com/docs/docker-btrfs-error/
[2] https://discuss.circleci.com/t/docker-error-removing-intermediate-container/70
2016-10-26 23:24:25 -04:00
Matt McCormick
80993ad985
windows-x{64,86}: Bump MXE to 2016-10-25
2016-10-26 17:12:50 -04:00