summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 13:39:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 13:39:14 +0000
commita569d4096d91a06a40a8dbf4ff4350f664d462bd (patch)
tree7203bcfb59d24f9500b15521eab2f77f024f4791
parentMerging upstream version 1:10.11.7. (diff)
downloadmariadb-a569d4096d91a06a40a8dbf4ff4350f664d462bd.tar.xz
mariadb-a569d4096d91a06a40a8dbf4ff4350f664d462bd.zip
Merging debian version 1:10.11.7-1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--debian/changelog24
-rw-r--r--debian/compat1
-rw-r--r--debian/control7
-rw-r--r--debian/copyright12
-rwxr-xr-xdebian/mariadb-server.install14
-rw-r--r--debian/mariadb-server.lintian-overrides7
-rw-r--r--debian/mariadb-server.postinst23
-rw-r--r--debian/mariadb-server.postrm5
-rw-r--r--debian/mariadb-server.preinst4
-rw-r--r--debian/mariadb-test-data.lintian-overrides6
-rw-r--r--debian/mariadb-test.lintian-overrides3
-rw-r--r--debian/not-installed6
-rw-r--r--debian/patches/1006531-hurd-no-auth-socket.patch28
-rw-r--r--debian/patches/2777-fix-disks-disk-test.patch78
-rw-r--r--debian/patches/2883-subselect-test-failures.patch323
-rw-r--r--debian/patches/fix-spelling-libmarias3.patch73
-rw-r--r--debian/patches/install-files-into-usr.patch27
-rw-r--r--debian/patches/series5
-rwxr-xr-xdebian/rules37
-rw-r--r--debian/salsa-ci.yml395
-rw-r--r--debian/source/lintian-overrides1
-rw-r--r--debian/tests/traces/mariadbd-verbose-help.expected18
-rw-r--r--debian/upstream/signing-key.asc85
23 files changed, 390 insertions, 792 deletions
diff --git a/debian/changelog b/debian/changelog
index bb74708c..6d1dfd00 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,27 @@
+mariadb (1:10.11.7-1) unstable; urgency=medium
+
+ [ Otto Kekäläinen ]
+ * New upstream version 10.11.7. Includes fixes for several regressions
+ as noted at https://mariadb.com/kb/en/mariadb-10-11-7-release-notes/
+ * Add missing ${misc:Depends} to Depends for mariadb-server-10.5
+ * Re-export upstream signing key without extra signatures
+ * Remove field Priority on binary package mariadb-server-10.5 that duplicates
+ source
+ * Update debian/copyright for 2024
+ * Delete test plugin pam_mariadb_mtr.so to keep mariadb-test-data clean
+ * Clean away unused Lintian overrides
+ * Remove unneeded CMAKE_SYSTEM_PROCESSOR from debian/rules
+ * Add patch to skip building AUTH_SOCKET on Hurd (Related: #1006531)
+ * Use Pre-Depends to ensure init-system-helpers is present
+
+ [ Michael Biebl ]
+ * Install PAM module and systemd files into /usr (Closes: #1061348)
+ * Install .service files via .install and let dh_installinit/dh_systemd
+ generate the maintscript code
+ * Switch to dh_installsystemd and debhelper compat 13
+
+ -- Otto Kekäläinen <otto@debian.org> Tue, 06 Feb 2024 20:14:49 -0800
+
mariadb (1:10.11.6-2~progress7.99u1) graograman-backports; urgency=medium
* Initial reupload to graograman-backports.
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index f599e28b..00000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-10
diff --git a/debian/control b/debian/control
index e4744c1a..9bcd0a6d 100644
--- a/debian/control
+++ b/debian/control
@@ -9,7 +9,7 @@ Bugs: mailto:maintainers@lists.progress-linux.org
Build-Depends: bison,
cmake,
cracklib-runtime <!nocheck>,
- debhelper (>= 10),
+ debhelper-compat (= 13),
dh-exec,
gdb <!nocheck>,
libboost-dev,
@@ -449,7 +449,8 @@ Recommends: libhtml-template-perl,
pv
Pre-Depends: adduser (>= 3.40),
debconf,
- mariadb-common (>= ${source:Version})
+ mariadb-common (>= ${source:Version}),
+ ${misc:Pre-Depends}
Depends: galera-4 (>= 26.4),
gawk,
iproute2 [linux-any],
@@ -539,8 +540,8 @@ Description: MariaDB database server binaries
Package: mariadb-server-10.5
Architecture: any
Depends: mariadb-server (>= 1:10.11),
+ ${misc:Depends},
${shlibs:Depends}
-Priority: optional
Description: MariaDB database server binaries (transitional dummy package)
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
diff --git a/debian/copyright b/debian/copyright
index 0615fdf1..380cac36 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -21,7 +21,7 @@ Comment:
special exceptions to the terms and conditions of the GPLv2
as applied to these client libraries, which are identified
and described in more detail in the FOSS License Exception at
- <http://www.mysql.com/about/legal/licensing/foss-exception.html>.
+ <https://www.mysql.com/about/legal/licensing/foss-exception/>.
.
The text of the Above URL is quoted below, as of Aug 17, 2011.
.
@@ -150,7 +150,7 @@ Copyright:
2011 Ondřej Surý <ondrej@debian.org>
2012 Nicholas Bamber <nicholas@periapt.co.uk>
2013,2016 Kristian Nielsen <knielsen@askmonty.org>
- 2013-2020 Otto Kekäläinen <otto@debian.org>
+ 2013-2024 Otto Kekäläinen <otto@debian.org>
2014 Daniel Schepler <schepler@debian.org>
2014 Julien Muchembled <jm@jmuchemb.eu>
2014 Tobias Frost <tobi@coldtobi.de>
@@ -549,7 +549,7 @@ License: GPL-3+-with-bison-exception
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
.
As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -688,7 +688,7 @@ License: GPL-2
Files: wsrep-lib/*
sql/wsrep_*
scripts/wsrep_*
-Copyright: 2008-2019 Codership Oy <http://www.codership.com>
+Copyright: 2008-2019 Codership Oy <https://www.codership.com>
License: GPL-2
Files: libmariadb/*
@@ -772,7 +772,7 @@ License: GPL-2
`/usr/share/common-licenses/GPL-2`
.
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
License: GPL-2+
This program is free software; you can redistribute it and/or modify
@@ -790,7 +790,7 @@ License: GPL-2+
`/usr/share/common-licenses/GPL-2`
.
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
License: LGPL
This library is free software; you can redistribute it and/or
diff --git a/debian/mariadb-server.install b/debian/mariadb-server.install
index a27293c1..94fa75ea 100755
--- a/debian/mariadb-server.install
+++ b/debian/mariadb-server.install
@@ -8,10 +8,16 @@ debian/additions/source_mariadb.py usr/share/apport/package-hooks
etc/apparmor.d/usr.sbin.mariadbd
etc/logrotate.d/mariadb
etc/security/user_map.conf
-lib/*/security/pam_user_map.so
-[linux-any] lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf
-[linux-any] lib/systemd/system/mysql.service
-[linux-any] lib/systemd/system/mysqld.service
+usr/lib/*/security/pam_user_map.so
+[linux-any] usr/lib/systemd/system/mariadb-extra.socket
+[linux-any] usr/lib/systemd/system/mariadb-extra@.socket
+[linux-any] usr/lib/systemd/system/mariadb.service
+[linux-any] usr/lib/systemd/system/mariadb@.service
+[linux-any] usr/lib/systemd/system/mariadb.socket
+[linux-any] usr/lib/systemd/system/mariadb@.socket
+[linux-any] usr/lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf
+[linux-any] usr/lib/systemd/system/mysql.service
+[linux-any] usr/lib/systemd/system/mysqld.service
usr/bin/aria_chk
usr/bin/aria_dump_log
usr/bin/aria_ftdump
diff --git a/debian/mariadb-server.lintian-overrides b/debian/mariadb-server.lintian-overrides
index e26fdff9..b0530410 100644
--- a/debian/mariadb-server.lintian-overrides
+++ b/debian/mariadb-server.lintian-overrides
@@ -9,8 +9,5 @@ spelling-error-in-binary AfE Safe [usr/bin/*]
# Intentional in-context documentation
package-contains-documentation-outside-usr-share-doc [usr/share/mysql/errmsg-utf8.txt]
# mysql(d).service are symlinks to mariadb.service, and there is indeed a init.d/mariadb shipped
-package-supports-alternative-init-but-no-init.d-script [lib/systemd/system/mysql.service]
-package-supports-alternative-init-but-no-init.d-script [lib/systemd/system/mysqld.service]
-# Intentionally symlinks mysql->mariadb
-service-file-is-not-a-file [lib/systemd/system/mysql.service]
-service-file-is-not-a-file [lib/systemd/system/mysqld.service]
+package-supports-alternative-init-but-no-init.d-script [usr/lib/systemd/system/mysql.service]
+package-supports-alternative-init-but-no-init.d-script [usr/lib/systemd/system/mysqld.service]
diff --git a/debian/mariadb-server.postinst b/debian/mariadb-server.postinst
index 0ca5731b..ca267a3a 100644
--- a/debian/mariadb-server.postinst
+++ b/debian/mariadb-server.postinst
@@ -301,28 +301,5 @@ esac
db_stop # in case invoke fails
-# dh_systemd_start doesn't emit anything since we still ship /etc/init.d/mariadb.
-# Thus MariaDB server is started via init.d script, which in turn redirects to
-# systemctl. If we upgrade from MySQL mysql.service may be masked, which also
-# means init.d script is disabled. Unmask mysql service explicitly.
-# Check first that the command exists, to avoid emitting any warning messages.
-if [ -x "$(command -v deb-systemd-helper)" ]
-then
- deb-systemd-helper unmask mysql.service > /dev/null
-fi
-
#DEBHELPER#
-# Modified dh_systemd_start snippet that's not added automatically
-if [ -d /run/systemd/system ]
-then
- systemctl --system daemon-reload >/dev/null || true
- deb-systemd-invoke start mariadb.service >/dev/null || true
- # Modified dh_installinit snippet to only run with sysvinit
-elif [ -x "/etc/init.d/mariadb" ]
-then
- if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]
- then
- invoke-rc.d mariadb start || exit $?
- fi
-fi
diff --git a/debian/mariadb-server.postrm b/debian/mariadb-server.postrm
index 43381938..9a5a9bf6 100644
--- a/debian/mariadb-server.postrm
+++ b/debian/mariadb-server.postrm
@@ -111,8 +111,3 @@ fi
#DEBHELPER#
-# Modified dh_systemd_start snippet that's not added automatically
-if [ -d /run/systemd/system ]
-then
- systemctl --system daemon-reload >/dev/null || true
-fi
diff --git a/debian/mariadb-server.preinst b/debian/mariadb-server.preinst
index 69af22f9..392fa4fb 100644
--- a/debian/mariadb-server.preinst
+++ b/debian/mariadb-server.preinst
@@ -148,7 +148,7 @@ if [ -z "$found_version" ] &&
[ -z "$(find $mysql_datadir/debian-*.flag 2> /dev/null)" ] &&
[ -f "$mysql_datadir/undo_001" ]
then
- echo "$mysql_datadir: no server version flag found, assuming MySQL 8.0 data encountered"
+ echo "$mysql_datadir: no server version flag found, assuming MySQL 8.0 data encountered" 1>&2
downgrade_detected=true
found_version="previous" # Just use dummy name as we don't know real version
fi
@@ -159,7 +159,7 @@ if [ -n "$downgrade_detected" ]
then
db_input critical "mariadb-server/old_data_directory_saved" || true
db_go
- echo "The file $mysql_datadir/debian-$found_version.flag indicates a" 1>&2
+ echo "The contents of $mysql_datadir/ indicates a" 1>&2
echo "version that cannot automatically be upgraded. Therefore the" 1>&2
echo "previous data directory will be renamed to $mysql_datadir-$found_version and" 1>&2
echo "a new data directory will be initialized at $mysql_datadir." 1>&2
diff --git a/debian/mariadb-test-data.lintian-overrides b/debian/mariadb-test-data.lintian-overrides
index 8c827190..447f39dd 100644
--- a/debian/mariadb-test-data.lintian-overrides
+++ b/debian/mariadb-test-data.lintian-overrides
@@ -1,9 +1,3 @@
-# These should be moved, see https://jira.mariadb.org/browse/MDEV-21654
-arch-dependent-file-in-usr-share [usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so]
-arch-independent-package-contains-binary-or-object [usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so]
-# Duplicate in old Lintian syntax as the FTP of NEW queue still uses it
-arch-dependent-file-in-usr-share usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so
-arch-independent-package-contains-binary-or-object usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so
# Intentional for test files
national-encoding [usr/share/mysql/mysql-test/*]
# Extra test documentation files that really need to be kept in context in test directory
diff --git a/debian/mariadb-test.lintian-overrides b/debian/mariadb-test.lintian-overrides
index d5758ebb..c553f8df 100644
--- a/debian/mariadb-test.lintian-overrides
+++ b/debian/mariadb-test.lintian-overrides
@@ -1,9 +1,6 @@
# These should be moved, see https://jira.mariadb.org/browse/MDEV-21653
arch-dependent-file-in-usr-share [usr/share/mysql/mysql-test/lib/My/SafeProcess/my_safe_process]
arch-dependent-file-in-usr-share [usr/share/mysql/mysql-test/lib/My/SafeProcess/wsrep_check_version]
-# Duplicate in old Lintian syntax as the FTP of NEW queue still uses it
-arch-dependent-file-in-usr-share usr/share/mysql/mysql-test/lib/My/SafeProcess/my_safe_process
-arch-dependent-file-in-usr-share usr/share/mysql/mysql-test/lib/My/SafeProcess/wsrep_check_version
# MyISAM stopwords that cannot be changed and spelling errors remain
spelling-error-in-binary noone no one [usr/bin/*]
spelling-error-in-binary thats that's [usr/bin/*]
diff --git a/debian/not-installed b/debian/not-installed
index 2eec6b25..50ac78fd 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -5,12 +5,6 @@ etc/mysql/mariadb.conf.d/client.cnf # Debian packaging uses files from debian/ad
etc/mysql/mariadb.conf.d/enable_encryption.preset # Debian packaging uses files from debian/additions/mariadb.cnf.d/
etc/mysql/mariadb.conf.d/mysql-clients.cnf # Debian packaging uses files from debian/additions/mariadb.cnf.d/
etc/mysql/mariadb.conf.d/server.cnf # Debian packaging uses files from debian/additions/mariadb.cnf.d/
-lib/systemd/system/mariadb-extra.socket # Installed by rules file
-lib/systemd/system/mariadb-extra@.socket # Installed by rules file
-lib/systemd/system/mariadb.service # Installed by rules file
-lib/systemd/system/mariadb@.service # Installed by rules file
-lib/systemd/system/mariadb.socket # Installed by rules file
-lib/systemd/system/mariadb@.socket # Installed by rules file
usr/bin/mariadb-embedded # Shipping the embedded server in distro packaging does not make sense
usr/bin/mysql_config # Debian packaging has mysql_config as symlink to mariadb_config
usr/bin/mysql_embedded # Symlink to mariadb-embedded which is intentionally not included
diff --git a/debian/patches/1006531-hurd-no-auth-socket.patch b/debian/patches/1006531-hurd-no-auth-socket.patch
new file mode 100644
index 00000000..c730ae5f
--- /dev/null
+++ b/debian/patches/1006531-hurd-no-auth-socket.patch
@@ -0,0 +1,28 @@
+Forwarded: no
+From: Daniel Black <daniel@mariadb.org>
+To: 1006531@bugs.debian.org
+Subject: mariadb: FTBFS on hurd-i386: undefined reference to misc functions and files
+
+requires https://github.com/MariaDB/server/pull/2893 as debian
+explicit architectures aren't neede since dh_auto_configure handles
+this.
+
+If it works, upstream welcome.
+
+Hurd string from uname -m, "SYSTEM processor: i686-AT386" in mariadb
+output. And wiki reference https://en.wikipedia.org/wiki/Uname
+
+--- a/cmake/build_configurations/mysql_release.cmake
++++ b/cmake/build_configurations/mysql_release.cmake
+@@ -118,7 +118,10 @@ ELSEIF(DEB)
+ SET(WITH_ZLIB system CACHE STRING "")
+ SET(WITH_LIBWRAP ON)
+ SET(HAVE_EMBEDDED_PRIVILEGE_CONTROL ON)
+- SET(PLUGIN_AUTH_SOCKET YES CACHE STRING "")
++ # No hurd implementation
++ IF(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "i686-AT386")
++ SET(PLUGIN_AUTH_SOCKET YES CACHE STRING "")
++ ENDIF()
+ SET(WITH_EMBEDDED_SERVER ON CACHE BOOL "")
+ SET(WITH_PCRE system CACHE STRING "")
+ SET(CLIENT_PLUGIN_ZSTD OFF)
diff --git a/debian/patches/2777-fix-disks-disk-test.patch b/debian/patches/2777-fix-disks-disk-test.patch
deleted file mode 100644
index 49b88ef6..00000000
--- a/debian/patches/2777-fix-disks-disk-test.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-Forwarded: not-needed
-Origin: https://patch-diff.githubusercontent.com/raw/MariaDB/server/pull/2777.patch
-Bug: https://github.com/MariaDB/server/pull/2777
-From: Daniel Black <daniel@mariadb.org>
-Date: Thu, 5 Oct 2023 16:55:34 +0300
-Subject: [PATCH] MDEV-21587: disk.disk{_notembedded} test result
-
-Allow for a CI system to be almost out of space, or having so
-little use, that the Total space is the same as available or used.
-
-Thanks Otto Kekäläinen for the bug report and testing.
----
- plugin/disks/mysql-test/disks/disks.result | 4 ++--
- plugin/disks/mysql-test/disks/disks.test | 2 +-
- plugin/disks/mysql-test/disks/disks_notembedded.result | 8 ++++----
- plugin/disks/mysql-test/disks/disks_notembedded.test | 4 ++--
- 4 files changed, 9 insertions(+), 9 deletions(-)
-
---- a/plugin/disks/mysql-test/disks/disks.result
-+++ b/plugin/disks/mysql-test/disks/disks.result
-@@ -7,6 +7,6 @@ DISKS CREATE TEMPORARY TABLE `DISKS` (
- `Used` bigint(32) NOT NULL,
- `Available` bigint(32) NOT NULL
- ) ENGINE=MEMORY DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
--select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks;
--sum(Total) > sum(Available) sum(Total)>sum(Used)
-+select sum(Total) >= sum(Available), sum(Total)>=sum(Used) from information_schema.disks;
-+sum(Total) >= sum(Available) sum(Total)>=sum(Used)
- 1 1
---- a/plugin/disks/mysql-test/disks/disks.test
-+++ b/plugin/disks/mysql-test/disks/disks.test
-@@ -1,3 +1,3 @@
- --replace_regex /varchar\([0-9]+\)/varchar(pathlen)/
- show create table information_schema.disks;
--select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks;
-+select sum(Total) >= sum(Available), sum(Total)>=sum(Used) from information_schema.disks;
---- a/plugin/disks/mysql-test/disks/disks_notembedded.result
-+++ b/plugin/disks/mysql-test/disks/disks_notembedded.result
-@@ -6,16 +6,16 @@ CREATE USER user1@localhost;
- GRANT SELECT ON *.* TO user1@localhost;
- connect con1,localhost,user1,,;
- connection con1;
--select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks;
--sum(Total) > sum(Available) sum(Total)>sum(Used)
-+select sum(Total) >= sum(Available), sum(Total) >= sum(Used) from information_schema.disks;
-+sum(Total) >= sum(Available) sum(Total) >= sum(Used)
- NULL NULL
- disconnect con1;
- connection default;
- GRANT FILE ON *.* TO user1@localhost;
- connect con1,localhost,user1,,;
- connection con1;
--select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks;
--sum(Total) > sum(Available) sum(Total)>sum(Used)
-+select sum(Total) >= sum(Available), sum(Total) >= sum(Used) from information_schema.disks;
-+sum(Total) >= sum(Available) sum(Total) >= sum(Used)
- 1 1
- connection default;
- DROP USER user1@localhost;
---- a/plugin/disks/mysql-test/disks/disks_notembedded.test
-+++ b/plugin/disks/mysql-test/disks/disks_notembedded.test
-@@ -10,7 +10,7 @@ GRANT SELECT ON *.* TO user1@localhost;
-
- connect (con1,localhost,user1,,);
- connection con1;
--select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks;
-+select sum(Total) >= sum(Available), sum(Total) >= sum(Used) from information_schema.disks;
- disconnect con1;
-
- connection default;
-@@ -18,7 +18,7 @@ GRANT FILE ON *.* TO user1@localhost;
-
- connect (con1,localhost,user1,,);
- connection con1;
--select sum(Total) > sum(Available), sum(Total)>sum(Used) from information_schema.disks;
-+select sum(Total) >= sum(Available), sum(Total) >= sum(Used) from information_schema.disks;
- connection default;
- DROP USER user1@localhost;
diff --git a/debian/patches/2883-subselect-test-failures.patch b/debian/patches/2883-subselect-test-failures.patch
deleted file mode 100644
index d58d8716..00000000
--- a/debian/patches/2883-subselect-test-failures.patch
+++ /dev/null
@@ -1,323 +0,0 @@
-Forwarded: https://github.com/MariaDB/server/pull/2883
-Origin: https://patch-diff.githubusercontent.com/raw/MariaDB/server/pull/2883.patch
-Bug: https://jira.mariadb.org/browse/MDEV-32843
-From: Daniel Black <daniel@mariadb.org>
-Date: Thu, 30 Nov 2023 14:14:10 +1100
-Subject: [PATCH] main.subselect* often fails on CI with ER_SUBQUERY_NO_1_ROW
-
-Using mysql.slow_log was a test table would generate more than
-one row if there was more than one row in the table.
-
-Replace this table with a empty table with PK.
-
-Reviewer: Rex Johnston
----
- mysql-test/main/subselect.result | 13 ++++++++-----
- mysql-test/main/subselect.test | 13 ++++++++-----
- mysql-test/main/subselect_no_exists_to_in.result | 13 ++++++++-----
- mysql-test/main/subselect_no_mat.result | 13 ++++++++-----
- mysql-test/main/subselect_no_opts.result | 13 ++++++++-----
- mysql-test/main/subselect_no_scache.result | 13 ++++++++-----
- mysql-test/main/subselect_no_semijoin.result | 13 ++++++++-----
- 7 files changed, 56 insertions(+), 35 deletions(-)
-
---- a/mysql-test/main/subselect.result
-+++ b/mysql-test/main/subselect.result
-@@ -7161,23 +7161,26 @@ drop table t1;
- #
- # MDEV-7565: Server crash with Signal 6 (part 2)
- #
-+create table t1 (id int not null primary key);
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
- Group By TestCase.Revenue, TestCase.TemplateID;
- ControlRev
- NULL
-+drop table t1;
- #
- # MDEV-7445:Server crash with Signal 6
- #
-+create table t1 (id int not null primary key);
- CREATE PROCEDURE procedure2()
- BEGIN
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
-@@ -7190,6 +7193,7 @@ call procedure2();
- ControlRev
- NULL
- drop procedure procedure2;
-+drop table t1;
- #
- # MDEV-7846:Server crashes in Item_subselect::fix
- #_fields or fails with Thread stack overrun
---- a/mysql-test/main/subselect.test
-+++ b/mysql-test/main/subselect.test
-@@ -1180,8 +1180,10 @@ create table t1 (a int, b decimal(13, 3)
- insert into t1 values (1, 0.123);
- let $outfile_abs= $MYSQLTEST_VARDIR/tmp/subselect.out.file.1;
- let $outfile_rel= ../../tmp/subselect.out.file.1;
-+--disable_warnings
- --error 0,1
- --remove_file $outfile_abs
-+--enable_warnings
- eval select a, (select max(b) from t1) into outfile "$outfile_rel" from t1;
- delete from t1;
- eval load data infile "$outfile_rel" into table t1;
-@@ -6000,24 +6002,28 @@ drop table t1;
- --echo #
- --echo # MDEV-7565: Server crash with Signal 6 (part 2)
- --echo #
-+
-+create table t1 (id int not null primary key);
- Select
-- (Select Sum(`TestCase`.Revenue) From mysql.slow_log E
-- Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+ (Select Sum(`TestCase`.Revenue) From t1 E
-+ Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
- Group By TestCase.Revenue, TestCase.TemplateID;
-+drop table t1;
-
- --echo #
- --echo # MDEV-7445:Server crash with Signal 6
- --echo #
-
-+create table t1 (id int not null primary key);
- --delimiter |
- CREATE PROCEDURE procedure2()
- BEGIN
- Select
-- (Select Sum(`TestCase`.Revenue) From mysql.slow_log E
-- Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+ (Select Sum(`TestCase`.Revenue) From t1 E
-+ Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
-@@ -6029,6 +6035,7 @@ call procedure2();
- call procedure2();
-
- drop procedure procedure2;
-+drop table t1;
-
-
- --echo #
---- a/mysql-test/main/subselect_no_exists_to_in.result
-+++ b/mysql-test/main/subselect_no_exists_to_in.result
-@@ -7161,23 +7161,26 @@ drop table t1;
- #
- # MDEV-7565: Server crash with Signal 6 (part 2)
- #
-+create table t1 (id int not null primary key);
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
- Group By TestCase.Revenue, TestCase.TemplateID;
- ControlRev
- NULL
-+drop table t1;
- #
- # MDEV-7445:Server crash with Signal 6
- #
-+create table t1 (id int not null primary key);
- CREATE PROCEDURE procedure2()
- BEGIN
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
-@@ -7190,6 +7193,7 @@ call procedure2();
- ControlRev
- NULL
- drop procedure procedure2;
-+drop table t1;
- #
- # MDEV-7846:Server crashes in Item_subselect::fix
- #_fields or fails with Thread stack overrun
---- a/mysql-test/main/subselect_no_mat.result
-+++ b/mysql-test/main/subselect_no_mat.result
-@@ -7154,23 +7154,26 @@ drop table t1;
- #
- # MDEV-7565: Server crash with Signal 6 (part 2)
- #
-+create table t1 (id int not null primary key);
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
- Group By TestCase.Revenue, TestCase.TemplateID;
- ControlRev
- NULL
-+drop table t1;
- #
- # MDEV-7445:Server crash with Signal 6
- #
-+create table t1 (id int not null primary key);
- CREATE PROCEDURE procedure2()
- BEGIN
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
-@@ -7183,6 +7186,7 @@ call procedure2();
- ControlRev
- NULL
- drop procedure procedure2;
-+drop table t1;
- #
- # MDEV-7846:Server crashes in Item_subselect::fix
- #_fields or fails with Thread stack overrun
---- a/mysql-test/main/subselect_no_opts.result
-+++ b/mysql-test/main/subselect_no_opts.result
-@@ -7152,23 +7152,26 @@ drop table t1;
- #
- # MDEV-7565: Server crash with Signal 6 (part 2)
- #
-+create table t1 (id int not null primary key);
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
- Group By TestCase.Revenue, TestCase.TemplateID;
- ControlRev
- NULL
-+drop table t1;
- #
- # MDEV-7445:Server crash with Signal 6
- #
-+create table t1 (id int not null primary key);
- CREATE PROCEDURE procedure2()
- BEGIN
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
-@@ -7181,6 +7184,7 @@ call procedure2();
- ControlRev
- NULL
- drop procedure procedure2;
-+drop table t1;
- #
- # MDEV-7846:Server crashes in Item_subselect::fix
- #_fields or fails with Thread stack overrun
---- a/mysql-test/main/subselect_no_scache.result
-+++ b/mysql-test/main/subselect_no_scache.result
-@@ -7167,23 +7167,26 @@ drop table t1;
- #
- # MDEV-7565: Server crash with Signal 6 (part 2)
- #
-+create table t1 (id int not null primary key);
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
- Group By TestCase.Revenue, TestCase.TemplateID;
- ControlRev
- NULL
-+drop table t1;
- #
- # MDEV-7445:Server crash with Signal 6
- #
-+create table t1 (id int not null primary key);
- CREATE PROCEDURE procedure2()
- BEGIN
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
-@@ -7196,6 +7199,7 @@ call procedure2();
- ControlRev
- NULL
- drop procedure procedure2;
-+drop table t1;
- #
- # MDEV-7846:Server crashes in Item_subselect::fix
- #_fields or fails with Thread stack overrun
---- a/mysql-test/main/subselect_no_semijoin.result
-+++ b/mysql-test/main/subselect_no_semijoin.result
-@@ -7152,23 +7152,26 @@ drop table t1;
- #
- # MDEV-7565: Server crash with Signal 6 (part 2)
- #
-+create table t1 (id int not null primary key);
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
- Group By TestCase.Revenue, TestCase.TemplateID;
- ControlRev
- NULL
-+drop table t1;
- #
- # MDEV-7445:Server crash with Signal 6
- #
-+create table t1 (id int not null primary key);
- CREATE PROCEDURE procedure2()
- BEGIN
- Select
--(Select Sum(`TestCase`.Revenue) From mysql.slow_log E
--Where TestCase.TemplateID not in (Select 1 from mysql.slow_log where 2=2)
-+(Select Sum(`TestCase`.Revenue) From t1 E
-+Where TestCase.TemplateID not in (Select 1 from t1 where 2=2)
- ) As `ControlRev`
- From
- (Select 3 as Revenue, 4 as TemplateID) As `TestCase`
-@@ -7181,6 +7184,7 @@ call procedure2();
- ControlRev
- NULL
- drop procedure procedure2;
-+drop table t1;
- #
- # MDEV-7846:Server crashes in Item_subselect::fix
- #_fields or fails with Thread stack overrun
diff --git a/debian/patches/fix-spelling-libmarias3.patch b/debian/patches/fix-spelling-libmarias3.patch
deleted file mode 100644
index 58fb5815..00000000
--- a/debian/patches/fix-spelling-libmarias3.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-Forwarded: https://github.com/mariadb-corporation/libmarias3/pull/111
-Origin: https://patch-diff.githubusercontent.com/raw/mariadb-corporation/libmarias3/pull/111.patch
-Author: Otto Kekäläinen <otto@kekalainen.net>
-Date: Sat, 11 Mar 2023 12:05:28 -0800
-Subject: [PATCH] Fix spelling: occured -> occurred
-
-All new code of the whole pull request, including one or several files
-that are either new files or modified ones, are contributed under the
-BSD-new license. I am contributing on behalf of my employer Amazon Web
-Services, Inc.
----
- docs/api/functions.rst | 10 +++++-----
- src/xml.c | 2 +-
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
---- a/storage/maria/libmarias3/docs/api/functions.rst
-+++ b/storage/maria/libmarias3/docs/api/functions.rst
-@@ -147,7 +147,7 @@ Example
- res= ms3_list(ms3, s3bucket, NULL, &list);
- if (res)
- {
-- printf("Error occured: %d\n", res);
-+ printf("Error occurred: %d\n", res);
- return;
- }
- list_it= list;
-@@ -220,7 +220,7 @@ Example
- res= ms3_put(ms3, s3bucket, "test/ms3.txt", (const uint8_t*)test_string, strlen(test_string));
- if (res)
- {
-- printf("Error occured: %d\n", res);
-+ printf("Error occurred: %d\n", res);
- return;
- }
- ms3_deinit(ms3);
-@@ -290,7 +290,7 @@ Example
- res= ms3_get(ms3, s3bucket, "test/ms3.txt", &data, &length);
- if (res)
- {
-- printf("Error occured: %d\n", res);
-+ printf("Error occurred: %d\n", res);
- return;
- }
- printf("File contents: %s\n", data);
-@@ -348,7 +348,7 @@ Example
- res = ms3_delete(ms3, s3bucket, "test/ms3.txt");
- if (res)
- {
-- printf("Error occured: %d\n", res);
-+ printf("Error occurred: %d\n", res);
- return;
- }
- ms3_deinit(ms3);
-@@ -384,7 +384,7 @@ Example
- res= ms3_status(ms3, s3bucket, "test/ms3.txt", &status);
- if (res)
- {
-- printf("Error occured: %d\n", res);
-+ printf("Error occurred: %d\n", res);
- return;
- }
- printf("File length: %ld\n", status.length);
---- a/storage/maria/libmarias3/src/xml.c
-+++ b/storage/maria/libmarias3/src/xml.c
-@@ -800,7 +800,7 @@ node_creation:;
- return node;
-
-
-- /* A failure occured, so free all allocalted resources
-+ /* A failure occurred, so free all allocalted resources
- */
- exit_failure:
- if (tag_open) {
diff --git a/debian/patches/install-files-into-usr.patch b/debian/patches/install-files-into-usr.patch
new file mode 100644
index 00000000..29dd6a1f
--- /dev/null
+++ b/debian/patches/install-files-into-usr.patch
@@ -0,0 +1,27 @@
+Forwarded: TODO
+Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061348
+From: Michael Biebl <biebl@debian.org>
+Date: Mon, 22 Jan 2024 22:52:25 +0100
+Subject: [PATCH] Install PAM modules and systemd units into /usr
+
+Since Debian trixie all files need to be installed into their canonical
+location under /usr.
+---
+ cmake/install_layout.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/cmake/install_layout.cmake
++++ b/cmake/install_layout.cmake
+@@ -194,10 +194,10 @@ SET(INSTALL_SUPPORTFILESDIR_DEB
+ SET(INSTALL_MYSQLDATADIR_DEB "/var/lib/mysql")
+
+ SET(INSTALL_UNIX_ADDRDIR_DEB "/run/mysqld/mysqld.sock")
+-SET(INSTALL_SYSTEMD_UNITDIR_DEB "/lib/systemd/system")
++SET(INSTALL_SYSTEMD_UNITDIR_DEB "/usr/lib/systemd/system")
+ SET(INSTALL_SYSTEMD_SYSUSERSDIR_DEB "/usr/lib/sysusers.d")
+ SET(INSTALL_SYSTEMD_TMPFILESDIR_DEB "/usr/lib/tmpfiles.d")
+-SET(INSTALL_PAMDIR_DEB "/lib/${CMAKE_CXX_LIBRARY_ARCHITECTURE}/security")
++SET(INSTALL_PAMDIR_DEB "/usr/lib/${CMAKE_CXX_LIBRARY_ARCHITECTURE}/security")
+ SET(INSTALL_PAMDATADIR_DEB "/etc/security")
+
+ #
diff --git a/debian/patches/series b/debian/patches/series
index 153cdfbf..a84dbe36 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,8 +6,7 @@ fix-reproducible-builds-rocksdb.patch
mroonga-mrn-lib-dirs-path-reproducible-build.patch
2129-new-script-wsrep-sst-backup-fixes.patch
2541-fix-stack-overflow-in-pinbox-allocator.patch
-fix-spelling-libmarias3.patch
fix-spelling-libmariadb.patch
-2777-fix-disks-disk-test.patch
-2883-subselect-test-failures.patch
2980-riscv-use-rdtime.patch
+install-files-into-usr.patch
+1006531-hurd-no-auth-socket.patch
diff --git a/debian/rules b/debian/rules
index 74516b12..45c74f74 100755
--- a/debian/rules
+++ b/debian/rules
@@ -114,7 +114,6 @@ endif
-DCOMPILATION_COMMENT="$(DEB_VENDOR) $(RELEASE)" \
-DMYSQL_SERVER_SUFFIX="-$(DEB_VERSION_REVISION)" \
-DSYSTEM_TYPE="debian-$(DEB_HOST_GNU_SYSTEM)" \
- -DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_ARCH) \
-DBUILD_CONFIG=mysql_release \
-DCONC_DEFAULT_CHARSET=utf8mb4 \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
@@ -160,16 +159,6 @@ override_dh_auto_install:
dh_testdir
dh_testroot
-ifneq (,$(filter linux,$(DEB_HOST_ARCH_OS)))
- # Copy systemd files to a location available for dh_installinit
- cp $(BUILDDIR)/support-files/mariadb.service debian/mariadb-server.mariadb.service
- cp $(BUILDDIR)/support-files/mariadb.socket debian/mariadb-server.mariadb.socket
- cp $(BUILDDIR)/support-files/mariadb-extra.socket debian/mariadb-server.mariadb-extra.socket
- cp $(BUILDDIR)/support-files/mariadb@.service debian/mariadb-server.mariadb@.service
- cp $(BUILDDIR)/support-files/mariadb@.socket debian/mariadb-server.mariadb@.socket
- cp $(BUILDDIR)/support-files/mariadb-extra@.socket debian/mariadb-server.mariadb-extra@.socket
-endif
-
# Run 'make install' without output since it is uninteresting and
# silencing it helps to make overall build log shorter and more readable
@echo "Running $(MAKE) install DESTDIR=$(TMP) ..."
@@ -178,6 +167,11 @@ endif
# If mariadb-test package is removed, also remove most of it's files
grep --quiet "Package: mariadb-test" debian/control || rm -rf $(TMP)/usr/share/mysql/mysql-test
+ # Delete lone compiled binary that that does not belong in the
+ # mariadb-test-data package and which seems hard to move
+ # https://jira.mariadb.org/browse/MDEV-21654
+ rm -rf $(TMP)/usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so
+
# Delete private files from libraries so they don't get shipped in the -dev packages
rm -r $(TMP)/usr/include/mariadb/server/private
@@ -210,22 +204,11 @@ endif
# Move test plugins that are only needed by the client to the libmariadb path
mv -v $(TMP)/usr/lib/mysql/plugin/qa_auth_client.so $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadb3/plugin/
-# Install mariadb.socket without enabling it, keep using mariadb.service by default
-# @TODO: Temporarily disable extra and socket systemd file installation until
-# a '--build=all' compatible mechanism is found
-override_dh_systemd_enable:
- dh_systemd_enable --name=mariadb
- dh_systemd_enable --no-enable --name=mariadb@ # mariadb@.service
-# dh_systemd_enable --no-enable --name=mariadb mariadb.socket
-# dh_systemd_enable --no-enable --name=mariadb-extra mariadb-extra.socket
-# dh_systemd_enable --no-enable --name=mariadb@ mariadb.socket
-# dh_systemd_enable --no-enable --name=mariadb-extra@ mariadb-extra.socket
-
-# Start mariadbd at sequence number 19 before 20 where apache, proftpd etc gets
-# started which might depend on a running database server.
+override_dh_installsystemd:
+ dh_installsystemd -pmariadb-server mariadb.service
+
override_dh_installinit-arch:
- dh_installinit --name=mariadb --no-start -- defaults 19 21
- dh_systemd_start --restart-after-upgrade
+ dh_installinit --name=mariadb
# Use custom server version string variable
override_dh_gencontrol:
@@ -236,6 +219,6 @@ override_dh_gencontrol:
# white list file only starting from Debian Stretch and Ubuntu Xenial.
# To find more, grep build logs for 'but is not installed to anywhere'.
%:
- dh $@ --fail-missing
+ dh $@
# vim: ts=8
diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml
index d4ff17f8..92fc1186 100644
--- a/debian/salsa-ci.yml
+++ b/debian/salsa-ci.yml
@@ -6,11 +6,11 @@ include:
# Override Salsa-CI with MariaDB specific variations
variables:
- BUILT_PACKAGES: "libmariadb-dev libmariadb-dev-compat libmariadb3 libmariadbd19 libmariadbd-dev mariadb-common mariadb-client mariadb-server mariadb-backup mariadb-plugin-connect mariadb-plugin-s3 mariadb-plugin-rocksdb mariadb-plugin-oqgraph mariadb-plugin-mroonga mariadb-plugin-spider mariadb-plugin-cracklib-password-check mariadb-test mariadb-test-data"
+ BUILT_PACKAGES: "libmariadb-dev libmariadb-dev-compat libmariadb3 libmariadbd19 libmariadbd-dev mariadb-common mariadb-client-core mariadb-client mariadb-server-core mariadb-server mariadb-backup mariadb-plugin-connect mariadb-plugin-s3 mariadb-plugin-rocksdb mariadb-plugin-oqgraph mariadb-plugin-mroonga mariadb-plugin-spider mariadb-plugin-gssapi-server mariadb-plugin-gssapi-client mariadb-plugin-cracklib-password-check mariadb-plugin-hashicorp-key-management mariadb-plugin-provider-bzip2 mariadb-plugin-provider-lz4 mariadb-plugin-provider-lzma mariadb-plugin-provider-lzo mariadb-plugin-provider-snappy mariadb-test mariadb-test-data"
DEB_BUILD_OPTIONS: "nocheck noautodbgsym"
RELEASE: sid
# Reprotest works, but takes very long time and often fails due to timeouts.
- # Thus is is best kept disabled and only occasionally manually enabled to
+ # Thus is best kept disabled and only occasionally manually enabled to
# test that reproducibility works, along with atomic reprotest to directly
# pinpoint what aspect of the build is broken if not reproducible.
SALSA_CI_DISABLE_REPROTEST: 1
@@ -85,11 +85,6 @@ packaging-fix-checks:
variables:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
-build bullseye-backports:
- extends: .build-package
- variables:
- RELEASE: bullseye-backports
-
# Buster only has libfmt 6.1 but 7.0 is required, so backport build for Buster
# is not possible unless somebody packages libfmt7-dev for Buster.
@@ -149,66 +144,59 @@ blhc:
mysql --table -e "SHOW PLUGINS;" mysql
.test-enable-sid-repos: &test-enable-sid-repos
- # Apply usrmerge workaround for Stretch/Buster/Bullseye to Bookworm/Sid upgrades
- - echo 'this system will not be supported in the future' > /etc/unsupported-skip-usrmerge-conversion
# Replace any old repos with just Sid
- echo 'deb http://deb.debian.org/debian sid main' > /etc/apt/sources.list
# Upgrade minimal stack first
- apt-get update -qq
- # Next step will fail on https://bugs.debian.org/993755
+ # Complete upgrade of minimal stack
+ - apt-get install -qq --yes apt || export APT_STATUS="failed"
+ # Due to https://bugs.debian.org/993755 and #975077 upgrades from Buster or
+ # older to Bookworm or newer fails on:
# /usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot
# open shared object file: No such file or directory
# dpkg: error processing package libc6:amd64 (--configure):
- - apt-get install -y apt || true
- # Apply workaround
- - cd $(mktemp -d) # Use temp dir where apt can download and unpack files
- - apt-get -y download libcrypt1
- - dpkg-deb -x libcrypt1_*.deb .
- - cp -ra lib/* /lib/ || true # libcryp1 < 1:4.4.36-3
- - cp -ra usr/lib/* /lib/ || true # libxcrypt 1:4.4.36-3+
- - cd - # Back to /builds/$USER/mariadb-server/debian/output
- - find /lib/*/libcrypt.* -ls # Show that new libcrypt is there
- - apt-get -y --fix-broken install
- # Complete upgrade of minimal stack
- - apt-get install -y apt
-
-.test-enable-bullseye-backports-repos: &test-enable-bullseye-backports-repos |
- # Enable bullseye-backports (assumes environment already Debian Bullseye)
- echo 'deb http://deb.debian.org/debian bullseye-backports main' > /etc/apt/sources.list.d/bullseye-backports.list
- # Increase default backports priority policy from '100' to '500' so it can actually be used
- cat << EOF > /etc/apt/preferences.d/enable-backports-to-satisfy-dependencies
- Package: *
- Pin: release n=bullseye-*
- Pin-Priority: 500
- EOF
- apt-get update -qq
+ # Therefore, run this extra workaround if first run of apt-get install failed:
+ - |
+ if [ "$APT_STATUS" = "failed" ]
+ then
+ cd $(mktemp -d) # Use temp dir where apt can download and unpack files
+ apt-get -y download libcrypt1
+ dpkg-deb -x libcrypt1_*.deb .
+ cp -ra usr/lib/* /lib/ || true # libcrypt 1:4.4.36-3+
+ cd - # Back to /builds/$USER/mariadb-server/debian/output
+ find /lib/*/libcrypt.* -ls # Show that new libcrypt is there
+ apt-get -qq --yes --fix-broken install
+ apt-get install -qq --yes apt
+ fi
.test-enable-artifacts-repo: &test-enable-artifacts-repo |
- apt-get install -y apt-utils
+ apt-get install -qq --yes apt-utils
apt-ftparchive packages . > Packages
echo "deb [trusted=yes] file:$(pwd) ./" > /etc/apt/sources.list.d/mariadb-local.list
- apt-get update
+ apt-get update -qq
.test-install-all: &test-install-all
- *test-enable-artifacts-repo
- - apt-get install -yq ${BUILT_PACKAGES}
+ - apt-get install -qq --simulate ${BUILT_PACKAGES}
+ - apt-get install -qq --yes ${BUILT_PACKAGES}
# Verify installation of MariaDB built in this commit
- mariadb --version
- dpkg -l | grep -iE 'maria|mysql|galera'
- find /etc -name '*mariadb*' -ls -or -name '*mysql*' -ls | sort -k 11
# Purge old versions if they exist
- - apt-get purge -y mariadb*10.?
+ - apt-get purge --yes mariadb*10.?
- find /etc -name '*mariadb*' -ls -or -name '*mysql*' -ls | sort -k 11
.test-full-upgrade: &test-full-upgrade
- *test-enable-artifacts-repo
- - apt-get full-upgrade -y
+ - apt-get full-upgrade -qq --simulate
+ - apt-get full-upgrade -qq --yes
# Verify installation of MariaDB built in this commit
- mariadb --version
- dpkg -l | grep -iE 'maria|mysql|galera'
- find /etc -name '*mariadb*' -ls -or -name '*mysql*' -ls | sort -k 11
# Purge old versions if they exist
- - apt-get purge -y mariadb*10.?
+ - apt-get purge --yes mariadb*10.?
- find /etc -name '*mariadb*' -ls -or -name '*mysql*' -ls | sort -k 11
# Purging the old server might stop the running server, so restart it just in case
- service mariadb restart
@@ -226,6 +214,7 @@ blhc:
# library tests don't have the mariadb client nor server, so don't check them
.test-verify-final: &test-verify-final |
+ dpkg -l | grep -e "mariadb-server.*10\.11"
mkdir -p debug # Ensure dir exists before using it
find /var/lib/mysql -ls > debug/var-lib-mysql.list || true # Ignore errors about "no such file or directory"
cp -ra /etc/mysql debug/etc-mysql
@@ -244,7 +233,7 @@ blhc:
- pkg-config --cflags --libs mysqlclient
- pkg-config --cflags --libs libmariadb
- pkg-config --cflags --libs mariadb
- - apt-get install -y --no-install-recommends g++
+ - apt-get install -qq --yes --no-install-recommends g++
- |
# Build a test binary that depends on libmysqlclient
cat > b933063.cpp <<EOF
@@ -272,7 +261,7 @@ blhc:
return 0;
}
EOF
- apt-get install -y ./*.deb # Server must be installed for client to connect
+ apt-get install -qq --yes ./*.deb # Server must be installed for client to connect
echo "Testing -l mysqlclient"
g++ b933063.cpp -l mysqlclient && ./a.out | tee result
if grep --quiet latin result; then echo "ERROR: Charset latin found!"; exit 1; fi
@@ -342,7 +331,7 @@ blhc:
- ${WORKING_DIR}/debug
before_script:
- *test-prepare-container
- - apt-get -qq install --no-install-recommends --yes ca-certificates curl
+ - apt-get install -qq --yes --no-install-recommends ca-certificates curl
- |
[[ -d /etc/apt/keyrings ]] || mkdir /etc/apt/keyrings
curl -sS https://mariadb.org/mariadb_release_signing_key.pgp -o /etc/apt/keyrings/mariadb-keyring.pgp
@@ -377,27 +366,27 @@ simple upgrade:
stage: upgrade MariaDB
script:
- *test-prepare-container
- - apt-get install -y 'default-mysql*' ${BUILT_PACKAGES}
+ - apt-get install -qq --yes 'default-mysql*' ${BUILT_PACKAGES}
- *test-full-upgrade
- service mariadb status # There is no init.d/mysql in MariaDB 10.5+
- *test-verify-final
-mariadb-10.5 with Bullseye backports upgrade:
+mariadb and Bookworm upgrade:
extends: .salsa-ci-template-for-mariadb
- stage: upgrade MariaDB
- needs:
- - job: build bullseye-backports
- image: debian:bullseye
+ stage: upgrade MariaDB and distro
+ image: debian:bookworm
script:
- *test-prepare-container
- # Install everything MariaDB currently in Debian Bullseye
- - apt-get install -y 'default-mysql*' 'mariadb-*' 'libmariadb*'
- # Verify installation of MariaDB from Bullseye
- - dpkg -l | grep -e "mariadb-server.*10.5"
+ # Install everything MariaDB currently in Debian Bookworm
+ - apt-get install -qq --yes 'default-mysql*' 'mariadb-*' 'libmariadb*'
+ # Verify installation of MariaDB from Bookworm
+ - dpkg -l | grep -e "mariadb-server.*10\.11"
- *test-verify-initial
- - *test-enable-bullseye-backports-repos
+ - *test-enable-sid-repos
+ # Ensure mariadbd will not crash on next shutdown for any reason
+ - service mariadb restart
- *test-full-upgrade
- - service mariadb status # There is no init.d/mysql in MariaDB 10.5+
+ - service mariadb status # There is no init.d/mysql in MariaDB 10.5+
- *test-verify-final
mariadb-10.6 and Bookworm-20230208 upgrade:
@@ -411,16 +400,42 @@ mariadb-10.6 and Bookworm-20230208 upgrade:
rm /etc/apt/sources.list.d/debian.sources
apt-get update -qq
# In February 2023 Bookworm snapshot this will install MariaDB 10.6
- - apt-get install -y mariadb-server
- - dpkg -l | grep -e "mariadb-server.*10.6"
+ - apt-get install -qq --yes mariadb-server
+ # Verify installation of MariaDB from (February 2023) Bookworm
+ - dpkg -l | grep -e "mariadb-server.*10\.6"
- *test-verify-initial
- *test-enable-sid-repos
# Ensure mariadbd will not crash on next shutdown for any reason
- service mariadb restart
- - *test-enable-artifacts-repo
- - apt-get install -y mariadb-server
- *test-full-upgrade
- service mariadb status # There is no init.d/mysql in MariaDB 10.5+
+ - apt-get purge --yes mariadb*10.?
+ - *test-verify-final
+
+mariadb-10.6 and Jammy upgrade:
+ extends: .salsa-ci-template-for-mariadb
+ stage: upgrade MariaDB and distro
+ image: ubuntu:jammy
+ script:
+ - *test-prepare-container
+ # Install everything MariaDB currently in Ubuntu Jammy
+ - apt-get install -qq --yes 'mariadb-*' 'libmariadb*'
+ # Verify installation of MariaDB from Jammy
+ - dpkg -l | grep -e "mariadb-server.*10\.6"
+ - *test-verify-initial
+ # Install Debian Sid signing keys as Ubuntu does not have them by default
+ - apt-get install -qq --yes --no-install-recommends curl
+ - curl -sSLO http://deb.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2023.4_all.deb
+ - apt-get install -qq --yes ./debian-archive-keyring_*
+ - *test-enable-sid-repos
+ # Ensure mariadbd will not crash on next shutdown for any reason
+ - service mariadb restart
+ - *test-enable-artifacts-repo
+ - apt-get install -qq --simulate mariadb-server
+ - apt-get install -qq --yes mariadb-server
+ # Due to usrmerge, full-upgrade from Jammy to Trixie or newer cannot work
+ - service mariadb status # There is no init.d/mysql in MariaDB 10.5+
+ - apt-get purge --yes mariadb*10.?
- *test-verify-final
mariadb-10.5 and Bullseye upgrade:
@@ -430,15 +445,19 @@ mariadb-10.5 and Bullseye upgrade:
script:
- *test-prepare-container
# Install everything MariaDB currently in Debian Bullseye
- - apt-get install -y 'default-mysql*' 'mariadb-*' 'libmariadb*'
+ - apt-get install -qq --yes 'default-mysql*' 'mariadb-*' 'libmariadb*'
# Verify installation of MariaDB from Bullseye
- - dpkg -l | grep -e "mariadb-server.*10.5"
+ - dpkg -l | grep -e "mariadb-server.*10\.5"
- *test-verify-initial
- *test-enable-sid-repos
# Ensure mariadbd will not crash on next shutdown for any reason
- service mariadb restart
- - *test-full-upgrade
+ - *test-enable-artifacts-repo
+ - apt-get install -qq --simulate mariadb-server
+ - apt-get install -qq --yes mariadb-server
+ # Due to usrmerge, full-upgrade from Bullseye to Trixie or newer cannot work
- service mariadb status # There is no init.d/mysql in MariaDB 10.5+
+ - apt-get purge --yes mariadb*10.?
- *test-verify-final
mariadb-10.3 and Buster upgrade:
@@ -448,17 +467,76 @@ mariadb-10.3 and Buster upgrade:
script:
- *test-prepare-container
# Install everything MariaDB currently in Debian Buster
- - apt-get install -y 'default-mysql*' 'mariadb-*' 'libmariadb*'
+ - apt-get install -qq --yes 'default-mysql*' 'mariadb-*' 'libmariadb*'
# Verify installation of MariaDB from Buster
- - dpkg -l | grep -e "mariadb-server.*10.3"
+ - dpkg -l | grep -e "mariadb-server.*10\.3"
- *test-verify-initial
- *test-enable-sid-repos
# Ensure mariadbd will not crash on next shutdown for any reason
- service mysql restart # in 10.3 service name is still 'mysql'
- - *test-full-upgrade
+ - *test-enable-artifacts-repo
+ - apt-get install -qq --simulate mariadb-server
+ - apt-get install -qq --yes mariadb-server
+ # Due to usrmerge, full-upgrade from Bullseye to Trixie or newer cannot work
+ - service mysql status
# mariadb-10.3 in Buster ships a /etc/init.d/mysql and it continues to exist
- # after upgrade, but is be removed on purge
- - service mysql status || service mariadb status
+ # after upgrade, and is removed only on purge
+ - apt-get purge --yes mariadb*10.?
+ - service mariadb status
+ # Give the mariadb-upgrade plenty of time to complete, otherwise next commands
+ # fail on non-existing mariadb.sys user
+ - sleep 15
+ - *test-verify-final
+
+mariadb-10.3 and Focal upgrade:
+ extends: .salsa-ci-template-for-mariadb
+ stage: upgrade MariaDB and distro
+ image: ubuntu:focal
+ script:
+ - *test-prepare-container
+ # Install everything MariaDB currently in Ubuntu Focal
+ - apt-get install -qq --yes 'mariadb-*' 'libmariadb*'
+ # Verify installation of MariaDB from Focal
+ - dpkg -l | grep -e "mariadb-server.*10\.3"
+ - *test-verify-initial
+ # Install Debian Sid signing keys as Ubuntu does not have them by default
+ - apt-get install -qq --yes --no-install-recommends curl
+ - curl -sSLO http://deb.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2023.4_all.deb
+ - apt-get install -qq --yes ./debian-archive-keyring_*
+ - *test-enable-sid-repos
+ # Ensure mariadbd will not crash on next shutdown for any reason
+ - service mysql restart # in 10.3 service name is still 'mysql'
+ - *test-enable-artifacts-repo
+ - apt-get install -qq --simulate mariadb-server
+ - apt-get install -qq --yes mariadb-server
+ # Due to usrmerge, full-upgrade from Focal to Trixie or newer cannot work
+ - service mysql status
+ # mariadb-10.3 in Focal ships a /etc/init.d/mysql and it continues to exist
+ # after upgrade, and is removed only on purge
+ - apt-get purge --yes mariadb*10.?
+ # Give the mariadb-upgrade plenty of time to complete, otherwise next commands
+ # fail on non-existing mariadb.sys user
+ - sleep 15
+ - *test-verify-final
+
+# Similar to the Cacti install test, check that MariaDB consumer Zoph upgrades
+default-mysql-server and Bookworm upgrade:
+ extends: .salsa-ci-template-for-mariadb
+ stage: upgrade MariaDB and distro
+ image: debian:bookworm
+ script:
+ - *test-prepare-container
+ # Install everything MariaDB currently in Debian Bookworm
+ - apt-get install -qq --yes default-mysql-server zoph
+ # Verify installation of MariaDB from Bookworm
+ - dpkg -l | grep -e "mariadb-server.*10\.11"
+ - *test-verify-initial
+ - *test-enable-sid-repos
+ - *test-enable-artifacts-repo
+ - apt-get install -qq --simulate default-mysql-server
+ - apt-get install -qq --yes default-mysql-server
+ - *test-full-upgrade
+ - service mariadb status # There is no init.d/mysql in MariaDB 10.5+
- *test-verify-final
# Similar to the Cacti install test, check that MariaDB consumer Zoph upgrades
@@ -469,14 +547,15 @@ default-mysql-server and Bullseye upgrade:
script:
- *test-prepare-container
# Install everything MariaDB currently in Debian Bullseye
- - apt-get install -y default-mysql-server zoph
+ - apt-get install -qq --yes default-mysql-server zoph
# Verify installation of MariaDB from Bullseye
+ - dpkg -l | grep -e "mariadb-server.*10\.5"
- *test-verify-initial
- *test-enable-sid-repos
- *test-enable-artifacts-repo
- # Start with partial upgrade
- - apt-get install -y default-mysql-server
- - *test-full-upgrade
+ - apt-get install -qq --simulate default-mysql-server
+ - apt-get install -qq --yes default-mysql-server
+ # Due to usrmerge, full-upgrade from Bullseye to Trixie or newer cannot work
- service mariadb status # There is no init.d/mysql in MariaDB 10.5+
- *test-verify-final
@@ -556,7 +635,7 @@ test consumer cacti:
script:
- *test-prepare-container
- *test-enable-artifacts-repo
- - apt-get install -y cacti
+ - apt-get install -qq --yes cacti
- mariadb -E -e "SHOW CREATE TABLE version;" cacti
# Build a piece of software that was designed for libmysqlclient-dev but using the
@@ -566,7 +645,7 @@ build mariadbclient consumer Python-MySQLdb:
script:
- *test-prepare-container
- *test-install-all-libs
- - apt-get install -y pkg-config python3-pip
+ - apt-get install -qq --yes pkg-config python3-pip
# See what MySQLdb will build with
- pkg-config --cflags --libs mysqlclient
# MySQLdb is also available in Debian as package python3-mysqldb, but
@@ -574,7 +653,7 @@ build mariadbclient consumer Python-MySQLdb:
# libmariadb-dev-compat on-the-fly.
# Python 3.11 needs `--break-system-packages` to proceed with this.
- pip3 install --break-system-packages mysqlclient # Compiles module against libmysqlclient
- - apt-get purge -y libmariadb-dev # Not needed for run-time
+ - apt-get purge --yes libmariadb-dev # Not needed for run-time
- python3 -c "import MySQLdb; print(MySQLdb.get_client_info())"
libmysql* to libmariadb* upgrade:
@@ -583,22 +662,22 @@ libmysql* to libmariadb* upgrade:
script:
- *test-prepare-container
# Install all libmysql* available in Debian unstable
- - apt-get install -y pkg-config libmysqlclient-dev
+ - apt-get install -qq --yes pkg-config libmysqlclient-dev
- pkg-config --list-all
- pkg-config --cflags mysqlclient # mysqlclient.pc from original package
- *test-enable-artifacts-repo
- - apt-get install -y libmariadb3
+ - apt-get install -qq --yes libmariadb3
- pkg-config --list-all
- - apt-get install -y libmariadb-dev
+ - apt-get install -qq --yes libmariadb-dev
- pkg-config --list-all
- - apt-get install -y libmariadb-dev-compat
+ - apt-get install -qq --yes libmariadb-dev-compat
- pkg-config --cflags mysqlclient # mysqlclient.pc from compat package
- pkg-config --list-all
- - apt-get install -y libmariadbd19
+ - apt-get install -qq --yes libmariadbd19
- pkg-config --list-all
- - apt-get install -y libmariadbd-dev
+ - apt-get install -qq --yes libmariadbd-dev
- pkg-config --list-all
- - apt-get install -y default-libmysqlclient-dev default-libmysqld-dev
+ - apt-get install -qq --yes default-libmysqlclient-dev default-libmysqld-dev
- *test-verify-libs
default-libmysqlclient-dev upgrade:
@@ -606,47 +685,47 @@ default-libmysqlclient-dev upgrade:
stage: upgrade MariaDB
script:
- *test-prepare-container
- - apt-get install -y pkg-config default-libmysqlclient-dev default-libmysqld-dev
+ - apt-get install -qq --yes pkg-config default-libmysqlclient-dev default-libmysqld-dev
- pkg-config --list-all
- *test-full-upgrade-libs
- *test-verify-libs
-default-libmysqlclient-dev and Bullseye upgrade:
+default-libmysqlclient-dev and Bookworm upgrade:
extends: .salsa-ci-template-for-mariadb
stage: upgrade MariaDB and distro
- image: debian:bullseye
+ image: debian:bookworm
script:
- *test-prepare-container
- - apt-get install -y pkg-config default-libmysqlclient-dev
+ - apt-get install -qq --yes pkg-config default-libmysqlclient-dev
- pkg-config --list-all
- *test-enable-sid-repos
- *test-full-upgrade-libs
- *test-verify-libs
-default-libmysqlclient-dev and Buster upgrade:
+default-libmysqlclient-dev and Bullseye upgrade:
extends: .salsa-ci-template-for-mariadb
stage: upgrade MariaDB and distro
- image: debian:buster
+ image: debian:bullseye
script:
- *test-prepare-container
- - apt-get install -y pkg-config default-libmysqlclient-dev
+ - apt-get install -qq --yes pkg-config default-libmysqlclient-dev
- pkg-config --list-all
- *test-enable-sid-repos
- - *test-full-upgrade-libs
+ # Due to usrmerge, full-upgrade from Bullseye to Trixie or newer cannot work
+ - *test-install-all-libs
- *test-verify-libs
-default-libmysqlclient-dev with Bullseye backports upgrade:
+default-libmysqlclient-dev and Buster upgrade:
extends: .salsa-ci-template-for-mariadb
- stage: upgrade MariaDB
- needs:
- - job: build bullseye-backports
- image: debian:bullseye
+ stage: upgrade MariaDB and distro
+ image: debian:buster
script:
- *test-prepare-container
- - apt-get install -y pkg-config default-libmysqlclient-dev
+ - apt-get install -qq --yes pkg-config default-libmysqlclient-dev
- pkg-config --list-all
- - *test-enable-bullseye-backports-repos
- - *test-full-upgrade-libs
+ - *test-enable-sid-repos
+ # Due to usrmerge, full-upgrade from Bullseye to Trixie or newer cannot work
+ - *test-install-all-libs
- *test-verify-libs
# Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump.
@@ -658,9 +737,9 @@ mysql-8.0 in Sid upgrade:
script:
- *test-prepare-container
# The postinst fails often if 'ps' is missing from system, so install procps
- - apt-get install -y procps mysql-server 'libmysqlc*'
+ - apt-get install -qq --yes procps mysql-server 'libmysqlc*'
# Ensure MySQL 8.0 package actually got installed
- - dpkg -l | grep -e "mysql-server.*8.0"
+ - dpkg -l | grep -e "mysql-server.*8\.0"
- *test-verify-initial
- *test-install-all
# Due to some (currently unknown) changes in MySQL 8.0 packaging or apt
@@ -677,58 +756,56 @@ mysql-8.0 in Sid upgrade:
# Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump.
# The Debian maintainer scripts detect this situation and simply moves old datadir aside and start fresh.
-#
-# Testing on Focal binaries on Buster works. Using Jammy binaries on Bullseye
-# does not work as libc in Jammy is too new.
-mysql-8.0 from Ubuntu 22.04 with Bullseye backports upgrade:
+mysql-8.0 in Ubuntu 23.10 upgrade:
extends: .salsa-ci-template-for-mariadb
stage: upgrade MariaDB variant
- needs:
- - job: build bullseye-backports
- image: debian:bullseye
+ image: ubuntu:mantic
script:
- *test-prepare-container
- # Add Ubuntu Focal archive keys and repository
- - apt-get install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work
- - apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 871920D1991BC93C 3B4FE6ACC0B21F32
- - echo "deb http://archive.ubuntu.com/ubuntu/ focal main restricted" > /etc/apt/sources.list.d/ubuntu.list
- - apt-get update -qq
- # First install often fail due to bug in mysql-8.0
- - apt-get install -y mysql-server 'libmysqlc*' || true
+ - apt-get install -qq --yes mysql-server 'libmysqlc*'
# Ensure MySQL 8.0 package actually got installed
- - dpkg -l | grep -e "mysql-server.*8.0"
- - sleep 10 && apt-get install -f
- - *test-verify-initial
- # Enable backports to make galera-4 available
- - echo "deb http://deb.debian.org/debian bullseye-backports main" > /etc/apt/sources.list.d/backports.list && apt-get update -qq
- - *test-install-all
+ - dpkg -l | grep mysql
- service mysql status
- - sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server
+ - *test-verify-initial
+ # Install Debian Sid signing keys as Ubuntu does not have them by default
+ - apt-get install -qq --yes --no-install-recommends curl
+ - curl -sSLO http://deb.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2023.4_all.deb
+ - apt-get install -qq --yes ./debian-archive-keyring_*
+ - *test-enable-sid-repos
+ # Ensure mysqld will not crash on next shutdown for any reason
+ - service mysql restart
+ - *test-enable-artifacts-repo
+ - apt-get install -qq --simulate mariadb-server
+ - apt-get install -qq --yes mariadb-server
+ # Due to usrmerge, full-upgrade from Mantic to Trixie or newer may not work
+ - service mariadb status # There is no init.d/mysql in MariaDB 10.5+
+ # Remove everything MySQL except mysql-common which also MariaDB depends on
+ - apt-get purge --yes mysql-s* mysql-cl* libmysql*
- *test-verify-final
# Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump.
# The Debian maintainer scripts detect this situation and simply moves old datadir aside and start fresh.
-mysql-community-cluster-8.0 from MySQL.com with Bullseye backports upgrade:
+mysql-community-cluster-8.0 from MySQL.com with Bookworm upgrade:
extends: .salsa-ci-template-for-mariadb
stage: upgrade MariaDB variant
- needs:
- - job: build bullseye-backports
- image: debian:bullseye
+ image: debian:bookworm
script:
- *test-prepare-container
- - apt-get install --no-install-recommends --yes ca-certificates curl systemctl
- - curl -sS "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xbca43417c3b485dd128ec6d4b7b3b788a8d3785c" -o /etc/apt/trusted.gpg.d/mysql.asc
- - echo "deb https://repo.mysql.com/apt/debian/ bullseye mysql-cluster-8.0" > /etc/apt/sources.list.d/mysql.list
- - apt-get update -qq
- - apt-get install -y mysql-cluster-community-server
+ - |
+ apt-get install -qq --yes --no-install-recommends ca-certificates curl systemctl
+ curl -sS "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xbca43417c3b485dd128ec6d4b7b3b788a8d3785c" -o /etc/apt/trusted.gpg.d/mysql.asc
+ echo "deb https://repo.mysql.com/apt/debian/ bookworm mysql-cluster-8.0" > /etc/apt/sources.list.d/mysql.list
+ apt-get update -qq
+ - apt-get install -qq --yes mysql-cluster-community-server
- sed 's/ExecStartPre=+/ExecStartPre=/' -i /lib/systemd/system/mysql.service # Hack to make file compatible with systemctl shim
- systemctl start mysql
- dpkg -l | grep -iE 'maria|mysql|galera'
- systemctl status mysql; mysql -e 'SELECT VERSION()'
- systemctl stop mysql # Stop manually as maintainer scripts don't handle this with systemctl shim
- # Enable backports to make galera-4 available
- - echo "deb http://deb.debian.org/debian bullseye-backports main" > /etc/apt/sources.list.d/backports.list && apt-get update -qq
- - *test-install-all
+ - *test-enable-sid-repos
+ - *test-enable-artifacts-repo
+ - apt-get install -qq --simulate mariadb-server
+ - apt-get install -qq --yes mariadb-server
# Ignore systemctl shim result as MariaDB systemd file is incompatible with it and yields:
# ERROR:systemctl:the ExecStartPre control process exited with error code
- systemctl status mysql || true
@@ -742,11 +819,11 @@ mariadb.org-10.11 upgrade:
variables:
MARIADB_VERSION: "10.11"
script:
- - apt-get install -y mariadb-server
+ - apt-get install -qq --yes mariadb-server
- *test-verify-initial
# Install MariaDB built in this commit
# Force downgrades so our version installs on top of upstream revision, e.g. 1:11.10.1-1 vs 1:11.10.1+mariadb~sid
- - apt-get install -y --allow-downgrades ./*.deb
+ - apt-get install -qq --yes --allow-downgrades ./*.deb
# Verify installation of MariaDB built in this commit
- dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
- mariadb --version # Client version
@@ -760,7 +837,7 @@ mariadb.org-10.10 upgrade:
MARIADB_VERSION: "10.10"
script:
# this should not use Sid to begin with
- - apt-get install -y mariadb-server=1:10.10.2+maria~debunstable mariadb-client=1:10.10.2+maria~debunstable
+ - apt-get install -qq --yes mariadb-server=1:10.10.2+maria~debunstable mariadb-client=1:10.10.2+maria~debunstable
- *test-verify-initial
- *test-full-upgrade
- service mariadb status # There is no init.d/mysql in MariaDB 10.5+
@@ -773,7 +850,7 @@ mariadb.org-10.9 upgrade:
MARIADB_VERSION: "10.9"
script:
# this should not use Sid to begin with
- - apt-get install -y mariadb-server=1:10.9.4+maria~debunstable mariadb-client=1:10.9.4+maria~debunstable
+ - apt-get install -qq --yes mariadb-server=1:10.9.4+maria~debunstable mariadb-client=1:10.9.4+maria~debunstable
- *test-verify-initial
- *test-full-upgrade
- service mariadb status # There is no init.d/mysql in MariaDB 10.5+
@@ -785,7 +862,7 @@ mariadb.org-10.8 upgrade:
variables:
MARIADB_VERSION: "10.8"
script:
- - apt-get install -y mariadb-server-10.8
+ - apt-get install -qq --yes mariadb-server-10.8
- *test-verify-initial
- *test-install-all
- service mariadb status # There is no init.d/mysql in MariaDB 10.5+
@@ -797,7 +874,7 @@ mariadb.org-10.7 upgrade:
variables:
MARIADB_VERSION: "10.7"
script:
- - apt-get install -y mariadb-server-10.7
+ - apt-get install -qq --yes mariadb-server-10.7
- *test-verify-initial
- *test-install-all
- service mariadb status # There is no init.d/mysql in MariaDB 10.5+
@@ -811,8 +888,8 @@ mariadb.org-10.6 upgrade:
script:
# Package libmariadbclient-dev from mariadb.org conflicts with libmariadb-dev in Sid, so cannot use wildcard that would include it
# Enable this line when there is a way to install them only from the mariadb.org repo
- # - apt-get install -y 'mariadb*' libmariadb3 'libmariadb-*' 'libmariadbd*'
- - apt-get install -y mariadb-server-10.6
+ # - apt-get install -qq --yes 'mariadb*' libmariadb3 'libmariadb-*' 'libmariadbd*'
+ - apt-get install -qq --yes mariadb-server-10.6
- *test-verify-initial
- *test-install-all
- service mariadb status # There is no init.d/mysql in MariaDB 10.5+
@@ -826,7 +903,7 @@ mariadb.org-10.5 upgrade:
MARIADB_VERSION: "10.5"
script:
- *test-install-openssl1-in-sid-for-backwards-compat
- - apt-get install -y mariadb-server-10.5
+ - apt-get install -qq --yes mariadb-server-10.5
- *test-verify-initial
- *test-install-all
- service mariadb status # There is no init.d/mysql in MariaDB 10.5+
@@ -841,7 +918,7 @@ mariadb.org-10.4 upgrade:
script:
- *test-install-readline-in-sid-for-backwards-compat
- *test-install-openssl1-in-sid-for-backwards-compat
- - apt-get install -y mariadb-server-10.4
+ - apt-get install -qq --yes mariadb-server-10.4
# MariaDB.org version of 10.4 and early 10.5 do not install an init file, so
# it must be installed here manually
- cp /usr/share/mysql/mysql.init /etc/init.d/mysql; chmod +x /etc/init.d/mysql; service mysql start; sleep 5
@@ -861,11 +938,11 @@ mariadb.org-10.3 upgrade:
script:
- *test-install-readline-in-sid-for-backwards-compat
- *test-install-openssl1-in-sid-for-backwards-compat
- - apt-get install -y mariadb-server-10.3
+ - apt-get install -qq --yes mariadb-server-10.3
- *test-verify-initial
- *test-install-all
# mariadb-10.3 in Buster ships a /etc/init.d/mysql and it continues to exist
- # after upgrade, but is be removed on purge
+ # after upgrade, and is removed only on purge
- service mysql status || service mariadb status
# Give the mariadb-upgrade plenty of time to complete, otherwise next commands
# fail on non-existing mariadb.sys user
@@ -881,7 +958,7 @@ mariadb.org-10.2 upgrade:
script:
- *test-install-readline-in-sid-for-backwards-compat
- *test-install-openssl1-in-sid-for-backwards-compat
- - apt-get install -y mariadb-server-10.2
+ - apt-get install -qq --yes mariadb-server-10.2
# Verify initial state before upgrade
- dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
- service mysql status
@@ -893,13 +970,14 @@ mariadb.org-10.2 upgrade:
mysql --defaults-file=/etc/mysql/debian.cnf --table -e "SELECT * FROM mysql.plugin; SHOW PLUGINS;"
- *test-install-all
# mariadb-10.2 in ships a /etc/init.d/mysql and it continues to exist
- # after upgrade, but is be removed on purge
+ # after upgrade, and is removed only on purge
- service mysql status || service mariadb status
# Give the mariadb-upgrade plenty of time to complete, otherwise next commands
# fail on non-existing mariadb.sys user
- sleep 15
- *test-verify-final
+# Buster is the last Debian release Oracle MySQL 5.7 offers binaries for
mysql.com-5.7 with Buster upgrade:
extends: .salsa-ci-template-for-mariadb
stage: upgrade MariaDB variant
@@ -909,11 +987,11 @@ mysql.com-5.7 with Buster upgrade:
script:
- *test-prepare-container
- |
- apt-get install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work
+ apt-get install -qq --yes --no-install-recommends gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work
apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 B7B3B788A8D3785C
echo "deb https://repo.mysql.com/apt/debian/ buster mysql-5.7" > /etc/apt/sources.list.d/mysql.list
apt-get update -qq
- apt-get install -y 'mysql*' 'libmysqlc*'
+ - apt-get install -qq --yes 'mysql*' 'libmysqlc*'
# Ensure MySQL 5.7 package actually got installed
- dpkg -l | grep -e "mysql-server.*5.7"
- *test-verify-initial
@@ -932,25 +1010,26 @@ mysql.com-5.7 with Buster upgrade:
- sleep 15 # Give the mysql_upgrade a bit of extra time to complete with MySQL 5.7 before querying the server
- *test-verify-final
-percona-xtradb-5.7 with Bullseye backports upgrade:
+# Note: pmm2-client does not exist in the Bookworm repository anymore
+percona-xtradb-5.7 with Bookworm upgrade:
extends: .salsa-ci-template-for-mariadb
stage: upgrade MariaDB variant
- needs:
- - job: build bullseye-backports
- image: debian:bullseye
+ image: debian:bookworm
script:
- *test-prepare-container
- |
- apt-get install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work
- apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 9334A25F8507EFA5
- echo "deb https://repo.percona.com/apt/ bullseye main" > /etc/apt/sources.list.d/mysql.list
+ apt-get install -qq --yes --no-install-recommends ca-certificates curl systemctl
+ curl -sS "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x9334A25F8507EFA5" -o /etc/apt/trusted.gpg.d/percona.asc
+ echo "deb https://repo.percona.com/apt/ bookworm main" > /etc/apt/sources.list.d/percona.list
apt-get update -qq
- apt-get install -y percona-xtradb-cluster-full-57 percona-xtrabackup-24 percona-toolkit pmm2-client
+ - apt-get install -qq --yes percona-xtradb-cluster-full-57 percona-xtrabackup-24 percona-toolkit
+ # Ensure Percona 5.7 package actually got installed
+ - dpkg -l | grep -e "percona.*5\.7"
- service mysql status
- *test-verify-initial
- # Enable backports to make galera-4 available
- - echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list.d/backports.list && apt-get update -qq
+ - *test-enable-sid-repos
- *test-install-all
- - service mysql status
+ # Percona package owned /etc/init.d/mysql, so on removal and upgrade to MariaDB old service name can't be referenced anymore
+ - service mariadb status
- sleep 15 # Give the mysql_upgrade a bit of extra time to complete with MySQL 5.7 before querying the server
- *test-verify-final
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
index cb989053..9a0e0627 100644
--- a/debian/source/lintian-overrides
+++ b/debian/source/lintian-overrides
@@ -69,7 +69,6 @@ very-long-line-length-in-source-file * [*theme.css:*]
# Font files
very-long-line-length-in-source-file * [*.eot:*]
# General storage ignores
-very-long-line-length-in-source-file * [storage/mroonga/vendor/groonga/examples/dictionary/html/css/smoothness/jquery-ui-1.8.12.custom.css:*]
very-long-line-length-in-source-file * [storage/rocksdb/mysql-test/rocksdb/t/bypass_select_basic_bloom-master.opt:*]
very-long-line-length-in-source-file * [storage/rocksdb/mysql-test/rocksdb/t/type_enum.inc:*]
very-long-line-length-in-source-file * [storage/rocksdb/mysql-test/rocksdb/t/type_set.inc:*]
diff --git a/debian/tests/traces/mariadbd-verbose-help.expected b/debian/tests/traces/mariadbd-verbose-help.expected
index c33bf2b2..601e8828 100644
--- a/debian/tests/traces/mariadbd-verbose-help.expected
+++ b/debian/tests/traces/mariadbd-verbose-help.expected
@@ -1255,9 +1255,8 @@ The following specify which files/extra groups are read (specified before remain
when binary log is disabled).
--log-tc-size=# Size of transaction coordinator log.
-W, --log-warnings[=#]
- Log some not critical warnings to the general log
- file.Value can be between 0 and 11. Higher values mean
- more verbosity
+ Log some non critical warnings to the error log.Value can
+ be between 0 and 11. Higher values mean more verbosity
--long-query-time=# Alias for log_slow_query_time. Log all queries that have
taken more than long_query_time seconds to execute to the
slow query log file. The argument will be treated as a
@@ -1411,7 +1410,8 @@ The following specify which files/extra groups are read (specified before remain
MySQL versions. Any combination of:
NO_DUP_KEY_WARNINGS_WITH_IGNORE, NO_PROGRESS_INFO,
ZERO_DATE_TIME_CAST, UTF8_IS_UTF8MB3,
- IGNORE_INDEX_ONLY_FOR_JOIN, COMPAT_5_1_CHECKSUM
+ IGNORE_INDEX_ONLY_FOR_JOIN, COMPAT_5_1_CHECKSUM,
+ NO_NULL_COLLATION_IDS
Use 'ALL' to set all combinations.
--old-passwords Use old password encryption method (needed for 4.0 and
older clients)
@@ -1426,6 +1426,13 @@ The following specify which files/extra groups are read (specified before remain
max_connections*5 or max_connections + table_cache*2
(whichever is larger) number of file descriptors
(Automatically configured unless set explicitly)
+ --optimizer-adjust-secondary-key-costs=#
+ 0 = No changes. 1 = Update secondary key costs for ranges
+ to be at least 5x of clustered primary key costs. 2 =
+ Remove 'max_seek optimization' for secondary keys and
+ slight adjustment of filter cost. This option will be
+ deleted in MariaDB 11.0 as it is not needed with the new
+ 11.0 optimizer.
--optimizer-extra-pruning-depth=#
If the optimizer needs to enumerate join prefix of this
size or larger, then it will try aggressively prune away
@@ -1861,7 +1868,7 @@ The following specify which files/extra groups are read (specified before remain
The tracing level for semi-sync replication.
--rpl-semi-sync-master-wait-no-slave
Wait until timeout when no semi-synchronous replication
- slave available (enabled by default).
+ slave is available.
(Defaults to on; use --skip-rpl-semi-sync-master-wait-no-slave to disable.)
--rpl-semi-sync-master-wait-point=name
Should transaction wait for semi-sync ack after having
@@ -2822,6 +2829,7 @@ old-mode UTF8_IS_UTF8MB3
old-passwords FALSE
old-style-user-limits FALSE
open-files-limit 32000
+optimizer-adjust-secondary-key-costs 0
optimizer-extra-pruning-depth 8
optimizer-max-sel-arg-weight 32000
optimizer-max-sel-args 16000
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
index caeb4e19..708d2063 100644
--- a/debian/upstream/signing-key.asc
+++ b/debian/upstream/signing-key.asc
@@ -23,64 +23,29 @@ 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
-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
-=Rwkv
+LrR1mncbuT6yXo316r56dfKzOxQJBnYFwTjXfa65yBArjQBUCPNYOKr0uQINBFb8
+EKsBEADDfCMsu2U1CdJhr4xp6z4J89/tMnpCQASC8DQhtZ6bWG/ksyKt2DnDQ050
+XBEng+7epzHWA2UgT0liY05zZmFs1X7QeZr16B7JANq6fnHOdZB0ThS7JEYbProk
+MxcqAFLAZJCpZT534GpzW7qHwzjV+d13IziCHdi6+DD5eavYzBqY8QzjlOXbmIlY
+7dJUCwXTECUfirc6kH86CS8fXZTke4QYZ55VnrOomB4QGqP371kwBETnhlhi74+p
+vi3jW05Z5x1tVMwuugyzzkseZp1VYmJq5SHNFZ/pnAQLE9gUDTb6UWcPBwQh9Sw+
+7ahSK74lJKYm3wktyvZhzAxbNyzs1M56yeFP6uFwJTBfNByyMAa6TGUhNkxlLcYj
+xKbVmoAnKCVM8t41TlLv/a0ki8iQxqvphVLufksR9IpN6d3F15j6GeyVtxBEv04i
+v4vbuKthWytb+gjX4bI8CAo9jGHevmtdiw/SbeKx2YBM1MF6eua37rFMooOBj4X7
+VfQCyS+crNsOQn8nJGahYbzUDCCgnX+pqN9iZvXisMS79wVyD5DyISFDvT/5jY7I
+XxPibxr10P/8lfW1d72uxyI2UiZKZpyHCt4k47yMq4KQGLGuhxJ6q6O3bi2aXRuz
+8bLqTBLca9dmx9wZFvRh6jS/SKEg7eFcY0xbb6RVIv1UwGDYfQARAQABiQIfBBgB
+CAAJBQJW/BCrAhsMAAoJEPFlbyTHTNHYEBIQAJhFTh1u34Q+5bnfiM2dAdCr6T6w
+4Y1v9ePiIYdSImeseJS2yRglpLcMjW0uEA9KXiRtC/Nm/ClnqYJzCKeIaweHqH6d
+IgJKaXZFt1Uaia7X9tDDwqALGu97irUrrV1Kh9IkM0J29Vid5amakrdS4mwt2uEI
+SSnCi7pfVoEro+S7tYQ9iH6APVIwqWvcaty3cANdwKWfUQZ6a9IQ08xqzaMhMp2V
+zhVrWkq3B0j2aRoZR7BNLH2I7Z0giIM8ARjZs99aTRL+SfMEQ3sUxNLb3KWP/n1l
+SFbrk4HGzqUBBfczESlNc0970C6znK0H0HD11/3BTkMuPqww+Tzex4dpMQllMEKZ
+3wEyd9v6ba+nj/P1FHSEy/VN6IXzd82s1lYOonKTdmXAIROcHnb0QUzwsd/mhB3j
+KhEDOV2ZcBTD3yHv8m7C9G9y4hV+7yQlnPlSg3DjBp3SS5r+sOObCIy2Ad32upoX
+kilWa9g7GZSuhY9kyKqeEba1lgXXaQykEeqx0pexkWavNnb9JaPrAZHDjUGcXrRE
+mjEyXyElRoD4CrWXySe46jCuNhVVlkLGo7osefynXa/+PNjQjURtx8en7M9A1FkQ
+uRAxE8KIZgZzYxkGl5o5POSFCA4JUoRPDcrl/sI3fuq2dIOE/BJ2r8dV+LddiR+i
+ukhXRwJXH8RVVEUS
+=ihRo
-----END PGP PUBLIC KEY BLOCK-----