@@ -3,13 +3,12 @@ ARG ALPINE_VERSION
3
3
FROM alpine:${ALPINE_VERSION:-3.18}
4
4
ARG MYSQL_VERSION
5
5
ARG BOOST_VERSION
6
- ENV MYSQL_MAJOR 8.0
7
6
ENV MYSQL_VERSION ${MYSQL_VERSION:-8.0.40}
8
7
ENV BOOST_VERSION ${BOOST_VERSION:-1.77.0}
9
8
ENV GPG_KEY "859BE8D7C586F538430B19C2467B942D3A79BD29"
10
9
RUN apk add --no-cache --virtual .build-deps \
11
10
pigz \
12
- git patch \
11
+ git patch sed \
13
12
gnupg \
14
13
curl \
15
14
linux-headers \
@@ -29,21 +28,23 @@ RUN apk add --no-cache --virtual .build-deps \
29
28
RUN mkdir -p /usr/src/boost && \
30
29
echo "Downloading boost v${BOOST_VERSION}..." && \
31
30
wget --progress=bar:force:noscroll --show-progress -qO- "https://archives.boost.io/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION//./_}.tar.bz2" | tar --strip-components 1 -xjC /usr/src/boost && \
32
- gpg --recv-keys "$GPG_KEY" && \
33
- echo "Downloading MySQL ${MYSQL_VERSION} source..." && \
34
- (curl -fSL "https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-${MYSQL_VERSION}.tar.gz" -o mysql.tar.gz || curl -fSL "https://cdn.mysql.com/archives/mysql-8.0/mysql-${MYSQL_VERSION}.tar.gz" -o mysql.tar.gz) && \
31
+ gpg --recv-keys "$GPG_KEY"
32
+ RUN MYSQL_MAJOR=$(echo "${MYSQL_VERSION}" |sed 's/\. [^.]*$//' ) && \
33
+ echo "Downloading MySQL ${MYSQL_MAJOR} (${MYSQL_VERSION}) source..." && \
34
+ (curl -fSL "https://cdn.mysql.com/Downloads/MySQL-${MYSQL_MAJOR}/mysql-${MYSQL_VERSION}.tar.gz" -o mysql.tar.gz || curl -fSL "https://cdn.mysql.com/archives/mysql-${MYSQL_MAJOR}/mysql-${MYSQL_VERSION}.tar.gz" -o mysql.tar.gz) && \
35
35
mkdir -p /usr/src/mysql && \
36
36
echo "Extracting source..." && \
37
37
pigz -dc mysql.tar.gz|tar --strip-components 1 -xC /usr/src/mysql -f - && \
38
38
rm mysql.tar.gz
39
39
40
- # COPY patch /patch
40
+ COPY patch /patch
41
41
42
42
# -DWITHSSL=openssl11/openssl3/system/yes
43
43
RUN --mount=type=cache,target=/usr/src/mysql/build,sharing=locked \
44
44
cd /usr/src/mysql && \
45
45
mkdir -p build && cd build && \
46
- # patch -p1 < /patch/libmysql-musl.patch && patch -p0 < /patch/icu68.patch && \
46
+ # (patch -p1 < /patch/libmysql-musl.patch; patch -p0 < /patch/icu68.patch; true) && \
47
+ (patch -p0 < /patch/8.4-bulk_data_service.patch || true) && \
47
48
_CFLAGS="-DSIGEV_THREAD_ID=4" \
48
49
cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=Release -DWITH_BOOST=/usr/src/boost -DDOWNLOAD_BOOST=OFF -DENABLE_DOWNLOADS=ON \
49
50
-DCOMPILATION_COMMENT_SERVER="MySQL8 for Alpine Linux by GT" \
0 commit comments