diff options
Diffstat (limited to 'debian')
47 files changed, 754 insertions, 474 deletions
diff --git a/debian/additions/debian-start b/debian/additions/debian-start index d85e4a12..282cd209 100755 --- a/debian/additions/debian-start +++ b/debian/additions/debian-start @@ -7,7 +7,7 @@ # # shellcheck source=debian/additions/debian-start.inc.sh -source /usr/share/mysql/debian-start.inc.sh +source /usr/share/mariadb/debian-start.inc.sh # Read default/mysql first and then default/mariadb just like the init.d file does if [ -f /etc/default/mysql ] diff --git a/debian/additions/mariadb.conf.d/50-mariadb-clients.cnf b/debian/additions/mariadb.conf.d/50-mariadb-clients.cnf new file mode 100644 index 00000000..3c4fad87 --- /dev/null +++ b/debian/additions/mariadb.conf.d/50-mariadb-clients.cnf @@ -0,0 +1,22 @@ +# +# These groups are read by MariaDB command-line tools +# Use it for options that affect only one utility +# + +[mariadb-client] + +[mariadb-upgrade] + +[mariadb-admin] + +[mariadb-binlog] + +[mariadb-check] + +[mariadb-dump] + +[mariadb-import] + +[mariadb-show] + +[mariadb-slap] diff --git a/debian/additions/mariadb.conf.d/50-mysql-clients.cnf b/debian/additions/mariadb.conf.d/50-mysql-clients.cnf deleted file mode 100644 index 2f5a3605..00000000 --- a/debian/additions/mariadb.conf.d/50-mysql-clients.cnf +++ /dev/null @@ -1,22 +0,0 @@ -# -# These groups are read by MariaDB command-line tools -# Use it for options that affect only one utility -# - -[mysql] - -[mysql_upgrade] - -[mysqladmin] - -[mysqlbinlog] - -[mysqlcheck] - -[mysqldump] - -[mysqlimport] - -[mysqlshow] - -[mysqlslap] diff --git a/debian/additions/mariadb.conf.d/50-server.cnf b/debian/additions/mariadb.conf.d/50-server.cnf index 4805c550..1fca97ae 100644 --- a/debian/additions/mariadb.conf.d/50-server.cnf +++ b/debian/additions/mariadb.conf.d/50-server.cnf @@ -5,8 +5,8 @@ # this is read by the standalone daemon and embedded servers [server] -# this is only for the mysqld standalone daemon -[mysqld] +# this is only for the mariadbd daemon +[mariadbd] # # * Basic Settings @@ -92,8 +92,8 @@ expire_logs_days = 10 # MySQL/MariaDB default is Latin1, but in Debian we rather default to the full # utf8 4-byte character set. See also client.cnf -character-set-server = utf8mb4 -collation-server = utf8mb4_general_ci +character-set-server = utf8mb4 +character-set-collations = utf8mb4=uca1400_ai_ci # # * InnoDB @@ -111,9 +111,9 @@ collation-server = utf8mb4_general_ci # This group is only read by MariaDB servers, not by MySQL. # If you use the same .cnf file for MySQL and MariaDB, # you can put MariaDB-only options here -[mariadb] +[mariadbd] -# This group is only read by MariaDB-10.11 servers. +# This group is only read by MariaDB-11.4 servers. # If you use the same .cnf file for MariaDB of different versions, # use this group for options that older servers don't understand -[mariadb-10.11] +[mariadb-11.4] diff --git a/debian/additions/mariadb.conf.d/60-galera.cnf b/debian/additions/mariadb.conf.d/60-galera.cnf index 274891b1..67ccb3ed 100644 --- a/debian/additions/mariadb.conf.d/60-galera.cnf +++ b/debian/additions/mariadb.conf.d/60-galera.cnf @@ -1,7 +1,7 @@ # # * Galera-related settings # -# See the examples of server wsrep.cnf files in /usr/share/mysql +# See the examples of server wsrep.cnf files in /usr/share/mariadb # and read more at https://mariadb.com/kb/en/galera-cluster/ [galera] diff --git a/debian/autobake-deb.sh b/debian/autobake-deb.sh index afe7181f..0e1b771b 100755 --- a/debian/autobake-deb.sh +++ b/debian/autobake-deb.sh @@ -19,27 +19,6 @@ export DEB_BUILD_OPTIONS="nocheck $DEB_BUILD_OPTIONS" # shellcheck source=/dev/null source ./VERSION -# General CI optimizations to keep build output smaller -if [[ $GITLAB_CI ]] -then - # On Gitlab the output log must stay under 4MB so make the - # build less verbose - sed '/Add support for verbose builds/,/^$/d' -i debian/rules -elif [ -d storage/columnstore/columnstore/debian ] -then - # ColumnStore is explicitly disabled in the native Debian build. Enable it - # now when build is triggered by autobake-deb.sh (MariaDB.org) and when the - # build is not running on Gitlab-CI. - sed '/-DPLUGIN_COLUMNSTORE=NO/d' -i debian/rules - # Take the files and part of control from MCS directory - if [ ! -f debian/mariadb-plugin-columnstore.install ] - then - cp -v storage/columnstore/columnstore/debian/mariadb-plugin-columnstore.* debian/ - echo >> debian/control - sed "s/-10.6//" <storage/columnstore/columnstore/debian/control >> debian/control - fi -fi - # Look up distro-version specific stuff # # Always keep the actual packaging as up-to-date as possible following the latest @@ -72,12 +51,6 @@ replace_uring_with_aio() -e '/-DWITH_URING=ON/d' -i debian/rules } -disable_pmem() -{ - sed '/libpmem-dev/d' -i debian/control - sed '/-DWITH_PMEM=ON/d' -i debian/rules -} - disable_libfmt() { # 7.0+ required @@ -95,7 +68,7 @@ architecture=$(dpkg-architecture -q DEB_BUILD_ARCH) # Release: n/a # Codename: n/a LSBID="$(lsb_release -si | tr '[:upper:]' '[:lower:]')" -LSBVERSION="$(lsb_release -sr | sed -e "s#\.##g")" +LSBVERSION="$(lsb_release -sr | sed -e "s/\.//g")" LSBNAME="$(lsb_release -sc)" # If 'n/a', assume 'sid' @@ -117,10 +90,6 @@ in "buster") disable_libfmt replace_uring_with_aio - if [ ! "$architecture" = amd64 ] - then - disable_pmem - fi ;& "bullseye") add_lsb_base_depends @@ -128,10 +97,6 @@ in "bookworm") # mariadb-plugin-rocksdb in control is 4 arches covered by the distro rocksdb-tools # so no removal is necessary. - if [[ ! "$architecture" =~ amd64|arm64|ppc64el ]] - then - disable_pmem - fi if [[ ! "$architecture" =~ amd64|arm64|armel|armhf|i386|mips64el|mipsel|ppc64el|s390x ]] then replace_uring_with_aio @@ -142,10 +107,6 @@ in # there is intentionally no customizations whatsoever. ;; # Ubuntu - "bionic") - remove_rocksdb_tools - [ "$architecture" != amd64 ] && disable_pmem - ;& "focal") replace_uring_with_aio disable_libfmt @@ -154,6 +115,12 @@ in add_lsb_base_depends ;& "lunar"|"mantic") + if [[ ! "$architecture" =~ amd64|arm64|armhf|ppc64el|s390x ]] + then + replace_uring_with_aio + fi + ;& + "noble") # mariadb-plugin-rocksdb s390x not supported by us (yet) # ubuntu doesn't support mips64el yet, so keep this just # in case something changes. @@ -161,20 +128,33 @@ in then remove_rocksdb_tools fi - if [[ ! "$architecture" =~ amd64|arm64|ppc64el ]] - then - disable_pmem - fi - if [[ ! "$architecture" =~ amd64|arm64|armhf|ppc64el|s390x ]] - then - replace_uring_with_aio - fi ;; *) echo "Error: Unknown release '$LSBNAME'" >&2 exit 1 esac +# General CI optimizations to keep build output smaller +if [[ $GITLAB_CI ]] +then + # On Gitlab the output log must stay under 4MB so make the + # build less verbose + sed '/Add support for verbose builds/,/^$/d' -i debian/rules +elif [[ -d storage/columnstore/columnstore/debian ]] && [[ "$LSBNAME" = !(buster|bionic) ]] +then + # ColumnStore is explicitly disabled in the native Debian build. Enable it + # now when build is triggered by autobake-deb.sh (MariaDB.org) and when the + # build is not running on Gitlab-CI. + sed '/-DPLUGIN_COLUMNSTORE=NO/d' -i debian/rules + # Take the files and part of control from MCS directory + if [[ ! -f debian/mariadb-plugin-columnstore.install ]] + then + cp -v storage/columnstore/columnstore/debian/mariadb-plugin-columnstore.* debian/ + echo >> debian/control + cat storage/columnstore/columnstore/debian/control >> debian/control + fi +fi + if [ -n "${AUTOBAKE_PREP_CONTROL_RULES_ONLY:-}" ] then exit 0 @@ -203,7 +183,7 @@ fi # Use eatmydata is available to build faster with less I/O, skipping fsync() # during the entire build process (safe because a build can always be restarted) -if command -v eatmydata > /dev/null +if which eatmydata > /dev/null then BUILDPACKAGE_DPKGCMD+=("eatmydata") fi diff --git a/debian/changelog b/debian/changelog index 75d3cf1a..a935d0b4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,24 @@ +mariadb (1:11.4.2-1) unstable; urgency=medium + + * New upstream major version 11.4.2. Includes new features as noted at + https://mariadb.com/kb/en/mariadb-11-4-2-release-notes/ for this + minor release that got announced for General Availabily and + https://mariadb.com/kb/en/changes-improvements-in-mariadb-11-4/ + for an overview of what the MariaDB 11.4 series brings. + * Use new '/usr/share/mariadb' path instead of deprecated 'mysql' equivalent + * Use new 'mariadb-test' path and name instead of deprecated 'mysql-test' + * Use command 'mariadb' instead of deprecated 'mysql' + * Don't stop autopkgtest configuration-tracing on errors early + * Update server trace to include new parameters and values + * Add build/test dependency libnet-ssleay-perl + * Partially sync debian/ with upstream MariaDB 11.4.2 + * Fix all Lintian errors, and more, for MariaDB 11.4.2 + * Make transitional mariadb-server-10.5 package compatible with 11.4 + * Stop building the embedded server to save disk space + * When shutting down 'mariadbd', fallback to 'mysqld' + + -- Otto Kekäläinen <otto@debian.org> Sun, 23 Jun 2024 21:46:13 -0700 + mariadb (1:10.11.8-1~progress7.99u1) graograman-backports; urgency=medium * Uploading to graograman-backports, remaining changes: diff --git a/debian/control b/debian/control index 78f9201e..8bcb3c6e 100644 --- a/debian/control +++ b/debian/control @@ -12,7 +12,11 @@ Build-Depends: cmake, cracklib-runtime <!nocheck>, debhelper-compat (= 13), +<<<<<<< HEAD debhelper (>= 13.13~), +======= + default-jdk, +>>>>>>> a4925811 (Adding debian version 1:11.4.2-1.) dh-exec, gdb <!nocheck>, libboost-dev, @@ -29,6 +33,7 @@ Build-Depends: liblzma-dev, liblzo2-dev, libncurses-dev, + libnet-ssleay-perl <!nocheck>, libnuma-dev [linux-any], libpam0g-dev, libpcre2-dev, @@ -150,6 +155,7 @@ Description: MariaDB database client library . This package includes the client library. +<<<<<<< HEAD Package: libmariadbd19 Architecture: any Section: libs @@ -192,6 +198,8 @@ Description: MariaDB embedded database, development files This package includes the MariaDB embedded server library development and header files. +======= +>>>>>>> a4925811 (Adding debian version 1:11.4.2-1.) Package: mariadb-common Architecture: all Depends: @@ -397,6 +405,97 @@ Description: MariaDB database client binaries This package includes the client binaries and the additional tools innotop and mariadb-report (mysqlreport). +Package: mariadb-client-compat +Architecture: all +Depends: + mariadb-client (>= ${source:Version}), + ${misc:Depends}, +Breaks: + mariadb-client (<< 11.0.0), + mariadb-client-core (<< 11.0.0), + mariadb-server (<< 11.0.0), + mariadb-server-10.5 (<< 1:10.11), + mariadb-server-core (<< 11.0.0), + mysql-client (<< 5.0.51), +Replaces: + mariadb-client (<< 11.0.0), + mariadb-client-core (<< 11.0.0), + mariadb-server (<< 11.0.0), + mariadb-server-10.5 (<< 1:10.11), + mariadb-server-core (<< 11.0.0), + mysql-client (<< 5.0.51), +Conflicts: + mariadb-client-10.0, + mariadb-client-10.1, + mariadb-client-10.2, + mariadb-client-10.3, + mariadb-client-10.4, + mariadb-client-10.5, + mariadb-client-10.6, + mariadb-client-10.7, + mariadb-client-10.8, + mariadb-client-5.1, + mariadb-client-5.2, + mariadb-client-5.3, + mariadb-client-5.5, + mariadb-client-core-10.0, + mariadb-client-core-10.1, + mariadb-client-core-10.2, + mariadb-client-core-10.3, + mariadb-client-core-10.4, + mariadb-client-core-10.5, + mariadb-client-core-10.6, + mariadb-client-core-10.7, + mariadb-client-core-10.8, + mariadb-client-core-5.1, + mariadb-client-core-5.2, + mariadb-client-core-5.3, + mariadb-client-core-5.5, + mariadb-server-10.0, + mariadb-server-10.1, + mariadb-server-10.2, + mariadb-server-10.3, + mariadb-server-10.4, + mariadb-server-10.6, + mariadb-server-10.7, + mariadb-server-10.8, + mariadb-server-core-10.0, + mariadb-server-core-10.1, + mariadb-server-core-10.2, + mariadb-server-core-10.3, + mariadb-server-core-10.4, + mariadb-server-core-10.5, + mariadb-server-core-10.6, + mariadb-server-core-10.7, + mariadb-server-core-10.8, + mysql-client-5.0, + mysql-client-5.1, + mysql-client-5.5, + mysql-client-5.6, + mysql-client-5.7, + mysql-client-8.0, + mysql-client-core-5.0, + mysql-client-core-5.1, + mysql-client-core-5.5, + mysql-client-core-5.6, + mysql-client-core-5.7, + mysql-client-core-8.0, + mysql-server-5.7, + mysql-server-core-8.0, + percona-server-server, + percona-server-server-5.6, + percona-xtradb-cluster-server, + percona-xtradb-cluster-server-5.6, + percona-xtradb-cluster-server-5.7, +Multi-Arch: foreign +Description: MySQL compatibility links to mariadb-client binaries/scripts + The package contains links and binaries that are needed by MySQL centric + tools which also works with MariaDB. + . + This package is also useful for users with long background in MySQL + maintenance who wants to switch to MariaDB but wants to continue using + familiar 'mysql' command-line tools instead of their MariaDB equivalents. + Package: mariadb-server-core Architecture: any Depends: @@ -585,10 +684,71 @@ Description: MariaDB database server binaries . This package includes the server binaries. +Package: mariadb-server-compat +Architecture: all +Depends: + mariadb-server (>= ${source:Version}), + ${misc:Depends}, +Breaks: + mariadb-server (<< 11.0.0), + mariadb-server-10.5 (<< 1:10.11), + mariadb-server-core (<< 11.0.0), +Replaces: + mariadb-server (<< 11.0.0), + mariadb-server-10.5 (<< 1:10.11), + mariadb-server-core (<< 11.0.0), +Conflicts: + mariadb-server-10.0, + mariadb-server-10.1, + mariadb-server-10.2, + mariadb-server-10.3, + mariadb-server-10.4, + mariadb-server-10.6, + mariadb-server-10.7, + mariadb-server-10.8, + mariadb-server-5.1, + mariadb-server-5.2, + mariadb-server-5.3, + mariadb-server-5.5, + mariadb-server-core-10.0, + mariadb-server-core-10.1, + mariadb-server-core-10.2, + mariadb-server-core-10.3, + mariadb-server-core-10.4, + mariadb-server-core-10.5, + mariadb-server-core-10.6, + mariadb-server-core-10.7, + mariadb-server-core-10.8, + mariadb-server-core-5.1, + mariadb-server-core-5.2, + mariadb-server-core-5.3, + mariadb-server-core-5.5, + mysql-server-5.0, + mysql-server-core-5.0, + mysql-server-core-5.1, + mysql-server-core-5.5, + mysql-server-core-5.6, + mysql-server-core-5.7, + mysql-server-core-8.0, + percona-server-server, + percona-server-server-5.6, + percona-server-server-5.7, + percona-xtradb-cluster-server, + percona-xtradb-cluster-server-5.6, + percona-xtradb-cluster-server-5.7, +Multi-Arch: foreign +Description: MySQL compatibility links to mariadb-server binaries/scripts + The package contains links and binaries that are needed by MySQL centric + tools which also works with MariaDB. + . + This package is also useful for users with long background in MySQL + maintenance who wants to switch to MariaDB but wants to continue using + familiar 'mysql' commands instead of their MariaDB equivalents. + Package: mariadb-server-10.5 Architecture: any Depends: - mariadb-server (>= 1:10.11), + mariadb-server (>= 1:11.4), ${misc:Depends}, ${shlibs:Depends}, Description: MariaDB database server binaries (transitional dummy package) @@ -652,6 +812,26 @@ Description: Connect storage engine for MariaDB server other interesting features. This package contains the Connect plugin for MariaDB server. +Package: mariadb-plugin-connect-jdbc +Architecture: all +Depends: + default-jre-headless, + ${misc:Depends}, +Suggests: + libcsvjdbc-java, + libmariadb-java, + libpostgis-java, + libpostgresql-jdbc-java, + libxerial-sqlite-jdbc-java, +Enhances: + mariadb-plugin-connect, +Description: Connect storage engine JDBC interface for MariaDB server + To connect to remote DBMS using Connect Storage Engine (SE) and JDBC driver, + there is need for JDBC interface byte code. + The JDBC driver for the remote DBMS connection is required. + This package contains the Connect SE plugin JDBC interface file for MariaDB + server. + Package: mariadb-plugin-s3 Architecture: any Depends: @@ -884,6 +1064,7 @@ Description: Snappy compression support in the server and storage engines Package: mariadb-test Architecture: any Depends: + libnet-ssleay-perl, mariadb-client (= ${binary:Version}), mariadb-server (= ${server:Version}), mariadb-test-data (= ${source:Version}), diff --git a/debian/libmariadbd-dev.install b/debian/libmariadbd-dev.install deleted file mode 100644 index 3eebe631..00000000 --- a/debian/libmariadbd-dev.install +++ /dev/null @@ -1,5 +0,0 @@ -usr/include/mariadb/server -usr/lib/*/libmariadbd.a -usr/lib/*/libmariadbd.so -usr/lib/*/libmysqld.a -usr/lib/*/libmysqld.so diff --git a/debian/mariadb-client-compat.install b/debian/mariadb-client-compat.install new file mode 100644 index 00000000..0a7c5e19 --- /dev/null +++ b/debian/mariadb-client-compat.install @@ -0,0 +1,36 @@ +usr/bin/mysql_convert_table_format +usr/bin/mysql_find_rows +usr/bin/mysql_fix_extensions +usr/bin/mysql_plugin +usr/bin/mysql_secure_installation +usr/bin/mysql_setpermission +usr/bin/mysql_tzinfo_to_sql +usr/bin/mysql_waitpid +usr/bin/mysqlaccess +usr/bin/mysqladmin +usr/bin/mysqlbinlog +usr/bin/mysqlcheck +usr/bin/mysqldump +usr/bin/mysqldumpslow +usr/bin/mysqlhotcopy +usr/bin/mysqlimport +usr/bin/mysqlshow +usr/bin/mysqlslap +usr/share/man/man1/mysql_convert_table_format.1 +usr/share/man/man1/mysql_find_rows.1 +usr/share/man/man1/mysql_fix_extensions.1 +usr/share/man/man1/mysql_plugin.1 +usr/share/man/man1/mysql_secure_installation.1 +usr/share/man/man1/mysql_setpermission.1 +usr/share/man/man1/mysql_tzinfo_to_sql.1 +usr/share/man/man1/mysql_waitpid.1 +usr/share/man/man1/mysqlaccess.1 +usr/share/man/man1/mysqladmin.1 +usr/share/man/man1/mysqlbinlog.1 +usr/share/man/man1/mysqlcheck.1 +usr/share/man/man1/mysqldump.1 +usr/share/man/man1/mysqldumpslow.1 +usr/share/man/man1/mysqlhotcopy.1 +usr/share/man/man1/mysqlimport.1 +usr/share/man/man1/mysqlshow.1 +usr/share/man/man1/mysqlslap.1 diff --git a/debian/mariadb-client-compat.links b/debian/mariadb-client-compat.links new file mode 100644 index 00000000..a661ee26 --- /dev/null +++ b/debian/mariadb-client-compat.links @@ -0,0 +1,9 @@ +usr/bin/mariadb-check usr/bin/mysqlanalyze +usr/bin/mariadb-check usr/bin/mysqlcheck +usr/bin/mariadb-check usr/bin/mysqloptimize +usr/bin/mariadb-check usr/bin/mysqlrepair +usr/bin/mariadb-report usr/bin/mysqlreport +usr/share/man/man1/mariadb-check.1.gz usr/share/man/man1/mysqlanalyze.1.gz +usr/share/man/man1/mariadb-check.1.gz usr/share/man/man1/mysqloptimize.1.gz +usr/share/man/man1/mariadb-check.1.gz usr/share/man/man1/mysqlrepair.1.gz +usr/share/man/man1/mariadb-report.1.gz usr/share/man/man1/mysqlreport.1.gz diff --git a/debian/mariadb-client-core.install b/debian/mariadb-client-core.install index bcc3515a..ddb8015e 100644 --- a/debian/mariadb-client-core.install +++ b/debian/mariadb-client-core.install @@ -1,9 +1,6 @@ usr/bin/mariadb usr/bin/mariadb-check usr/bin/my_print_defaults -usr/bin/mysql usr/share/man/man1/mariadb-check.1 usr/share/man/man1/mariadb.1 usr/share/man/man1/my_print_defaults.1 -usr/share/man/man1/mysql.1 -usr/share/man/man1/mysqlcheck.1 diff --git a/debian/mariadb-client-core.links b/debian/mariadb-client-core.links index 5134dd81..77fc88f1 100644 --- a/debian/mariadb-client-core.links +++ b/debian/mariadb-client-core.links @@ -1 +1,2 @@ usr/bin/mariadb usr/bin/mysql +usr/share/man/man1/mariadb.1 usr/share/man/man1/mysql.1 diff --git a/debian/mariadb-client.install b/debian/mariadb-client.install index fba8d093..efc56b33 100644 --- a/debian/mariadb-client.install +++ b/debian/mariadb-client.install @@ -1,7 +1,7 @@ debian/additions/innotop/innotop usr/bin/ debian/additions/mariadb-report usr/bin/ debian/additions/mariadb.conf.d/50-client.cnf etc/mysql/mariadb.conf.d -debian/additions/mariadb.conf.d/50-mysql-clients.cnf etc/mysql/mariadb.conf.d +debian/additions/mariadb.conf.d/50-mariadb-clients.cnf etc/mysql/mariadb.conf.d debian/additions/mariadb.conf.d/60-galera.cnf etc/mysql/mariadb.conf.d usr/bin/mariadb-access usr/bin/mariadb-admin @@ -22,17 +22,6 @@ usr/bin/mariadb-slap usr/bin/mariadb-tzinfo-to-sql usr/bin/mariadb-waitpid usr/bin/msql2mysql -usr/bin/mysql_find_rows -usr/bin/mysql_fix_extensions -usr/bin/mysql_waitpid -usr/bin/mysqlaccess -usr/bin/mysqladmin -usr/bin/mysqlcheck -usr/bin/mysqldump -usr/bin/mysqldumpslow -usr/bin/mysqlimport -usr/bin/mysqlshow -usr/bin/mysqlslap usr/bin/mytop usr/bin/perror usr/bin/replace @@ -56,23 +45,6 @@ usr/share/man/man1/mariadb-slap.1 usr/share/man/man1/mariadb-tzinfo-to-sql.1 usr/share/man/man1/mariadb-waitpid.1 usr/share/man/man1/msql2mysql.1 -usr/share/man/man1/mysql_convert_table_format.1 -usr/share/man/man1/mysql_find_rows.1 -usr/share/man/man1/mysql_fix_extensions.1 -usr/share/man/man1/mysql_plugin.1 -usr/share/man/man1/mysql_secure_installation.1 -usr/share/man/man1/mysql_setpermission.1 -usr/share/man/man1/mysql_tzinfo_to_sql.1 -usr/share/man/man1/mysql_waitpid.1 -usr/share/man/man1/mysqlaccess.1 -usr/share/man/man1/mysqladmin.1 -usr/share/man/man1/mysqlbinlog.1 -usr/share/man/man1/mysqldump.1 -usr/share/man/man1/mysqldumpslow.1 -usr/share/man/man1/mysqlhotcopy.1 -usr/share/man/man1/mysqlimport.1 -usr/share/man/man1/mysqlshow.1 -usr/share/man/man1/mysqlslap.1 usr/share/man/man1/mytop.1 usr/share/man/man1/perror.1 usr/share/man/man1/replace.1 diff --git a/debian/mariadb-client.links b/debian/mariadb-client.links index 62e3651d..c65cb3d4 100644 --- a/debian/mariadb-client.links +++ b/debian/mariadb-client.links @@ -2,16 +2,7 @@ usr/bin/mariadb-check usr/bin/mariadb-analyze usr/bin/mariadb-check usr/bin/mariadb-optimize usr/bin/mariadb-check usr/bin/mariadb-repair usr/bin/mariadb-check usr/bin/mariadbcheck -usr/bin/mariadb-check usr/bin/mysqlanalyze -usr/bin/mariadb-check usr/bin/mysqlcheck -usr/bin/mariadb-check usr/bin/mysqloptimize -usr/bin/mariadb-check usr/bin/mysqlrepair -usr/bin/mariadb-report usr/bin/mysqlreport usr/share/man/man1/mariadb-check.1.gz usr/share/man/man1/mariadb-analyze.1.gz usr/share/man/man1/mariadb-check.1.gz usr/share/man/man1/mariadb-optimize.1.gz usr/share/man/man1/mariadb-check.1.gz usr/share/man/man1/mariadb-repair.1.gz usr/share/man/man1/mariadb-check.1.gz usr/share/man/man1/mariadbcheck.1.gz -usr/share/man/man1/mariadb-check.1.gz usr/share/man/man1/mysqlanalyze.1.gz -usr/share/man/man1/mariadb-check.1.gz usr/share/man/man1/mysqloptimize.1.gz -usr/share/man/man1/mariadb-check.1.gz usr/share/man/man1/mysqlrepair.1.gz -usr/share/man/man1/mariadb-report.1.gz usr/share/man/man1/mysqlreport.1.gz diff --git a/debian/mariadb-plugin-connect-jdbc.install b/debian/mariadb-plugin-connect-jdbc.install new file mode 100644 index 00000000..472796f4 --- /dev/null +++ b/debian/mariadb-plugin-connect-jdbc.install @@ -0,0 +1 @@ +usr/share/mariadb/JdbcInterface.jar diff --git a/debian/mariadb-plugin-mroonga.install b/debian/mariadb-plugin-mroonga.install index fedcf62e..a78f1db1 100644 --- a/debian/mariadb-plugin-mroonga.install +++ b/debian/mariadb-plugin-mroonga.install @@ -1,5 +1,5 @@ usr/lib/mysql/plugin/ha_mroonga.so -usr/share/mysql/mroonga/AUTHORS -usr/share/mysql/mroonga/COPYING -usr/share/mysql/mroonga/install.sql -usr/share/mysql/mroonga/uninstall.sql +usr/share/mariadb/mroonga/AUTHORS +usr/share/mariadb/mroonga/COPYING +usr/share/mariadb/mroonga/install.sql +usr/share/mariadb/mroonga/uninstall.sql diff --git a/debian/mariadb-plugin-mroonga.lintian-overrides b/debian/mariadb-plugin-mroonga.lintian-overrides index 7c8c1da7..b1b06132 100644 --- a/debian/mariadb-plugin-mroonga.lintian-overrides +++ b/debian/mariadb-plugin-mroonga.lintian-overrides @@ -2,4 +2,4 @@ spelling-error-in-binary nam name [usr/lib/mysql/plugin/ha_mroonga.so] spelling-error-in-binary tage stage [usr/lib/mysql/plugin/ha_mroonga.so] # Copyright information in debian/copyright, extra file unnecessary -extra-license-file [usr/share/mysql/mroonga/COPYING] +extra-license-file [usr/share/mariadb/mroonga/COPYING] diff --git a/debian/mariadb-plugin-mroonga.postinst b/debian/mariadb-plugin-mroonga.postinst index a4ac6ca9..71731ed6 100644 --- a/debian/mariadb-plugin-mroonga.postinst +++ b/debian/mariadb-plugin-mroonga.postinst @@ -3,7 +3,7 @@ set -e # Install Mroonga -mariadb --defaults-file=/etc/mysql/debian.cnf < /usr/share/mysql/mroonga/install.sql || true +mariadb --defaults-file=/etc/mysql/debian.cnf < /usr/share/mariadb/mroonga/install.sql || true # Always exit with success instead of leaving dpkg in a broken state diff --git a/debian/mariadb-plugin-mroonga.prerm b/debian/mariadb-plugin-mroonga.prerm index eed4f1ac..54cba1e7 100644 --- a/debian/mariadb-plugin-mroonga.prerm +++ b/debian/mariadb-plugin-mroonga.prerm @@ -3,7 +3,7 @@ set -e # Uninstall Mroonga -mariadb --defaults-file=/etc/mysql/debian.cnf < /usr/share/mysql/mroonga/uninstall.sql || true +mariadb --defaults-file=/etc/mysql/debian.cnf < /usr/share/mariadb/mroonga/uninstall.sql || true # Always exit with success instead of leaving dpkg in a broken state diff --git a/debian/mariadb-server-compat.install b/debian/mariadb-server-compat.install new file mode 100644 index 00000000..daf9a326 --- /dev/null +++ b/debian/mariadb-server-compat.install @@ -0,0 +1,6 @@ +usr/bin/mysqld_multi +usr/bin/mysqld_safe +usr/bin/mysqld_safe_helper +usr/share/man/man1/mysqld_multi.1 +usr/share/man/man1/mysqld_safe.1 +usr/share/man/man1/mysqld_safe_helper.1 diff --git a/debian/mariadb-server-core.install b/debian/mariadb-server-core.install index b90cb0a1..731ccd06 100644 --- a/debian/mariadb-server-core.install +++ b/debian/mariadb-server-core.install @@ -1,52 +1,47 @@ usr/bin/innochecksum usr/bin/mariadb-install-db usr/bin/mariadb-upgrade -usr/bin/mysql_install_db -usr/bin/mysql_upgrade usr/bin/resolveip usr/sbin/mariadbd -usr/sbin/mysqld usr/share/man/man1/innochecksum.1 usr/share/man/man1/mariadb-install-db.1 usr/share/man/man1/mariadb-upgrade.1 -usr/share/man/man1/mysql_install_db.1 -usr/share/man/man1/mysql_upgrade.1 usr/share/man/man1/resolveip.1 usr/share/man/man8/mariadbd.8 -usr/share/man/man8/mysqld.8 -usr/share/mysql/bulgarian -usr/share/mysql/charsets -usr/share/mysql/chinese -usr/share/mysql/czech -usr/share/mysql/danish -usr/share/mysql/dutch -usr/share/mysql/english -usr/share/mysql/estonian -usr/share/mysql/fill_help_tables.sql -usr/share/mysql/french -usr/share/mysql/georgian -usr/share/mysql/german -usr/share/mysql/greek -usr/share/mysql/hindi -usr/share/mysql/hungarian -usr/share/mysql/italian -usr/share/mysql/japanese -usr/share/mysql/korean -usr/share/mysql/maria_add_gis_sp_bootstrap.sql -usr/share/mysql/mysql_performance_tables.sql -usr/share/mysql/mysql_sys_schema.sql -usr/share/mysql/mysql_system_tables.sql -usr/share/mysql/mysql_system_tables_data.sql -usr/share/mysql/mysql_test_data_timezone.sql -usr/share/mysql/mysql_test_db.sql -usr/share/mysql/norwegian -usr/share/mysql/norwegian-ny -usr/share/mysql/polish -usr/share/mysql/portuguese -usr/share/mysql/romanian -usr/share/mysql/russian -usr/share/mysql/serbian -usr/share/mysql/slovak -usr/share/mysql/spanish -usr/share/mysql/swedish -usr/share/mysql/ukrainian +usr/share/mariadb/bulgarian +usr/share/mariadb/charsets +usr/share/mariadb/chinese +usr/share/mariadb/czech +usr/share/mariadb/danish +usr/share/mariadb/dutch +usr/share/mariadb/english +usr/share/mariadb/estonian +usr/share/mariadb/fill_help_tables.sql +usr/share/mariadb/french +usr/share/mariadb/georgian +usr/share/mariadb/german +usr/share/mariadb/greek +usr/share/mariadb/hindi +usr/share/mariadb/hungarian +usr/share/mariadb/italian +usr/share/mariadb/japanese +usr/share/mariadb/korean +usr/share/mariadb/maria_add_gis_sp_bootstrap.sql +usr/share/mariadb/mariadb_performance_tables.sql +usr/share/mariadb/mariadb_sys_schema.sql +usr/share/mariadb/mariadb_system_tables.sql +usr/share/mariadb/mariadb_system_tables_data.sql +usr/share/mariadb/mariadb_test_data_timezone.sql +usr/share/mariadb/mariadb_test_db.sql +usr/share/mariadb/norwegian +usr/share/mariadb/norwegian-ny +usr/share/mariadb/polish +usr/share/mariadb/portuguese +usr/share/mariadb/romanian +usr/share/mariadb/russian +usr/share/mariadb/serbian +usr/share/mariadb/slovak +usr/share/mariadb/spanish +usr/share/mariadb/swahili +usr/share/mariadb/swedish +usr/share/mariadb/ukrainian diff --git a/debian/mariadb-server-core.links b/debian/mariadb-server-core.links index c2be98f3..2729efd6 100644 --- a/debian/mariadb-server-core.links +++ b/debian/mariadb-server-core.links @@ -1,3 +1,6 @@ usr/bin/mariadb-install-db usr/bin/mysql_install_db usr/bin/mariadb-upgrade usr/bin/mysql_upgrade usr/sbin/mariadbd usr/sbin/mysqld +usr/share/man/man1/mariadb-install-db.1 usr/share/man/man1/mysql_install_db.1 +usr/share/man/man1/mariadb-upgrade.1 usr/share/man/man1/mysql_upgrade.1 +usr/share/man/man8/mariadbd.8 usr/share/man/man8/mysqld.8 diff --git a/debian/mariadb-server-core.lintian-overrides b/debian/mariadb-server-core.lintian-overrides index 8d999271..f8bf15f9 100644 --- a/debian/mariadb-server-core.lintian-overrides +++ b/debian/mariadb-server-core.lintian-overrides @@ -5,6 +5,6 @@ spelling-error-in-binary theres there's [usr/sbin/mariadbd] # False positive from Lintian, these strings are nowhere in test in source code spelling-error-in-binary AfE Safe [usr/sbin/mariadbd] # Valid reason for extra documentation in context in directory -package-contains-documentation-outside-usr-share-doc [usr/share/mysql/charsets/README] +package-contains-documentation-outside-usr-share-doc [usr/share/mariadb/charsets/README] # Man syntax needs to be fixed upstream groff-message troff:<standard input>:*: warning: macro 'an-trap' not defined [usr/share/man/*] diff --git a/debian/mariadb-server.README.Debian b/debian/mariadb-server.README.Debian index 6042249a..68726f8b 100644 --- a/debian/mariadb-server.README.Debian +++ b/debian/mariadb-server.README.Debian @@ -145,16 +145,16 @@ If your local Unix account is the one you want to have local super user access on your database with you can create the following account that will only work for the local Unix user connecting to the database locally. - sudo /usr/bin/mysql -e "GRANT ALL ON *.* TO '$USER'@'localhost' IDENTIFIED VIA unix_socket WITH GRANT OPTION" + sudo /usr/bin/mariadb -e "GRANT ALL ON *.* TO '$USER'@'localhost' IDENTIFIED VIA unix_socket WITH GRANT OPTION" To create a local machine account username=USERNAME with a password: - sudo /usr/bin/mysql -e "GRANT ALL ON *.* TO 'USERNAME'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION" + sudo /usr/bin/mariadb -e "GRANT ALL ON *.* TO 'USERNAME'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION" To create a USERNAME user with password 'password' admin user that can access the DB server over the network: - sudo /usr/bin/mysql -e "GRANT ALL ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION" + sudo /usr/bin/mariadb -e "GRANT ALL ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION" Scripts should run as a user who have the required grants and be identified via unix_socket. diff --git a/debian/mariadb-server.install b/debian/mariadb-server.install index 94fa75ea..42a18476 100755 --- a/debian/mariadb-server.install +++ b/debian/mariadb-server.install @@ -1,7 +1,7 @@ #!/usr/bin/dh-exec debian/additions/debian-start etc/mysql -debian/additions/debian-start.inc.sh usr/share/mysql -debian/additions/echo_stderr usr/share/mysql +debian/additions/debian-start.inc.sh usr/share/mariadb +debian/additions/echo_stderr usr/share/mariadb debian/additions/mariadb.conf.d/50-mysqld_safe.cnf etc/mysql/mariadb.conf.d debian/additions/mariadb.conf.d/50-server.cnf etc/mysql/mariadb.conf.d debian/additions/source_mariadb.py usr/share/apport/package-hooks @@ -33,16 +33,6 @@ usr/bin/myisam_ftdump usr/bin/myisamchk usr/bin/myisamlog usr/bin/myisampack -usr/bin/mysql_convert_table_format -usr/bin/mysql_plugin -usr/bin/mysql_secure_installation -usr/bin/mysql_setpermission -usr/bin/mysql_tzinfo_to_sql -usr/bin/mysqlbinlog -usr/bin/mysqld_multi -usr/bin/mysqld_safe -usr/bin/mysqld_safe_helper -usr/bin/mysqlhotcopy usr/bin/wsrep_sst_common usr/bin/wsrep_sst_backup usr/bin/wsrep_sst_mariabackup @@ -87,16 +77,12 @@ usr/share/man/man1/myisam_ftdump.1 usr/share/man/man1/myisamchk.1 usr/share/man/man1/myisamlog.1 usr/share/man/man1/myisampack.1 -usr/share/man/man1/mysqld_multi.1 -usr/share/man/man1/mysqld_safe.1 usr/share/man/man1/wsrep_sst_backup.1 -usr/share/man/man1/mysqld_safe_helper.1 usr/share/man/man1/wsrep_sst_common.1 usr/share/man/man1/wsrep_sst_mariabackup.1 usr/share/man/man1/wsrep_sst_mysqldump.1 usr/share/man/man1/wsrep_sst_rsync.1 usr/share/man/man1/wsrep_sst_rsync_wan.1 -usr/share/mysql/errmsg-utf8.txt -usr/share/mysql/mini-benchmark -usr/share/mysql/wsrep.cnf -usr/share/mysql/wsrep_notify +usr/share/mariadb/mini-benchmark +usr/share/mariadb/wsrep.cnf +usr/share/mariadb/wsrep_notify diff --git a/debian/mariadb-server.links b/debian/mariadb-server.links deleted file mode 100644 index 9cc3a436..00000000 --- a/debian/mariadb-server.links +++ /dev/null @@ -1,10 +0,0 @@ -usr/bin/mariadb-binlog usr/bin/mysqlbinlog -usr/bin/mariadb-convert-table-format usr/bin/mysql_convert_table_format -usr/bin/mariadb-hotcopy usr/bin/mysqlhotcopy -usr/bin/mariadb-plugin usr/bin/mysql_plugin -usr/bin/mariadb-secure-installation usr/bin/mysql_secure_installation -usr/bin/mariadb-setpermission usr/bin/mysql_setpermission -usr/bin/mariadb-tzinfo-to-sql usr/bin/mysql_tzinfo_to_sql -usr/bin/mariadbd-multi usr/bin/mysqld_multi -usr/bin/mariadbd-safe usr/bin/mysqld_safe -usr/bin/mariadbd-safe-helper usr/bin/mysqld_safe_helper diff --git a/debian/mariadb-server.lintian-overrides b/debian/mariadb-server.lintian-overrides index 587b983b..c5de18eb 100644 --- a/debian/mariadb-server.lintian-overrides +++ b/debian/mariadb-server.lintian-overrides @@ -6,8 +6,6 @@ spelling-error-in-binary thats that's [usr/bin/*] spelling-error-in-binary theres there's [usr/bin/*] # False positive from Lintian, these strings are nowhere in test in source code 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] # Man syntax needs to be fixed upstream groff-message troff:<standard input>:*: warning: macro 'an-trap' not defined [usr/share/man/*] # Most likely false positive diff --git a/debian/mariadb-server.mariadb.init b/debian/mariadb-server.mariadb.init index 6f44c7c4..aeffe89b 100644 --- a/debian/mariadb-server.mariadb.init +++ b/debian/mariadb-server.mariadb.init @@ -206,7 +206,7 @@ case "${1:-''}" in else ERROR_LOG_FILE="$(mktemp).err" echo # ensure newline - timeout --kill-after=20 10 /usr/bin/mysqld_safe "${@:2}" --log-error="$ERROR_LOG_FILE" + timeout --kill-after=20 10 /usr/bin/mariadbd-safe "${@:2}" --log-error="$ERROR_LOG_FILE" echo "Running '/etc/init.d/mariadb start' failed with error log:" cat "$ERROR_LOG_FILE" fi @@ -234,7 +234,7 @@ case "${1:-''}" in log_end_msg 1 [ "$VERBOSE" != "no" ] && log_failure_msg "Error: $shutdown_out" log_daemon_msg "Killing MariaDB database server by signal" "mariadbd" - killall -15 mariadbd + killall -15 mariadbd || killall -15 mysqld server_down= for _ in {1..600} do @@ -247,7 +247,7 @@ case "${1:-''}" in done if test -z "$server_down" then - killall -9 mariadbd + killall -9 mariadbd || killall -15 mysqld fi fi fi diff --git a/debian/mariadb-server.postinst b/debian/mariadb-server.postinst index 82732921..e472008a 100644 --- a/debian/mariadb-server.postinst +++ b/debian/mariadb-server.postinst @@ -60,7 +60,7 @@ case "$1" in fi fi - mysql_statedir=/usr/share/mysql + mysql_statedir=/usr/share/mariadb mysql_datadir=/var/lib/mysql mysql_logdir=/var/log/mysql mysql_cfgdir=/etc/mysql diff --git a/debian/mariadb-test-data.install b/debian/mariadb-test-data.install index 0f2f5f0a..a0cc352e 100644 --- a/debian/mariadb-test-data.install +++ b/debian/mariadb-test-data.install @@ -1,7 +1,7 @@ -debian/unstable-tests.* usr/share/mysql/mysql-test/ -usr/share/mysql/mysql-test/collections -usr/share/mysql/mysql-test/include -usr/share/mysql/mysql-test/main -usr/share/mysql/mysql-test/plugin -usr/share/mysql/mysql-test/std_data -usr/share/mysql/mysql-test/suite +debian/unstable-tests.* usr/share/mariadb/mariadb-test/ +usr/share/mariadb/mariadb-test/collections +usr/share/mariadb/mariadb-test/include +usr/share/mariadb/mariadb-test/main +usr/share/mariadb/mariadb-test/plugin +usr/share/mariadb/mariadb-test/std_data +usr/share/mariadb/mariadb-test/suite diff --git a/debian/mariadb-test-data.lintian-overrides b/debian/mariadb-test-data.lintian-overrides index 9557c03e..7175e148 100644 --- a/debian/mariadb-test-data.lintian-overrides +++ b/debian/mariadb-test-data.lintian-overrides @@ -1,24 +1,24 @@ # Intentional for test files -national-encoding [usr/share/mysql/mysql-test/*] +national-encoding [usr/share/mariadb/mariadb-test/*] # Extra test documentation files that really need to be kept in context in test directory -package-contains-documentation-outside-usr-share-doc [usr/share/mysql/mysql-test/*] +package-contains-documentation-outside-usr-share-doc [usr/share/mariadb/mariadb-test/*] # Intentional directory structure -repeated-path-segment auth_gssapi [usr/share/mysql/mysql-test/plugin/auth_gssapi/auth_gssapi/] -repeated-path-segment connect [usr/share/mysql/mysql-test/plugin/connect/connect/] -repeated-path-segment disks [usr/share/mysql/mysql-test/plugin/disks/disks/] -repeated-path-segment func_test [usr/share/mysql/mysql-test/plugin/func_test/func_test/] -repeated-path-segment metadata_lock_info [usr/share/mysql/mysql-test/plugin/metadata_lock_info/metadata_lock_info/] -repeated-path-segment mroonga [usr/share/mysql/mysql-test/plugin/mroonga/mroonga/] -repeated-path-segment mroonga [usr/share/mysql/mysql-test/plugin/mroonga/mroonga/include/mroonga/] -repeated-path-segment oqgraph [usr/share/mysql/mysql-test/plugin/oqgraph/oqgraph/] -repeated-path-segment query_response_time [usr/share/mysql/mysql-test/plugin/query_response_time/query_response_time/] -repeated-path-segment rocksdb [usr/share/mysql/mysql-test/plugin/rocksdb/rocksdb/] -repeated-path-segment sequence [usr/share/mysql/mysql-test/plugin/sequence/sequence/] -repeated-path-segment sphinx [usr/share/mysql/mysql-test/plugin/sphinx/sphinx/] -repeated-path-segment spider [usr/share/mysql/mysql-test/plugin/spider/spider/] -repeated-path-segment type_inet [usr/share/mysql/mysql-test/plugin/type_inet/type_inet/] -repeated-path-segment type_mysql_timestamp [usr/share/mysql/mysql-test/plugin/type_mysql_timestamp/type_mysql_timestamp/] -repeated-path-segment type_test [usr/share/mysql/mysql-test/plugin/type_test/type_test/] -repeated-path-segment type_uuid [usr/share/mysql/mysql-test/plugin/type_uuid/type_uuid/] -repeated-path-segment user_variables [usr/share/mysql/mysql-test/plugin/user_variables/user_variables/] -repeated-path-segment wsrep_info [usr/share/mysql/mysql-test/plugin/wsrep_info/wsrep_info/] +repeated-path-segment auth_gssapi [usr/share/mariadb/mariadb-test/plugin/auth_gssapi/auth_gssapi/] +repeated-path-segment connect [usr/share/mariadb/mariadb-test/plugin/connect/connect/] +repeated-path-segment disks [usr/share/mariadb/mariadb-test/plugin/disks/disks/] +repeated-path-segment func_test [usr/share/mariadb/mariadb-test/plugin/func_test/func_test/] +repeated-path-segment metadata_lock_info [usr/share/mariadb/mariadb-test/plugin/metadata_lock_info/metadata_lock_info/] +repeated-path-segment mroonga [usr/share/mariadb/mariadb-test/plugin/mroonga/mroonga/] +repeated-path-segment mroonga [usr/share/mariadb/mariadb-test/plugin/mroonga/mroonga/include/mroonga/] +repeated-path-segment oqgraph [usr/share/mariadb/mariadb-test/plugin/oqgraph/oqgraph/] +repeated-path-segment query_response_time [usr/share/mariadb/mariadb-test/plugin/query_response_time/query_response_time/] +repeated-path-segment rocksdb [usr/share/mariadb/mariadb-test/plugin/rocksdb/rocksdb/] +repeated-path-segment sequence [usr/share/mariadb/mariadb-test/plugin/sequence/sequence/] +repeated-path-segment sphinx [usr/share/mariadb/mariadb-test/plugin/sphinx/sphinx/] +repeated-path-segment spider [usr/share/mariadb/mariadb-test/plugin/spider/spider/] +repeated-path-segment type_inet [usr/share/mariadb/mariadb-test/plugin/type_inet/type_inet/] +repeated-path-segment type_mysql_timestamp [usr/share/mariadb/mariadb-test/plugin/type_mysql_timestamp/type_mysql_timestamp/] +repeated-path-segment type_test [usr/share/mariadb/mariadb-test/plugin/type_test/type_test/] +repeated-path-segment type_uuid [usr/share/mariadb/mariadb-test/plugin/type_uuid/type_uuid/] +repeated-path-segment user_variables [usr/share/mariadb/mariadb-test/plugin/user_variables/user_variables/] +repeated-path-segment wsrep_info [usr/share/mariadb/mariadb-test/plugin/wsrep_info/wsrep_info/] diff --git a/debian/mariadb-test.install b/debian/mariadb-test.install index b43e7822..06394495 100644 --- a/debian/mariadb-test.install +++ b/debian/mariadb-test.install @@ -1,12 +1,7 @@ usr/bin/mariadb-client-test -usr/bin/mariadb-client-test-embedded usr/bin/mariadb-test -usr/bin/mariadb-test-embedded usr/bin/mysql_client_test -usr/bin/mysql_client_test_embedded usr/bin/mysqltest -usr/bin/mysqltest_embedded -usr/bin/test-connect-t usr/lib/*/libmariadb3/plugin/auth_test_plugin.so usr/lib/*/libmariadb3/plugin/qa_auth_client.so usr/lib/*/libmariadb3/plugin/qa_auth_interface.so @@ -29,26 +24,22 @@ usr/lib/mysql/plugin/test_sql_service.so usr/lib/mysql/plugin/test_versioning.so usr/lib/mysql/plugin/type_mysql_timestamp.so usr/lib/mysql/plugin/type_test.so -usr/share/man/man1/mariadb-client-test-embedded.1 usr/share/man/man1/mariadb-client-test.1 -usr/share/man/man1/mariadb-test-embedded.1 usr/share/man/man1/mariadb-test.1 usr/share/man/man1/mysql-test-run.pl.1 usr/share/man/man1/mysql_client_test.1 -usr/share/man/man1/mysql_client_test_embedded.1 usr/share/man/man1/mysqltest.1 -usr/share/man/man1/mysqltest_embedded.1 -usr/share/mysql/mysql-test/README -usr/share/mysql/mysql-test/README-gcov -usr/share/mysql/mysql-test/README.stress -usr/share/mysql/mysql-test/dgcov.pl -usr/share/mysql/mysql-test/lib -usr/share/mysql/mysql-test/mariadb-stress-test.pl -usr/share/mysql/mysql-test/mariadb-test-run -usr/share/mysql/mysql-test/mariadb-test-run.pl -usr/share/mysql/mysql-test/mtr -usr/share/mysql/mysql-test/mysql-test-run -usr/share/mysql/mysql-test/mysql-test-run.pl -usr/share/mysql/mysql-test/purify.supp -usr/share/mysql/mysql-test/suite.pm -usr/share/mysql/mysql-test/valgrind.supp +usr/share/mariadb/mariadb-test/README +usr/share/mariadb/mariadb-test/README-gcov +usr/share/mariadb/mariadb-test/README.stress +usr/share/mariadb/mariadb-test/dgcov.pl +usr/share/mariadb/mariadb-test/lib +usr/share/mariadb/mariadb-test/mariadb-stress-test.pl +usr/share/mariadb/mariadb-test/mariadb-test-run +usr/share/mariadb/mariadb-test/mariadb-test-run.pl +usr/share/mariadb/mariadb-test/mtr +usr/share/mariadb/mariadb-test/mysql-test-run +usr/share/mariadb/mariadb-test/mysql-test-run.pl +usr/share/mariadb/mariadb-test/purify.supp +usr/share/mariadb/mariadb-test/suite.pm +usr/share/mariadb/mariadb-test/valgrind.supp diff --git a/debian/mariadb-test.lintian-overrides b/debian/mariadb-test.lintian-overrides index 372f8d90..09c4ddcc 100644 --- a/debian/mariadb-test.lintian-overrides +++ b/debian/mariadb-test.lintian-overrides @@ -1,14 +1,11 @@ # 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] -# 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/*] -spelling-error-in-binary theres there's [usr/bin/*] -# False positive from Lintian, these strings are nowhere in test in source code -spelling-error-in-binary AfE Safe [usr/bin/*] +arch-dependent-file-in-usr-share [usr/share/mariadb/mariadb-test/lib/My/SafeProcess/my_safe_process] +arch-dependent-file-in-usr-share [usr/share/mariadb/mariadb-test/lib/My/SafeProcess/wsrep_check_version] +# Use older Lintian syntax to satisfy ftp queue scanner +arch-dependent-file-in-usr-share usr/share/mariadb/mariadb-test/lib/My/SafeProcess/my_safe_process +arch-dependent-file-in-usr-share usr/share/mariadb/mariadb-test/lib/My/SafeProcess/wsrep_check_version # Valid reason for documentation in context in directory -package-contains-documentation-outside-usr-share-doc [usr/share/mysql/mysql-test/README*] +package-contains-documentation-outside-usr-share-doc [usr/share/mariadb/mariadb-test/README*] # Test plugins intentionally not fully featured shared-library-lacks-prerequisites [usr/lib/mysql/plugin/auth_0x0100.so] shared-library-lacks-prerequisites [usr/lib/mysql/plugin/debug_key_management.so] @@ -16,5 +13,3 @@ shared-library-lacks-prerequisites [usr/lib/mysql/plugin/test_sql_service.so] # The file mysql-test-run.pl is a symlink for mariadb-test-run.pl, which does # not have a man page, so the man page is indeed used and not a spare one spare-manual-page [usr/share/man/man1/mysql-test-run.pl.1.gz] -# Text script, should be moved to another path -no-manual-page [usr/bin/test-connect-t] diff --git a/debian/not-installed b/debian/not-installed index 50ac78fd..5bae6b4f 100644 --- a/debian/not-installed +++ b/debian/not-installed @@ -5,9 +5,7 @@ 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/ -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 usr/bin/sst_dump # Use the one from rocksdb-tools package usr/lib/*/libdbbc.a # ColumnStore header file usr/lib/*/libidbboot.a # ColumnStore header file @@ -16,43 +14,43 @@ usr/lib/*/libwe_xml.a # ColumnStore header file usr/lib/sysusers.d/mariadb.conf # Not used (yet) in Debian systemd usr/lib/tmpfiles.d/mariadb.conf # Not used (yet) in Debian systemd usr/sbin/rcmysql -usr/share/doc/mariadb-server/COPYING (related file: "debian/tmp/usr/share/mysql/mroonga/COPYING") +usr/share/doc/mariadb-server/COPYING (related file: "debian/tmp/usr/share/mariadb/mroonga/COPYING") usr/share/doc/mariadb-server/CREDITS usr/share/doc/mariadb-server/INSTALL-BINARY -usr/share/doc/mariadb-server/README.md usr/share/doc/mariadb-server/README-wsrep +usr/share/doc/mariadb-server/README.md usr/share/doc/mariadb-server/THIRDPARTY -usr/share/groonga/COPYING usr/share/groonga-normalizer-mysql/lgpl-2.0.txt usr/share/groonga-normalizer-mysql/README.md +usr/share/groonga/COPYING usr/share/groonga/README.md -usr/share/man/man1/mariadb-embedded.1 # Shipping the embedded server in distro packaging does not make sense usr/share/man/man1/my_safe_process.1 +usr/share/man/man1/mysql-stress-test.pl.1 usr/share/man/man1/mysql-test-run.pl.1 # Spare manual page, should be deleted upstream -usr/share/man/man1/mysql_embedded.1 # Symlink to mariadb-embedded.1 which is intentionally not included usr/share/man/man1/mysql.server.1 -usr/share/man/man1/mysql-stress-test.pl.1 -usr/share/mysql/binary-configure -usr/share/mysql/JavaWrappers.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless -usr/share/mysql/JdbcInterface.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless -usr/share/mysql/mariadb.logrotate -usr/share/mysql/magic -usr/share/mysql/maria_add_gis_sp.sql # mariadb-server-core.install has *_bootstrap.sql -usr/share/mysql/mysqld_multi.server -usr/share/mysql/mysql.server # Debian packaging uses mariadb-server.mariadb.init -usr/share/mysql/mysql-test/asan.supp -usr/share/mysql/mysql-test/lsan.supp -usr/share/mysql/policy/apparmor/README # In MariaDB we don't want to use AppArmor at the moment -usr/share/mysql/policy/apparmor/usr.sbin.mysqld # In MariaDB we don't want to use AppArmor at the moment -usr/share/mysql/policy/apparmor/usr.sbin.mysqld.local # In MariaDB we don't want to use AppArmor at the moment -usr/share/mysql/policy/selinux/mariadb-server.fc # In MariaDB we don't want to use SELinux at the moment -usr/share/mysql/policy/selinux/mariadb-server.te # In MariaDB we don't want to use SELinux at the moment -usr/share/mysql/policy/selinux/mariadb.te # In MariaDB we don't want to use SELinux at the moment -usr/share/mysql/policy/selinux/README # In MariaDB we don't want to use SELinux at the moment -usr/share/mysql/systemd/mariadb-extra@.socket # Installed by rules file -usr/share/mysql/systemd/mariadb.service # Installed by rules file -usr/share/mysql/systemd/mariadb@.service # Installed by rules file -usr/share/mysql/systemd/mariadb@.socket # Installed by rules file -usr/share/mysql/systemd/mysqld.service # Installed by rules file -usr/share/mysql/systemd/mysql.service # Installed by rules file -usr/share/mysql/systemd/use_galera_new_cluster.conf +usr/share/mariadb/binary-configure +usr/share/mariadb/JavaWrappers.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless +usr/share/mariadb/JdbcInterface.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless +usr/share/mariadb/magic +usr/share/mariadb/maria_add_gis_sp.sql # mariadb-server-core.install has *_bootstrap.sql +usr/share/mariadb/mariadb-test/asan.supp +usr/share/mariadb/mariadb-test/lsan.supp +usr/share/mariadb/mariadb.logrotate +usr/share/mariadb/Mongo2.jar +usr/share/mariadb/Mongo3.jar +usr/share/mariadb/mysql.server # Debian packaging uses mariadb-server.mariadb.init +usr/share/mariadb/mysqld_multi.server +usr/share/mariadb/policy/apparmor/README # In MariaDB we don't want to use AppArmor at the moment +usr/share/mariadb/policy/apparmor/usr.sbin.mysqld # In MariaDB we don't want to use AppArmor at the moment +usr/share/mariadb/policy/apparmor/usr.sbin.mysqld.local # In MariaDB we don't want to use AppArmor at the moment +usr/share/mariadb/policy/selinux/mariadb-server.fc # In MariaDB we don't want to use SELinux at the moment +usr/share/mariadb/policy/selinux/mariadb-server.te # In MariaDB we don't want to use SELinux at the moment +usr/share/mariadb/policy/selinux/mariadb.te # In MariaDB we don't want to use SELinux at the moment +usr/share/mariadb/policy/selinux/README # In MariaDB we don't want to use SELinux at the moment +usr/share/mariadb/systemd/mariadb-extra@.socket # Installed by rules file +usr/share/mariadb/systemd/mariadb.service # Installed by rules file +usr/share/mariadb/systemd/mariadb@.service # Installed by rules file +usr/share/mariadb/systemd/mariadb@.socket # Installed by rules file +usr/share/mariadb/systemd/mysql.service # Installed by rules file +usr/share/mariadb/systemd/mysqld.service # Installed by rules file +usr/share/mariadb/systemd/use_galera_new_cluster.conf diff --git a/debian/patches/fix-spelling-mariadb.patch b/debian/patches/fix-spelling-mariadb.patch index 5d5265cb..b5695be5 100644 --- a/debian/patches/fix-spelling-mariadb.patch +++ b/debian/patches/fix-spelling-mariadb.patch @@ -45,7 +45,7 @@ Subject: [PATCH] Fix misc spelling in MariaDB Server repository in milliseconds (default is 1 second) */ ulint xtrabackup_log_copy_interval = 1000; static ulong max_buf_pool_modified_pct; -@@ -1597,11 +1597,11 @@ struct my_option xb_client_options[]= { +@@ -1600,11 +1600,11 @@ struct my_option xb_client_options[]= { GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"rsync", OPT_RSYNC, @@ -59,7 +59,7 @@ Subject: [PATCH] Fix misc spelling in MariaDB Server repository &ignored_option, &ignored_option, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"force-non-empty-directories", OPT_FORCE_NON_EMPTY_DIRS, -@@ -1729,7 +1729,7 @@ struct my_option xb_client_options[]= { +@@ -1732,7 +1732,7 @@ struct my_option xb_client_options[]= { {"startup-wait-timeout", OPT_LOCK_WAIT_TIMEOUT, "This option specifies time in seconds that mariadb-backup should wait for " "BACKUP STAGE START to complete. BACKUP STAGE START has to wait until all " @@ -68,7 +68,7 @@ Subject: [PATCH] Fix misc spelling in MariaDB Server repository "If there are still such queries when the timeout expires, mariadb-backup " "terminates with an error. Default is 0, in which case mariadb-backup waits " "indefinitely for BACKUP STAGE START to finish", -@@ -5622,7 +5622,7 @@ void CorruptedPages::backup_fix_ddl(ds_c +@@ -5642,7 +5642,7 @@ void CorruptedPages::backup_fix_ddl(ds_c } /* Mariabackup doesn't detect any FILE_OP for the deferred @@ -88,3 +88,34 @@ Subject: [PATCH] Fix misc spelling in MariaDB Server repository # extra_args="" +--- a/sql/opt_subselect.cc ++++ b/sql/opt_subselect.cc +@@ -6886,7 +6886,7 @@ bool JOIN::choose_subquery_plan(table_ma + add("rows", inner_record_count_1). + add("materialization_cost", materialize_strategy_cost). + add("in_exist_cost", in_exists_strategy_cost). +- add("choosen", strategy); ++ add("chosen", strategy); + } + + DBUG_PRINT("info", +@@ -6924,7 +6924,7 @@ bool JOIN::choose_subquery_plan(table_ma + { + Json_writer_object trace_wrapper(thd); + Json_writer_object trace_subquery(thd, "subquery_plan_revert"); +- trace_subquery.add("choosen", "in_to_exists"); ++ trace_subquery.add("chosen", "in_to_exists"); + } + } + +--- a/sql/sql_select.cc ++++ b/sql/sql_select.cc +@@ -14670,7 +14670,7 @@ void JOIN::drop_unused_derived_keys() + } + /* + We dropped all keys except the chosen one and unique keys. +- The choosen one is stored as the first key (number 0). ++ The chosen one is stored as the first key (number 0). + */ + tab->ref.key= 0; + } diff --git a/debian/patches/startup-message.patch b/debian/patches/startup-message.patch index 6b8bbce7..5c4994a4 100644 --- a/debian/patches/startup-message.patch +++ b/debian/patches/startup-message.patch @@ -27,7 +27,7 @@ Server output if build in git directory: --- a/client/mysql.cc +++ b/client/mysql.cc -@@ -1328,6 +1328,9 @@ int main(int argc,char *argv[]) +@@ -1333,6 +1333,9 @@ int main(int argc,char *argv[]) mysql_thread_id(&mysql), server_version_string(&mysql)); put_info((char*) glob_buffer.ptr(),INFO_INFO); put_info(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000"), INFO_INFO); @@ -39,7 +39,7 @@ Server output if build in git directory: #ifdef HAVE_READLINE --- a/sql/mysqld.cc +++ b/sql/mysqld.cc -@@ -4985,12 +4985,21 @@ static int init_server_components() +@@ -4932,12 +4932,21 @@ static int init_server_components() my_sleep_for_space= mariadb_sleep_for_space; /* diff --git a/debian/rules b/debian/rules index 94eb814f..810f8b08 100755 --- a/debian/rules +++ b/debian/rules @@ -123,6 +123,7 @@ endif -DWITH_URING=ON \ -DWITH_INNODB_SNAPPY=ON \ -DHAVE_SYSTEM_LIBFMT_EXITCODE=0 \ + -DWITH_EMBEDDED_SERVER=OFF \ -DDEB=$(DEB_VENDOR) # This is needed, otherwise 'make test' will run before binaries have been built @@ -166,12 +167,12 @@ override_dh_auto_install: cd $(BUILDDIR) && $(MAKE) install DESTDIR=$(TMP) > /dev/null # 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 + grep --quiet "Package: mariadb-test" debian/control || rm -rf $(TMP)/usr/share/mariadb/mariadb-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 + rm -rf $(TMP)/usr/share/mariadb/mariadb-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 diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml index f699166c..09788bc6 100644 --- a/debian/salsa-ci.yml +++ b/debian/salsa-ci.yml @@ -7,7 +7,11 @@ include: # Override Salsa-CI with MariaDB specific variations variables: BUILT_PACKAGES: "libmariadb-dev libmariadb-dev-compat libmariadb3 +<<<<<<< HEAD libmariadbd19 libmariadbd-dev mariadb-common mariadb-client-core +======= + mariadb-common mariadb-client-core +>>>>>>> a4925811 (Adding debian version 1:11.4.2-1.) 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 @@ -98,6 +102,7 @@ packaging-fix-checks: except: variables: - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + allow_failure: true # 'debputy lint' is in active development and failures can be false # 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. @@ -180,10 +185,15 @@ blhc: mysql --table -e "SHOW PLUGINS;" mysql .test-enable-sid-repos: &test-enable-sid-repos + - apt-get install -qq --yes --no-install-recommends ca-certificates curl + - curl -sS -O https://snapshot.debian.org/archive/debian/20240531T083821Z/pool/main/g/glibc/libc6_2.38-11_amd64.deb # 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 + - apt-get -qq install --no-install-recommends --yes ./libc6_2.38-11_amd64.deb || export APT_STATUS="failed" + # Ensure upgrades past 2.38-11 are blocked so + - apt-mark hold libc6 # 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 @@ -239,9 +249,13 @@ blhc: .test-install-all-libs: &test-install-all-libs - *test-enable-artifacts-repo - - apt-get install -yq --no-install-recommends libmariadb-dev-compat libmariadbd-dev + - apt-get install -yq --no-install-recommends libmariadb-dev-compat # Installs 31 packages, including: +<<<<<<< HEAD # libmariadb3 libmariadb-dev libmariadb-dev-compat libmariadbd19 libmariadbd-dev +======= + # libmariadb3 libmariadb-dev libmariadb-dev-compat +>>>>>>> a4925811 (Adding debian version 1:11.4.2-1.) .test-full-upgrade-libs: &test-full-upgrade-libs - *test-enable-artifacts-repo @@ -250,7 +264,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" + dpkg -l | grep -e "mariadb-server.*11\.4" 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 @@ -297,7 +311,7 @@ blhc: return 0; } EOF - apt-get install -qq --yes ./*.deb # Server must be installed for client to connect + apt-get install -q --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 @@ -326,17 +340,16 @@ blhc: { MYSQL h; // Constants refer to server version - test_if_starts_with("1011", to_string(MARIADB_VERSION_ID), "MARIADB_VERSION_ID"); - test_if_starts_with("1011", to_string(MYSQL_VERSION_ID), "MYSQL_VERSION_ID"); + test_if_starts_with("1104", to_string(MARIADB_VERSION_ID), "MARIADB_VERSION_ID"); + test_if_starts_with("1104", to_string(MYSQL_VERSION_ID), "MYSQL_VERSION_ID"); // Client ABI returns connector version - test_if_starts_with("303", to_string(mysql_get_client_version()), "mysql_get_client_version()"); - test_if_starts_with("3.3", mysql_get_client_info(), "mysql_get_client_info()"); + test_if_starts_with("304", to_string(mysql_get_client_version()), "mysql_get_client_version()"); + test_if_starts_with("3.4", mysql_get_client_info(), "mysql_get_client_info()"); return 0; } EOF g++ b1031863.cpp -l mysqlclient && ./a.out - .salsa-ci-template-for-mariadb: stage: test needs: @@ -638,7 +651,7 @@ test basic features: password=asdf234 protocol=tcp EOF - export CERT_PATH=/usr/share/mysql/mysql-test/std_data + export CERT_PATH=/usr/share/mariadb/mariadb-test/std_data openssl verify -CAfile $CERT_PATH/cacert.pem $CERT_PATH/server-cert.pem openssl x509 -subject -issuer -noout -in $CERT_PATH/cacert.pem openssl x509 -subject -issuer -noout -in $CERT_PATH/server-cert.pem @@ -709,11 +722,15 @@ libmysql* to libmariadb* upgrade: - apt-get install -qq --yes libmariadb-dev-compat - pkg-config --cflags mysqlclient # mysqlclient.pc from compat package - pkg-config --list-all +<<<<<<< HEAD - apt-get install -qq --yes libmariadbd19 - pkg-config --list-all - apt-get install -qq --yes libmariadbd-dev - pkg-config --list-all - apt-get install -qq --yes default-libmysqlclient-dev default-libmysqld-dev +======= + - apt-get install -qq --yes default-libmysqlclient-dev +>>>>>>> a4925811 (Adding debian version 1:11.4.2-1.) - *test-verify-libs default-libmysqlclient-dev upgrade: @@ -721,7 +738,7 @@ default-libmysqlclient-dev upgrade: stage: upgrade MariaDB script: - *test-prepare-container - - apt-get install -qq --yes pkg-config default-libmysqlclient-dev default-libmysqld-dev + - apt-get install -qq --yes pkg-config default-libmysqlclient-dev - pkg-config --list-all - *test-full-upgrade-libs - *test-verify-libs @@ -735,6 +752,8 @@ default-libmysqlclient-dev and Bookworm upgrade: - apt-get install -qq --yes pkg-config default-libmysqlclient-dev - pkg-config --list-all - *test-enable-sid-repos + # Must be reinstalled as libc6 upgrade removes them: + - apt-get install -qq --yes pkg-config default-libmysqlclient-dev - *test-full-upgrade-libs - *test-verify-libs @@ -747,6 +766,14 @@ default-libmysqlclient-dev and Bullseye upgrade: - apt-get install -qq --yes pkg-config default-libmysqlclient-dev - pkg-config --list-all - *test-enable-sid-repos + # Don't use latest libc6-dev as trying to install it errors on: + # The current installation does not have a merged-/usr layout. + # This is unsupported and unpacking libc6 would break the system. + - curl -sS -O https://snapshot.debian.org/archive/debian/20240531T083821Z/pool/main/g/glibc/libc6-dev_2.38-11_amd64.deb + - curl -sS -O https://snapshot.debian.org/archive/debian/20240531T083821Z/pool/main/g/glibc/libc-dev-bin_2.38-11_amd64.deb + - apt-get -qq install --no-install-recommends --yes --allow-downgrades ./libc6-dev_2.38-11_amd64.deb ./libc-dev-bin_2.38-11_amd64.deb + # Must be reinstalled as libc6 upgrade removes them: + - apt-get install -qq --yes pkg-config default-libmysqlclient-dev # Due to usrmerge, full-upgrade from Bullseye to Trixie or newer cannot work - *test-install-all-libs - *test-verify-libs @@ -840,23 +867,36 @@ mysql-community-cluster-8.0 from MySQL.com with Bookworm upgrade: - sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server - *test-verify-final -mariadb.org-10.11 upgrade: +mariadb.org-11.4 upgrade: extends: .salsa-ci-template-for-mariadb-upgrade stage: upgrade MariaDB variant variables: - MARIADB_VERSION: "10.11" + MARIADB_VERSION: "11.4" script: - 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 -qq --yes --allow-downgrades ./*.deb + # Force downgrades so our version installs on top of upstream revision, e.g. 1:11.4.2-1 vs 1:11.4.2+mariadb~debsid + - apt-get install -q --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 - service mariadb status # There is no init.d/mysql in MariaDB 10.5+ - *test-verify-final +mariadb.org-10.11 upgrade: + extends: .salsa-ci-template-for-mariadb-upgrade + stage: upgrade MariaDB variant + variables: + MARIADB_VERSION: "10.11" + script: + # this should not use Sid to begin with + - apt-get install -qq --yes mariadb-server=1:10.11.8+maria~debsid mariadb-client=1:10.11.8+maria~debsid + - *test-verify-initial + - *test-full-upgrade + - service mariadb status # There is no init.d/mysql in MariaDB 10.5+ + - *test-verify-final + mariadb.org-10.10 upgrade: extends: .salsa-ci-template-for-mariadb-upgrade stage: upgrade MariaDB variant @@ -915,7 +955,7 @@ 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 -qq --yes 'mariadb*' libmariadb3 'libmariadb-*' 'libmariadbd*' + # - apt-get install -qq --yes 'mariadb*' libmariadb3 'libmariadb-*' - apt-get install -qq --yes mariadb-server-10.6 - *test-verify-initial - *test-install-all diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides index edf48ebc..0bdf3905 100644 --- a/debian/source/lintian-overrides +++ b/debian/source/lintian-overrides @@ -46,7 +46,7 @@ very-long-line-length-in-source-file * [mysql-test/std_data/Moscow_leap:*] very-long-line-length-in-source-file * [mysql-test/suite/parts/r/*.out:*] # SQL source file that has very long inserts/selects very-long-line-length-in-source-file * [scripts/fill_help_tables.sql:*] -very-long-line-length-in-source-file * [scripts/mysql_system_tables.sql:*] +very-long-line-length-in-source-file * [scripts/mariadb_system_tables.sql:*] # Machine formatted HTML very-long-line-length-in-source-file * [sql/share/charsets/languages.html:*] very-long-line-length-in-source-file * [sql/share/errmsg-utf8.txt:*] @@ -58,12 +58,12 @@ very-long-line-length-in-source-file * [storage/columnstore/columnstore/.drone.j very-long-line-length-in-source-file * [storage/columnstore/columnstore/*.xmi:*] very-long-line-length-in-source-file * [storage/columnstore/columnstore/CMakeLists.txt:*] very-long-line-length-in-source-file * [storage/columnstore/columnstore/dbcon/doc/q19_plan.txt:*] -very-long-line-length-in-source-file * [storage/columnstore/columnstore/mysql-test/columnstore/csinternal/include/autopilot_create_datatypetestm_tables.inc:*] -very-long-line-length-in-source-file * [storage/columnstore/columnstore/mysql-test/columnstore/csinternal/include/autopilot_create_datatypeupdate_table.inc:*] +very-long-line-length-in-source-file * [storage/columnstore/columnstore/mysql-test/columnstore/include/autopilot_create_datatypeupdate_table.inc:*] +very-long-line-length-in-source-file * [storage/columnstore/columnstore/mysql-test/columnstore/include/autopilot_create_datatypetestm_tables.inc:*] very-long-line-length-in-source-file * [storage/columnstore/columnstore/primitives/linux-port/dictblock.cdf:*] very-long-line-length-in-source-file * [storage/columnstore/columnstore/storage-manager/test_data/*:*] +very-long-line-length-in-source-file * [storage/columnstore/columnstore/utils/json/json.hpp:*] very-long-line-length-in-source-file * [storage/columnstore/columnstore/utils/udfsdk/docs/source/reference/mcsv1Context.rst:*] -very-long-line-length-in-source-file * [storage/columnstore/columnstore/utils/winport/win_setup_mysql_part1.sql:*] # Minified CSS files. These appear in several places very-long-line-length-in-source-file * [*badge_only.css:*] very-long-line-length-in-source-file * [*theme.css:*] @@ -81,12 +81,11 @@ source-contains-autogenerated-visual-c++-file [extra/wolfssl/wolfssl/IDE/WIN10/r source-contains-autogenerated-visual-c++-file [extra/wolfssl/wolfssl/IDE/WIN10/wolfssl-fips.rc] source-contains-autogenerated-visual-c++-file [extra/wolfssl/wolfssl/resource.h] source-contains-autogenerated-visual-c++-file [storage/columnstore/columnstore/*.h] -source-contains-autogenerated-visual-c++-file [storage/columnstore/columnstore/*.rc] source-contains-autogenerated-visual-c++-file [win/upgrade_wizard/resource.h] source-contains-autogenerated-visual-c++-file [win/upgrade_wizard/upgrade.rc] # Known cases, pending to be fixed upstream very-long-line-length-in-source-file * [libmariadb/benchmark/main-benchmark.cc:*] -very-long-line-length-in-source-file * [man/mysql.1:*] +very-long-line-length-in-source-file * [man/mariadb.1:*] very-long-line-length-in-source-file * [scripts/msql2mysql.sh:*] very-long-line-length-in-source-file * [scripts/wsrep_sst_mysqldump.sh:*] very-long-line-length-in-source-file * [sql-bench/bench-init.pl.sh:*] diff --git a/debian/tests/configuration-tracing b/debian/tests/configuration-tracing index fc6dbbd1..5d686190 100755 --- a/debian/tests/configuration-tracing +++ b/debian/tests/configuration-tracing @@ -89,7 +89,13 @@ trace() { echo echo "If the change is intentional, update the debian/tests/traces to match" echo "the new values and document change to users in mariadb-server.NEWS" - exit 1 + + if [ -n "$ERRORS" ] + then + ERRORS="$ERRORS, $TRACE_NAME" + else + ERRORS="$TRACE_NAME" + fi fi } @@ -98,6 +104,8 @@ cd debian/tests/traces || exit 1 set -e +ERRORS="" + # Dump out what parameters mariadb would be called with by default trace /usr/bin/mariadb --print-defaults @@ -109,3 +117,10 @@ trace /usr/sbin/mariadbd --print-defaults # Dump out all help texts, server variables and their default values trace /usr/sbin/mariadbd --verbose --help + +# Emit non-zero exit code if there was errors +if [ -n "$ERRORS" ] +then + echo "Error: mismatch in $ERRORS" + exit 1 +fi diff --git a/debian/tests/smoke b/debian/tests/smoke index 5c4facbb..06227bdf 100644 --- a/debian/tests/smoke +++ b/debian/tests/smoke @@ -45,29 +45,29 @@ else systemctl restart mariadb fi -mysql <<EOT +mariadb <<EOT CREATE DATABASE testdatabase; CREATE USER 'testuser'@'localhost' identified by 'testpassword'; GRANT ALL ON testdatabase.* TO 'testuser'@'localhost'; EOT -mysql testdatabase <<EOT +mariadb testdatabase <<EOT CREATE TABLE foo (bar INTEGER); INSERT INTO foo (bar) VALUES (41); EOT -result=$(echo 'SELECT bar+1 FROM foo;'|mysql --batch --skip-column-names --user=testuser --password=testpassword testdatabase) +result=$(echo 'SELECT bar+1 FROM foo;' | mariadb --batch --skip-column-names --user=testuser --password=testpassword testdatabase) if [ "$result" != "42" ] then echo "Unexpected result" >&2 exit 1 fi -mysql --user=testuser --password=testpassword testdatabase <<EOT +mariadb --user=testuser --password=testpassword testdatabase <<EOT DROP TABLE foo; EOT -mysql <<EOT +mariadb <<EOT DROP DATABASE testdatabase; DROP USER 'testuser'@'localhost'; EOT diff --git a/debian/tests/traces/mariadb-verbose-help.expected b/debian/tests/traces/mariadb-verbose-help.expected index 2c81bd35..abf004ae 100644 --- a/debian/tests/traces/mariadb-verbose-help.expected +++ b/debian/tests/traces/mariadb-verbose-help.expected @@ -130,6 +130,7 @@ The following specify which files/extra groups are read (specified before remain (pre-4.1.1) protocol. --select-limit=# Automatic limit for SELECT when using --safe-updates. --server-arg=name Send embedded server this as a parameter. + --show-query-costs Show query cost after every statement. --show-warnings Show warnings after every statement. --sigint-ignore Ignore SIGINT (CTRL-C). -s, --silent Be more silent. Print results with a tab as separator, @@ -147,10 +148,13 @@ The following specify which files/extra groups are read (specified before remain --ssl-crl=name Certificate revocation list (implies --ssl). --ssl-crlpath=name Certificate revocation list path (implies --ssl). --tls-version=name TLS protocol version for secure connection. + --ssl-fp=name Server certificate fingerprint (implies --ssl). + --ssl-fplist=name File with accepted server certificate fingerprints, one + per line (implies --ssl). --ssl-verify-server-cert - Verify server's "Common Name" in its cert against - hostname used when connecting. This option is disabled by - default. + Verify server's certificate to prevent man-in-the-middle + attacks + (Defaults to on; use --skip-ssl-verify-server-cert to disable.) -t, --table Output in table format. --tee=name Append everything into outfile. See interactive help (\h) also. Does not work in batch mode. Disable with @@ -209,6 +213,7 @@ i-am-a-dummy FALSE sandbox FALSE secure-auth FALSE select-limit 1000 +show-query-costs FALSE show-warnings FALSE sigint-ignore FALSE socket /run/mysqld/mysqld.sock @@ -221,7 +226,9 @@ ssl-key (No default value) ssl-crl (No default value) ssl-crlpath (No default value) tls-version (No default value) -ssl-verify-server-cert FALSE +ssl-fp (No default value) +ssl-fplist (No default value) +ssl-verify-server-cert TRUE table FALSE unbuffered FALSE user (No default value) diff --git a/debian/tests/traces/mariadbd-print-defaults.expected b/debian/tests/traces/mariadbd-print-defaults.expected index b03f2573..829414a5 100644 --- a/debian/tests/traces/mariadbd-print-defaults.expected +++ b/debian/tests/traces/mariadbd-print-defaults.expected @@ -1,2 +1,2 @@ /usr/sbin/mariadbd would have been started with the following arguments: ---socket=/run/mysqld/mysqld.sock --pid-file=/run/mysqld/mysqld.pid --basedir=/usr --bind-address=127.0.0.1 --expire_logs_days=10 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci +--socket=/run/mysqld/mysqld.sock --pid-file=/run/mysqld/mysqld.pid --basedir=/usr --bind-address=127.0.0.1 --expire_logs_days=10 --character-set-server=utf8mb4 --character-set-collations=utf8mb4=uca1400_ai_ci diff --git a/debian/tests/traces/mariadbd-verbose-help.expected b/debian/tests/traces/mariadbd-verbose-help.expected index 1c0f4be9..712881d7 100644 --- a/debian/tests/traces/mariadbd-verbose-help.expected +++ b/debian/tests/traces/mariadbd-verbose-help.expected @@ -6,7 +6,7 @@ Usage: /usr/sbin/mariadbd [OPTIONS] Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf -The following groups are read: mysqld server mysqld-10.11 mariadb mariadb-10.11 mariadbd mariadbd-10.11 client-server galera +The following groups are read: mysqld server mysqld-11.4 mariadb mariadb-11.4 mariadbd mariadbd-11.4 client-server galera The following options may be given as the first argument: --print-defaults Print the program argument list and exit. --no-defaults Don't read default options from any option file. @@ -183,9 +183,26 @@ The following specify which files/extra groups are read (specified before remain involve user-defined functions (i.e. UDFs) or the UUID() function; for those, row-based binary logging is automatically used. + --binlog-gtid-index Enable the creation of a GTID index for every binlog + file, and the use of such index for speeding up GTID + lookup in the binlog. + (Defaults to on; use --skip-binlog-gtid-index to disable.) + --binlog-gtid-index-page-size=# + Page size to use for the binlog GTID index. + --binlog-gtid-index-span-min=# + Control sparseness of the binlog GTID index. If set to N, + at most one index record will be added for every N bytes + of binlog file written, to reduce the size of the index. + Normally does not need tuning. --binlog-ignore-db=name Tells the master that updates to the given database should not be logged to the binary log. + --binlog-legacy-event-pos + Fill in the end_log_pos field of _all_ events in the + binlog, even when doing so costs performance. Can be used + in case some old application needs it for backwards + compatibility. Setting this option can hurt binlog + scalability. --binlog-optimize-thread-scheduling Run fast part of group commit in a single thread, to optimize kernel thread scheduling. On by default. Disable @@ -201,26 +218,36 @@ The following specify which files/extra groups are read (specified before remain size if possible. The value has to be a multiple of 256. --binlog-row-image=name Controls whether rows should be logged in 'FULL', - 'NOBLOB' or 'MINIMAL' formats. 'FULL', means that all - columns in the before and after image are logged. - 'NOBLOB', means that mysqld avoids logging blob columns - whenever possible (eg, blob column was not changed or is - not part of primary key). 'MINIMAL', means that a PK - equivalent (PK columns or full row if there is no PK in - the table) is logged in the before image, and only - changed columns are logged in the after image. (Default: - FULL). + 'FULL_NODUP', 'NOBLOB' or 'MINIMAL' formats. 'FULL', + means that all columns in the before and after image are + logged. 'FULL_NODUP', means that all columns are logged + in before image, but only changed columns or all columns + of inserted record are logged in after image, 'NOBLOB', + means that mysqld avoids logging blob columns whenever + possible (eg, blob column was not changed or is not part + of primary key). 'MINIMAL', means that a PK equivalent + (PK columns or full row if there is no PK in the table) + is logged in the before image, and only changed columns + are logged in the after image. (Default: FULL). --binlog-row-metadata=name Controls whether metadata is logged using FULL , MINIMAL format and NO_LOG.FULL causes all metadata to be logged; MINIMAL means that only metadata actually required by slave is logged; NO_LOG NO metadata will be logged.Default: NO_LOG. + --binlog-space-limit=# + Alias for max_binlog_total_size. Compatibility with + Percona server. --binlog-stmt-cache-size=# The size of the statement cache for updates to non-transactional engines for the binary log. If you often use statements updating a great number of rows, you can increase this to get more performance. + --block-encryption-mode=name + Default block encryption mode for AES_ENCRYPT() and + AES_DECRYPT() functions. One of: aes-128-ecb, aes-192-ecb, + aes-256-ecb, aes-128-cbc, aes-192-cbc, aes-256-cbc, + aes-128-ctr, aes-192-ctr, aes-256-ctr --bootstrap Used by mysql installation scripts. --bulk-insert-buffer-size=# Size of tree cache used in bulk insert optimisation. Note @@ -229,6 +256,8 @@ The following specify which files/extra groups are read (specified before remain Don't ignore client side character set value sent during handshake. (Defaults to on; use --skip-character-set-client-handshake to disable.) + --character-set-collations=name + Overrides for character set default collations. --character-set-filesystem=name Set the filesystem character set. -C, --character-set-server=name @@ -279,9 +308,6 @@ The following specify which files/extra groups are read (specified before remain window on windows. --core-file Write core on crashes -h, --datadir=name Path to the database root directory - --date-format=name The DATE format (ignored) - --datetime-format=name - The DATETIME format (ignored) --deadlock-search-depth-long=# Long search depth for the two-step deadlock detection --deadlock-search-depth-short=# @@ -307,9 +333,6 @@ The following specify which files/extra groups are read (specified before remain replication. --debug-no-sync Disables system sync calls. Only for running tests or debugging! - --debug-no-thread-alarm - Disable system thread alarm calls. Disabling it may be - useful in debugging or testing, never do it in production --debug-sporadic-binlog-dump-fail Option used by mysql-test for debugging and testing of replication. @@ -605,12 +628,6 @@ The following specify which files/extra groups are read (specified before remain of: ON, OFF, FORCE (don't start if the plugin fails to load), FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not be uninstalled). - --innodb-change-buffer-max-size=# - Maximum on-disk size of change buffer in terms of - percentage of the buffer pool. - --innodb-change-buffering=name - Buffer changes to secondary indexes.. One of: none, - inserts, deletes, changes, purges, all --innodb-checksum-algorithm=name The algorithm InnoDB uses for page checksumming. Possible values are FULL_CRC32 for new files, always use CRC-32C; @@ -669,8 +686,12 @@ The following specify which files/extra groups are read (specified before remain --innodb-compression-pad-pct-max[=#] Percentage of empty space on a data page that can be reserved to make the page compressible. + --innodb-data-file-buffering + Whether the file system cache for data files is enabled --innodb-data-file-path=name Path to individual files and their sizes. + --innodb-data-file-write-through + Whether each write to data files writes through --innodb-data-home-dir=name The common part for InnoDB table spaces. --innodb-deadlock-detect @@ -689,50 +710,13 @@ The following specify which files/extra groups are read (specified before remain REDUNDANT, COMPACT, and DYNAMIC. The ROW_FORMAT value COMPRESSED is not allowed. One of: redundant, compact, dynamic - --innodb-defragment Enable/disable InnoDB defragmentation (default FALSE). - When set to FALSE, all existing defragmentation will be - paused. And new defragmentation command will fail.Paused - defragmentation commands will resume when this variable - is set to true again. - --innodb-defragment-fill-factor=# - A number between [0.7, 1] that tells defragmentation how - full it should fill a page. Default is 0.9. Number below - 0.7 won't make much sense.This variable, together with - innodb_defragment_fill_factor_n_recs, is introduced so - defragmentation won't pack the page too full and cause - page split on the next insert on every page. The variable - indicating more defragmentation gain is the one - effective. - --innodb-defragment-fill-factor-n-recs=# - How many records of space defragmentation should leave on - the page. This variable, together with - innodb_defragment_fill_factor, is introduced so - defragmentation won't pack the page too full and cause - page split on the next insert on every page. The variable - indicating more defragmentation gain is the one - effective. - --innodb-defragment-frequency=# - Do not defragment a single index more than this number of - time per second.This controls the number of time - defragmentation thread can request X_LOCK on an index. - Defragmentation thread will check whether - 1/defragment_frequency (s) has passed since it worked on - this index last time, and put the index back to the queue - if not enough time has passed. The actual frequency can - only be lower than this given number. - --innodb-defragment-n-pages=# - Number of pages considered at once when merging multiple - pages to defragment - --innodb-defragment-stats-accuracy=# - How many defragment stats changes there are before the - stats are written to persistent storage. Set to 0 meaning - disable defragment stats tracking. --innodb-disable-sort-file-cache Whether to disable OS system file cache for sort I/O - --innodb-doublewrite - Enable InnoDB doublewrite buffer (enabled by default). - Disable with --skip-innodb-doublewrite. - (Defaults to on; use --skip-innodb-doublewrite to disable.) + --innodb-doublewrite[=name] + Whether and how to use the doublewrite buffer. OFF=Assume + that writes of innodb_page_size are atomic; ON=Prevent + torn writes (the default); fast=Like ON, but do not + synchronize writes to data files --innodb-encrypt-log Enable redo log encryption --innodb-encrypt-tables[=name] @@ -884,6 +868,8 @@ The following specify which files/extra groups are read (specified before remain Whether the file system cache for ib_logfile0 is enabled --innodb-log-file-size=# Redo log size in bytes. + --innodb-log-file-write-through + Whether each write to ib_logfile0 is write through --innodb-log-group-home-dir=name Path to ib_logfile0 --innodb-log-spin-wait-delay[=#] @@ -1082,6 +1068,8 @@ The following specify which files/extra groups are read (specified before remain Path to files and their sizes making temp-tablespace. --innodb-tmpdir[=name] Directory for temporary non-tablespace files. + --innodb-truncate-temporary-tablespace-now + Shrink the temporary tablespace --innodb-trx[=name] Enable or disable INNODB_TRX plugin. One of: ON, OFF, FORCE (don't start if the plugin fails to load), FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not @@ -1206,8 +1194,8 @@ The following specify which files/extra groups are read (specified before remain --log-slow-admin-statements Log slow OPTIMIZE, ANALYZE, ALTER and other administrative statements to the slow log if it is open. - Resets or sets the option 'admin' in - log_slow_disabled_statements + Resets or sets the option 'admin' in log_slow_filter. + Deprecated, use log_slow_filter without 'admin'. (Defaults to on; use --skip-log-slow-admin-statements to disable.) --log-slow-disabled-statements=name Don't log certain types of statements to slow log. Any @@ -1291,6 +1279,11 @@ The following specify which files/extra groups are read (specified before remain exceeds this value. --max-binlog-stmt-cache-size=# Sets the total size of the statement cache + --max-binlog-total-size=# + Maximum space to use for all binary logs. Extra logs are + deleted on server start, log rotation, FLUSH LOGS or when + writing to binlog. Default is 0, which means no size + restrictions. See also slave_connections_needed_for_purge --max-connect-errors=# If there is more than this number of interrupted connections from a host this host will be blocked from @@ -1341,7 +1334,6 @@ The following specify which files/extra groups are read (specified before remain seconds will be aborted. The argument will be treated as a decimal value with microsecond precision. A value of 0 (default) means no timeout - --max-tmp-tables=# Unused, will be removed. --max-user-connections=# The maximum number of active connections for a single user (0 = no limit) @@ -1407,16 +1399,12 @@ The following specify which files/extra groups are read (specified before remain Use 'ALL' to set all combinations. --old Use compatible behavior from previous MariaDB version. See also --old-mode - --old-alter-table[=name] - Alias for alter_algorithm. Deprecated. Use - --alter-algorithm instead.. One of: DEFAULT, COPY, - INPLACE, NOCOPY, INSTANT --old-mode=name Used to emulate old behavior from earlier MariaDB or 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, - NO_NULL_COLLATION_IDS + NO_NULL_COLLATION_IDS, LOCK_ALTER_TABLE_COPY Use 'ALL' to set all combinations. --old-passwords Use old password encryption method (needed for 4.0 and older clients) @@ -1431,21 +1419,34 @@ 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=name - A bit field with the following values: - adjust_secondary_key_cost = Update secondary key costs - for ranges to be at least 5x of clustered primary key - costs. disable_max_seek = Disable 'max_seek optimization' - for secondary keys and slight adjustment of filter cost. - disable_forced_index_in_group_by = Disable automatic - forced index in GROUP BY. This variable will be deleted - in MariaDB 11.0 as it is not needed with the new 11.0 - optimizer. - Use 'ALL' to set all combinations. + --optimizer-adjust-secondary-key-costs=# + Unused, will be removed. + --optimizer-disk-read-cost=# + Cost of reading a block of IO_SIZE (4096) from a disk (in + usec). + --optimizer-disk-read-ratio=# + Chance that we have to do a disk read to find a row or + index entry from the engine cache + (cache_misses/total_cache_requests). 0.0 means that + everything is cached and 1.0 means that nothing is + expected to be in the engine cache. --optimizer-extra-pruning-depth=# If the optimizer needs to enumerate join prefix of this size or larger, then it will try aggressively prune away the search space. + --optimizer-index-block-copy-cost=# + Cost of copying a key block from the cache to intern + storage as part of an index scan. + --optimizer-key-compare-cost=# + Cost of checking a key against the end key condition. + --optimizer-key-copy-cost=# + Cost of finding the next key in the engine and copying it + to the SQL layer. + --optimizer-key-lookup-cost=# + Cost for finding a key based on a key value + --optimizer-key-next-find-cost=# + Cost of finding the next key and rowid when using + filters. --optimizer-max-sel-arg-weight=# The maximum weight of the SEL_ARG graph. Set to 0 for no limit @@ -1460,6 +1461,21 @@ The following specify which files/extra groups are read (specified before remain heuristic, thus perform exhaustive search: 1 - prune plans based on cost and number of retrieved rows eq_ref: 2 - prune also if we find an eq_ref chain + --optimizer-row-copy-cost=# + Cost of copying a row from the engine or the join cache + to the SQL layer. + --optimizer-row-lookup-cost=# + Cost of finding a row based on a rowid or a clustered + key. + --optimizer-row-next-find-cost=# + Cost of finding the next row when scanning the table. + --optimizer-rowid-compare-cost=# + Cost of comparing two rowid's + --optimizer-rowid-copy-cost=# + Cost of copying a rowid + --optimizer-scan-setup-cost=# + Extra cost added to TABLE and INDEX scans to get + optimizer to prefer index lookups. --optimizer-search-depth=# Maximum depth of search performed by the query optimizer. Values larger than the number of relations in a query @@ -1476,20 +1492,19 @@ The following specify which files/extra groups are read (specified before remain list of option=value pairs, where value is on, off, or default, and options are: index_merge, index_merge_union, index_merge_sort_union, index_merge_intersection, - index_merge_sort_intersection, engine_condition_pushdown, - index_condition_pushdown, derived_merge, - derived_with_keys, firstmatch, loosescan, materialization, - in_to_exists, semijoin, partial_match_rowid_merge, - partial_match_table_scan, subquery_cache, mrr, - mrr_cost_based, mrr_sort_keys, outer_join_with_cache, - semijoin_with_cache, join_cache_incremental, - join_cache_hashed, join_cache_bka, + index_merge_sort_intersection, index_condition_pushdown, + derived_merge, derived_with_keys, firstmatch, loosescan, + materialization, in_to_exists, semijoin, + partial_match_rowid_merge, partial_match_table_scan, + subquery_cache, mrr, mrr_cost_based, mrr_sort_keys, + outer_join_with_cache, semijoin_with_cache, + join_cache_incremental, join_cache_hashed, join_cache_bka, optimize_join_buffer_size, table_elimination, extended_keys, exists_to_in, orderby_uses_equalities, condition_pushdown_for_derived, split_materialized, condition_pushdown_for_subquery, rowid_filter, condition_pushdown_from_having, not_null_range_scan, - hash_join_cardinality, cset_narrowing + hash_join_cardinality, cset_narrowing, sargable_casefold --optimizer-trace=name Controls tracing of the Optimizer: optimizer_trace=option=val[,option=val...], where option @@ -1513,6 +1528,10 @@ The following specify which files/extra groups are read (specified before remain the cardinality of a partial join.5 - additionally use selectivity of certain non-range predicates calculated on record samples + --optimizer-where-cost=# + Cost of checking the row against the WHERE clause. + Increasing this will have the optimizer to prefer plans + with less row combinations. --partition[=name] Enable or disable partition plugin. One of: ON, OFF, FORCE (don't start if the plugin fails to load), FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not @@ -1754,6 +1773,8 @@ The following specify which files/extra groups are read (specified before remain --read-rnd-buffer-size=# When reading rows in sorted order after a sort, the rows are read through this buffer to avoid a disk seeks + --redirect-url=name URL of another server to redirect clients to. Empty + string means no redirection --relay-log=name The location and name to use for relay logs. --relay-log-index=name The location and name to use for the file that keeps a @@ -1948,6 +1969,10 @@ The following specify which files/extra groups are read (specified before remain --skip-slave-start If set, slave is not autostarted. --slave-compressed-protocol Use compression on master/slave protocol + --slave-connections-needed-for-purge=# + Minimum number of connected slaves required for automatic + binary log purge with max_binlog_total_size, + binlog_expire_logs_seconds or binlog_expire_logs_days. --slave-ddl-exec-mode=name How replication events should be executed. Legal values are STRICT and IDEMPOTENT (default). In IDEMPOTENT mode, @@ -2089,6 +2114,7 @@ The following specify which files/extra groups are read (specified before remain deleting or updating every row in a table. --ssl Enable SSL for connection (automatically enabled if an ssl option is used). + (Defaults to on; use --skip-ssl to disable.) --ssl-ca=name CA file in PEM format (check OpenSSL docs, implies --ssl) --ssl-capath=name CA directory (check OpenSSL docs, implies --ssl) --ssl-cert=name X509 cert in PEM format (implies --ssl) @@ -2227,7 +2253,6 @@ The following specify which files/extra groups are read (specified before remain FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not be uninstalled). --thread-stack=# The stack size for each thread - --time-format=name The TIME format (ignored) --tls-version=name TLS protocol version for secure connections.. Any combination of: TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3 Use 'ALL' to set all combinations. @@ -2299,9 +2324,6 @@ The following specify which files/extra groups are read (specified before remain To automatically control the assignment of autoincrement variables (Defaults to on; use --skip-wsrep-auto-increment-control to disable.) - --wsrep-causal-reads - Setting this variable is equivalent to setting - wsrep_sync_wait READ flag --wsrep-certification-rules=name Certification rules to use in the cluster. Possible values are: "strict": stricter rules that could result in @@ -2380,6 +2402,11 @@ The following specify which files/extra groups are read (specified before remain --wsrep-on To enable wsrep replication --wsrep-provider=name Path to replication provider library + --wsrep-provider[=name] + Enable or disable wsrep_provider plugin. One of: ON, OFF, + FORCE (don't start if the plugin fails to load), + FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not + be uninstalled). --wsrep-provider-options=name Semicolon (;) separated list of wsrep options (see wsrep_provider_options documentation). @@ -2472,16 +2499,23 @@ binlog-direct-non-transactional-updates FALSE binlog-expire-logs-seconds 864000 binlog-file-cache-size 16384 binlog-format MIXED +binlog-gtid-index TRUE +binlog-gtid-index-page-size 4096 +binlog-gtid-index-span-min 65536 +binlog-legacy-event-pos FALSE binlog-optimize-thread-scheduling TRUE binlog-row-event-max-size 8192 binlog-row-image FULL binlog-row-metadata NO_LOG +binlog-space-limit 0 binlog-stmt-cache-size 32768 +block-encryption-mode aes-128-ecb bulk-insert-buffer-size 8388608 character-set-client-handshake TRUE +character-set-collations utf8mb4=uca1400_ai_ci character-set-filesystem binary character-set-server utf8mb4 -character-sets-dir /usr/share/mysql/charsets/ +character-sets-dir /usr/share/mariadb/charsets/ chroot (No default value) collation-server utf8mb4_general_ci column-compression-threshold 100 @@ -2494,8 +2528,6 @@ connect-timeout 10 console FALSE core-file FALSE datadir /var/lib/mysql/ -date-format %Y-%m-%d -datetime-format %Y-%m-%d %H:%i:%s deadlock-search-depth-long 15 deadlock-search-depth-short 4 deadlock-timeout-long 50000000 @@ -2506,7 +2538,6 @@ debug-disconnect-slave-event-count 0 debug-gdb FALSE debug-max-binlog-dump-events 0 debug-no-sync FALSE -debug-no-thread-alarm FALSE debug-sporadic-binlog-dump-fail FALSE default-password-lifetime 0 default-regex-flags @@ -2559,7 +2590,7 @@ gtid-pos-auto-engines gtid-strict-mode FALSE help TRUE histogram-size 254 -histogram-type DOUBLE_PREC_HB +histogram-type JSON_HB host-cache-size 279 idle-readonly-transaction-timeout 0 idle-transaction-timeout 0 @@ -2591,8 +2622,6 @@ innodb-buffer-pool-load-at-startup TRUE innodb-buffer-pool-load-now FALSE innodb-buffer-pool-size 134217728 innodb-buffer-pool-stats ON -innodb-change-buffer-max-size 25 -innodb-change-buffering none innodb-checksum-algorithm full_crc32 innodb-cmp ON innodb-cmp-per-index ON @@ -2606,20 +2635,16 @@ innodb-compression-default FALSE innodb-compression-failure-threshold-pct 5 innodb-compression-level 6 innodb-compression-pad-pct-max 50 +innodb-data-file-buffering FALSE innodb-data-file-path ibdata1:12M:autoextend +innodb-data-file-write-through FALSE innodb-data-home-dir (No default value) innodb-deadlock-detect TRUE innodb-deadlock-report full innodb-default-encryption-key-id 1 innodb-default-row-format dynamic -innodb-defragment FALSE -innodb-defragment-fill-factor 0.9 -innodb-defragment-fill-factor-n-recs 20 -innodb-defragment-frequency 40 -innodb-defragment-n-pages 7 -innodb-defragment-stats-accuracy 0 innodb-disable-sort-file-cache FALSE -innodb-doublewrite TRUE +innodb-doublewrite ON innodb-encrypt-log FALSE innodb-encrypt-tables OFF innodb-encrypt-temporary-tables FALSE @@ -2666,6 +2691,7 @@ innodb-locks ON innodb-log-buffer-size 16777216 innodb-log-file-buffering FALSE innodb-log-file-size 100663296 +innodb-log-file-write-through FALSE innodb-log-group-home-dir (No default value) innodb-log-spin-wait-delay 0 innodb-lru-flush-size 32 @@ -2729,10 +2755,11 @@ innodb-table-locks TRUE innodb-tablespaces-encryption ON innodb-temp-data-file-path ibtmp1:12M:autoextend innodb-tmpdir (No default value) +innodb-truncate-temporary-tablespace-now FALSE innodb-trx ON innodb-undo-directory (No default value) innodb-undo-log-truncate FALSE -innodb-undo-tablespaces 0 +innodb-undo-tablespaces 3 innodb-use-atomic-writes TRUE innodb-use-native-aio TRUE innodb-write-io-threads 4 @@ -2793,6 +2820,7 @@ max-allowed-packet 16777216 max-binlog-cache-size 18446744073709547520 max-binlog-size 1073741824 max-binlog-stmt-cache-size 18446744073709547520 +max-binlog-total-size 0 max-connect-errors 100 max-connections 151 max-delayed-threads 20 @@ -2811,7 +2839,6 @@ max-session-mem-used 9223372036854775807 max-sort-length 1024 max-sp-recursion-depth 0 max-statement-time 0 -max-tmp-tables 32 max-user-connections 0 max-write-lock-count 4294967295 memlock FALSE @@ -2835,22 +2862,35 @@ net-retry-count 10 net-write-timeout 60 note-verbosity basic,explain old FALSE -old-alter-table DEFAULT old-mode UTF8_IS_UTF8MB3 old-passwords FALSE old-style-user-limits FALSE open-files-limit 32000 -optimizer-adjust-secondary-key-costs +optimizer-adjust-secondary-key-costs 0 +optimizer-disk-read-cost 10.24 +optimizer-disk-read-ratio 0.02 optimizer-extra-pruning-depth 8 +optimizer-index-block-copy-cost 0.0356 +optimizer-key-compare-cost 0.011361 +optimizer-key-copy-cost 0.015685 +optimizer-key-lookup-cost 0.435777 +optimizer-key-next-find-cost 0.082347 optimizer-max-sel-arg-weight 32000 optimizer-max-sel-args 16000 optimizer-prune-level 2 +optimizer-row-copy-cost 0.060866 +optimizer-row-lookup-cost 0.130839 +optimizer-row-next-find-cost 0.045916 +optimizer-rowid-compare-cost 0.002653 +optimizer-rowid-copy-cost 0.002653 +optimizer-scan-setup-cost 10 optimizer-search-depth 62 optimizer-selectivity-sampling-limit 100 -optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on +optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on,not_null_range_scan=off,hash_join_cardinality=on,cset_narrowing=off,sargable_casefold=on optimizer-trace optimizer-trace-max-mem-size 1048576 optimizer-use-condition-selectivity 4 +optimizer-where-cost 0.032 partition ON performance-schema FALSE performance-schema-accounts-size -1 @@ -2933,6 +2973,7 @@ read-binlog-speed-limit 0 read-buffer-size 131072 read-only FALSE read-rnd-buffer-size 262144 +redirect-url relay-log (No default value) relay-log-index (No default value) relay-log-info-file relay-log.info @@ -2965,7 +3006,7 @@ sequence ON server-id 1 session-track-schema TRUE session-track-state-change FALSE -session-track-system-variables autocommit,character_set_client,character_set_connection,character_set_results,time_zone +session-track-system-variables autocommit,character_set_client,character_set_connection,character_set_results,redirect_url,time_zone session-track-transaction-info OFF show-slave-auth-info FALSE silent-startup FALSE @@ -2975,6 +3016,7 @@ skip-networking FALSE skip-show-database FALSE skip-slave-start FALSE slave-compressed-protocol FALSE +slave-connections-needed-for-purge 1 slave-ddl-exec-mode IDEMPOTENT slave-domain-parallel-threads 0 slave-exec-mode STRICT @@ -3000,7 +3042,7 @@ socket /run/mysqld/mysqld. sort-buffer-size 2097152 sql-mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION sql-safe-updates FALSE -ssl FALSE +ssl TRUE ssl-ca (No default value) ssl-capath (No default value) ssl-cert (No default value) @@ -3048,7 +3090,6 @@ thread-pool-stall-limit 500 thread-pool-stats ON thread-pool-waits ON thread-stack 299008 -time-format %H:%i:%s tls-version TLSv1.2,TLSv1.3 tmp-disk-table-size 18446744073709551615 tmp-memory-table-size 16777216 @@ -3076,7 +3117,6 @@ wsrep-OSU-method TOI wsrep-SR-store table wsrep-allowlist wsrep-auto-increment-control TRUE -wsrep-causal-reads FALSE wsrep-certification-rules strict wsrep-certify-nonPK TRUE wsrep-cluster-address @@ -3106,6 +3146,7 @@ wsrep-notify-cmd wsrep-on FALSE wsrep-patch-version wsrep_26.22 wsrep-provider none +wsrep-provider ON wsrep-provider-options wsrep-recover FALSE wsrep-reject-queries NONE diff --git a/debian/tests/upstream b/debian/tests/upstream index 6dc864d3..5c39949a 100644 --- a/debian/tests/upstream +++ b/debian/tests/upstream @@ -25,9 +25,9 @@ echo "using tmpdir: $WORKDIR/tmp" echo "Setting up skip-tests-list" # Use the arch specific skiplists if exist, otherwise list is empty -if [ -f "/usr/share/mysql/mysql-test/unstable-tests.$ARCH" ] +if [ -f "/usr/share/mariadb/mariadb-test/unstable-tests.$ARCH" ] then - cat "/usr/share/mysql/mysql-test/unstable-tests.$ARCH" >> "$MTR_SKIP_TEST_LIST" + cat "/usr/share/mariadb/mariadb-test/unstable-tests.$ARCH" >> "$MTR_SKIP_TEST_LIST" fi # Skip tests that cannot run properly on ci.debian.net / autopkgtests.ubuntu.com @@ -49,7 +49,7 @@ fi # failed autopkgtest runs cp -v "$MTR_SKIP_TEST_LIST" "$AUTOPKGTEST_ARTIFACTS" -cd /usr/share/mysql/mysql-test +cd /usr/share/mariadb/mariadb-test echo "starting mysql-test-tun.pl..." export MTR_PRINT_CORE=detailed # The $MTR_ARGUMENTS_APPEND is intentionally used to pass in extra arguments diff --git a/debian/watch b/debian/watch index 0417109b..90a41274 100644 --- a/debian/watch +++ b/debian/watch @@ -2,11 +2,11 @@ version=4 opts=\ pgpsigurlmangle=s/$/.asc/,\ uversionmangle=s/-(rc|beta)/$1/,pasv \ -https://archive.mariadb.org/mariadb-10.11.([\d\.]*(?:-beta|-rc)?)/source/ mariadb-([\d\.]*(?:-beta|-rc)?).tar.gz +https://archive.mariadb.org/mariadb-11.4.([\d\.]*(?:-beta|-rc)?)/source/ mariadb-([\d\.]*(?:-beta|-rc)?).tar.gz -# String "-10.11." needs to be in path as MariaDB releases several series in -# parallel (e.g 10.11, 10.4, 10.3 etc) and uscan should check for updates only -# in the 10.11-series. +# String "-11.4." needs to be in path as MariaDB releases several series in +# parallel (e.g 11.4, 10.11, 10.4, 10.3 etc) and uscan should check for updates only +# in the 11.4-series. # Automated signature checking with pgpsigurlmangle has been available # only since devscripts version 2.13.3 |