Skip to content

Commit

Permalink
Add MariaDB 10.6, solve problems with unsupported 5.5-10.1 versions, f…
Browse files Browse the repository at this point in the history
…ixes #3093 (#3096)

* Add MariaDB 10.6, fixes #3093
* Remove the mariadb package repo so it doesn't break apt-get
  • Loading branch information
rfay committed Jul 11, 2021
1 parent fce3b95 commit 74b5350
Show file tree
Hide file tree
Showing 16 changed files with 35 additions and 17 deletions.
@@ -0,0 +1,4 @@
name: callme10.6
type: php
docroot: ""
mariadb_version: "10.6"
@@ -0,0 +1,4 @@
name: imagespec10.6
type: php
docroot: ""
dbimage: somerandomdbimg-mariadb-10.6
4 changes: 4 additions & 0 deletions containers/ddev-dbserver/Dockerfile
Expand Up @@ -19,6 +19,10 @@ RUN for item in "75DD C3C4 A499 F1A1 8CB5 F3C8 CBF8 D6FD 518E 17E1" "126C 0D24
apt-key remove "${item}" || true; \
done;

# Older versions of mariadb have been removed from
# the mariadb apt repository, so we don't want to
# look there when doing apt-get update. And we don't use new packages from there.
RUN rm -f /etc/apt/sources.list.d/mariadb.list

RUN apt-get -qq update && apt-get -qq install -y tzdata gnupg2 pv less vim wget curl lsb-release >/dev/null

Expand Down
10 changes: 4 additions & 6 deletions containers/ddev-dbserver/Makefile
Expand Up @@ -10,23 +10,21 @@ CURRENT_ARCH=$(shell ../get_arch.sh)
# So has to explicitly declare anything it might need from there (like SHELL)
SHELL = /bin/bash

BUILD_TARGETS=mariadb_5.5_amd64 mariadb_10.0_amd64 mariadb_10.1_amd64 mariadb_10.2_both mariadb_10.3_both mariadb_10.4_both mariadb_10.5_both mysql_5.5_amd64 mysql_5.6_amd64 mysql_5.7_amd64 mysql_8.0_amd64_8.0.22
BUILD_TARGETS=mariadb_5.5_amd64 mariadb_10.0_amd64 mariadb_10.1_amd64 mariadb_10.2_both mariadb_10.3_both mariadb_10.4_both mariadb_10.5_both mariadb_10.6_both mysql_5.5_amd64 mysql_5.6_amd64 mysql_5.7_amd64 mysql_8.0_amd64_8.0.22
TEST_TARGETS=$(shell if [ "$(CURRENT_ARCH)" = "amd64" ] ; then \
echo "mariadb_5.5_test mariadb_10.0_test mariadb_10.1_test mariadb_10.2_test mariadb_10.3_test mariadb_10.4_test mariadb_10.5_test mysql_5.5_test mysql_5.6_test mysql_5.7_test mysql_8.0_test"; \
echo "mariadb_5.5_test mariadb_10.0_test mariadb_10.1_test mariadb_10.2_test mariadb_10.3_test mariadb_10.4_test mariadb_10.5_test mariadb_10.6_test mysql_5.5_test mysql_5.6_test mysql_5.7_test mysql_8.0_test"; \
else \
echo "mariadb_10.2_test mariadb_10.3_test mariadb_10.4_test mariadb_10.5_test"; \
echo "mariadb_10.2_test mariadb_10.3_test mariadb_10.4_test mariadb_10.5_test mariadb_10.6_test"; \
fi )

container: build
build: $(BUILD_TARGETS)

mariadb_5.5: mariadb_5.5_amd64
mariadb_10.0: mariadb_10.0_amd64
mariadb_10.1: mariadb_10.1_amd64
mariadb_10.2: mariadb_10.2_both
mariadb_10.3: mariadb_10.3_both
mariadb_10.4: mariadb_10.4_both
mariadb_10.5: mariadb_10.5_both
mariadb_10.6: mariadb_10.6_both

mysql_5.5: mysql_5.5_amd64
mysql_5.6: mysql_5.6_amd64
Expand Down
6 changes: 3 additions & 3 deletions containers/ddev-dbserver/test/custom_config.bats
Expand Up @@ -13,9 +13,9 @@ function setup {
containercheck
}

@test "test with mysql/utf.cnf override ${DB_TYPE} ${DB_VERSION}" {
docker exec $CONTAINER_NAME sh -c 'grep collation-server /mnt/ddev_config/mysql/utf.cnf'
mysql --user=root --password=root --skip-column-names --host=127.0.0.1 --port=$HOSTPORT -e "SHOW GLOBAL VARIABLES like \"collation_server\";" | grep "utf8_general_ci"
@test "test with mysql/collation.cnf override ${DB_TYPE} ${DB_VERSION}" {
docker exec $CONTAINER_NAME sh -c 'grep collation-server /mnt/ddev_config/mysql/collation.cnf'
mysql --user=root --password=root --skip-column-names --host=127.0.0.1 --port=$HOSTPORT -e "SHOW GLOBAL VARIABLES like \"collation_server\";" | grep "latin1_swedish_ci"
}


Expand Down
3 changes: 3 additions & 0 deletions containers/ddev-dbserver/test/testdata/mysql/collation.cnf
@@ -0,0 +1,3 @@
[mysqld]
collation-server = latin1_swedish_ci
character-set-server = latin1
3 changes: 0 additions & 3 deletions containers/ddev-dbserver/test/testdata/mysql/utf.cnf

This file was deleted.

2 changes: 1 addition & 1 deletion pkg/ddevapp/config_test.go
Expand Up @@ -724,7 +724,7 @@ func TestConfigOverrideDetection(t *testing.T) {

require.NoError(t, startErr, "app.StartAndWait() did not succeed: output:\n=====\n%s\n===== logs:\n========= logs =======\n%s\n========\n", stdout, logs)

assert.Contains(stdout, "utf.cnf")
assert.Contains(stdout, "collation.cnf")
assert.Contains(stdout, "my-php.ini")

switch app.WebserverType {
Expand Down
@@ -0,0 +1,3 @@
[mysqld]
collation-server = latin1_swedish_ci
character-set-server = latin1

This file was deleted.

@@ -0,0 +1 @@
dbimage: somedbimage:10.6
@@ -0,0 +1 @@
mariadb_version: 10.6
2 changes: 2 additions & 0 deletions pkg/nodeps/mariadb_values.go
Expand Up @@ -14,6 +14,7 @@ var ValidMariaDBVersions = map[string]bool{
MariaDB103: true,
MariaDB104: true,
MariaDB105: true,
MariaDB106: true,
}

// MariaDB Versions
Expand All @@ -25,4 +26,5 @@ const (
MariaDB103 = "10.3"
MariaDB104 = "10.4"
MariaDB105 = "10.5"
MariaDB106 = "10.6"
)
2 changes: 2 additions & 0 deletions pkg/nodeps/mariadb_values_darwin_arm64.go
Expand Up @@ -10,6 +10,7 @@ var ValidMariaDBVersions = map[string]bool{
MariaDB103: true,
MariaDB104: true,
MariaDB105: true,
MariaDB106: true,
}

// MariaDB Versions
Expand All @@ -21,4 +22,5 @@ const (
MariaDB103 = "10.3"
MariaDB104 = "10.4"
MariaDB105 = "10.5"
MariaDB106 = "10.6"
)
2 changes: 2 additions & 0 deletions pkg/nodeps/mariadb_values_linux_arm64.go
Expand Up @@ -10,6 +10,7 @@ var ValidMariaDBVersions = map[string]bool{
MariaDB103: true,
MariaDB104: true,
MariaDB105: true,
MariaDB106: true,
}

// MariaDB Versions
Expand All @@ -21,4 +22,5 @@ const (
MariaDB103 = "10.3"
MariaDB104 = "10.4"
MariaDB105 = "10.5"
MariaDB106 = "10.6"
)
2 changes: 1 addition & 1 deletion pkg/version/version.go
Expand Up @@ -46,7 +46,7 @@ var WebTag = "v1.17.7" // Note that this can be overridden by make
var DBImg = "drud/ddev-dbserver"

// BaseDBTag is the main tag, DBTag is constructed from it
var BaseDBTag = "v1.17.7"
var BaseDBTag = "20210709_mariadb_versions"

// DBAImg defines the default phpmyadmin image tag used for applications.
var DBAImg = "phpmyadmin"
Expand Down

0 comments on commit 74b5350

Please sign in to comment.