From a569d4096d91a06a40a8dbf4ff4350f664d462bd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 15:39:14 +0200 Subject: Merging debian version 1:10.11.7-1. Signed-off-by: Daniel Baumann --- debian/changelog | 24 ++ debian/compat | 1 - debian/control | 7 +- debian/copyright | 12 +- debian/mariadb-server.install | 14 +- debian/mariadb-server.lintian-overrides | 7 +- debian/mariadb-server.postinst | 23 -- debian/mariadb-server.postrm | 5 - debian/mariadb-server.preinst | 4 +- debian/mariadb-test-data.lintian-overrides | 6 - debian/mariadb-test.lintian-overrides | 3 - debian/not-installed | 6 - debian/patches/1006531-hurd-no-auth-socket.patch | 28 ++ debian/patches/2777-fix-disks-disk-test.patch | 78 ---- debian/patches/2883-subselect-test-failures.patch | 323 ----------------- debian/patches/fix-spelling-libmarias3.patch | 73 ---- debian/patches/install-files-into-usr.patch | 27 ++ debian/patches/series | 5 +- debian/rules | 37 +- debian/salsa-ci.yml | 395 ++++++++++++--------- debian/source/lintian-overrides | 1 - debian/tests/traces/mariadbd-verbose-help.expected | 18 +- debian/upstream/signing-key.asc | 85 ++--- 23 files changed, 390 insertions(+), 792 deletions(-) delete mode 100644 debian/compat create mode 100644 debian/patches/1006531-hurd-no-auth-socket.patch delete mode 100644 debian/patches/2777-fix-disks-disk-test.patch delete mode 100644 debian/patches/2883-subselect-test-failures.patch delete mode 100644 debian/patches/fix-spelling-libmarias3.patch create mode 100644 debian/patches/install-files-into-usr.patch (limited to 'debian') 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 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 , - debhelper (>= 10), + debhelper-compat (= 13), dh-exec, gdb , 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 - . + . . The text of the Above URL is quoted below, as of Aug 17, 2011. . @@ -150,7 +150,7 @@ Copyright: 2011 Ondřej Surý 2012 Nicholas Bamber 2013,2016 Kristian Nielsen - 2013-2020 Otto Kekäläinen + 2013-2024 Otto Kekäläinen 2014 Daniel Schepler 2014 Julien Muchembled 2014 Tobias Frost @@ -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 . + along with this program. If not, see . . 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 +Copyright: 2008-2019 Codership Oy 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 . + along with this program. If not, see . 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 . + along with this program. If not, see . 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 +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 -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 -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 -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 +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 < /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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 -=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----- -- cgit v1.2.3