@@ -9,23 +9,33 @@ CPYTHON_VERSIONS="2.6.9 2.7.13 3.3.6 3.4.6 3.5.3 3.6.0"
9
9
10
10
# openssl version to build, with expected sha256 hash of .tar.gz
11
11
# archive
12
- OPENSSL_ROOT=openssl-1.0.2m
13
- # Hash from https://www.openssl.org/source/openssl-1.0.2?.tar.gz.sha256
14
- OPENSSL_HASH=8c6ff15ec6b319b50788f42c7abc2890c08ba5a1cdcd3810eb9092deada37b0f
12
+ OPENSSL_ROOT=openssl-1.0.2n
13
+ # Hash from https://www.openssl.org/source/openssl-1.0.2n.tar.gz.sha256
14
+ # Matches hash at https://github.com/Homebrew/homebrew-core/blob/99b8ea3594d1f1f78b0fff1fd8ca7d782aa07e13/Formula/openssl.rb#L11
15
+ OPENSSL_HASH=370babb75f278c39e0c50e8c4e7493bc0f18db6867478341a832a982fd15a8fe
15
16
EPEL_RPM_HASH=0dcc89f9bf67a2a515bad64569b7a9615edc5e018f676a578d5fd0f17d3c81d4
16
17
DEVTOOLS_HASH=a8ebeb4bed624700f727179e6ef771dafe47651131a00a78b342251415646acc
17
- PATCHELF_VERSION=6bfcafbba8d89e44f9ac9582493b4f27d9d8c369
18
+ # Update to slightly newer, verified Git commit:
19
+ # https://github.com/NixOS/patchelf/commit/2a9cefd7d637d160d12dc7946393778fa8abbc58
20
+ PATCHELF_VERSION=2a9cefd7d637d160d12dc7946393778fa8abbc58
21
+ PATCHELF_HASH=12da4727f09be42ae0b54878e1b8e86d85cb7a5b595731cdc1a0a170c4873c6d
18
22
CURL_ROOT=curl-7.57.0
19
23
# https://github.com/Homebrew/homebrew-core/blob/e3a8622111ecefe444194cade5cca3c69165e26c/Formula/curl.rb#L6
20
24
CURL_HASH=c92fe31a348eae079121b73884065e600c533493eb50f1f6cee9c48a3f454826
21
25
AUTOCONF_ROOT=autoconf-2.69
22
26
AUTOCONF_HASH=954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969
23
27
AUTOMAKE_ROOT=automake-1.15
24
28
AUTOMAKE_HASH=7946e945a96e28152ba5a6beb0625ca715c6e32ac55f2e353ef54def0c8ed924
29
+ LIBTOOL_ROOT=libtool-2.4.6
30
+ LIBTOOL_HASH=e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3
31
+ SQLITE_AUTOCONF_VERSION=sqlite-autoconf-3210000
32
+ # Homebrew saw the same hash: https://github.com/Homebrew/homebrew-core/blob/e3a8622111ecefe444194cade5cca3c69165e26c/Formula/sqlite.rb#L6
33
+ SQLITE_AUTOCONF_HASH=d7dd516775005ad87a57f428b6f86afd206cb341722927f104d3f0cf65fbbbe3
25
34
26
35
# Dependencies for compiling Python that we want to remove from
27
36
# the final image after compiling Python
28
- PYTHON_COMPILE_DEPS=" zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel"
37
+ # GPG installed to verify signatures on Python source tarballs.
38
+ PYTHON_COMPILE_DEPS=" zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gpg"
29
39
30
40
# Libraries that are allowed as part of the manylinux1 profile
31
41
MANYLINUX1_DEPS=" glibc-devel libstdc++-devel glib2-devel libX11-devel libXext-devel libXrender-devel mesa-libGL-devel libICE-devel libSM-devel ncurses-devel"
@@ -55,6 +65,7 @@ yum -y update
55
65
56
66
# EPEL support
57
67
yum -y install wget curl
68
+ # https://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
58
69
cp $MY_DIR /epel-release-5-4.noarch.rpm .
59
70
check_sha256sum epel-release-5-4.noarch.rpm $EPEL_RPM_HASH
60
71
@@ -81,14 +92,19 @@ autoconf --version
81
92
build_automake $AUTOMAKE_ROOT $AUTOMAKE_HASH
82
93
automake --version
83
94
95
+ # Install newest libtool
96
+ build_libtool $LIBTOOL_ROOT $LIBTOOL_HASH
97
+ libtool --version
98
+
84
99
# Install a more recent SQLite3
85
- curl -fsSLO https://sqlite.org/2017/sqlite-autoconf-3160200.tar.gz
86
- tar xfz sqlite-autoconf-3160200.tar.gz
87
- cd sqlite-autoconf-3160200
100
+ curl -fsSLO https://sqlite.org/2017/$SQLITE_AUTOCONF_VERSION .tar.gz
101
+ check_sha256sum $SQLITE_AUTOCONF_VERSION .tar.gz $SQLITE_AUTOCONF_HASH
102
+ tar xfz $SQLITE_AUTOCONF_VERSION .tar.gz
103
+ cd $SQLITE_AUTOCONF_VERSION
88
104
./configure
89
105
make install
90
106
cd ..
91
- rm -rf sqlite-autoconf-3160200 *
107
+ rm -rf $SQLITE_AUTOCONF_VERSION *
92
108
93
109
# Compile the latest Python releases.
94
110
# (In order to have a proper SSL module, Python is compiled
@@ -123,6 +139,7 @@ rm -rf /usr/local/ssl
123
139
124
140
# Install patchelf (latest with unreleased bug fixes)
125
141
curl -fsSL -o patchelf.tar.gz https://github.com/NixOS/patchelf/archive/$PATCHELF_VERSION .tar.gz
142
+ check_sha256sum patchelf.tar.gz $PATCHELF_HASH
126
143
tar -xzf patchelf.tar.gz
127
144
(cd patchelf-$PATCHELF_VERSION && ./bootstrap.sh && ./configure && make && make install)
128
145
rm -rf patchelf.tar.gz patchelf-$PATCHELF_VERSION
0 commit comments