Commit 2a576322 authored by Otto Kekäläinen's avatar Otto Kekäläinen

Deb: Sync Salsa-CI from Debian MariaDB 10.6

Compare to Debian packaging of MariaDB 1:10.6.11-2 release at commit
https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/2934e8a795cbd1eba79e33b8d6c82ed2b0897128
and sync upstream everything that is relevant for upstream and safe
to import on a stable 10.6 release.

* Use OpenSSL 1.1 from Debian Snapshots
  https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/0040c272bf8a9a253fcd393b235b18cd5cdc9289
  Related: https://jira.mariadb.org/browse/MDEV-30322

* Prefer using bullseye-backports in mosts tests over buster-bpo
  https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/daa827ecded9dc1f096ecb05242116173298d602

* Add new upgrade test for MySQL Community Cluster 8.0
  https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/3c71bec9b7626d25a55e23b2e570b4e125d5d5df

* Enable automatic datadir move also on upgrades from MySQL.com packages
  https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/4cbbcb7e56d9604a67230d11a68543d5a83960e3

* Update Breaks/Replaces
  https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/2cab13d05959fe8f6ea56b866df51f3bfe17dd3f

* Normalize apt-get and curl commands
  https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/8754ea2578bd214d75a2a9e6a0f7b4b74c062b41

* Standardize on using capitalized 'ON' in CMake build options
  https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/938757a85aee44c727f3f6996677ef1126c2f5aa

* Apply wrap-and-sort -av and other minor tweaks and inline documentation

NOTE TO MERGERS: This commit is made on 10.6 branch and can be merged to
all later branches (10.7, 10.8, ..., 11.0).
parent dc1d6213
...@@ -305,13 +305,17 @@ Breaks: mariadb-server-10.0, ...@@ -305,13 +305,17 @@ Breaks: mariadb-server-10.0,
mariadb-server-core-10.4, mariadb-server-core-10.4,
mariadb-server-core-10.5, mariadb-server-core-10.5,
mariadb-server-core-10.6 (<< ${source:Version}), mariadb-server-core-10.6 (<< ${source:Version}),
mysql-cluster-community-client-plugins,
mysql-server-core-5.5, mysql-server-core-5.5,
mysql-server-core-5.6, mysql-server-core-5.6,
mysql-server-core-5.7, mysql-server-core-5.7,
mysql-server-core-8.0, mysql-server-core-8.0,
percona-server-server-5.6, percona-server-server-5.6,
percona-server-server-5.7,
percona-server-server-8.0,
percona-xtradb-cluster-server-5.6, percona-xtradb-cluster-server-5.6,
percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7,
percona-xtradb-cluster-server-8.0
Replaces: mariadb-client-10.0, Replaces: mariadb-client-10.0,
mariadb-client-10.1, mariadb-client-10.1,
mariadb-client-10.2, mariadb-client-10.2,
...@@ -351,13 +355,17 @@ Replaces: mariadb-client-10.0, ...@@ -351,13 +355,17 @@ Replaces: mariadb-client-10.0,
mysql-client-core-5.6, mysql-client-core-5.6,
mysql-client-core-5.7, mysql-client-core-5.7,
mysql-client-core-8.0, mysql-client-core-8.0,
mysql-cluster-community-client-plugins,
mysql-server-core-5.5, mysql-server-core-5.5,
mysql-server-core-5.6, mysql-server-core-5.6,
mysql-server-core-5.7, mysql-server-core-5.7,
mysql-server-core-8.0, mysql-server-core-8.0,
percona-server-server-5.6, percona-server-server-5.6,
percona-server-server-5.7,
percona-server-server-8.0,
percona-xtradb-cluster-server-5.6, percona-xtradb-cluster-server-5.6,
percona-xtradb-cluster-server-5.7, percona-xtradb-cluster-server-5.7,
percona-xtradb-cluster-server-8.0,
virtual-mysql-client-core virtual-mysql-client-core
Provides: default-mysql-client-core, Provides: default-mysql-client-core,
virtual-mysql-client-core virtual-mysql-client-core
...@@ -540,6 +548,7 @@ Breaks: mariadb-client-10.0, ...@@ -540,6 +548,7 @@ Breaks: mariadb-client-10.0,
mariadb-client-10.6 (<< ${source:Version}), mariadb-client-10.6 (<< ${source:Version}),
mariadb-server-10.0, mariadb-server-10.0,
mariadb-server-10.1, mariadb-server-10.1,
mariadb-server-10.2,
mariadb-server-10.3, mariadb-server-10.3,
mariadb-server-10.4, mariadb-server-10.4,
mariadb-server-10.5, mariadb-server-10.5,
...@@ -561,6 +570,7 @@ Replaces: mariadb-client-10.0, ...@@ -561,6 +570,7 @@ Replaces: mariadb-client-10.0,
mariadb-client-10.6 (<< ${source:Version}), mariadb-client-10.6 (<< ${source:Version}),
mariadb-server-10.0, mariadb-server-10.0,
mariadb-server-10.1, mariadb-server-10.1,
mariadb-server-10.2,
mariadb-server-10.3, mariadb-server-10.3,
mariadb-server-10.4, mariadb-server-10.4,
mariadb-server-10.5, mariadb-server-10.5,
...@@ -733,9 +743,11 @@ Package: mariadb-backup ...@@ -733,9 +743,11 @@ Package: mariadb-backup
Architecture: any Architecture: any
Breaks: mariadb-backup-10.1, Breaks: mariadb-backup-10.1,
mariadb-backup-10.2, mariadb-backup-10.2,
mariadb-backup-10.3,
mariadb-client-10.1 mariadb-client-10.1
Replaces: mariadb-backup-10.1, Replaces: mariadb-backup-10.1,
mariadb-backup-10.2, mariadb-backup-10.2,
mariadb-backup-10.3,
mariadb-client-10.1 mariadb-client-10.1
Depends: mariadb-client-core-10.6 (= ${binary:Version}), Depends: mariadb-client-core-10.6 (= ${binary:Version}),
${misc:Depends}, ${misc:Depends},
...@@ -758,12 +770,16 @@ Breaks: mariadb-connect-engine-10.0, ...@@ -758,12 +770,16 @@ Breaks: mariadb-connect-engine-10.0,
mariadb-connect-engine-10.1, mariadb-connect-engine-10.1,
mariadb-connect-engine-10.2, mariadb-connect-engine-10.2,
mariadb-connect-engine-10.3, mariadb-connect-engine-10.3,
mariadb-connect-engine-10.4 mariadb-connect-engine-10.4,
mariadb-server-10.0,
mariadb-server-10.1
Replaces: mariadb-connect-engine-10.0, Replaces: mariadb-connect-engine-10.0,
mariadb-connect-engine-10.1, mariadb-connect-engine-10.1,
mariadb-connect-engine-10.2, mariadb-connect-engine-10.2,
mariadb-connect-engine-10.3, mariadb-connect-engine-10.3,
mariadb-connect-engine-10.4 mariadb-connect-engine-10.4,
mariadb-server-10.0,
mariadb-server-10.1
Description: Connect storage engine for MariaDB Description: Connect storage engine for MariaDB
Connect engine supports a number of file formats (dbf, xml, txt, bin, etc), Connect engine supports a number of file formats (dbf, xml, txt, bin, etc),
connections to ODBC tables and remote MySQL tables, as well as a number of connections to ODBC tables and remote MySQL tables, as well as a number of
...@@ -784,7 +800,7 @@ Description: Amazon S3 archival storage engine for MariaDB ...@@ -784,7 +800,7 @@ Description: Amazon S3 archival storage engine for MariaDB
Package: mariadb-plugin-rocksdb Package: mariadb-plugin-rocksdb
Architecture: amd64 arm64 mips64el ppc64el Architecture: amd64 arm64 mips64el ppc64el
Depends: mariadb-server-10.6 (= ${server:Version}), Depends: mariadb-server-10.6 (= ${server:Version}),
python3, python3:any,
rocksdb-tools, rocksdb-tools,
${misc:Depends}, ${misc:Depends},
${shlibs:Depends} ${shlibs:Depends}
...@@ -810,12 +826,16 @@ Breaks: mariadb-oqgraph-engine-10.0, ...@@ -810,12 +826,16 @@ Breaks: mariadb-oqgraph-engine-10.0,
mariadb-oqgraph-engine-10.1, mariadb-oqgraph-engine-10.1,
mariadb-oqgraph-engine-10.2, mariadb-oqgraph-engine-10.2,
mariadb-oqgraph-engine-10.3, mariadb-oqgraph-engine-10.3,
mariadb-oqgraph-engine-10.4 mariadb-oqgraph-engine-10.4,
mariadb-server-10.0,
mariadb-server-10.1
Replaces: mariadb-oqgraph-engine-10.0, Replaces: mariadb-oqgraph-engine-10.0,
mariadb-oqgraph-engine-10.1, mariadb-oqgraph-engine-10.1,
mariadb-oqgraph-engine-10.2, mariadb-oqgraph-engine-10.2,
mariadb-oqgraph-engine-10.3, mariadb-oqgraph-engine-10.3,
mariadb-oqgraph-engine-10.4 mariadb-oqgraph-engine-10.4,
mariadb-server-10.0,
mariadb-server-10.1
Description: OQGraph storage engine for MariaDB Description: OQGraph storage engine for MariaDB
The OQGraph engine is a computation engine plugin for handling hierarchies The OQGraph engine is a computation engine plugin for handling hierarchies
(trees) and graphs (friend-of-a-friend, etc) cleanly through standard SQL. (trees) and graphs (friend-of-a-friend, etc) cleanly through standard SQL.
...@@ -871,11 +891,15 @@ Depends: libgssapi-krb5-2, ...@@ -871,11 +891,15 @@ Depends: libgssapi-krb5-2,
Breaks: mariadb-gssapi-server-10.1, Breaks: mariadb-gssapi-server-10.1,
mariadb-gssapi-server-10.2, mariadb-gssapi-server-10.2,
mariadb-gssapi-server-10.3, mariadb-gssapi-server-10.3,
mariadb-gssapi-server-10.4 mariadb-gssapi-server-10.4,
mariadb-server-10.0,
mariadb-server-10.1
Replaces: mariadb-gssapi-server-10.1, Replaces: mariadb-gssapi-server-10.1,
mariadb-gssapi-server-10.2, mariadb-gssapi-server-10.2,
mariadb-gssapi-server-10.3, mariadb-gssapi-server-10.3,
mariadb-gssapi-server-10.4 mariadb-gssapi-server-10.4,
mariadb-server-10.0,
mariadb-server-10.1
Description: GSSAPI authentication plugin for MariaDB server Description: GSSAPI authentication plugin for MariaDB server
This plugin includes support for Kerberos on Unix, but can also be used for This plugin includes support for Kerberos on Unix, but can also be used for
Windows authentication with or without domain environment. Windows authentication with or without domain environment.
...@@ -954,6 +978,8 @@ Replaces: mariadb-test-10.0, ...@@ -954,6 +978,8 @@ Replaces: mariadb-test-10.0,
mariadb-test-5.5, mariadb-test-5.5,
mysql-client-5.5, mysql-client-5.5,
mysql-server-5.5, mysql-server-5.5,
mysql-server-5.7,
mysql-server-core-8.0,
mysql-testsuite, mysql-testsuite,
mysql-testsuite-5.5, mysql-testsuite-5.5,
mysql-testsuite-5.6, mysql-testsuite-5.6,
......
...@@ -11,10 +11,10 @@ usr/include/mariadb/mariadb_dyncol.h ...@@ -11,10 +11,10 @@ usr/include/mariadb/mariadb_dyncol.h
usr/include/mariadb/mariadb_rpl.h usr/include/mariadb/mariadb_rpl.h
usr/include/mariadb/mariadb_stmt.h usr/include/mariadb/mariadb_stmt.h
usr/include/mariadb/mariadb_version.h usr/include/mariadb/mariadb_version.h
usr/include/mariadb/my_alloca.h
usr/include/mariadb/my_config.h usr/include/mariadb/my_config.h
usr/include/mariadb/my_global.h usr/include/mariadb/my_global.h
usr/include/mariadb/my_sys.h usr/include/mariadb/my_sys.h
usr/include/mariadb/my_alloca.h
usr/include/mariadb/mysql.h usr/include/mariadb/mysql.h
usr/include/mariadb/mysql/ usr/include/mariadb/mysql/
usr/include/mariadb/mysql/client_plugin.h usr/include/mariadb/mysql/client_plugin.h
......
# This is how upstream does it, wont' fix
arch-dependent-file-not-in-arch-specific-directory usr/bin/mariadb_config arch-dependent-file-not-in-arch-specific-directory usr/bin/mariadb_config
...@@ -119,6 +119,18 @@ then ...@@ -119,6 +119,18 @@ then
fi fi
# If there is no debian-*.flag, and no version was detected, but a file that
# indicated MySQL 8.0 is found (undo_001 is created by default in MySQL 8.0+
# installs), then that file is enough of additional indication to trigger the
# move of the data directory.
if [ -z "$found_version" ] &&
[ -z "$(find $mysql_datadir/debian-*.flag 2> /dev/null)" ] &&
[ -f "$mysql_datadir/undo_001" ]
then
echo "$mysql_datadir: no server version flag found, assuming MySQL 8.0 data encountered"
downgrade_detected=true
found_version="previous" # Just use dummy name as we don't know real version
fi
# Don't abort dpkg if downgrade is detected (as was done previously). # Don't abort dpkg if downgrade is detected (as was done previously).
# Instead simply move the old datadir and create a new for this_version. # Instead simply move the old datadir and create a new for this_version.
...@@ -133,8 +145,8 @@ then ...@@ -133,8 +145,8 @@ then
echo "Please manually export/import your data (e.g. with mysqldump) if needed." 1>&2 echo "Please manually export/import your data (e.g. with mysqldump) if needed." 1>&2
mv -f "$mysql_datadir" "$mysql_datadir-$found_version" mv -f "$mysql_datadir" "$mysql_datadir-$found_version"
# Also move away the old debian.cnf file that included credentials that are # Also move away the old debian.cnf file that included credentials that are
# no longer valid # no longer valid. If none existed, ignore error and let dpkg continue.
mv -f /etc/mysql/debian.cnf "/etc/mysql/debian.cnf-$found_version" mv -f /etc/mysql/debian.cnf "/etc/mysql/debian.cnf-$found_version" || true
fi fi
# to be sure # to be sure
......
...@@ -12,8 +12,8 @@ usr/share/man/man1/resolveip.1 ...@@ -12,8 +12,8 @@ usr/share/man/man1/resolveip.1
usr/share/man/man8/mariadbd.8 usr/share/man/man8/mariadbd.8
usr/share/man/man8/mysqld.8 usr/share/man/man8/mysqld.8
usr/share/mysql/bulgarian usr/share/mysql/bulgarian
usr/share/mysql/chinese
usr/share/mysql/charsets usr/share/mysql/charsets
usr/share/mysql/chinese
usr/share/mysql/czech usr/share/mysql/czech
usr/share/mysql/danish usr/share/mysql/danish
usr/share/mysql/dutch usr/share/mysql/dutch
......
...@@ -37,8 +37,8 @@ usr/share/mysql/mysql-test/README.stress ...@@ -37,8 +37,8 @@ usr/share/mysql/mysql-test/README.stress
usr/share/mysql/mysql-test/dgcov.pl usr/share/mysql/mysql-test/dgcov.pl
usr/share/mysql/mysql-test/lib usr/share/mysql/mysql-test/lib
usr/share/mysql/mysql-test/mariadb-stress-test.pl usr/share/mysql/mysql-test/mariadb-stress-test.pl
usr/share/mysql/mysql-test/mysql-test-run.pl
usr/share/mysql/mysql-test/mariadb-test-run.pl usr/share/mysql/mysql-test/mariadb-test-run.pl
usr/share/mysql/mysql-test/mysql-test-run.pl
usr/share/mysql/mysql-test/purify.supp usr/share/mysql/mysql-test/purify.supp
usr/share/mysql/mysql-test/suite.pm usr/share/mysql/mysql-test/suite.pm
usr/share/mysql/mysql-test/valgrind.supp usr/share/mysql/mysql-test/valgrind.supp
...@@ -2,7 +2,7 @@ usr/bin/mariadb-client-test usr/bin/mysql_client_test ...@@ -2,7 +2,7 @@ usr/bin/mariadb-client-test usr/bin/mysql_client_test
usr/bin/mariadb-client-test-embedded usr/bin/mysql_client_test_embedded usr/bin/mariadb-client-test-embedded usr/bin/mysql_client_test_embedded
usr/bin/mariadb-test usr/bin/mysqltest usr/bin/mariadb-test usr/bin/mysqltest
usr/bin/mariadb-test-embedded usr/bin/mysqltest_embedded usr/bin/mariadb-test-embedded usr/bin/mysqltest_embedded
usr/share/mysql/mysql-test/mariadb-test-run.pl usr/share/mysql/mysql-test/mysql-test-run.pl
usr/share/mysql/mysql-test/mariadb-test-run.pl usr/share/mysql/mysql-test/mysql-test-run
usr/share/mysql/mysql-test/mariadb-test-run.pl usr/share/mysql/mysql-test/mtr
usr/share/mysql/mysql-test/mariadb-test-run.pl usr/share/mysql/mysql-test/mariadb-test-run usr/share/mysql/mysql-test/mariadb-test-run.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/mariadb-test-run.pl usr/share/mysql/mysql-test/mysql-test-run
usr/share/mysql/mysql-test/mariadb-test-run.pl usr/share/mysql/mysql-test/mysql-test-run.pl
#!/usr/bin/make -f #!/usr/bin/make -f
export DH_VERBOSE=1 # Enable Debian Hardening
export DEB_BUILD_HARDENING=1 # https://wiki.debian.org/Hardening
# enable Debian Hardening
# see: https://wiki.debian.org/Hardening
export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# Disable LTO on Ubuntu, see LP: #1970634 and https://jira.mariadb.org/browse/MDEV-25633 # Disable LTO on Ubuntu, see LP: #1970634 and https://jira.mariadb.org/browse/MDEV-25633
...@@ -64,8 +61,8 @@ endif ...@@ -64,8 +61,8 @@ endif
# Only attempt to build with PMEM on archs that have package libpmem-dev available # Only attempt to build with PMEM on archs that have package libpmem-dev available
# See https://packages.debian.org/search?searchon=names&keywords=libpmem-dev # See https://packages.debian.org/search?searchon=names&keywords=libpmem-dev
ifneq (,$(filter $(DEB_HOST_ARCH_CPU),amd64 arm64 ppc64el riscv64)) ifneq (,$(filter $(DEB_HOST_ARCH),amd64 arm64 ppc64el riscv64))
CMAKEFLAGS += -DWITH_PMEM=YES CMAKEFLAGS += -DWITH_PMEM=ON
endif endif
# Add support for verbose builds # Add support for verbose builds
...@@ -93,6 +90,9 @@ endif ...@@ -93,6 +90,9 @@ endif
# quality standards in Debian. Also building it requires an extra 4 GB of disk # quality standards in Debian. Also building it requires an extra 4 GB of disk
# space which makes native Debian builds fail as the total disk space needed # space which makes native Debian builds fail as the total disk space needed
# for MariaDB becomes over 10 GB. Only build CS via autobake-deb.sh. # for MariaDB becomes over 10 GB. Only build CS via autobake-deb.sh.
#
# Note: Don't use '-DWITH_URING=ON' as some Buildbot builders are missing it
# and would fail permanently.
PATH=$${MYSQL_BUILD_PATH:-"/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin"} \ PATH=$${MYSQL_BUILD_PATH:-"/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin"} \
NO_UPDATE_BUILD_VERSION=1 \ NO_UPDATE_BUILD_VERSION=1 \
dh_auto_configure --builddirectory=$(BUILDDIR) -- \ dh_auto_configure --builddirectory=$(BUILDDIR) -- \
...@@ -107,8 +107,7 @@ endif ...@@ -107,8 +107,7 @@ endif
-DCONC_DEFAULT_CHARSET=utf8mb4 \ -DCONC_DEFAULT_CHARSET=utf8mb4 \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
-DPLUGIN_COLUMNSTORE=NO \ -DPLUGIN_COLUMNSTORE=NO \
-DIGNORE_AIO_CHECK=YES \ -DIGNORE_AIO_CHECK=ON \
-DWITH_URING=YES \
-DDEB=$(DEB_VENDOR) -DDEB=$(DEB_VENDOR)
# This is needed, otherwise 'make test' will run before binaries have been built # This is needed, otherwise 'make test' will run before binaries have been built
...@@ -123,6 +122,7 @@ override_dh_auto_test: ...@@ -123,6 +122,7 @@ override_dh_auto_test:
dh_testdir dh_testdir
# Ensure at least an empty file exists # Ensure at least an empty file exists
touch mysql-test/unstable-tests touch mysql-test/unstable-tests
# Skip unstable tests if such are defined for arch
[ ! -f debian/unstable-tests.$(DEB_HOST_ARCH) ] || cat debian/unstable-tests.$(DEB_HOST_ARCH) >> mysql-test/unstable-tests [ ! -f debian/unstable-tests.$(DEB_HOST_ARCH) ] || cat debian/unstable-tests.$(DEB_HOST_ARCH) >> mysql-test/unstable-tests
# Run testsuite # Run testsuite
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment