Skip to content

Commit 0444c9a

Browse files
committed
Update tools repo handling and update innovation to mysql-shell 8.2.1
The "innovation" branch of MySQL appears to have a separate tools repository now with newer versions of MySQL Shell.
1 parent dc35bed commit 0444c9a

File tree

7 files changed

+31
-22
lines changed

7 files changed

+31
-22
lines changed

5.7/Dockerfile.oracle

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

8.0/Dockerfile.oracle

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apply-templates.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/usr/bin/env bash
22
set -Eeuo pipefail
3+
shopt -s extglob # support globs like !(foo)
34

45
[ -f versions.json ] # run "versions.sh" first
56

@@ -32,11 +33,14 @@ generated_warning() {
3233
for version; do
3334
export version
3435

35-
rm -f "$version"/Dockerfile.*
36+
rm -f "$version"/!(config)
37+
mkdir -p "$version"
3638

3739
for variant in oracle debian; do
3840
export variant
3941

42+
echo "processing $version ($variant) ..."
43+
4044
variantVersion="$(jq -r '.[env.version][env.variant] // {} | .version // ""' versions.json)"
4145
if [ -n "$variantVersion" ]; then
4246
dockerfile="Dockerfile.$variant"

innovation/Dockerfile.oracle

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,11 @@ ENV MYSQL_MAJOR innovation
5656
ENV MYSQL_VERSION 8.2.0-1.el8
5757

5858
RUN set -eu; \
59-
. /etc/os-release; \
6059
{ \
6160
echo '[mysqlinnovation-server-minimal]'; \
6261
echo 'name=MySQL innovation Server Minimal'; \
6362
echo 'enabled=1'; \
64-
echo "baseurl=https://repo.mysql.com/yum/mysql-innovation-community/docker/el/${VERSION_ID%%[.-]*}/\$basearch/"; \
63+
echo 'baseurl=https://repo.mysql.com/yum/mysql-innovation-community/docker/el/8/$basearch/'; \
6564
echo 'gpgcheck=1'; \
6665
echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql'; \
6766
# https://github.com/docker-library/mysql/pull/680#issuecomment-825930524
@@ -95,18 +94,17 @@ RUN set -eux; \
9594
mysql --version
9695

9796
RUN set -eu; \
98-
. /etc/os-release; \
9997
{ \
10098
echo '[mysql-tools-community]'; \
10199
echo 'name=MySQL Tools Community'; \
102-
echo "baseurl=https://repo.mysql.com/yum/mysql-tools-community/el/${VERSION_ID%%[.-]*}/\$basearch/"; \
100+
echo 'baseurl=https://repo.mysql.com/yum/mysql-tools-innovation-community/el/8/$basearch/'; \
103101
echo 'enabled=1'; \
104102
echo 'gpgcheck=1'; \
105103
echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql'; \
106104
# https://github.com/docker-library/mysql/pull/680#issuecomment-825930524
107105
echo 'module_hotfixes=true'; \
108106
} | tee /etc/yum.repos.d/mysql-community-tools.repo
109-
ENV MYSQL_SHELL_VERSION 8.0.35-1.el8
107+
ENV MYSQL_SHELL_VERSION 8.2.1-1.el8
110108
RUN set -eux; \
111109
microdnf install -y "mysql-shell-$MYSQL_SHELL_VERSION"; \
112110
microdnf clean all; \

template/Dockerfile.oracle

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,11 @@ ENV MYSQL_MAJOR {{ env.version }}
7171
ENV MYSQL_VERSION {{ .oracle.version }}
7272

7373
RUN set -eu; \
74-
. /etc/os-release; \
7574
{ \
7675
echo '[mysql{{ env.version }}-server-minimal]'; \
7776
echo 'name=MySQL {{ env.version }} Server Minimal'; \
7877
echo 'enabled=1'; \
79-
echo "baseurl=https://repo.mysql.com/yum/mysql-{{ env.version }}-community/docker/el/${VERSION_ID%%[.-]*}/\$basearch/"; \
78+
echo {{ "baseurl=" + .oracle.repo + "/$basearch/" | @sh }}; \
8079
echo 'gpgcheck=1'; \
8180
echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql'; \
8281
# https://github.com/docker-library/mysql/pull/680#issuecomment-825930524
@@ -121,11 +120,10 @@ RUN set -eux; \
121120
mysql --version
122121

123122
RUN set -eu; \
124-
. /etc/os-release; \
125123
{ \
126124
echo '[mysql-tools-community]'; \
127125
echo 'name=MySQL Tools Community'; \
128-
echo "baseurl=https://repo.mysql.com/yum/mysql-tools-community/el/${VERSION_ID%%[.-]*}/\$basearch/"; \
126+
echo {{ "baseurl=" + .oracle.toolsRepo + "/$basearch/" | @sh }}; \
129127
echo 'enabled=1'; \
130128
echo 'gpgcheck=1'; \
131129
echo 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql'; \

versions.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
"architectures": [
88
"amd64"
99
],
10+
"repo": "https://repo.mysql.com/yum/mysql-5.7-community/docker/el/7",
11+
"toolsRepo": "https://repo.mysql.com/yum/mysql-tools-community/el/7",
1012
"variant": "7-slim",
1113
"version": "5.7.44-1.el7"
1214
},
@@ -28,20 +30,24 @@
2830
"amd64",
2931
"arm64v8"
3032
],
33+
"repo": "https://repo.mysql.com/yum/mysql-8.0-community/docker/el/8",
34+
"toolsRepo": "https://repo.mysql.com/yum/mysql-tools-community/el/8",
3135
"variant": "8-slim",
3236
"version": "8.0.35-1.el8"
3337
},
3438
"version": "8.0.35"
3539
},
3640
"innovation": {
3741
"mysql-shell": {
38-
"version": "8.0.35-1.el8"
42+
"version": "8.2.1-1.el8"
3943
},
4044
"oracle": {
4145
"architectures": [
4246
"amd64",
4347
"arm64v8"
4448
],
49+
"repo": "https://repo.mysql.com/yum/mysql-innovation-community/docker/el/8",
50+
"toolsRepo": "https://repo.mysql.com/yum/mysql-tools-innovation-community/el/8",
4551
"variant": "8-slim",
4652
"version": "8.2.0-1.el8"
4753
},

versions.sh

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,19 @@ for version in "${versions[@]}"; do
103103

104104
oracleVariant="${oracleVariants[$version]:-$defaultOracleVariant}"
105105
oracleVersion="${oracleVariant%%-*}" # "7", etc
106+
107+
rpmRepo="https://repo.mysql.com/yum/mysql-$version-community/docker/el/$oracleVersion"
108+
case "$version" in
109+
innovation) toolsRepo="https://repo.mysql.com/yum/mysql-tools-innovation-community/el/$oracleVersion" ;;
110+
*) toolsRepo="https://repo.mysql.com/yum/mysql-tools-community/el/$oracleVersion" ;;
111+
esac
112+
export rpmRepo toolsRepo
113+
106114
rpmVersion=
107115
shellVersion=
108-
doc="$(jq <<<"$doc" -c '. += { oracle: { architectures: [] } }')"
116+
doc="$(jq <<<"$doc" -c '. += { oracle: { architectures: [], repo: env.rpmRepo, toolsRepo: env.toolsRepo } }')"
109117
for bashbrewArch in $(xargs -n1 <<<"${!bashbrewArchToRpmArch[*]}" | sort | xargs); do
110118
rpmArch="${bashbrewArchToRpmArch[$bashbrewArch]}"
111-
rpmRepo="https://repo.mysql.com/yum/mysql-$version-community/docker/el/$oracleVersion"
112119
archVersions="$(
113120
fetch_rpm_versions "$rpmRepo" "$rpmArch" "$oracleVersion" 'mysql-community-server-minimal' \
114121
|| :
@@ -121,7 +128,7 @@ for version in "${versions[@]}"; do
121128
echo >&2 "error: $version architecture version mismatch! ('$rpmVersion' vs '$archVersion' on '$rpmArch'/'$bashbrewArch')"
122129
exit 1
123130
fi
124-
shellArchVersions="$(fetch_rpm_versions "https://repo.mysql.com/yum/mysql-tools-community/el/$oracleVersion" "$rpmArch" "$oracleVersion" 'mysql-shell')"
131+
shellArchVersions="$(fetch_rpm_versions "$toolsRepo" "$rpmArch" "$oracleVersion" 'mysql-shell')"
125132
shellArchVersion="$(head -1 <<<"$shellArchVersions")"
126133
if [ -z "$shellVersion" ]; then
127134
shellVersion="$shellArchVersion"

0 commit comments

Comments
 (0)