@@ -6,15 +6,16 @@ ARG DEVTOOLSET_ROOTPATH=
6
6
ARG LD_LIBRARY_PATH_ARG=
7
7
ARG PREPEND_PATH=
8
8
9
- FROM $BASEIMAGE
9
+
10
+ FROM $BASEIMAGE AS runtime_base
10
11
ARG POLICY
11
12
ARG PLATFORM
12
13
ARG DEVTOOLSET_ROOTPATH
13
14
ARG LD_LIBRARY_PATH_ARG
14
15
ARG PREPEND_PATH
15
16
LABEL maintainer="The ManyLinux project"
16
17
17
- ENV AUDITWHEEL_ARCH=${PLATFORM} AUDITWHEEL_PLAT=${POLICY}_${PLATFORM}
18
+ ENV AUDITWHEEL_POLICY=${POLICY} AUDITWHEEL_ARCH=${PLATFORM} AUDITWHEEL_PLAT=${POLICY}_${PLATFORM}
18
19
ENV LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8
19
20
ENV DEVTOOLSET_ROOTPATH=${DEVTOOLSET_ROOTPATH}
20
21
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH_ARG}
@@ -23,13 +24,98 @@ ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
23
24
24
25
# setup entrypoint, this will wrap commands with `linux32` with i686 images
25
26
COPY build_scripts/install-entrypoint.sh /build_scripts/install-entrypoint.sh
26
- RUN bash /build_scripts/install-entrypoint.sh && rm -rf build_scripts
27
- COPY entrypoint.sh /opt/manylinux/ entrypoint.sh
28
- ENTRYPOINT ["/opt/ manylinux/ entrypoint.sh " ]
27
+ RUN /build_scripts/install-entrypoint.sh && rm -rf build_scripts
28
+ COPY manylinux- entrypoint /usr/local/bin/manylinux- entrypoint
29
+ ENTRYPOINT ["manylinux- entrypoint" ]
29
30
30
- COPY build_scripts /build_scripts
31
- RUN /opt/ manylinux/ entrypoint.sh bash build_scripts/build .sh && rm -rf build_scripts
31
+ COPY build_scripts/install-runtime-packages.sh /build_scripts/install-runtime-packages.sh
32
+ RUN manylinux- entrypoint / build_scripts/install-runtime-packages .sh && rm -rf / build_scripts
32
33
33
- ENV SSL_CERT_FILE=/opt/_internal/certs.pem
34
+ COPY build_scripts/build_utils.sh /build_scripts/build_utils.sh
35
+
36
+ COPY build_scripts/install-automake.sh /build_scripts/install-automake.sh
37
+ RUN manylinux-entrypoint /build_scripts/install-automake.sh
38
+
39
+ COPY build_scripts/install-libtool.sh /build_scripts/install-libtool.sh
40
+ RUN manylinux-entrypoint /build_scripts/install-libtool.sh
41
+
42
+ COPY build_scripts/install-patchelf.sh /build_scripts/install-patchelf.sh
43
+ RUN manylinux-entrypoint /build_scripts/install-patchelf.sh
44
+
45
+ COPY build_scripts/install-libxcrypt.sh /build_scripts/install-libxcrypt.sh
46
+ RUN manylinux-entrypoint /build_scripts/install-libxcrypt.sh
34
47
35
48
CMD ["/bin/bash" ]
49
+
50
+
51
+ FROM runtime_base AS build_base
52
+ COPY build_scripts/install-build-packages.sh /build_scripts/install-build-packages.sh
53
+ RUN manylinux-entrypoint /build_scripts/install-build-packages.sh
54
+
55
+
56
+ FROM build_base AS build_git
57
+ COPY build_scripts/build-git.sh /build_scripts/build-git.sh
58
+ RUN manylinux-entrypoint /build_scripts/build-git.sh
59
+
60
+
61
+ FROM build_base AS build_cmake
62
+ COPY build_scripts/build-cmake.sh /build_scripts/build-cmake.sh
63
+ RUN manylinux-entrypoint /build_scripts/build-cmake.sh
64
+
65
+
66
+ FROM build_base AS build_cpython
67
+ COPY build_scripts/build-sqlite3.sh /build_scripts/build-sqlite3.sh
68
+ RUN manylinux-entrypoint /build_scripts/build-sqlite3.sh
69
+
70
+ COPY build_scripts/build-cpython.sh /build_scripts/build-cpython.sh
71
+
72
+
73
+ FROM build_cpython AS build_cpython35
74
+ COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
75
+ RUN manylinux-entrypoint gpg --import /build_scripts/cpython-pubkeys.txt
76
+ RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.5.10
77
+
78
+ FROM build_cpython AS build_cpython36
79
+ COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
80
+ RUN manylinux-entrypoint gpg --import /build_scripts/cpython-pubkeys.txt
81
+ RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.6.12
82
+
83
+ FROM build_cpython AS build_cpython37
84
+ COPY build_scripts/cpython-pubkeys.txt /build_scripts/cpython-pubkeys.txt
85
+ RUN manylinux-entrypoint gpg --import /build_scripts/cpython-pubkeys.txt
86
+ RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.7.9
87
+
88
+ FROM build_cpython AS build_cpython38
89
+ COPY build_scripts/ambv-pubkey.txt /build_scripts/ambv-pubkey.txt
90
+ RUN manylinux-entrypoint gpg --import /build_scripts/ambv-pubkey.txt
91
+ RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.8.6
92
+
93
+ FROM build_cpython AS build_cpython39
94
+ COPY build_scripts/ambv-pubkey.txt /build_scripts/ambv-pubkey.txt
95
+ RUN manylinux-entrypoint gpg --import /build_scripts/ambv-pubkey.txt
96
+ RUN manylinux-entrypoint /build_scripts/build-cpython.sh 3.9.1
97
+
98
+ FROM runtime_base AS all_cpython
99
+ COPY --from=build_cpython35 /opt/_internal /opt/_internal/
100
+ COPY --from=build_cpython36 /opt/_internal /opt/_internal/
101
+ COPY --from=build_cpython37 /opt/_internal /opt/_internal/
102
+ COPY --from=build_cpython38 /opt/_internal /opt/_internal/
103
+ COPY --from=build_cpython39 /opt/_internal /opt/_internal/
104
+ COPY build_scripts/install-requirements.sh /build_scripts/install-requirements.sh
105
+ COPY build_scripts/requirements.txt /build_scripts/requirements.txt
106
+ RUN manylinux-entrypoint /build_scripts/install-requirements.sh
107
+
108
+
109
+ FROM runtime_base
110
+ COPY --from=build_git /manylinux/git /
111
+ COPY --from=build_cmake /manylinux/cmake /
112
+ COPY --from=build_cpython /manylinux/sqlite3 /
113
+ COPY --from=all_cpython /opt/_internal /opt/_internal/
114
+ COPY build_scripts/finalize.sh /build_scripts/finalize.sh
115
+ COPY build_scripts/python-tag-abi-tag.py /build_scripts/python-tag-abi-tag.py
116
+ COPY build_scripts/ssl-check.py /build_scripts/ssl-check.py
117
+ COPY build_scripts/manylinux-check.py /build_scripts/manylinux-check.py
118
+ COPY build_scripts/requirements.txt /build_scripts/requirements.txt
119
+ COPY build_scripts/requirements-tools.txt /build_scripts/requirements-tools.txt
120
+ RUN manylinux-entrypoint /build_scripts/finalize.sh && rm -rf /build_scripts
121
+ ENV SSL_CERT_FILE=/opt/_internal/certs.pem
0 commit comments