Commit Graph
100 Commits
Author SHA1 Message Date
Jean-Christophe Fillion-Robin 537a464742 Merge pull request #272 from jcfr/manylinux-update-scikit-build
manylinux: Update scikit-build from 0.7.1 to 0.8.1
2018-10-13 06:58:02 -04:00
Jean-Christophe Fillion-Robin 171d61880c manylinux: Update scikit-build from 0.7.1 to 0.8.1 2018-10-12 23:31:29 -04:00
Jean-Christophe Fillion-Robin 5a8b47357a Merge pull request #251 from thewtex/linux-armv5-armv7-deploy
linux-armv5,linux-armv7: Reenable deployment
2018-08-20 11:27:19 -04:00
Jean-Christophe Fillion-Robin a0b62f5717 Merge pull request #241 from dockcross/manylinux-update-scikit-build
manylinux: Update version of scikit-build from 0.6.1 to 0.7.1
2018-07-10 03:18:26 -04:00
Jean-Christophe Fillion-Robin 25483115b0 manylinux: Update version of scikit-build from 0.6.1 to 0.7.1 2018-07-10 01:10:19 -04:00
Jean-Christophe Fillion-Robin 69e5734004 Merge pull request #240 from dockcross/update-manylinux
manylinux: Re-build images using latest base images
2018-07-10 01:45:00 +00:00
Jean-Christophe Fillion-Robin 2936ea53c7 android=arm64: Fix image build removing "debian-security" from sources.list
This commit is an attempt to fix the following error:

  W: Failed to fetch http://cdn-fastly.deb.debian.org/debian-security/dists/jessie/updates/InRelease  Unable to find expected entry 'main/binary-arm64/Packages' in Release file (Wrong sources.list entry or malformed file)
  E: Some index files failed to download. They have been ignored, or old ones used instead.

Looking at "http://cdn-fastly.deb.debian.org/debian-security/dists/jessie/updates/InRelease", it
doesn't list "arm64", it only lists the following ones:

  Architectures: amd64 armel armhf i386

Considering that the build of June 15 was successful (see https://circleci.com/gh/dockcross/dockcross/1950),
the architecture was most likely dropped in a recent update. It could be
related to the fact security support for Debian Jessie ended on June 17 2018.
See https://en.wikipedia.org/wiki/Debian_version_history#Release_table
2018-07-09 19:05:45 -04:00
Jean-Christophe Fillion-Robin 60a37a604e manylinux: Re-build images using latest base images
The purpose of this commit is to rebuild the dockcross images against
the latest manylinux images including Python 3.7 and also updated
setuptools, autitwheel, git, curl, ...

Note that python 3.3 was removed from the image.

$ docker run -ti --rm quay.io/pypa/manylinux1_x86_64 bash -c "ls -1 /opt/python/"
cp27-cp27m
cp27-cp27mu
cp34-cp34m
cp35-cp35m
cp36-cp36m
cp37-cp37m
2018-07-09 15:50:09 -04:00
Jean-Christophe Fillion-Robin 56e3ad71aa Merge pull request #236 from jcfr/windows-install-mxe
common.windows: Optimize image size removing MXE sources
2018-06-12 04:44:18 +00:00
Jean-Christophe Fillion-Robin b5cbd2a878 common.windows: Only install required packages
Suggested-by: Guillaume Jacquenot <Gjacquenot@users.noreply.github.com>
2018-06-11 17:21:02 -04:00
Jean-Christophe Fillion-Robin 73e556f06b common.windows: Better optimization to support package install in derived images 2018-06-11 09:25:14 -04:00
Jean-Christophe Fillion-Robin eabac20a8a common.windows: Optimize image size removing MXE sources
Suggested-by: Commaster <Commaster@users.noreply.github.com>

See #181
2018-06-09 18:23:50 -04:00
Jean-Christophe Fillion-Robin 85593886fd Merge pull request #235 from dockcross/more-script-tweaks
More script tweaks
2018-06-09 21:04:24 +00:00
Jean-Christophe Fillion-Robin 2e1e18e187 common.docker: Speed-up manylinux-x86 image build downloading CMake binary
x86 version of CMake compatible with Centos5 is now available at
https://github.com/dockbuild/CMake/releases
2018-06-09 14:14:19 -04:00
Jean-Christophe Fillion-Robin aa202df283 windows-(x86|x64): Optimize images introducing "common.windows"
* Avoid duplication introducing common  script
* Optimize image size reducing the number of RUN instructions
2018-06-09 01:20:20 -04:00
Jean-Christophe Fillion-Robin 47d2738159 common.debian: Optimize image size combining RUN instructions 2018-06-09 00:07:33 -04:00
Jean-Christophe Fillion-Robin 2b93dd5412 Centralize python packages installation adding "install-python-packages" script 2018-06-09 00:07:33 -04:00
Jean-Christophe Fillion-Robin 6cdf33f46f common.docker: Alphabetically list scripts in COPY instruction 2018-06-09 00:07:33 -04:00
Jean-Christophe Fillion-Robin 5f5a890714 common.*: Clearly differentiate runtime and buildtime scripts
Simplify all common.* files by simply removing the "buildscripts" directory
instead of listing each script one by one.
2018-06-09 00:07:33 -04:00
Jean-Christophe Fillion-Robin 2a425ac1ad install-gosu-binary.sh: install sudo wrapper when executing the script 2018-06-09 00:07:33 -04:00
Jean-Christophe Fillion-Robin 7e481dbf20 Merge pull request #234 from dockcross/tweak-install-scripts-dockerfiles-and-optimize-imagesize-2
Optimize image size, speed up build, tweak install scripts and dockerfiles
2018-06-06 22:15:39 +00:00
Jean-Christophe Fillion-Robin 1f2e82f089 install-gosu-binary: Improve gpg key download listing additonal servers 2018-06-06 14:34:04 -04:00
Jean-Christophe Fillion-Robin 1120f1e9a4 STYLE: common.manylinux: Consistently chain commands using post "&&" 2018-06-06 13:46:00 -04:00
Jean-Christophe Fillion-Robin 04841a1de0 common.manylinux: Optimize image size grouping all install commands in same RUN 2018-06-06 13:46:00 -04:00
Jean-Christophe Fillion-Robin cb157b7457 common.docker: Optimize image size installing "liquidprompt" in existing RUN command 2018-06-06 13:46:00 -04:00
Jean-Christophe Fillion-Robin 6ac8097064 common.docker: Optimize image size installing "conan" in existing RUN command 2018-06-06 13:46:00 -04:00
Jean-Christophe Fillion-Robin 4dd933c35b common.docker: Optimize image size building "ninja" in existing RUN command 2018-06-06 13:45:59 -04:00
Jean-Christophe Fillion-Robin 4dce58cfec common.*: Optimize image size introducing "install-gosu-binary.sh" script
Script was copied from https://github.com/dockbuild/dockbuild
2018-06-06 13:45:59 -04:00
Jean-Christophe Fillion-Robin bd811da018 STYLE: Tweak indent in common.debian and common.docker 2018-06-06 13:45:59 -04:00
Jean-Christophe Fillion-Robin 007899c2a5 STYLE: For consistency, rename install-ninja.sh to build-and-install-ninja.sh 2018-06-06 13:45:59 -04:00
Jean-Christophe Fillion-Robin 71759485f9 build-and-install-cmake.sh: Improve script to speedup build time
* faster source checkout specifying tag and depth
* remove obsolete comments
* disable testing
2018-06-06 13:45:59 -04:00
Jean-Christophe Fillion-Robin f1a8f69f4d build-and-install-openssl.sh, install-cmake-binary.sh: Tweak install scripts
* Consistently use "/usr/src" as download and staging area

* install-cmake-binary: Introduce CMAKE_ROOT var

* build-and-install-openssl: Remove redundant -fPIC flag, download openssl sources using "wget"
2018-06-06 13:45:52 -04:00
Jean-Christophe Fillion-Robin 53d98cf4ff Fix download of files using up-to-date "curl" instead of "wget"
In few images, curl is only tool that able to download from https
source requiring TLS 1.2
2018-04-13 15:01:54 -04:00
Jean-Christophe Fillion-Robin 0992f871d6 Merge pull request #214 from dockcross/fix-name-of-image-in-dockcross-helptext-2
entrypoint.sh: Account for image tag when updating help text
2018-03-29 21:05:55 -04:00
Jean-Christophe Fillion-Robin 7b76882b56 entrypoint.sh: Account for image tag when updating help text
This commit is a follow up of b7028af (entrypoint.sh: Update help
text so that current image name is used)

It ensures that the suggested script in the help text doesn't include ":"
in its name.

Assuming DEFAULT_DOCKCROSS_IMAGE is set to "dockcross/imagename:latest"

Instead of suggesting:

  [...]
  # docker run --rm dockcross/imagename:latest > dockcross-imagename:latest
  # chmod +x dockcross-imagename:latest
  [...]

it will now suggest

  [...]
  # docker run --rm dockcross/imagename:latest > dockcross-imagename-latest
  # chmod +x dockcross-imagename-latest
  [...]

xref https://github.com/dockbuild/dockbuild/issues/30

[ci skip]
2018-03-29 21:04:52 -04:00
Jean-Christophe Fillion-Robin 902677437f Merge pull request #213 from dockcross/README-fix-arcticle-link
README: Fix Articles link

[ci skip]
2018-03-29 18:28:15 -04:00
Jean-Christophe Fillion-Robin f64ed37abb README: Fix Articles link
Fixes #211

[ci skip]
2018-03-29 18:27:32 -04:00
Jean-Christophe Fillion-Robin 9966e1aed7 Merge pull request #207 from dockcross/fix-name-of-image-in-dockcross-helptext
entrypoint.sh: Update help text so that current image name is used
2018-03-29 15:09:00 -04:00
Jean-Christophe Fillion-Robin b7028af76e entrypoint.sh: Update help text so that current image name is used
xref https://github.com/dockbuild/dockbuild/issues/30
2018-03-29 04:43:26 -04:00
Jean-Christophe Fillion-Robin b809eaade6 README: Explain difference between dockcross and dockbuild
[ci skip]
2018-03-19 16:23:22 -04:00
Jean-Christophe Fillion-Robin f14bfaa6e5 Update LICENSE copyright dates and add @jcfr
[ci skip]
2018-03-19 15:50:28 -04:00
Jean-Christophe Fillion-Robin 3a403bfc8f Merge pull request #196 from Nadav-Eyesight/master
Updated readme to include instructions on extending images.
2018-03-13 03:36:25 -04:00
Jean-Christophe Fillion-Robin 0fbfa064b3 manylinux: Update scikit-build from 0.5.1 to 0.6.1
See http://scikit-build.readthedocs.io/en/latest/changes.html#scikit-build-0-6-1
2017-06-08 14:06:14 -04:00
Jean-Christophe Fillion-Robin 065448460f manylinux: Add missing repo files
This commit includes files omitted in commit 6e59959 (manylinux: Use
CentOS Vault repositories)

Reported-by: Constantine Grantcharov <cgrantcharov@trustpointinnovation.com>
2017-05-11 00:01:54 -04:00
Jean-Christophe Fillion-Robin 72b0dfb86d Merge pull request #137 from dockcross/update-manylinux-repo-and-fix-text-file-busy-error
Update manylinux repo and fix text file busy error
2017-05-01 22:35:27 -04:00
Jean-Christophe Fillion-Robin dd9d902538 Fix "text file busy" error reported when using AUFS storage driver
This commit fixes the following error specific to AUFS:

/dockcross/entrypoint.sh: line 47: /usr/bin/gosu: Text file busy
/dockcross/entrypoint.sh: line 47: /usr/bin/gosu: Success

Thanks @sobolevn
See https://github.com/moby/moby/issues/13594#issuecomment-262441366
2017-05-01 16:35:28 -04:00
Jean-Christophe Fillion-Robin 6e59959a6a manylinux: Use CentOS Vault repositories
Backported from thewtex/docker-centos-build@26f7fd3

CentOS 5 is no longer supported and requests to obtain information from
the mirrors fails. However, the packages are still available on the
"Vault" mirrors.

Comment out the `mirrorlist` entries and set `enabled=0` in
CentOS-Base.repo, add entries for 5.11 in CentOS-Vault.repo and mark
them `enabled=1`.
2017-05-01 16:35:28 -04:00
Jean-Christophe Fillion-Robin 42aedb8516 Merge pull request #110 from dockcross/manylinux-update-scikit-build
manylinux: Update scikit-build to 0.5.1
2017-02-02 13:37:04 -05:00
Jean-Christophe Fillion-Robin 682d886b03 manylinux: Update scikit-build to 0.5.1
See http://scikit-build.readthedocs.io/en/latest/changes.html#scikit-build-0-5-1
2017-02-02 13:12:03 -05:00
Jean-Christophe Fillion-Robin 9a398e7de8 Merge pull request #108 from brainstorm/add_pax
Add common (un)archiver, pax
2017-01-30 08:58:56 -05:00
Jean-Christophe Fillion-Robin 3d48e56115 Merge pull request #102 from dockcross/add-linux-mipsel
Add linux mipsel
2017-01-22 20:01:40 -05:00
Jean-Christophe Fillion-Robin 53c068c8a4 Merge pull request #100 from dockcross/manylinux-change-ownership-of-man-and-share-dirs
manylinux-common: Fix pip install change ownership of "man" and "share" dir
2017-01-18 17:50:14 -05:00
Jean-Christophe Fillion-Robin 66a33a7647 manylinux-common: Fix pip install change ownership of "man" and "share" dir
This commit will fix installation of packages like nose that would otherwise
fail to install with error like the following:

  Installing collected packages: nose
  Exception:
  Traceback (most recent call last):
  [...]
  Permission denied: '/opt/_internal/cpython-2.7.11-ucs2/man'
2017-01-18 15:02:18 -05:00
Jean-Christophe Fillion-Robin 2511a92d17 dockcross: Check if "/proc/version" exists and fix error on MacOSX. Fixes #94
This commit will avoid the following error from being reported
on MacOSX:

```
docker run --rm dockcross/linux-armv7 > ./dockcross-linux-armv7
chmod +x ./dockcross-linux-armv7
./dockcross-linux-armv7 bash -c '$CC test/C/hello.c -o hello_arm'
grep: /proc/version: No such file or directory
grep: /proc/version: No such file or directory
```

Reported-by: Chris Warth <cswarth@gmail.com>
2016-12-05 01:32:14 -05:00
Jean-Christophe Fillion-Robin edaf993b4d Merge pull request #92 from jcfr/capture-btrfs-error-rebased
Makefile: Fix tests removing double quote from RM variable
2016-11-29 02:49:59 -05:00
Jean-Christophe Fillion-Robin 5117ab6493 Makefile: Fix tests removing double quote from RM variable
This commit fixes a regression introduced in 6823cb1 (Makefile: Do not
specify "--rm" docker run argument when executing on CircleCI)
2016-11-28 23:47:26 -05:00
Jean-Christophe Fillion-Robin 6823cb1bd9 Makefile: Do not specify "--rm" docker run argument when executing on CircleCI
This will avoid the "Driver btrfs failed to remove" error message when
executing the command on CircleCI.
See https://circleci.com/docs/docker-btrfs-error/
2016-11-28 20:01:39 -05:00
Jean-Christophe Fillion-Robin c0fe1e2313 dockcross: Ensure deletion error are ignored
This commit follows up on 2e71db2 (dockcross: Ignore deletion error
when running in unprivileged LXC container) by hiding the message
only when (a) the command output matches the expected error message
and (b) is executed on CircleCI.

Doing so will avoid adding "noise" to log of service like CircleCI
that are effectively running docker in unprivileged LXC container.

See #50
2016-11-28 19:50:42 -05:00
Jean-Christophe Fillion-Robin 1ca10b2f29 README: Fix typo
[ci skip]
2016-11-27 04:16:18 -05:00
Jean-Christophe Fillion-Robin 5e29d1e338 circleci-matrix: less verbose docker push and pull 2016-11-26 23:58:38 -05:00
Jean-Christophe Fillion-Robin 4e040de75d circleci-matrix: Display "Waiting for node0 - done" message on a new line 2016-11-26 23:58:38 -05:00
Jean-Christophe Fillion-Robin 824f0fb5eb Merge pull request #89 from jcfr/support-dockcross-init-hook
dockcross: Add support for per-project configuration
2016-11-26 23:02:41 -05:00
Jean-Christophe Fillion-Robin 4ad3e1a94f dockcross: Add support for per-project configuration 2016-11-26 21:47:11 -05:00
Jean-Christophe Fillion-Robin dee44ef426 imagefiles: Reduce wget verbosity using --progress=bar:force 2016-11-26 19:59:07 -05:00
Jean-Christophe Fillion-Robin 451715b6ec Merge pull request #86 from dockcross/depend-on-base-latest
Depend on base latest
2016-11-26 18:53:19 -05:00
Jean-Christophe Fillion-Robin 286e6b5c95 Dockerfile: Explicitly depend on "dockcross/base:latest"
As recommended in by CircleCI, explicitly specify the "latest"
tag. This will be important when we will start versioning our images.

Copied from CircleCI documentation [1]:

"Make sure you tag the image you use in the FROM command in your
Dockerfile, even if it is the default “latest” tag. Otherwise, Docker
will pull down all tags for the image you specify. This will create
significant performance problems because the save/load strategy described
above only caches the image layers (and thus tags) that you specify in
the docker save command, so other tags will be re-pulled on every build
if a tag is not specified in the FROM command."

[1] https://circleci.com/docs/docker/#caching-docker-layers
2016-11-26 18:25:08 -05:00
Jean-Christophe Fillion-Robin 1560f4c3b6 makefile/browser-asmjs: Remove now unneeded dependency to "base"
Following 09868d5 (browser-asmjs: Update to depend on existing image from
"trzeci/emscripten"), browser-asmjs does NOT depend anymore on base image.
2016-11-26 18:20:35 -05:00
Jean-Christophe Fillion-Robin abc164e7c6 circleci-matrix: Push images as part of the test step
To workaround, CircleCI limitation [1]:

"Please note that since we do not support parallel deployment, specifying
‘parallel:true’ in the deployment phase will cause an error."

This commit moves the deployment step as the last action of the test
step. Doing so will ensure, every container will take care of pushing
images it was responsible to build.

[1] https://circleci.com/docs/parallel-manual-setup/#simple-example
2016-11-26 17:54:17 -05:00
Jean-Christophe Fillion-Robin 68393166b9 circleci-matrix: Increase timeout associated with deployment step 2016-11-26 12:50:33 -05:00
Jean-Christophe Fillion-Robin 029b402646 circle-ci-matrix: Fix deployment 2016-11-26 12:15:50 -05:00
Jean-Christophe Fillion-Robin 7fb4b89937 ci: Update circleci-matrix to display when each sub-step starts and finishes 2016-11-25 18:18:17 -05:00
Jean-Christophe Fillion-Robin 6018cc6241 ci: Split building and waiting for base image into its own command
This should help reduce the overall time associated with the test step
and avoid reaching the 120mins cutoff time for a given command.
2016-11-25 18:12:00 -05:00
Jean-Christophe Fillion-Robin 1e4de86ca6 ci: Optimize parallel build
* style: Rename TASK to STEP
* do not pull base image after it was copied from node0 and loaded.
  It caused the current Dockerfile to be out-of-sync with the current image.
* do not pull images after loading the downloaded and up-to-date
  base.tar. It was overwriting the base.tar downloaded and loaded.
* save debian:jessie into base.tar
* use "time" command to help identify long running operation
* rename marker file from "BASE_READY" to "BASE_AVAILABLE"
* build base image only if needed.
2016-11-25 18:12:00 -05:00
Jean-Christophe Fillion-Robin b5c2221288 Revert "Merge pull request #80 from jcfr/revert-circleci-parallel"
This reverts commit 2f31a84e65, reversing
changes made to e120e36824.
2016-11-25 18:11:21 -05:00
Jean-Christophe Fillion-Robin e3c3859b0f Merge pull request #83 from jcfr/improve-browser-asmjs
Improve browser asmjs
2016-11-25 18:07:44 -05:00
Jean-Christophe Fillion-Robin 09868d5289 browser-asmjs: Update to depend on existing image from "trzeci/emscripten"
This commit updates the "browser-asmjs" images to avoid systematic
rebuild of emscripten sdk. Instead, it introduces dependency on the
image maintained by @trzeci

Note also:

* emscripten sdk updated from 1.36.7 to 1.36.14

* symlinking of "/bin/bash" as "/bin/sh" is reverted. This ensures other
  images including file like "common.debian" and relying on standard "sh"
  behavior will work as expected.

* workaround associated with CMakeForceCompiler has been removed from
  Dockerfile. Emscripten as been fixed.
  See https://github.com/kripken/emscripten/pull/4477

* we will revisit once official images are available.
  See https://github.com/kripken/emscripten/issues/4682
2016-11-25 15:51:42 -05:00
Jean-Christophe Fillion-Robin 46cef1a33a common: Introduce "common.debian"
This will facilitate the configuration of other images based on debian
but *NOT* depending on the dockcross/base image.
2016-11-25 15:51:42 -05:00
Jean-Christophe Fillion-Robin 8077008a10 common: Introduce "install-ninja.sh" 2016-11-25 15:51:42 -05:00
Jean-Christophe Fillion-Robin 191d773e01 makefile: Ensure imagefiles are available in build image context 2016-11-25 15:51:38 -05:00
Jean-Christophe Fillion-Robin 593d6a5c07 Merge pull request #81 from jcfr/avoid-rebuild-of-base
base: Optimize image build adding only image and vcs_url metatdata
2016-11-24 18:17:41 -05:00
Jean-Christophe Fillion-Robin a68f2b6aa4 base: Optimize image build adding only image and vcs_url metatdata
To avoid dependent images to systematically rebuild, this commit
adds only "static" metatdata to the base image
2016-11-24 13:48:58 -05:00
Jean-Christophe Fillion-Robin 2f31a84e65 Merge pull request #80 from jcfr/revert-circleci-parallel
Revert "Merge pull request #75 from jcfr/circleci-parallel-build"
2016-11-24 13:46:37 -05:00
Jean-Christophe Fillion-Robin fd9f2719e3 Revert "Merge pull request #75 from jcfr/circleci-parallel-build"
Waiting we address the timeout of command after 120min when using
parallel containers, this reverts commit e120e36824, reversing
changes made to 6a4826a8df.

Issue has been reported to CircleCI support as
https://circleci.zendesk.com/hc/en-us/requests/13273
2016-11-23 22:02:35 -05:00
Jean-Christophe Fillion-Robin 0552c37fea common.docker: Improve OpenSSL and CMake install introducing helper scripts
To accommodate the requirements associated with x86 and x64 images, the
command building OpenSSL and CMake became overly complex and hard to
maintain.

This commit has multiple purposes:

(1) simplify common.docker

(2) fix the building of 64-bit shared libraries against the static openssl
libraries by passing the -fPIC flag.

(3) ensure [many]linux-x86 and [many]linux-x64 images have an up-to-date
OpenSSL install. Openssl static libraries are installed in /usr

(4) simplify and speedup CMake build avoiding the second build with
explicit -DCMAKE_USE_OPENSSL:BOOL=ON. Indeed, configuring CMake on Linux
already looks for OpenSSL.

(5) speedup download of CMake source directly downloading the archive
corresponding to the revision.

(6) test CMake by:
  - running CMake.FileDownload test
  - trying to download a file served over https
2016-11-21 06:08:30 -05:00
Jean-Christophe Fillion-Robin b370ceb3f5 README: Fix "Docker for Windows" link
[ci skip]
2016-11-21 02:24:56 -05:00
Jean-Christophe Fillion-Robin 70de0f9856 Merge pull request #74 from jcfr/base-image-fix-install-openssl
base: Fix building of OpenSSL. See #73
2016-11-20 14:10:32 -05:00
Jean-Christophe Fillion-Robin 9639405d67 Merge pull request #76 from jcfr/linux-toolchain-fix-asm-compiler
[many]linux-(x86|x64)/: toolchain: Fix ASM compiler
2016-11-20 03:01:13 -05:00
Jean-Christophe Fillion-Robin ed7872edee [many]linux-(x86|x64)/: toolchain: Fix ASM compiler
Similarly to the linux-x86 toolchain, gcc is used to compile assembler
file.
2016-11-19 22:30:33 -05:00
Jean-Christophe Fillion-Robin cfd1921127 ci: Enable parallel build using circleci-matrix
The base image is built on the container 0. In the mean time, the other
containers wait for the base image to be ready.
2016-11-19 18:03:16 -05:00
Jean-Christophe Fillion-Robin 75a7b29fb8 common.docker: Delete both openssl-1.0.2j build directory and archive 2016-11-19 14:39:25 -05:00
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
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
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
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
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
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