Skip to content

Commit b7b308a

Browse files
authored
Merge pull request #376 from infosiftr/stretch-8.0
Update 8.0 to Debian Stretch
2 parents b6156cf + 7c72a45 commit b7b308a

File tree

2 files changed

+36
-9
lines changed

2 files changed

+36
-9
lines changed

8.0/Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
FROM debian:jessie
1+
FROM debian:stretch-slim
2+
23
# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
34
RUN groupadd -r mysql && useradd -r -g mysql mysql
45

6+
RUN apt-get update && apt-get install -y --no-install-recommends gnupg dirmngr && rm -rf /var/lib/apt/lists/*
7+
58
# add gosu for easy step-down from root
69
ENV GOSU_VERSION 1.7
710
RUN set -x \
@@ -41,9 +44,9 @@ RUN set -ex; \
4144
apt-key list > /dev/null
4245

4346
ENV MYSQL_MAJOR 8.0
44-
ENV MYSQL_VERSION 8.0.3-rc-1debian8
47+
ENV MYSQL_VERSION 8.0.4-rc-1debian9
4548

46-
RUN echo "deb http://repo.mysql.com/apt/debian/ jessie mysql-${MYSQL_MAJOR}" > /etc/apt/sources.list.d/mysql.list
49+
RUN echo "deb http://repo.mysql.com/apt/debian/ stretch mysql-${MYSQL_MAJOR}" > /etc/apt/sources.list.d/mysql.list
4750

4851
# the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql)
4952
# also, we set debconf keys to make APT a little quieter

update.sh

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,45 @@ if [ ${#versions[@]} -eq 0 ]; then
99
fi
1010
versions=( "${versions[@]%/}" )
1111

12+
defaultDebianVariant='stretch-slim'
13+
declare -A debianVariants=(
14+
[5.5]='jessie'
15+
[5.6]='jessie'
16+
[5.7]='jessie'
17+
)
18+
1219
for version in "${versions[@]}"; do
20+
debianVariant="${debianVariants[$version]:-$defaultDebianVariant}"
21+
debianSuite="${debianVariant%%-*}" # "stretch", etc
22+
1323
if [ "$version" = '5.5' ]; then
1424
fullVersion="$(curl -sSL "https://dev.mysql.com/downloads/mysql/$version.html?os=2" \
1525
| grep '">(mysql-'"$version"'.*-linux.*-x86_64\.tar\.gz)<' \
1626
| sed -r 's!.*\(mysql-([^<)]+)-linux.*-x86_64\.tar\.gz\).*!\1!' \
1727
| sort -V | tail -1)"
1828
else
19-
fullVersion="$(curl -fsSL "http://repo.mysql.com/apt/debian/dists/jessie/mysql-$version/binary-amd64/Packages.gz" | gunzip | awk -F ': ' '$1 == "Package" { pkg = $2; next } pkg == "mysql-server" && $1 == "Version" { print $2 }')"
29+
fullVersion="$(
30+
curl -fsSL "http://repo.mysql.com/apt/debian/dists/$debianSuite/mysql-$version/binary-amd64/Packages.gz" \
31+
| gunzip \
32+
| awk -F ': ' '
33+
$1 == "Package" {
34+
pkg = $2
35+
next
36+
}
37+
pkg == "mysql-server" && $1 == "Version" {
38+
print $2
39+
}
40+
'
41+
)"
2042
fi
21-
43+
2244
(
2345
set -x
24-
sed -ri '
25-
s/^(ENV MYSQL_MAJOR) .*/\1 '"$version"'/;
26-
s/^(ENV MYSQL_VERSION) .*/\1 '"$fullVersion"'/
27-
' "$version/Dockerfile"
46+
sed -ri \
47+
-e 's/^(ENV MYSQL_VERSION) .*/\1 '"$fullVersion"'/' \
48+
-e 's/^(ENV MYSQL_MAJOR) .*/\1 '"$version"'/' \
49+
-e 's/^(FROM) .*/\1 debian:'"$debianVariant"'/' \
50+
-e 's!(http://repo.mysql.com/apt/debian/) [^ ]+!\1 '"$debianSuite"'!' \
51+
"$version/Dockerfile"
2852
)
2953
done

0 commit comments

Comments
 (0)