Commit Graph

46 Commits

Author SHA1 Message Date
8ebd448ba9 Upgrade to debian Buster and disable python builder script
Upgrade to debian Buster slim (later to debian bullseye, crosstool-ng must be updated first, version 1.23 is not compatible with debian bullseye)
Disable python script (build-and-install-python.sh), the version of python in the repositories is recent enough for crosstool-ng 1.24 and above.
Changed from python to python3 for compatibility
Adding the manual launch of a github workflow

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-25 16:34:53 +02:00
5affbc768d chore: update git 2.22.0 → 2.31.1
changelog: https://github.com/git/git/blob/master/Documentation/RelNotes/2.31.1.txt
2021-04-07 17:21:31 +02:00
a5d4d6dcb1 manylinux: Build pip with cp38
cp35 is no longer supported and get-pip.py fails to build.
2021-01-29 18:31:57 -05:00
1db5ed11bf Merge pull request #427 from veblush/manylinux2014-x86
Added manylinux2014-x86
2020-07-12 22:04:10 -04:00
de84690710 Added manylinux2014-x86 2020-07-04 16:46:50 -07:00
f2ece3727e base: Use 'common.dockcross' to install gosu and dockcross scripts 2020-06-26 22:49:15 -05:00
058d911e8e base: Update CMake from 3.17.0 to 3.17.1
See https://cmake.org/cmake/help/v3.17/release/3.17.html#id1
2020-04-10 13:43:12 -04:00
87e9d612e0 base: Update CMake from 3.16.5 to 3.17.0
See https://cmake.org/cmake/help/v3.17/release/3.17.html#cmake-3-17-release-notes
2020-04-08 20:51:03 -04:00
6522ff20e0 base: Update CMake from 3.13.2 to 3.16.5 2020-04-06 22:49:55 -04:00
04cf3a10d8 Fixed the error with /bin/sh 2019-12-18 09:54:04 -08:00
2a3efdd548 Add manylinux2010-x86 2019-12-17 10:13:08 -08:00
72336efbf4 Update git from 2.20.1 to 2.22.0 2019-06-09 12:28:30 -04:00
1e0e89814b Rename manylinux images to manylinux1 2019-05-22 03:11:45 -04:00
ca4ca68898 base: Bump Git to 2.20.1 2018-12-20 13:48:52 -05:00
00ba78a46a base: Bump CMake to 3.13.2 2018-12-20 11:24:09 -05:00
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
2b93dd5412 Centralize python packages installation adding "install-python-packages" script 2018-06-09 00:07:33 -04:00
6cdf33f46f common.docker: Alphabetically list scripts in COPY instruction 2018-06-09 00:07:33 -04:00
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
2a425ac1ad install-gosu-binary.sh: install sudo wrapper when executing the script 2018-06-09 00:07:33 -04:00
cb157b7457 common.docker: Optimize image size installing "liquidprompt" in existing RUN command 2018-06-06 13:46:00 -04:00
6ac8097064 common.docker: Optimize image size installing "conan" in existing RUN command 2018-06-06 13:46:00 -04:00
4dd933c35b common.docker: Optimize image size building "ninja" in existing RUN command 2018-06-06 13:45:59 -04:00
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
bd811da018 STYLE: Tweak indent in common.debian and common.docker 2018-06-06 13:45:59 -04:00
007899c2a5 STYLE: For consistency, rename install-ninja.sh to build-and-install-ninja.sh 2018-06-06 13:45:59 -04:00
602fb22cce ENH: Compile git with SSL support
Older versions of git included in older linux distributions are not able
to download source from Github. A newer version is required with a newer
OpenSSL. This requires to also build curl with the same OpenSSL.

CMake is downloaded precompiled if available (64bits system) or compiled
from source otherwise.
2018-04-14 19:12:07 -04:00
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
7dd41cdc4b common: work around overlay storage backend pip uninstall
Addresses:

  Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
Collecting wheel
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
Installing collected packages: pip, wheel
  Found existing installation: pip 1.5.6
    Uninstalling pip-1.5.6:
Exception:
Traceback (most recent call last):
  File "/tmp/tmpqu31Wp/pip.zip/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/tmp/tmpqu31Wp/pip.zip/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/tmp/tmpqu31Wp/pip.zip/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/tmp/tmpqu31Wp/pip.zip/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/tmp/tmpqu31Wp/pip.zip/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/tmp/tmpqu31Wp/pip.zip/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/usr/lib/python2.7/shutil.py", line 300, in move
    rmtree(src)
  File "/usr/lib/python2.7/shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "/usr/lib/python2.7/shutil.py", line 256, in rmtree
    onerror(os.rmdir, path, sys.exc_info())
  File "/usr/lib/python2.7/shutil.py", line 254, in rmtree
    os.rmdir(path)
  OSError: [Errno 39] Directory not empty: '/usr/lib/python2.7/dist-packages/pip/backwardcompat'

when Docker is using the overlay fs backend. See:

  https://github.com/moby/moby/issues/12327
2017-06-10 17:40:36 -04:00
e6b6ef9d68 Change common.docker to fix pip installation for linux-*.
This won't nothing for manylinux-* since pip is installed correctly by manylinux-common/install-python-packages.sh.
2017-06-09 23:21:26 +09:00
4c3612da2b common: Use gosu to replace chpst and add sudo abilities
From:

  https://github.com/tianon/gosu
2017-04-22 23:35:12 -04:00
b1d45ae99d common: Fix conan install in manylinux 2017-04-09 17:29:50 -04:00
06f32e6953 Added conan
Added to README
2017-01-30 02:29:25 +01:00
8077008a10 common: Introduce "install-ninja.sh" 2016-11-25 15:51:42 -05:00
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
75a7b29fb8 common.docker: Delete both openssl-1.0.2j build directory and archive 2016-11-19 14:39:25 -05:00
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
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
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
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
6f7e7b05fd common.docker: Fix CMake https download building it against openssl 1.0.2j
See #63
2016-11-05 11:25:42 -04:00
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
b1037c9f5f manylinux-x64,base: Download cmake binary for SSL support
Download the CMake binary from CMake.org for SSL support. #39
2016-09-21 20:25:02 -04:00
b596ca6cd8 base,manylinux-x64: Use sed for Dockerfile composition
Suggested-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
2016-09-20 18:08:43 -04:00
5d90a72dfc manylinux-x64: Initial addition 2016-09-20 18:07:58 -04:00
755f45b412 base: Split into Dockerfile.in and common.docker
So common.docker can be re-used in other images that are not built FROM base.
2016-09-20 08:58:41 -04:00