From: Otto Kekäläinen Date: Sun, 22 May 2022 23:44:02 +0000 (+0100) Subject: mariadb-10.6 (1:10.6.8-1) unstable; urgency=medium X-Git-Tag: archive/raspbian/1%10.11.8-1+rpi1~1^2^2^2^2^2^2~12 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8df4cd6ccb3c1cac5d4fbd9898b69cd5d317af69;p=mariadb.git mariadb-10.6 (1:10.6.8-1) unstable; urgency=medium * New upstream version 10.6.8. Includes security fixes for - CVE-2022-27376 - CVE-2022-27377 - CVE-2022-27378 - CVE-2022-27379 - CVE-2022-27380 - CVE-2022-27381 - CVE-2022-27382 - CVE-2022-27383 - CVE-2022-27384 - CVE-2022-27386 - CVE-2022-27387 - CVE-2022-27444 - CVE-2022-27445 - CVE-2022-27446 - CVE-2022-27447 - CVE-2022-27448 - CVE-2022-27449 - CVE-2022-27451 - CVE-2022-27452 - CVE-2022-27455 - CVE-2022-27456 - CVE-2022-27457 - CVE-2022-27458 [ Daniel Black ] * Move client programs to client package from MariaDB server package [ Tuukka Pasanen ] * MDEV-12275: Add switch '--silent' to SySV init upgrade * Allow to use Perl DBD::mysl with mariadb-report (MDEV-28376) [ Andreas Hasenack ] * Disable LTO on Ubuntu [ Faustin Lammler ] * Use archive.mariadb.org as official watch source [ Laurent Bigonville ] * Fix pmem availability check (Closes: #1006530) [ Otto Kekäläinen ] * Update breaks/replaces to accommodate the moved mariadb-binlog et al * Use pmem also on riscv64 * Add Bulgarian and Chinese translations for error messages * Use proper pid namespace * Add upstream PR#2129 to fix wsrep_sst_backup packaging * Deb: Move my_print_defaults to MariaDB client core package * Deb: Ensure the not-installed list is up-to-date * Install all available man pages in appropriate packages [dgit import unpatched mariadb-10.6 1:10.6.8-1] --- 8df4cd6ccb3c1cac5d4fbd9898b69cd5d317af69 diff --cc debian/README.Contributor index 000000000,000000000..c3cf90829 new file mode 100644 --- /dev/null +++ b/debian/README.Contributor @@@ -1,0 -1,0 +1,402 @@@ ++# README for Debian packaging contributors ++ ++This documentation describes how to contribute to the official Debian packages ++of MariaDB. The packaging in Debian repositories is not identical to the packaging ++in mariadb.org repositories, but whatever is in Debian repositories will eventually ++be upstreamed. ++ ++ ++## Development environment and tools ++ ++Use a recent version of Debian or Ubuntu as the environment for Debian packaging ++testing and development. Preferred environment is Debian Sid (unstable). ++ ++Install the tool used to manage and build the source: ++ ++ sudo apt-get install git-buildpackage ++ ++ ++## Getting the source ++ ++The official Debian package source is hosted on the Debian Gitlab server under ++the MariaDB/MySQL packaging team at https://salsa.debian.org/mariadb-team/. You ++are welcome to fork it and make merge requests. ++ ++To get the latest official Debian packaging source of mariadb-10.6, clone the ++source repository with all relevant branches (main branch `debian/latest`) to ++your local environment using _git-buildpackage_: ++ ++ gbp clone https://salsa.debian.org/mariadb-team/mariadb-server.git ++ ++If you have your own fork and SSH keys set up on Salsa, you can run: ++ ++ gbp clone git@salsa.debian.org:/mariadb-server.git ++ ++ ++The clone needs to be run only once. On later runs you can refresh your clone with ++relevant branches using: ++ ++ gbp pull --force ++ ++ ++## Building the packages ++ ++Build binaries, run testsuite and build Debian packages with: ++ ++ gbp buildpackage ++ ++On the first run git-buildpackage will complain if some of the build dependencies ++defined in debian/control are missing. Simply install those packages and run the ++build again. ++ ++A quick command to install all dependencies: ++ ++ sudo mk-build-deps -r -i debian/control -t "apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends" ++ ++If the build fails, the easiest way to clean up before a new run is ++ ++ git clean -fdx && git reset --hard ++ ++ ++### Build options ++ ++If you want to skip the mysql-test-run step (which takes a lot of time) set ++the following environment variable: ++ ++ export DEB_BUILD_OPTIONS="nocheck" ++ ++If you want to run the build in parallel on 2 CPUs and have verbose output: ++ ++ export DEB_BUILD_OPTIONS="parallel=2 verbose" ++ ++The options above can also be combined freely to get desired behavior. ++ ++ ++### Using special build environments ++ ++If you want to ensure all build dependencies are clean, you can build inside a ++Docker or sbuild (Debian tool) environment. ++ ++#### Build in Docker ++ ++First make a working directory for the build artifacts. Inside that directory ++clone the repository. Then start a Docker session using whatever Debian/Ubuntu ++image you want with the command: ++ ++ docker run -it -v ${PWD}:/build -w /build debian:sid bash ++ ++This will start a session, where you are as the root user in the path /build ++inside the Docker container. Here you can `cd` into the source directory, ++install dependencies and start the build. Note that when you exit the session, ++everything will be lost apart from the files you had inside the mounted volume ++in `/build`. ++ ++#### Build using sbuild ++ ++If you prefer sbuild, you can build with something like: ++ ++ gbp buildpackage --git-builder=sbuild -A -v -d unstable ++ ++## Creating a feature or bugfix branch ++ ++The repository layout follows the DEP-14 standard: ++https://dep-team.pages.debian.net/deps/dep14/ ++ ++All new features and also bug fixes are done only in the `debian/latest` branch. ++The release branches for Debian and Ubuntu are only used for security updates. ++ ++To prepare the Salsa pull request, create a bugfix branch from master with: ++ ++ git checkout -b bugfix/NNNNNN-example-name ++ ++After this you can develop with all the usual git commit and push commands ++until you have in your fork at Salsa the desired change and you are ready ++to open the merge request. ++ ++ ++### Notes about how to make changes in the proper way ++ ++First consider submitting your patch upstream. Upstream MariaDB makes frequent ++maintenance releases and any fix done upstream will therefore be included in ++Debian relatively quickly. You can send email to the developers mailing list ++or open a pull request at https://github.com/MariaDB/server. ++ ++Follow these instructions if your fix is about packaging in Debian specifically. ++Start by using `gitk --all` or similar tool to browse the previous changes. Try ++to follow similar pattern in your new changes. ++ ++Keep in mind that all changes must done only for files residing in the `debian/` ++sub-directory. If you need to create changes outside the `debian/` directory, ++then you need to create a patch file using the same pattern as the patches ++found in `debian/patches` and activated by a line in `debian/patches/series`. ++ ++Do not bundle in your commit any changes to `debian/changelog`. The correct ++changelog entries will be created later by the maintainer using `git-dch` in an ++automated fashion. ++ ++For an example of a patch adding commit see ++https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/7972a38e ++ ++ ++# Quality assurance tips ++ ++Ensure most packaging files are formatted correctly: ++ ++ wrap-and-sort -av ++ ++Check man pages for syntax errors: ++ ++ LC_ALL=en_US.UTF-8 MANROFFSEQ='' MANWIDTH=80 man --warnings -E UTF-8 -l -Tutf8 -Z mariadb.1 >/dev/null ++ ++Find spelling errors: ++ ++ find * -type f | xargs spellintian ++ ++ ++# Debugging tips ++ ++## Debug mariadb-test-run failures ++ ++If the test suite is failing on Launchpad or some other CI system where you ++don't have access to the build artifacts, you can extend the debian/rules file ++to print out valuable information with the commands: ++ ++ cd $(BUILDDIR)/mysql-test && find var/log/ -ls || true ++ cd $(BUILDDIR)/mysql-test && cat var/log/*.err || true ++ cd $(BUILDDIR)/mysql-test && tail -n 1000 var/log/*.log || true ++ ++The `cd` is required on every line since it is a Makefile and the actual command ++needs to run in the correct directory. Also, the `|| true` at the end ensures ++the build will complete and not abort if any of those debug steps fail. ++ ++## Debugging with gdb ++ ++If the `mariadb-test-run` fails on a `mariadbd` crash it should produce a core ++dump file, from which a full stack trace can be produced with: ++ ++ cd $(BUILDDIR)/mysql-test && gdb --batch --ex 'thr a a bt' var/log/*/mysqld.1/core || true ++ ++To attach `gdb` on a running process and get a stack trace run: ++ ++ gdb -p $(pgrep -x mariadbd) /usr/sbin/mariadbd ++ set height 0 ++ set logging file /tmp/mysqld.log ++ set logging on ++ thread apply all backtrace full ++ ++The readability of the stack traces depends on if symbols are available on the ++system. In Debian and Ubuntu all (C/C++) software is automatically built with ++debug symbols, but to save disk space they are distributed in separate packages ++(usually with `-dbg` or `-dbgsym` suffix) which users need to install in the ++rare case stack traces are needed. See the Debian and Ubuntu documentation on ++how to enable the repository that has the debug symbol packages. ++ ++* https://wiki.ubuntu.com/Debug%20Symbol%20Packages ++* https://wiki.debian.org/HowToGetABacktrace ++ ++## Debug build ++ ++A debug build can be created using the following build flags: ++ ++ -DCMAKE_BUILD_TYPE=Debug \ ++ -DMYSQL_MAINTAINER_MODE=OFF \ ++ ++The latter flag ensures a build does not stop on warnings but continues to the ++end. ++ ++A 'mariadbd' binary from a debug build can be started with argument '--debug' to ++be verbose about what is going on in the server. Debug binaries should not be ++used in production as they are slower than normal binaries. ++ ++Core dumps and stack traces can be produced on any build running with ++`--core-file --stack-trace` and *debug builds are not needed to run `gdb`*. ++ ++## Debugging a running server ++ ++Linux distros come standard with tools like `strace` and `lsof` which can also ++be used to inspect what processes are doing (no need for debug build). For ++example to see what `mariadbd` is writing to the database files can be viewed ++with: ++ ++ strace -ffp $(pgrep -x mariadbd) -e pwrite,write,fsync,fdatasync,sync,send,sendto,sendmsg ++ lsof -a -p $(pgrep -x mariadbd) | grep "/var/lib/mysql" ++ ++## Compare changes between builds ++ ++Diffoscope can be used to investigate small changes between recent builds: ++ ++ docker run --rm -t -w $(pwd) -v $(pwd):$(pwd) registry.salsa.debian.org/reproducible-builds/diffoscope --html-dir report mariadb-server-1.deb mariadb-server-2.deb ++ firefox report/index.html ++ ++## Test autopkgtest locally ++ ++If Debian CI fails (or Ubuntu CI) one might need to debug the autopkgtests ++manually. The easiest way to do it is to start a Docker container that has ++access to the packaging source directory via a local mount: ++ ++ laptop$ docker run -it -v ${PWD}:/build -w /build debian:sid bash ++ container$ apt update && apt install -y autopkgtest ++ container$ autopkgtest --shell-fail -- null ++ ++Edit the files in `debian/tests` in your favorite code editor and re-run the ++`autopkgtest -- null` until the tests are passing. When the autopkgtests work ++the container can be shut down and the valid `debian/tests` committed in git. ++ ++## Debug installation/upgrade ++ ++To see what exactly the Debian maintainer scripts run, they can be made verbose with: ++ ++ export DEBIAN_SCRIPT_DEBUG=1 ++ apt install ... ++ ++The source files of the Debian maintainer scripts are not the final ones, as the ++package building stage may make changes and additions to them. To view a ++maintainer script in the final form on an installed system run: ++ ++ cat /var/lib/dpkg/info/mariadb-server-10.5.postinst ++ ++To review the my.cnf status run: ++ ++ find /etc/mysql/ -ls ++ update-alternatives --display my.cnf ++ ++## Debug apt Depends/Conflicts/Breaks ++ ++It can be quite frustrating to debug situations where `apt` (or `apt-get`) fails ++on an install or upgrade with an error message like: ++ ++ The following packages have unmet dependencies: ++ mariadb-client : Depends: mariadb-client-10.5 but 1:10.5.12 is to be installed ++ mariadb-server : Depends: mariadb-server-10.5 but 1:10.5.12 is to be installed ++ mariadb-test : Depends: mariadb-client-10.5 but 1:10.5.12 is to be installed ++ Depends: mariadb-server-10.5 but 1:10.5.12 is to be installed ++ E: Unable to correct problems, you have held broken packages. ++ ++To make apt show debug information on what it tried to resolve and how it failed ++add `Debug::pkgProblemResolver "true";` to a file in `/etc/apt/apt.conf.d/` or ++alternatively append `-o Debug::pkgProblemResolver=1` to the `apt` commands: ++ ++ apt dist-upgrade -o Debug::pkgProblemResolver=1 ++ ++To have maximum verbosity add more `Debug` options: ++ ++ apt-get upgrade -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::AutoInstall=1 -o Debug::pkgDepCache::Marker=1 ++ ++The examples above also illustrate that these debug options apply for both ++`apt-get` and `apt` and to all install/upgrade commands. ++ ++It can be also quite annoying to rebuild the entire package to debug small ++changes in the `debian/control` file. To have a much faster change->test->change ++cycle one can simply instruct `apt` to use a custom `Packages` file to read the ++`control` data. ++ ++First ensure `apt` forgets all repositories: ++ ++ rm /etc/apt/sources.list ++ apt clean ++ apt update ++ ++Download a Packages file for so it can be edited: ++ ++ curl -O http://ftp.debian.org/debian/dists/sid/main/binary-amd64/Packages.xz ++ unxz Packages.xz ++ cp Packages Packages.orig ++ ++Open the file in an editor, scroll down to the MariadB packages and make any ++changes you want and then test them: ++ ++ nano Packages ++ apt install --with-source ./Packages -s mariadb-server -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 -o Debug::pkgProblemResolver=1 ++ ++The example uses maximum verbosity but it is naturally not mandatory. When the ++solution has been found, compare to the original and transfer the changes into ++the actual debian/control in the MariaDB packaging: ++ ++ diff -u Packages.orig Packages ++ ++## Test install/upgrade with local package repository ++ ++Normally the fastest way to test that the built *.deb files install and upgrade ++properly is simply to run `apt` directly on them inside a container that has ++access to the .deb files via a local mount: ++ ++ laptop$ docker run -it -v ${PWD}:/build -w /build debian:sid bash ++ container$ apt update && apt install ./*.deb ++ ++Some bugs however occur only when apt does various dependency resolving and can ++only be tested with an installation from an actual apt repository. The fastest ++way to get a directory with deb files served via a local repository is to run: ++ ++ apt install apt-utils ++ apt-ftparchive release . > Release ++ echo 'deb [trusted=yes] file:/build/mariadb-bionic ./' >> /etc/apt/sources.list ++ apt update ++ apt install mariadb-server ++ ++The example above assumes that the .deb files are in path `/build`. ++ ++## Check Breaks/Replaces ++ ++MariaDB is not only a massive package by itself, it also has several parallel ++major releases at any given time and also other variants (MySQL, Percona Server) ++the packaging might interact with. ++ ++The standard Salsa-CI pipeline checks Breaks/Replaces for what is currently in ++the Debian repositories, but to check Breaks/Replaces across all known ++repositories one needs to run: ++ ++ docker run -it -v ${PWD}:/build -w /build debian:sid bash ++ apt update ++ apt install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates curl debian-archive-keyring ++ curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc ++ apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 871920D1991BC93C 3B4FE6ACC0B21F32 CBF8D6FD518E17E1 7638D0442B90D010 8C718D3B5072E1F5 9334A25F8507EFA5 CBCB082A1BB943DB 467B942D3A79BD29 ++ cat > /etc/apt/sources.list <); + Term::ReadKey::ReadMode(0), print "\n" if $RK; + } + else { $mycnf{'pass'} = $op{'password'}; } # Use password given on command line +} + +$op{'com'} ||= 3; +$op{'c'} ||= 1; # Used in collect_reports() if --r given integer value + +$relative_live = 0; +$relative_infiles = 0; + +if(defined $op{'r'}) +{ + if($op{r}) { $relative_live = 1; } # if -r was given an integer value + else { $relative_infiles = 1; } +} + +# The report is written to a tmp file first. +# Later it will be moved to $op{'outfile'} or emailed $op{'email'} if needed. +($tmpfile_fh, $tmpfile) = tempfile() or die "Cannot open temporary file for writing: $!\n"; + +if($op{'detach'}) +{ + $SIG{'TERM'} = 'sig_handler'; + + if(fork()) + { + print "mariadb-report has forked and detached.\n"; + print "While running detached, mariadb-report writes reports to '$tmpfile'.\n"; + + exit; + } + + open(STDIN, " $tmpfile") or die "Cannot dup STDOUT: $!\n"; + open(STDERR, "> $tmpfile") or die "Cannot dup STDERR: $!\n"; +} + +select $tmpfile_fh; +$| = 1 if ($op{'detach'} || $relative_live); + +print "tmp file: $tmpfile\n" if $op{debug}; + +# Connect to MySQL/MariaDB +if(!$op{'infile'} && !$relative_infiles) +{ + connect_to_MySQL(); +} + +my $have_innodb_vals = 1; # This might be set to 0 later in get_MySQL_version() +my $have_aria_vals = 0; +my $have_subquerycache_vals = 0; +my $have_binlog_vals = 0; +my $use_thread_pool = 0; + +if(defined $op{'r'}) +{ + if($relative_live) + { + print STDERR "mariadb-report is writing relative reports to '$tmpfile'.\n" unless $op{'detach'}; + get_MySQL_version(); + collect_reports(); + } + + if($relative_infiles) { read_relative_infiles(); } +} +else +{ + if(!$op{'infile'}) + { + get_MySQL_version(); + get_vals(); + get_vars(); + } + else + { + read_infile($op{'infile'}); + } + + get_Com_values(); + + set_myisam_vals(); + set_ib_vals() if $have_innodb_vals; + set_aria_vals() if $have_aria_vals; + set_subquerycache_vals() if $have_subquerycache_vals; + set_binlog_vals() if $have_binlog_vals; + + write_report(); +} + +exit_tasks_and_cleanup(); + +exit; + +# +# Subroutines +# +sub show_help_and_exit +{ + print <<"HELP"; +mariadb-report v4.0 Oct 23 2015 +mariadb-report makes an easy-to-read report of important MySQL/MariaDB status values. + +Command line options (abbreviations work): + --user USER Connect to MySQL as USER + --password PASS Use PASS or prompt for MySQL user's password + --host ADDRESS Connect to MySQL at ADDRESS + --port PORT Connect to MySQL at PORT + --socket SOCKET Connect to MySQL at SOCKET + --no-mycnf Don't read ~/.my.cnf + --infile FILE Read status values from FILE instead of MySQL + --outfile FILE Write report to FILE + --email ADDRESS Email report to ADDRESS (doesn't work on Windows) + --flush-status Issue FLUSH STATUS; after getting current values + --relative X Generate relative reports. If X is an integer, + reports are live from the MySQL server X seconds apart. + If X is a list of infiles (file1 file2 etc.), + reports are generated from the infiles in the order + that they are given. + --report-count N Collect N number of live relative reports (default 1) + --detach Fork and detach from terminal (run in background) + --help Prints this + --debug Print debugging information + +Visit http://hackmysql.com/mysqlreport for more information. +HELP + + exit; +} + +sub get_user_mycnf +{ + print "get_user_mycnf\n" if $op{debug}; + + return if $WIN; + open MYCNF, "$ENV{HOME}/.my.cnf" or return; + while() + { + if(/^(.+?)\s*=\s*"?(.+?)"?\s*$/) + { + $mycnf{$1} = $2; + print "get_user_mycnf: read '$1 = $2'\n" if $op{debug}; + } + } + $mycnf{'pass'} ||= $mycnf{'password'} if exists $mycnf{'password'}; + close MYCNF; +} + +sub connect_to_MySQL +{ - print "connect_to_MySQL\n" if $op{debug}; - - my $dsn; - - if($mycnf{'socket'} && -S $mycnf{'socket'}) - { - $dsn = "DBI:MariaDB:mariadb_socket=$mycnf{socket}"; - } - elsif($mycnf{'host'}) - { - $dsn = "DBI:MariaDB:host=$mycnf{host}" . ($mycnf{port} ? ";port=$mycnf{port}" : ""); - } - else - { - $dsn = "DBI:MariaDB:host=localhost"; - } - - print "connect_to_MySQL: DBI DSN: $dsn\n" if $op{debug}; - - $dbh = DBI->connect($dsn, $mycnf{'user'}, $mycnf{'pass'}) or die; ++ print "connect_to_MySQL\n" if $op{debug}; ++ ++ if(my @driverList = grep {/mariadb|mysql/i} DBI->available_drivers()) { ++ my $dsn; ++ my $driver = undef; ++ ++ if(grep {/mariadb/i} @driverList) ++ { ++ $driver = "DBI:MariaDB"; ++ } ++ elsif(grep {/mysql/i} @driverList) ++ { ++ $driver = "DBI:mysql"; ++ } ++ ++ if($mycnf{'socket'} && -S $mycnf{'socket'}) ++ { ++ if(grep {/mariadb/i} @driverList) ++ { ++ $dsn = $driver . ":mariadb_socket=$mycnf{socket}"; ++ } ++ elsif(grep {/mysql/i} @driverList) ++ { ++ $dsn = $driver . ":mysql_socket=$mycnf{socket}"; ++ } ++ } ++ elsif($mycnf{'host'}) ++ { ++ $dsn = $driver . ":host=$mycnf{host}" . ($mycnf{port} ? ";port=$mycnf{port}" : ""); ++ } ++ else ++ { ++ $dsn = $driver . ":host=localhost"; ++ } ++ ++ print "connect_to_MySQL: DBI DSN: " . $dsn . "\n" if $op{debug}; ++ ++ $dbh = DBI->connect($dsn, $mycnf{'user'}, $mycnf{'pass'}) or die; ++ } ++ else ++ { ++ print STDERR "Install Perl 5.x driver: DBD:mysql or DBD:MariaDB\n"; ++ print STDERR "currently installed Perl DBD drivers:\n"; ++ foreach my $driver (DBI->available_drivers()) ++ { ++ print STDERR " * " . $driver . "\n"; ++ } ++ print STDERR "\n"; ++ die("Exit as no MariaDB DBI driver found!\n"); ++ } +} + +sub collect_reports +{ + print "collect_reports\n" if $op{debug}; + + my $i; + + get_vals(); + get_vars(); + + get_Com_values(); + + %stats_past = %stats; + + set_myisam_vals(); + set_ib_vals() if $have_innodb_vals; + set_aria_vals() if $have_aria_vals; + set_subquerycache_vals() if $have_subquerycache_vals; + set_binlog_vals() if $have_binlog_vals; + + print "#\n# Beginning report, 0 0:0:0\n#\n"; + + write_report(); + + for($i = 0; $i < $op{'c'}; $i++) + { + $dbh->disconnect(); + + sleep($op{'r'}); + + connect_to_MySQL(); + + print "\n#\n# Interval report " , $i + 1 , ", +", sec_to_dhms(($i + 1) * $op{'r'}), "\n#\n"; + + get_vals(); + + write_relative_report(); + } +} + +sub read_relative_infiles +{ + print "read_relative_infiles\n" if $op{debug}; + + my $slurp; # Used to check infiles for multiple sets of status values + my $n_stats; # Number of multiple sets of status values in an infile + my $infile; + my $report_n; # Report number + + $report_n = 1; + + foreach $infile (@ARGV) + { + # Read all of infile into $slurp + open INFILE, "< $infile" or warn and next; + $slurp = do { local $/; }; + close INFILE; + + $n_stats = 0; + + # Count number of status value sets + $n_stats++ while $slurp =~ /Aborted_clients/g; + + print "read_relative_infiles: found $n_stats sets of status values in file '$infile'\n" + if $op{debug}; + + if($n_stats == 1) + { + read_infile($infile); + relative_infile_report($report_n++); + } + + if($n_stats > 1) + { + my @tmpfile_fh; + my @tmpfile_name; + my $i; + my $stat_n; # Status value set number + + # Create a tmp file for each set of status values + for($i = 0; $i < $n_stats; $i++) + { + my ($fh, $name) = tempfile() + or die "read_relative_infiles: cannot open temporary file for writing: $!\n"; + + push(@tmpfile_fh, $fh); + push(@tmpfile_name, $name); + + print "read_relative_infiles: created tmp file '$name' for set $i\n" if $op{debug}; + } + + $i = 0; + $stat_n = 0; + + select $tmpfile_fh[$i]; + + # Read infile again and copy each set of status values to separate tmp files + open INFILE, "< $infile" or warn and next; + while() + { + next if /^\+/; + next if /^$/; + + # The infile must begin with the system variable values. + # Therefore, the first occurrence of Aborted_clients indicates the beginning + # of the first set of status values if no sets have occurred yet ($stat_n == 0). + # In this case, the following status values are printed to the current fh, + # along with the system variable values read thus far, until Aborted_clients + # occurs again. Then begins the second and subsequent sets of status values. + + if(/Aborted_clients/) + { + print and next if $stat_n++ == 0; + select $tmpfile_fh[++$i]; + } + + print; + } + close INFILE; + + # Re-select the main tmp file into which the reports are being written. + select $tmpfile_fh; + + for($i = 0; $i < $n_stats; $i++) + { + close $tmpfile_fh[$i]; + + print "read_relative_infiles: reading set $i tmp file '$tmpfile_name[$i]'\n" + if $op{debug}; + + read_infile($tmpfile_name[$i]); + relative_infile_report($report_n++); + + if($WIN) { `del $tmpfile_name[$i]`; } + else { `rm -f $tmpfile_name[$i]`; } + + print "read_relative_infiles: deleted set $i tmp file '$tmpfile_name[$i]'\n" + if $op{debug}; + } + + } # if($n_stats > 1) + } # foreach $infile (@files) +} + +sub relative_infile_report +{ + print "relative_infile_report\n" if $op{debug}; + + my $report_n = shift; + + if($report_n == 1) + { + get_Com_values(); + + %stats_past = %stats; + + set_myisam_vals(); + set_ib_vals() if $have_innodb_vals; + set_aria_vals() if $have_aria_vals; + set_subquerycache_vals() if $have_subquerycache_vals; + set_binlog_vals() if $have_binlog_vals; + + print "#\n# Beginning report, 0 0:0:0\n#\n"; + + write_report(); + } + else + { + print "\n#\n# Interval report ", $report_n - 1, ", +", + sec_to_dhms($stats{Uptime} - $stats_past{Uptime}), + "\n#\n"; + + write_relative_report(); + } +} + +sub get_vals +{ + print "get_vals\n" if $op{debug}; + + my (@row, $query); + + # Get status values + if($MySQL_version >= 50002) + { + $query = $dbh->prepare("SHOW GLOBAL STATUS;"); + } + else + { + $query = $dbh->prepare("SHOW STATUS;"); + } + $query->execute(); + # To avoid problems if the variable capitalization would change (eg. TokuDB on MariaDB 5.5 => 10.0), the $stats index is forced to have its first char uppercase and the rest lowercase + while(@row = $query->fetchrow_array()) { $stats{ucfirst(lc($row[0]))} = $row[1]; } + $query->finish(); + + $real_uptime = $stats{'Uptime'}; +} + +sub get_vars +{ + print "get_vars\n" if $op{debug}; + + my (@row, $query); + + # Get server system variables + $query = $dbh->prepare("SHOW VARIABLES;"); + $query->execute(); + while(@row = $query->fetchrow_array()) { $vars{$row[0]} = $row[1]; } + $query->finish(); + # table_cache was renamed to table_open_cache in MySQL 5.1.3 + if($MySQL_version >= 50103) + { + $vars{'table_cache'} = $vars{'table_open_cache'}; + } + # log_slow_queries was renamed to slow_query_log in MySQL 5.1.29 + if($MySQL_version >= 50129) + { + $vars{'log_slow_queries'} = $vars{'slow_query_log'}; + } +} + +sub read_infile +{ + print "read_infile\n" if $op{debug}; + + my $infile = shift; + + # Default required system variable values if not set in INFILE. + # As of mysqlreport v3.5 the direct output from SHOW VARIABLES; + # can be put into INFILE instead. See http://hackmysql.com/mysqlreportdoc + # for details. + $vars{'version'} = "0.0.0" if !exists $vars{'version'}; + $vars{'table_cache'} = 64 if !exists $vars{'table_cache'}; + $vars{'max_connections'} = 100 if !exists $vars{'max_connections'}; + $vars{'key_buffer_size'} = 8388600 if !exists $vars{'key_buffer_size'}; # 8M + $vars{'thread_cache_size'} = 0 if !exists $vars{'thread_cache_size'}; + $vars{'tmp_table_size'} = 0 if !exists $vars{'tmp_table_size'}; + $vars{'long_query_time'} = '?' if !exists $vars{'long_query_time'}; + $vars{'log_slow_queries'} = '?' if !exists $vars{'log_slow_queries'}; + + # One should also add: + # key_cache_block_size + # query_cache_size + # to INFILE if needed. + + open INFILE, "< $infile" or die "Cannot open INFILE '$infile': $!\n"; + + while() + { + last if !defined $_; + + next if /^\+/; # skip divider lines + next if /^$/; # skip blank lines + + next until /(Aborted_clients|back_log|=)/; + + if($1 eq 'Aborted_clients') # status values + { + print "read_infile: start stats\n" if $op{debug}; + + while($_) + { + chomp; + if(/([A-Za-z_]+)[\s\t|]+(\d+)/) + { + $stats{$1} = $2; + print "read_infile: save $1 = $2\n" if $op{debug}; + } + else { print "read_infile: ignore '$_'\n" if $op{debug}; } + + last if $1 eq 'Uptime'; # exit while() if end of status values + $_ = ; # otherwise, read next line of status values + } + } + elsif($1 eq 'back_log') # system variable values + { + print "read_infile: start vars\n" if $op{debug}; + + while($_) + { + chomp; + if(/([A-Za-z_]+)[\s\t|]+([\w\.\-]+)/) # This will exclude some vars + { # like pid_file which we don't need + $vars{$1} = $2; + print "read_infile: save $1 = $2\n" if $op{debug}; + } + else { print "read_infile: ignore '$_'\n" if $op{debug}; } + + last if $1 eq 'wait_timeout'; # exit while() if end of vars + $_ = ; # otherwise, read next line of vars + } + } + elsif($1 eq '=') # old style, manually added system variable values + { + print "read_infile: start old vars\n" if $op{debug}; + + while($_ && $_ =~ /=/) + { + chomp; + if(/^\s*(\w+)\s*=\s*([0-9.]+)(M*)\s*$/) # e.g.: key_buffer_size = 128M + { + $vars{$1} = ($3 ? $2 * 1024 * 1024 : $2); + print "read_infile: read '$_' as $1 = $vars{$1}\n" if $op{debug}; + } + else { print "read_infile: ignore '$_'\n" if $op{debug}; } + + $_ = ; # otherwise, read next line of old vars + } + + redo; + } + else + { + print "read_infile: unrecognized line: '$_'\n" if $op{debug}; + } + } + + close INFILE; + + $real_uptime = $stats{'Uptime'}; + + $vars{'table_cache'} = $vars{'table_open_cache'} if exists $vars{'table_open_cache'}; + + get_MySQL_version(); +} + +sub get_MySQL_version +{ + print "get_MySQL_version\n" if $op{debug}; + + return if $MySQL_version; + + my ($major, $minor, $patch); + + if($op{'infile'} || $relative_infiles) + { + ($major, $minor, $patch) = ($vars{'version'} =~ /^(\d{1,2})\.(\d{1,2})\.(\d{1,2})/); + if($vars{'version'} =~ /^\d{1,2}\.\d{1,2}\.\d{1,2}-MariaDB/) { + print "MariaDB detected\n" if $op{debug}; + $dbms = "MariaDB"; + } else { + $dbms = "MySQL"; + } + } + else + { + my (@row, $query); + + $query = $dbh->prepare("SHOW VARIABLES LIKE 'version';"); + $query->execute(); + @row = $query->fetchrow_array(); + $query->finish(); + ($major, $minor, $patch) = ($row[1] =~ /^(\d{1,2})\.(\d{1,2})\.(\d{1,2})/); + if($row[1] =~ /^\d{1,2}\.\d{1,2}\.\d{1,2}-MariaDB/) + { + print "MariaDB detected\n" if $op{debug}; + $dbms = "MariaDB"; + } + else + { + $dbms = "MySQL"; + } + } + + # The major version number is kept as is while the minor version and the revision number are forced to 2 digits + # e.g.: 5.5.9 will be 50509, 10.0.5 will be 100005 and 10.1.23 will be 100123 + $MySQL_version = sprintf("%d%02d%02d", $major, $minor, $patch); + print "Version $MySQL_version\n" if $op{debug}; + + # Innodb_ status values were added in 5.0.2 + if($MySQL_version < 50002) + { + $have_innodb_vals = 0; + print "get_MySQL_version: no InnoDB reports because MySQL version is older than 5.0.2\n" if $op{debug}; + } else { + $have_innodb_vals = $dbh->selectall_arrayref("SELECT SUPPORT FROM information_schema.engines WHERE ENGINE = 'InnoDB';", undef)->[0][0]; + if(defined($have_innodb_vals) && ($have_innodb_vals eq "YES" || $have_innodb_vals eq "DEFAULT")) + { + print "InnoDB detected\n" if $op{debug}; + $have_innodb_vals = 1; + } else { + print "InnoDB is not activated\n" if $op{debug}; + $have_innodb_vals = 0; + } + } + + if($dbms eq "MariaDB") { + $have_aria_vals = $dbh->selectall_arrayref("SELECT SUPPORT FROM information_schema.engines WHERE ENGINE = 'Aria';", undef)->[0][0]; + if(defined($have_aria_vals) && $have_aria_vals eq "YES") + { + print "Aria engine detected\n" if $op{debug}; + $have_aria_vals = 1; + } else { + $have_aria_vals = 0; + } + + # MariaDB 5.3+, activated by default since 5.3.2 + $have_subquerycache_vals = $dbh->selectall_arrayref("SELECT VARIABLE_VALUE REGEXP ',subquery_cache=on,|^subquery_cache=on,|,subquery_cache=on\$' AS SUBQUERY_CACHE FROM information_schema.global_variables WHERE VARIABLE_NAME = 'optimizer_switch';", undef)->[0][0]; + if(defined($have_subquerycache_vals) && $have_subquerycache_vals eq "1") + { + print "Subquery cache is activated\n" if $op{debug}; + $have_subquerycache_vals = 1; + } else { + $have_subquerycache_vals = 0; + } + } + + if($MySQL_version >= 50000) + { + # These checks use the 'information_schema' virtual database that has been added on MySQL 5.0 + + # MariaDB 5.5.21+ and Percona Server 5.5.30+ use the same thread pool implementation + $use_thread_pool = $dbh->selectall_arrayref("SELECT VARIABLE_VALUE FROM information_schema.global_variables WHERE VARIABLE_NAME = 'thread_handling';", undef)->[0][0]; + if(defined($use_thread_pool) && $use_thread_pool eq "pool-of-threads") { + print "Thread pool is used\n" if $op{debug}; + $use_thread_pool = 1; + } else { + $use_thread_pool = 0; + } + + $have_binlog_vals = $dbh->selectall_arrayref("SELECT VARIABLE_VALUE FROM information_schema.global_variables WHERE VARIABLE_NAME = 'log_bin';", undef)->[0][0]; + if(defined($have_binlog_vals) && $have_binlog_vals eq "ON") + { + print "Binary log is activated\n" if $op{debug}; + $have_binlog_vals = 1; + } else { + $have_binlog_vals = 0; + } + } +} + +sub set_myisam_vals +{ + print "set_myisam_vals\n" if $op{debug}; + +# should be moved elsewere + $questions = $stats{'Questions'}; + + $key_read_ratio = sprintf "%.2f", + ($stats{'Key_read_requests'} ? + 100 - ($stats{'Key_reads'} / $stats{'Key_read_requests'}) * 100 : + 0); + + $key_write_ratio = sprintf "%.2f", + ($stats{'Key_write_requests'} ? + 100 - ($stats{'Key_writes'} / $stats{'Key_write_requests'}) * 100 : + 0); + + $key_cache_block_size = (defined $vars{'key_cache_block_size'} ? + $vars{'key_cache_block_size'} : + 1024); + + $key_buffer_used = $stats{'Key_blocks_used'} * $key_cache_block_size; + + if(defined $stats{'Key_blocks_unused'}) # MySQL 4.1.2+ + { + $key_buffer_usage = $vars{'key_buffer_size'} - + ($stats{'Key_blocks_unused'} * $key_cache_block_size); + } + else { $key_buffer_usage = -1; } + + # Data Manipulation Statements: http://dev.mysql.com/doc/refman/5.0/en/data-manipulation.html + %DMS_vals = + ( + SELECT => $stats{'Com_select'}, + INSERT => $stats{'Com_insert'} + $stats{'Com_insert_select'}, + REPLACE => $stats{'Com_replace'} + $stats{'Com_replace_select'}, + UPDATE => $stats{'Com_update'} + + (exists $stats{'Com_update_multi'} ? $stats{'Com_update_multi'} : 0), + DELETE => $stats{'Com_delete'} + + (exists $stats{'Com_delete_multi'} ? $stats{'Com_delete_multi'} : 0) + ); + + $dms = $DMS_vals{SELECT} + $DMS_vals{INSERT} + $DMS_vals{REPLACE} + $DMS_vals{UPDATE} + $DMS_vals{DELETE}; + + $slow_query_t = format_u_time($vars{long_query_time}); +} + +sub set_ib_vals +{ + print "set_ib_vals\n" if $op{debug}; + + $ib_bp_used = ($stats{'Innodb_buffer_pool_pages_total'} - + $stats{'Innodb_buffer_pool_pages_free'}) * + $stats{'Innodb_page_size'}; + + $ib_bp_total = $stats{'Innodb_buffer_pool_pages_total'} * $stats{'Innodb_page_size'}; + + $ib_bp_read_ratio = sprintf "%.2f", + ($stats{'Innodb_buffer_pool_read_requests'} ? + 100 - ($stats{'Innodb_buffer_pool_reads'} / + $stats{'Innodb_buffer_pool_read_requests'}) * 100 : + 0); +} + +sub set_aria_vals +{ + print "set_aria_vals\n" if $op{debug}; + + $pagecache_read_ratio = sprintf "%.2f", + ($stats{'Aria_pagecache_read_requests'} ? + 100 - ($stats{'Aria_pagecache_reads'} / $stats{'Aria_pagecache_read_requests'}) * 100 : + 0); + + $pagecache_write_ratio = sprintf "%.2f", + ($stats{'Aria_pagecache_write_requests'} ? + 100 - ($stats{'Aria_pagecache_writes'} / $stats{'Aria_pagecache_write_requests'}) * 100 : + 0); + + $pagecache_block_size = (defined $vars{'aria_block_size'} ? + $vars{'aria_block_size'} : + 1024); + + $pagecache_buffer_used = $stats{'Aria_pagecache_blocks_used'} * $pagecache_block_size; + + $pagecache_buffer_usage = $vars{'aria_pagecache_buffer_size'} - + ($stats{'Aria_pagecache_blocks_unused'} * $pagecache_block_size); +} + +sub set_subquerycache_vals +{ + print "set_subquerycache_vals\n" if $op{debug}; +} + +sub set_binlog_vals +{ + print "set_binlog_vals\n" if $op{debug}; + + if($stats{'Binlog_cache_use'} gt 0) { $binlog_cache_ratio = $stats{'Binlog_cache_disk_use'} / $stats{'Binlog_cache_use'}; } + else { $binlog_cache_ratio = 0; } + + if(defined($stats{'Binlog_stmt_cache_use'}) && $stats{'Binlog_stmt_cache_use'} gt 0) { $binlog_stmt_cache_ratio = $stats{'Binlog_stmt_cache_disk_use'} / $stats{'Binlog_stmt_cache_use'}; } + else { $binlog_stmt_cache_ratio = 0; } +} + +sub write_relative_report +{ + print "write_relative_report\n" if $op{debug}; + + %stats_present = %stats; + + for(keys %stats) + { + if($stats_past{$_} =~ /\d+/) + { + if($stats_present{$_} >= $stats_past{$_}) # Avoid negative values + { + $stats{$_} = $stats_present{$_} - $stats_past{$_}; + } + } + } + + # These values are either "at present" or "high water marks". + # Therefore, it is more logical to not relativize these values. + # Doing otherwise causes strange and misleading values. + $stats{'Key_blocks_used'} = $stats_present{'Key_blocks_used'}; + $stats{'Open_tables'} = $stats_present{'Open_tables'}; + $stats{'Max_used_connections'} = $stats_present{'Max_used_connections'}; + $stats{'Threads_running'} = $stats_present{'Threads_running'}; + $stats{'Threads_connected'} = $stats_present{'Threads_connected'}; + $stats{'Threads_cached'} = $stats_present{'Threads_cached'}; + $stats{'Qcache_free_blocks'} = $stats_present{'Qcache_free_blocks'}; + $stats{'Qcache_total_blocks'} = $stats_present{'Qcache_total_blocks'}; + $stats{'Qcache_free_memory'} = $stats_present{'Qcache_free_memory'}; + if($have_innodb_vals) + { + $stats{'Innodb_page_size'} = $stats_present{'Innodb_page_size'}; + $stats{'Innodb_buffer_pool_pages_data'} = $stats_present{'Innodb_buffer_pool_pages_data'}; + $stats{'Innodb_buffer_pool_pages_dirty'} = $stats_present{'Innodb_buffer_pool_pages_dirty'}; + $stats{'Innodb_buffer_pool_pages_free'} = $stats_present{'Innodb_buffer_pool_pages_free'}; + $stats{'Innodb_buffer_pool_pages_latched'} = $stats_present{'Innodb_buffer_pool_pages_latched'}; + $stats{'Innodb_buffer_pool_pages_misc'} = $stats_present{'Innodb_buffer_pool_pages_misc'}; + $stats{'Innodb_buffer_pool_pages_total'} = $stats_present{'Innodb_buffer_pool_pages_total'}; + $stats{'Innodb_data_pending_fsyncs'} = $stats_present{'Innodb_data_pending_fsyncs'}; + $stats{'Innodb_data_pending_reads'} = $stats_present{'Innodb_data_pending_reads'}; + $stats{'Innodb_data_pending_writes'} = $stats_present{'Innodb_data_pending_writes'}; + + # Innodb_row_lock_ values were added in MySQL 5.0.3 + if($MySQL_version >= 50003) + { + $stats{'Innodb_row_lock_current_waits'} = $stats_present{'Innodb_row_lock_current_waits'}; + $stats{'Innodb_row_lock_time_avg'} = $stats_present{'Innodb_row_lock_time_avg'}; + $stats{'Innodb_row_lock_time_max'} = $stats_present{'Innodb_row_lock_time_max'}; + } + } + if($have_aria_vals) + { + $stats{'Aria_pagecache_blocks_used'} = $stats_present{'Aria_pagecache_blocks_used'}; + } + + get_Com_values(); + + %stats_past = %stats_present; + + set_myisam_vals(); + set_ib_vals() if $have_innodb_vals; + set_aria_vals() if $have_aria_vals; + set_subquerycache_vals() if $have_subquerycache_vals; + set_binlog_vals() if $have_binlog_vals; + + write_report(); +} + +sub write_report +{ + print "write_report\n" if $op{debug}; + + $~ = 'MYSQL_TIME', write; + $~ = 'KEY_BUFF_MAX', write; + if($key_buffer_usage != -1) { $~ = 'KEY_BUFF_USAGE', write } + $~ = 'KEY_RATIOS', write; + write_DTQ(); + $~ = 'SLOW_DMS', write; + write_DMS(); + write_Com(); + write_Rows(); + $~ = 'SAS', write; + write_qcache(); + $~ = 'REPORT_END', write; + $~ = 'THREADS', write; + if($use_thread_pool) + { + $~ = 'THREADPOOL', write; + } else { + $~ = 'THREADPERCONNECTION', write; + } + $~ = 'TAB', write; + + write_InnoDB() if $have_innodb_vals; + write_Aria() if $have_aria_vals; + write_Subquerycache() if $have_subquerycache_vals; + write_Binlog() if $have_binlog_vals; +} + +sub sec_to_dhms # Seconds to days+hours:minutes:seconds +{ + my $s = shift; + my ($d, $h, $m) = (0, 0, 0); + + return '0 0:0:0' if $s <= 0; + + if($s >= 86400) + { + $d = int $s / 86400; + $s -= $d * 86400; + } + + if($s >= 3600) + { + $h = int $s / 3600; + $s -= $h * 3600; + } + + $m = int $s / 60; + $s -= $m * 60; + + return "$d+$h:$m:$s"; +} + +sub make_short +{ + my ($number, $kb, $d) = @_; + my $n = 0; + my $short; + + $d ||= 2; + + if($kb) { while ($number > 1023) { $number /= 1024; $n++; }; } + else { while ($number > 999) { $number /= 1000; $n++; }; } + + $short = sprintf "%.${d}f%s", $number, ('','k','M','G','T')[$n]; + if($short =~ /^(.+)\.(00)$/) { return $1; } # 12.00 -> 12 but not 12.00k -> 12k + + return $short; +} + +# What began as a simple but great idea has become the new standard: +# long_query_time in microseconds. For MySQL 5.1.21+ this is now +# standard. For 4.1 and 5.0 patches, the architects of this idea +# provide: http://www.mysqlperformanceblog.com/mysql-patches/ +# Relevant notes in MySQL manual: +# http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html +# +# The format_u_time sub simply beautifies long_query_time. + +sub format_u_time # format microsecond (µ) time value +{ + # 0.000000 - 0.000999 = 0 - 999 µ + # 0.001000 - 0.999999 = 1 ms - 999.999 ms + # 1.000000 - n.nnnnnn = 1 s - n.nnnnn s + + my $t = shift; + my $f; # formatted µ time + my $u = chr(($WIN ? 230 : 181)); + + $t = 0 if $t < 0; + + if($t > 0 && $t <= 0.000999) + { + $f = ($t * 1000000) . " $u"; + } + elsif($t >= 0.001000 && $t <= 0.999999) + { + $f = ($t * 1000) . ' ms'; + } + elsif($t >= 1) + { + $f = ($t * 1) . ' s'; # * 1 to remove insignificant zeros + } + else + { + $f = 0; # $t should = 0 at this point + } + + return $f; +} + +sub perc # Percentage +{ + my($is, $of) = @_; + $is = 0 if (not defined $is); + return sprintf "%.2f", ($is * 100) / ($of ||= 1); +} + +sub t # Time average per second +{ + my $val = shift; + return 0 if !$val; + return(make_short($val / $stats{'Uptime'}, 0, 1)); +} + +sub email_report # Email given report to $op{'email'} +{ + print "email_report\n" if $op{debug}; + + return if $WIN; + + my $report = shift; + + open SENDMAIL, "|/usr/sbin/sendmail -t"; + print SENDMAIL "From: mariadb-report\n"; + print SENDMAIL "To: $op{email}\n"; + print SENDMAIL "Subject: $dbms status report on " . ($mycnf{'host'} || 'localhost') . "\n\n"; + print SENDMAIL `cat $report`; + close SENDMAIL; +} + +sub cat_report # Print given report to screen +{ + print "cat_report\n" if $op{debug}; + + my $report = shift; + my @report; + + open REPORT, "< $report"; + @report = ; + close REPORT; + print @report; +} + +sub get_Com_values +{ + print "get_Com_values\n" if $op{debug}; + + %Com_vals = (); + + # Make copy of just the Com_ values + for(keys %stats) + { + if(grep /^Com_/, $_ and $stats{$_} > 0) + { + /^Com_(.*)/; + $Com_vals{$1} = $stats{$_}; + } + } + + # Remove DMS values + delete $Com_vals{'select'}; + delete $Com_vals{'insert'}; + delete $Com_vals{'insert_select'}; + delete $Com_vals{'replace'}; + delete $Com_vals{'replace_select'}; + delete $Com_vals{'update'}; + delete $Com_vals{'update_multi'} if exists $Com_vals{'update_multi'}; + delete $Com_vals{'delete'}; + delete $Com_vals{'delete_multi'} if exists $Com_vals{'delete_multi'}; +} + +sub write_DTQ # Write DTQ report in descending order by values +{ + print "write_DTQ\n" if $op{debug}; + + $~ = 'DTQ'; + + my %DTQ; + my $first = 1; + + # Total Com values + $stat_val = 0; + for(values %Com_vals) { $stat_val += $_; } + $DTQ{'Com_'} = $stat_val; + + $DTQ{'DMS'} = $dms; + $DTQ{'QC Hits'} = $stats{'Qcache_hits'} if $stats{'Qcache_hits'} != 0; + $DTQ{'COM_QUIT'} = int (($stats{'Connections'} - 2) - ($stats{'Aborted_clients'} / 2)); + + $stat_val = 0; + for(values %DTQ) { $stat_val += $_; } + if($questions != $stat_val) + { + $DTQ{($questions > $stat_val ? '+Unknown' : '-Unknown')} = abs $questions - $stat_val; + } + + for(sort { $DTQ{$b} <=> $DTQ{$a} } keys(%DTQ)) + { + if($first) { $stat_label = '%Total:'; $first = 0; } + else { $stat_label = ''; } + + $stat_name = $_; + $stat_val = $DTQ{$_}; + write; + } +} + +sub write_DMS # Write DMS report in descending order by values +{ + print "write_DMS\n" if $op{debug}; + + $~ = 'DMS'; + + for(sort { $DMS_vals{$b} <=> $DMS_vals{$a} } keys(%DMS_vals)) + { + $stat_name = $_; + $stat_val = $DMS_vals{$_}; + write; + } +} + +sub write_Com # Write COM report in descending order by values +{ + print "write_Com\n" if $op{debug}; + + my $i = $op{'com'}; + + $~ = 'COM_1'; + + # Total Com values and write first line of COM report + $stat_label = '%Total:' unless $op{'dtq'}; + $stat_val = 0; + for(values %Com_vals) { $stat_val += $_; } + write; + + $~ = 'COM_2'; + + # Sort remaining Com values, print only the top $op{'com'} number of values + for(sort { $Com_vals{$b} <=> $Com_vals{$a} } keys(%Com_vals)) + { + $stat_name = $_; + $stat_val = $Com_vals{$_}; + write; + + last if !(--$i); + } +} + +sub write_qcache +{ + print "write_qcache\n" if $op{debug}; + + # Query cache was added in 4.0.1, but have_query_cache was added in 4.0.2, + # ergo this method is slightly more reliable + return if not exists $vars{'query_cache_size'}; + return if $vars{'query_cache_size'} == 0; + return if defined($vars{'query_cache_type'}) and $vars{'query_cache_type'} eq 'OFF'; + + $qc_mem_used = $vars{'query_cache_size'} - $stats{'Qcache_free_memory'}; + $qc_hi_r = sprintf "%.2f", $stats{'Qcache_hits'} / ($stats{'Qcache_inserts'} ||= 1); + $qc_ip_r = sprintf "%.2f", $stats{'Qcache_inserts'} / ($stats{'Qcache_lowmem_prunes'} ||= 1); + + $~ = 'QCACHE'; + write; +} + +sub write_Subquerycache +{ + print "write_Subquerycache\n" if $op{debug}; + + return if not defined $stats{'Subquery_cache_hit'}; + return if $stats{'Subquery_cache_hit'} == 0 && $stats{'Subquery_cache_miss'} == 0; + + $~ = 'SUBQUERYCACHE'; + write; +} + +sub write_Binlog +{ + print "write_Binlog\n" if $op{debug}; + + return if $binlog_cache_ratio == 0 && $binlog_stmt_cache_ratio == 0; + $~ = 'BINLOG'; + write; +} + +sub write_InnoDB +{ + print "write_InnoDB\n" if $op{debug}; + + return if not defined $stats{'Innodb_page_size'}; + + $stats{'Innodb_buffer_pool_pages_latched'} = 0 if not defined $stats{'Innodb_buffer_pool_pages_latched'}; + + $~ = 'IB'; + write; + + # Innodb_row_lock_ values were added in MySQL 5.0.3 + if($MySQL_version >= 50003) + { + $~ = 'IB_LOCK'; + write; + } + + # Data, Pages, Rows + $~ = 'IB_DPR'; + write; +} + + +sub write_Aria +{ + print "write_Aria\n" if $op{debug}; + + return if not defined $stats{'Aria_pagecache_blocks_used'}; + + $~ = 'PAGECACHE_BUFF_MAX'; + write; + + if($pagecache_buffer_usage != -1) { $~ = 'PAGECACHE_BUFF_USAGE', write } + + $~ = 'PAGECACHE_RATIOS'; + write; +} + +sub write_Rows +{ + print "write_Rows\n" if $op{debug}; + + $rows_using_indexes = $stats{'Handler_read_first'} + $stats{'Handler_read_key'} + $stats{'Handler_read_next'} + $stats{'Handler_read_prev'}; + $rows = $rows_using_indexes + $stats{'Handler_read_rnd'} + $stats{'Handler_read_rnd_next'} + $stats{'Sort_rows'}; + + $~ = 'ROWS'; + write; +} + +sub have_op +{ + my $key = shift; + return 1 if (exists $op{$key} && $op{$key} ne ''); + return 0; +} + +sub sig_handler +{ + print "\nReceived signal at " , scalar localtime , "\n"; + exit_tasks_and_cleanup(); + exit; +} + +sub exit_tasks_and_cleanup +{ + print "exit_tasks_and_cleanup\n" if $op{debug}; + + close $tmpfile_fh; + select STDOUT unless $op{'detach'}; + + email_report($tmpfile) if $op{'email'}; + + cat_report($tmpfile) unless $op{'detach'}; + + if($op{'outfile'}) + { + if($WIN) { `move $tmpfile $op{outfile}`; } + else { `mv $tmpfile $op{outfile}`; } + } + else + { + unlink $tmpfile; + } + + if(!$op{'infile'} && !$relative_infiles) + { + if($op{'flush-status'}) + { + my $query = $dbh->prepare("FLUSH STATUS;"); + $query->execute(); + $query->finish(); + } + $dbh->disconnect(); + } +} + +# +# Formats +# + +format MYSQL_TIME = +@<<<<<< @<<<<<<<<<<<<<<<<<< uptime @<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<< +$dbms, $vars{'version'}, sec_to_dhms($real_uptime), (($op{infile} || $relative_infiles) ? '' : scalar localtime) +. + +format KEY_BUFF_MAX = + +__ Key _________________________________________________________________ +Buffer used @>>>>>> of @>>>>>> %Used: @>>>>> +make_short($key_buffer_used, 1), make_short($vars{'key_buffer_size'}, 1), perc($key_buffer_used, $vars{'key_buffer_size'}) +. + +format KEY_BUFF_USAGE = + Current @>>>>>> %Usage: @>>>>> +make_short($key_buffer_usage, 1), perc($key_buffer_usage, $vars{'key_buffer_size'}) +. + +format KEY_RATIOS = +Write hit @>>>>>% +$key_write_ratio +Read hit @>>>>>% +$key_read_ratio + +__ Questions ___________________________________________________________ +Total @>>>>>>>> @>>>>>/s +make_short($questions), t($questions) +. + +format DTQ = + @<<<<<<< @>>>>>>>> @>>>>>/s @>>>>>> @>>>>> +$stat_name, make_short($stat_val), t($stat_val), $stat_label, perc($stat_val, $questions) +. + +format SLOW_DMS = +Slow @<<<<<<< @>>>>>> @>>>>>/s @>>>>> %DMS: @>>>>> Log: @>> +$slow_query_t, make_short($stats{'Slow_queries'}), t($stats{'Slow_queries'}), perc($stats{'Slow_queries'}, $questions), perc($stats{'Slow_queries'}, $dms), $vars{'log_slow_queries'} +DMS @>>>>>>>> @>>>>>/s @>>>>> +make_short($dms), t($dms), perc($dms, $questions) +. + +format DMS = + @<<<<<<< @>>>>>>>> @>>>>>/s @>>>>> @>>>>> +$stat_name, make_short($stat_val), t($stat_val), perc($stat_val, $questions), perc($stat_val, $dms) +. + +format COM_1 = +Com_ @>>>>>>>> @>>>>>/s @>>>>> +make_short($stat_val), t($stat_val), perc($stat_val, $questions) +. + +format COM_2 = + @<<<<<<<<<< @>>>>>> @>>>>>/s @>>>>> +$stat_name, make_short($stat_val), t($stat_val), perc($stat_val, $questions) +. + +format SAS = + +__ SELECT and Sort _____________________________________________________ +Scan @>>>>>> @>>>>>/s %SELECT: @>>>>> +make_short($stats{'Select_scan'}), t($stats{'Select_scan'}), perc($stats{'Select_scan'}, $stats{'Com_select'}) +Range @>>>>>> @>>>>>/s @>>>>> +make_short($stats{'Select_range'}), t($stats{'Select_range'}), perc($stats{'Select_range'}, $stats{'Com_select'}) +Full join @>>>>>> @>>>>>/s @>>>>> +make_short($stats{'Select_full_join'}), t($stats{'Select_full_join'}), perc($stats{'Select_full_join'}, $stats{'Com_select'}) +Range check @>>>>>> @>>>>>/s @>>>>> +make_short($stats{'Select_range_check'}), t($stats{'Select_range_check'}), perc($stats{'Select_range_check'}, $stats{'Com_select'}) +Full rng join @>>>>>> @>>>>>/s @>>>>> +make_short($stats{'Select_full_range_join'}), t($stats{'Select_full_range_join'}), perc($stats{'Select_full_range_join'}, $stats{'Com_select'}) +Sort scan @>>>>>> @>>>>>/s +make_short($stats{'Sort_scan'}), t($stats{'Sort_scan'}) +Sort range @>>>>>> @>>>>>/s +make_short($stats{'Sort_range'}), t($stats{'Sort_range'}) +Sort mrg pass @>>>>>> @>>>>>/s +make_short($stats{'Sort_merge_passes'}), t($stats{'Sort_merge_passes'}) +. + +format QCACHE = + +__ Query Cache _________________________________________________________ +Memory usage @>>>>>> of @>>>>>> %Usage: @>>>>> +make_short($qc_mem_used, 1), make_short($vars{'query_cache_size'}, 1), perc($qc_mem_used, $vars{'query_cache_size'}) +Block Fragmnt @>>>>>% +perc($stats{'Qcache_free_blocks'}, $stats{'Qcache_total_blocks'}) +Hits @>>>>>> @>>>>>/s +make_short($stats{'Qcache_hits'}), t($stats{'Qcache_hits'}) +Inserts @>>>>>> @>>>>>/s +make_short($stats{'Qcache_inserts'}), t($stats{'Qcache_inserts'}) +Insrt:Prune @>>>>>>:1 @>>>>>/s +make_short($qc_ip_r), t($stats{'Qcache_inserts'} - $stats{'Qcache_lowmem_prunes'}) +Hit:Insert @>>>>>>:1 +$qc_hi_r, t($qc_hi_r) +. + +format SUBQUERYCACHE = + +__ Subquery Cache ______________________________________________________ +Hit ratio @>>>>>% +perc($stats{'Subquery_cache_hit'} / ($stats{'Subquery_cache_hit'} + $stats{'Subquery_cache_miss'})) +Hits @>>>>>> @>>>>>/s +make_short($stats{'Subquery_cache_hit'}), t($stats{'Subquery_cache_hit'}) +Miss @>>>>>> @>>>>>/s +make_short($stats{'Subquery_cache_miss'}), t($stats{'Subquery_cache_miss'}) +. + +# Not really the end... +format REPORT_END = + +__ Table Locks _________________________________________________________ +Waited @>>>>>>>> @>>>>>/s %Total: @>>>>> +make_short($stats{'Table_locks_waited'}), t($stats{'Table_locks_waited'}), perc($stats{'Table_locks_waited'}, $stats{'Table_locks_waited'} + $stats{'Table_locks_immediate'}); +Immediate @>>>>>>>> @>>>>>/s +make_short($stats{'Table_locks_immediate'}), t($stats{'Table_locks_immediate'}) + +__ Tables ______________________________________________________________ +Open @>>>>>>>> of @>>>>> %Cache: @>>>>> +$stats{'Open_tables'}, $vars{'table_cache'}, perc($stats{'Open_tables'}, $vars{'table_cache'}) +Opened @>>>>>>>> @>>>>>/s +make_short($stats{'Opened_tables'}), t($stats{'Opened_tables'}) + +__ Connections _________________________________________________________ +Max used @>>>>>>>> of @>>>>> %Max: @>>>>> +$stats{'Max_used_connections'}, $vars{'max_connections'}, perc($stats{'Max_used_connections'}, $vars{'max_connections'}) +Total @>>>>>>>> @>>>>>/s +make_short($stats{'Connections'}), t($stats{'Connections'}) + +__ Created Temp ________________________________________________________ +Disk table @>>>>>>>> @>>>>>/s %Disk: @>>>>> +make_short($stats{'Created_tmp_disk_tables'}), t($stats{'Created_tmp_disk_tables'}), perc($stats{'Created_tmp_disk_tables'}, $stats{'Created_tmp_tables'}) +Table @>>>>>>>> @>>>>>/s Size: @>>>>> +make_short($stats{'Created_tmp_tables'}), t($stats{'Created_tmp_tables'}), make_short($vars{'tmp_table_size'}, 1, 1) +File @>>>>>>>> @>>>>>/s +make_short($stats{'Created_tmp_files'}), t($stats{'Created_tmp_files'}) +. + +format THREADS = + +__ Threads _____________________________________________________________ +Running @>>>>>>>> of @>>>>> +$stats{'Threads_running'}, $stats{'Threads_connected'} +Created @>>>>>>>> @>>>>>/s +make_short($stats{'Threads_created'}), t($stats{'Threads_created'}) +Slow @>>>>>>>> @>>>>>/s +$stats{'Slow_launch_threads'}, t($stats{'Slow_launch_threads'}) +. + +format THREADPERCONNECTION = +Cached @>>>>>>>> of @>>>>> %Hit: @>>>>> +$stats{'Threads_cached'}, $vars{'thread_cache_size'}, make_short(100 - perc($stats{'Threads_created'}, $stats{'Connections'})) +. + +format THREADPOOL = +Threadpool @>>>>>>>> of @>>>>> %Used: @>>>>> +$stats{'Threadpool_threads'} + $stats{'Threadpool_idle_threads'}, $vars{'thread_pool_max_threads'}, make_short(perc($stats{'Threadpool_threads'} + $stats{'Threadpool_idle_threads'}, $vars{'thread_pool_max_threads'})) + Running @>>>>>>>> of @>>>>> %Running: @>>>>> +$stats{'Threadpool_threads'}, $vars{'thread_pool_max_threads'}, make_short(perc($stats{'Threadpool_threads'}, $vars{'thread_pool_max_threads'})) + Idle @>>>>>>>> of @>>>>> %Idle: @>>>>> +$stats{'Threadpool_idle_threads'}, $vars{'thread_pool_max_threads'}, make_short(perc($stats{'Threadpool_idle_threads'}, $vars{'thread_pool_max_threads'})) +. + +format TAB = + +__ Aborted _____________________________________________________________ +Clients @>>>>>>>> @>>>>>/s +make_short($stats{'Aborted_clients'}), t($stats{'Aborted_clients'}) +Connects @>>>>>>>> @>>>>>/s +make_short($stats{'Aborted_connects'}), t($stats{'Aborted_connects'}) + +__ Bytes _______________________________________________________________ +Sent @>>>>>>>> @>>>>>/s +make_short($stats{'Bytes_sent'}), t($stats{'Bytes_sent'}) +Received @>>>>>>>> @>>>>>/s +make_short($stats{'Bytes_received'}), t($stats{'Bytes_received'}) +. + +format IB = + +__ InnoDB Buffer Pool __________________________________________________ +Usage @>>>>>> of @>>>>>> %Usage: @>>>>> +make_short($ib_bp_used, 1), make_short($ib_bp_total, 1), perc($ib_bp_used, $ib_bp_total) +Read hit @>>>>>% +$ib_bp_read_ratio; +Pages + Free @>>>>>>>> %Total: @>>>>> +make_short($stats{'Innodb_buffer_pool_pages_free'}), perc($stats{'Innodb_buffer_pool_pages_free'}, $stats{'Innodb_buffer_pool_pages_total'}) + Data @>>>>>>>> @>>>>> %Drty: @>>>>> +make_short($stats{'Innodb_buffer_pool_pages_data'}), perc($stats{'Innodb_buffer_pool_pages_data'}, $stats{'Innodb_buffer_pool_pages_total'}), perc($stats{'Innodb_buffer_pool_pages_dirty'}, $stats{'Innodb_buffer_pool_pages_data'}) + Misc @>>>>>>>> @>>>>> + $stats{'Innodb_buffer_pool_pages_misc'}, perc($stats{'Innodb_buffer_pool_pages_misc'}, $stats{'Innodb_buffer_pool_pages_total'}) + Latched @>>>>>>>> @>>>>> +$stats{'Innodb_buffer_pool_pages_latched'}, perc($stats{'Innodb_buffer_pool_pages_latched'}, $stats{'Innodb_buffer_pool_pages_total'}) +Reads @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_buffer_pool_read_requests'}), t($stats{'Innodb_buffer_pool_read_requests'}) + From disk @>>>>>>>> @>>>>>/s %Disk: @>>>>> +make_short($stats{'Innodb_buffer_pool_reads'}), t($stats{'Innodb_buffer_pool_reads'}), perc($stats{'Innodb_buffer_pool_reads'}, $stats{'Innodb_buffer_pool_read_requests'}) + Ahead Rnd @>>>>>>>> @>>>>>/s +$stats{'Innodb_buffer_pool_read_ahead_rnd'}, t($stats{'Innodb_buffer_pool_read_ahead_rnd'}) +# Ahead Sql @>>>>>>>> @>>>>>/s +#$stats{'Innodb_buffer_pool_read_ahead_seq'}, t($stats{'Innodb_buffer_pool_read_ahead_seq'}) +Writes @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_buffer_pool_write_requests'}), t($stats{'Innodb_buffer_pool_write_requests'}) +Wait Free @>>>>>>>> @>>>>>/s %Wait: @>>>>> +$stats{'Innodb_buffer_pool_wait_free'}, t($stats{'Innodb_buffer_pool_wait_free'}), perc($stats{'Innodb_buffer_pool_wait_free'}, $stats{'Innodb_buffer_pool_write_requests'}) +Flushes @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_buffer_pool_pages_flushed'}), t($stats{'Innodb_buffer_pool_pages_flushed'}) +. + +format IB_LOCK = + +__ InnoDB Lock _________________________________________________________ +Waits @>>>>>>>> @>>>>>/s +$stats{'Innodb_row_lock_waits'}, t($stats{'Innodb_row_lock_waits'}) +Current @>>>>>>>> +$stats{'Innodb_row_lock_current_waits'} +Time acquiring + Total @>>>>>>>> ms +$stats{'Innodb_row_lock_time'} + Average @>>>>>>>> ms +$stats{'Innodb_row_lock_time_avg'} + Max @>>>>>>>> ms +$stats{'Innodb_row_lock_time_max'} +. + +format IB_DPR = + +__ InnoDB Data, Pages, Rows ____________________________________________ +Data + Reads @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_data_reads'}), t($stats{'Innodb_data_reads'}) + Writes @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_data_writes'}), t($stats{'Innodb_data_writes'}) + fsync @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_data_fsyncs'}), t($stats{'Innodb_data_fsyncs'}) + Pending + Reads @>>>>>>>> +$stats{'Innodb_data_pending_reads'}, t($stats{'Innodb_data_pending_reads'}) + Writes @>>>>>>>> +$stats{'Innodb_data_pending_writes'}, t($stats{'Innodb_data_pending_writes'}) + fsync @>>>>>>>> +$stats{'Innodb_data_pending_fsyncs'}, t($stats{'Innodb_data_pending_fsyncs'}) + +Pages + Created @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_pages_created'}), t($stats{'Innodb_pages_created'}) + Read @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_pages_read'}), t($stats{'Innodb_pages_read'}) + Written @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_pages_written'}), t($stats{'Innodb_pages_written'}) + +Rows + Deleted @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_rows_deleted'}), t($stats{'Innodb_rows_deleted'}) + Inserted @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_rows_inserted'}), t($stats{'Innodb_rows_inserted'}) + Read @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_rows_read'}), t($stats{'Innodb_rows_read'}) + Updated @>>>>>>>> @>>>>>/s +make_short($stats{'Innodb_rows_updated'}), t($stats{'Innodb_rows_updated'}) +. + +format PAGECACHE_BUFF_MAX = + +__ Aria Pagecache ______________________________________________________ +Buffer used @>>>>>> of @>>>>>> %Used: @>>>>> +make_short($pagecache_buffer_used, 1), make_short($vars{'aria_pagecache_buffer_size'}, 1), perc($pagecache_buffer_used, $vars{'aria_pagecache_buffer_size'}) +. + +format PAGECACHE_BUFF_USAGE = + Current @>>>>>> %Usage: @>>>>> +make_short($pagecache_buffer_usage, 1), perc($pagecache_buffer_usage, $vars{'aria_pagecache_buffer_size'}) +. + +format PAGECACHE_RATIOS = +Write hit @>>>>>% +$pagecache_write_ratio +Read hit @>>>>>% +$pagecache_read_ratio +. + +format BINLOG = + +__ Binary Log Cache _____________________________________________________ +Disk use + Transactional @>>>>>% +perc($binlog_cache_ratio) + Non transactional @>>>>>% +perc($binlog_stmt_cache_ratio) +. + +format ROWS = + +__ Rows ________________________________________________________________ +Rows @>>>>>>>> @>>>>>/s +make_short($rows), t($rows) + Using idx @>>>>>>>> @>>>>>/s %Index: @>>>>> +make_short($rows_using_indexes), t($rows_using_indexes), perc($rows_using_indexes,$rows) +Rows/question @>>>>>> +make_short($rows/$questions) +. diff --cc debian/autobake-deb.sh index b1e7a8453,000000000..46686827b mode 100755,000000..100755 --- a/debian/autobake-deb.sh +++ b/debian/autobake-deb.sh @@@ -1,181 -1,0 +1,142 @@@ +#!/bin/bash +# +# Build MariaDB .deb packages for test and release at mariadb.org +# +# Purpose of this script: +# Always keep the actual packaging as up-to-date as possible following the latest +# Debian policy and targeting Debian Sid. Then case-by-case run in autobake-deb.sh +# tests for backwards compatibility and strip away parts on older builders or +# specific build environments. + +# Exit immediately on any error +set -e + - # On Buildbot, don't run the mysql-test-run test suite as part of build. - # It takes a lot of time, and we will do a better test anyway in - # Buildbot, running the test suite from installed .debs on a clean VM. ++# This file is invoked from Buildbot and Travis-CI to build deb packages. ++# As both of those CI systems have many parallel jobs that include different ++# parts of the test suite, we don't need to run the mysql-test-run at all when ++# building the deb packages here. +export DEB_BUILD_OPTIONS="nocheck $DEB_BUILD_OPTIONS" + - source ./VERSION +# General CI optimizations to keep build output smaller - if [[ $GITLAB_CI ]] ++if [[ $TRAVIS ]] || [[ $GITLAB_CI ]] +then - # On Gitlab the output log must stay under 4MB so make the ++ # On both Travis and 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, so allow it + # now when build is triggered by autobake-deb.sh (MariaDB.org) and when the + # build is not running on Travis or 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 ++ cp -v storage/columnstore/columnstore/debian/mariadb-plugin-columnstore.* debian/ ++ echo >> debian/control ++ cat storage/columnstore/columnstore/debian/control >> debian/control +fi + - # Look up distro-version specific stuff - # - # Always keep the actual packaging as up-to-date as possible following the latest - # Debian policy and targeting Debian Sid. Then case-by-case run in autobake-deb.sh - # tests for backwards compatibility and strip away parts on older builders. ++# Don't build or try to put files in a package for selected plugins and components on Travis-CI ++# in order to keep build small (in both duration and disk space) ++if [[ $TRAVIS ]] ++then ++ # Test suite package not relevant on Travis-CI ++ sed 's|DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test|DINSTALL_MYSQLTESTDIR=false|' -i debian/rules ++ sed '/Package: mariadb-test-data/,/^$/d' -i debian/control ++ sed '/Package: mariadb-test$/,/^$/d' -i debian/control ++ ++ # Extra plugins such as Mroonga, Spider, OQgraph, Sphinx and the embedded build can safely be skipped ++ sed 's|-DDEB|-DPLUGIN_MROONGA=NO -DPLUGIN_ROCKSDB=NO -DPLUGIN_SPIDER=NO -DPLUGIN_OQGRAPH=NO -DPLUGIN_PERFSCHEMA=NO -DPLUGIN_SPHINX=NO -DWITH_EMBEDDED_SERVER=OFF -DDEB|' -i debian/rules ++ sed "/Package: mariadb-plugin-mroonga/,/^$/d" -i debian/control ++ sed "/Package: mariadb-plugin-rocksdb/,/^$/d" -i debian/control ++ sed "/Package: mariadb-plugin-spider/,/^$/d" -i debian/control ++ sed "/Package: mariadb-plugin-oqgraph/,/^$/d" -i debian/control ++ sed "/ha_sphinx.so/d" -i debian/mariadb-server-10.6.install ++ sed "/Package: libmariadbd19/,/^$/d" -i debian/control ++ sed "/Package: libmariadbd-dev/,/^$/d" -i debian/control ++fi + - remove_rocksdb_tools() - { ++# If rocksdb-tools is not available (before Debian Buster and Ubuntu Disco) ++# remove the dependency from the RocksDB plugin so it can install properly ++# and instead ship the one built from MariaDB sources ++if ! apt-cache madison rocksdb-tools | grep 'rocksdb-tools' >/dev/null 2>&1 ++then + sed '/rocksdb-tools/d' -i debian/control + sed '/sst_dump/d' -i debian/not-installed - if ! grep -q sst_dump debian/mariadb-plugin-rocksdb.install - then - echo "usr/bin/sst_dump" >> debian/mariadb-plugin-rocksdb.install - fi - } - - replace_uring_with_aio() - { - sed 's/liburing-dev/libaio-dev/g' -i debian/control - sed -e '/-DIGNORE_AIO_CHECK=YES/d' \ - -e '/-DWITH_URING=yes/d' -i debian/rules - } ++ echo "usr/bin/sst_dump" >> debian/mariadb-plugin-rocksdb.install ++fi + - disable_pmem() - { - sed '/libpmem-dev/d' -i debian/control - sed '/-DWITH_PMEM=yes/d' -i debian/rules - } ++# If libcurl4 is not available (before Debian Buster and Ubuntu Bionic) ++# use older libcurl3 instead ++if ! apt-cache madison libcurl4 | grep 'libcurl4' >/dev/null 2>&1 ++then ++ sed 's/libcurl4/libcurl3/g' -i debian/control ++fi + - architecture=$(dpkg-architecture -q DEB_BUILD_ARCH) ++# From Debian Bullseye/Ubuntu Groovy, liburing replaces libaio ++if ! apt-cache madison liburing-dev | grep 'liburing-dev' >/dev/null 2>&1 ++then ++ sed 's/liburing-dev/libaio-dev/g' -i debian/control ++ sed '/-DIGNORE_AIO_CHECK=YES/d' -i debian/rules ++ sed '/-DWITH_URING=yes/d' -i debian/rules ++fi + - CODENAME="$(lsb_release -sc)" - case "${CODENAME}" in - stretch) - # MDEV-16525 libzstd-dev-1.1.3 minimum version - sed -e '/libzstd-dev/d' \ - -e 's/libcurl4/libcurl3/g' -i debian/control - remove_rocksdb_tools - disable_pmem - ;& - buster) - replace_uring_with_aio - if [ ! "$architecture" = amd64 ] - then - disable_pmem - fi - ;& - bullseye|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 - fi - ;& - sid) - # should always be empty here. - # need to match here to avoid the default Error however - ;; - # UBUNTU - bionic) - remove_rocksdb_tools - [ "$architecture" != amd64 ] && disable_pmem - ;& - focal) - replace_uring_with_aio - ;& - impish|jammy) - # mariadb-plugin-rocksdb s390x not supported by us (yet) - # ubuntu doesn't support mips64el yet, so keep this just - # in case something changes. - if [[ ! "$architecture" =~ amd64|arm64|ppc64el|s390x ]] - 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 codename $CODENAME" >&2 - exit 1 - esac - - if [ -n "${AUTOBAKE_PREP_CONTROL_RULES_ONLY:-}" ] ++# From Debian Buster/Ubuntu Focal onwards libpmem-dev is available ++# Don't reference it when built in distro releases that lack it ++if ! apt-cache madison libpmem-dev | grep 'libpmem-dev' >/dev/null 2>&1 +then - exit 0 ++ sed '/libpmem-dev/d' -i debian/control ++ sed '/-DWITH_PMEM=yes/d' -i debian/rules +fi + +# Adjust changelog, add new version +echo "Incrementing changelog and starting build scripts" + +# Find major.minor version ++source ./VERSION +UPSTREAM="${MYSQL_VERSION_MAJOR}.${MYSQL_VERSION_MINOR}.${MYSQL_VERSION_PATCH}${MYSQL_VERSION_EXTRA}" +PATCHLEVEL="+maria" +LOGSTRING="MariaDB build" ++CODENAME="$(lsb_release -sc)" +EPOCH="1:" +VERSION="${EPOCH}${UPSTREAM}${PATCHLEVEL}~${CODENAME}" + +dch -b -D "${CODENAME}" -v "${VERSION}" "Automatic build with ${LOGSTRING}." --controlmaint + +echo "Creating package version ${VERSION} ... " + ++# On Travis CI and Gitlab-CI, use -b to build binary only packages as there is ++# no need to waste time on generating the source package. ++if [[ $TRAVIS ]] ++then ++ BUILDPACKAGE_FLAGS="-b" ++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 which eatmydata > /dev/null +then + BUILDPACKAGE_PREPEND=eatmydata +fi + +# Build the package +# Pass -I so that .git and other unnecessary temporary and source control files +# will be ignored by dpkg-source when creating the tar.gz source package. +fakeroot $BUILDPACKAGE_PREPEND dpkg-buildpackage -us -uc -I $BUILDPACKAGE_FLAGS + +# If the step above fails due to missing dependencies, you can manually run +# sudo mk-build-deps debian/control -r -i + - # Don't log package contents on Gitlab-CI to save time and log size - if [[ ! $GITLAB_CI ]] ++# Don't log package contents on Travis-CI or Gitlab-CI to save time and log size ++if [[ ! $TRAVIS ]] && [[ ! $GITLAB_CI ]] +then + echo "List package contents ..." + cd .. + for package in *.deb + do + echo "$package" | cut -d '_' -f 1 + dpkg-deb -c "$package" | awk '{print $1 " " $2 " " $6 " " $7 " " $8}' | sort -k 3 + echo "------------------------------------------------" + done +fi + +echo "Build complete" diff --cc debian/changelog index 08065467b,000000000..6f9c48eb7 mode 100644,000000..100644 --- a/debian/changelog +++ b/debian/changelog @@@ -1,5 -1,0 +1,2048 @@@ - mariadb-10.6 (1:10.6.0) unstable; urgency=medium ++mariadb-10.6 (1:10.6.8-1) unstable; urgency=medium + - * Initial Release ++ * New upstream version 10.6.8. Includes security fixes for ++ - CVE-2022-27376 ++ - CVE-2022-27377 ++ - CVE-2022-27378 ++ - CVE-2022-27379 ++ - CVE-2022-27380 ++ - CVE-2022-27381 ++ - CVE-2022-27382 ++ - CVE-2022-27383 ++ - CVE-2022-27384 ++ - CVE-2022-27386 ++ - CVE-2022-27387 ++ - CVE-2022-27444 ++ - CVE-2022-27445 ++ - CVE-2022-27446 ++ - CVE-2022-27447 ++ - CVE-2022-27448 ++ - CVE-2022-27449 ++ - CVE-2022-27451 ++ - CVE-2022-27452 ++ - CVE-2022-27455 ++ - CVE-2022-27456 ++ - CVE-2022-27457 ++ - CVE-2022-27458 + - -- Otto Kekäläinen Thu, 14 May 2020 18:00:57 +0300 ++ [ Daniel Black ] ++ * Move client programs to client package from MariaDB server package ++ ++ [ Tuukka Pasanen ] ++ * MDEV-12275: Add switch '--silent' to SySV init upgrade ++ * Allow to use Perl DBD::mysl with mariadb-report (MDEV-28376) ++ ++ [ Andreas Hasenack ] ++ * Disable LTO on Ubuntu ++ ++ [ Faustin Lammler ] ++ * Use archive.mariadb.org as official watch source ++ ++ [ Laurent Bigonville ] ++ * Fix pmem availability check (Closes: #1006530) ++ ++ [ Otto Kekäläinen ] ++ * Update breaks/replaces to accommodate the moved mariadb-binlog et al ++ * Use pmem also on riscv64 ++ * Add Bulgarian and Chinese translations for error messages ++ * Use proper pid namespace ++ * Add upstream PR#2129 to fix wsrep_sst_backup packaging ++ * Deb: Move my_print_defaults to MariaDB client core package ++ * Deb: Ensure the not-installed list is up-to-date ++ * Install all available man pages in appropriate packages ++ ++ -- Otto Kekäläinen Sun, 22 May 2022 16:44:02 -0700 ++ ++mariadb-10.6 (1:10.6.7-3) unstable; urgency=medium ++ ++ * Fix syntax error in unstable tests lists ++ * Forward patches upstream and update metadata for them ++ * Bugfix: Include missing sql_parse.cc in ER_KILL_DENIED_ERROR patch ++ * Fix mysql_install_db by reverting recent addition (MDEV-27980) ++ * Fix htm use on PowerPC to fix build failure (might close #1006527) ++ * Revert "Strip path from Mroonga to make the build reproducible" ++ ++ -- Otto Kekäläinen Wed, 09 Mar 2022 22:26:32 -0800 ++ ++mariadb-10.6 (1:10.6.7-2) unstable; urgency=medium ++ ++ * Backport OpenSSL 3.0 support for MariaDB 10.6 series (Closes: #1005950) ++ * Clean away most Lintian overrides and unstable-tests to see full ++ QA results in Debian experimental ++ * Add upstream PR#2028 to fix main.grant_kill test failure ++ * Update unstable-tests skip lists after review of 1:10.6.7-2~exp1 builds ++ * Fix more spelling errors ++ * Fix misc Lintian issues and add overrides ++ ++ -- Otto Kekäläinen Tue, 01 Mar 2022 20:40:07 -0800 ++ ++mariadb-10.6 (1:10.6.7-1) unstable; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * New upstream version 10.6.7. Includes security fixes for ++ - CVE-2021-46661 ++ - CVE-2021-46663 ++ - CVE-2021-46664 ++ - CVE-2021-46665 ++ - CVE-2021-46668 ++ * New upstream version 10.6.6. Includes security fixes for ++ - CVE-2021-46659 ++ - CVE-2022-24048 ++ - CVE-2022-24050 ++ - CVE-2022-24051 ++ - CVE-2022-24052 ++ * Previous release 10.6.5 included security fixes for: ++ - CVE-2021-46662 ++ - CVE-2021-46667 ++ * Notable upstream functional changes in 10.6.6 and 10.6.7: ++ - New default value for innodb_change_buffering is 'none' instead of old ++ value 'all' (MDEV-27734). This change should improve crash safety but ++ might cause performance regressions on systems that use old spinning disks ++ (HDD) where seek latency is higher. ++ - New default value for innodb_read_only_compressed is 'OFF' instead of ++ 'ON'. Upstream originally intended to deprecate ROW_FORMAT=COMPRESSED but ++ abandoned the plan. ++ - New default minimum value for innodb_buffer_pool_size is 20 MB (from 2 MB) ++ * Drop MIPS and CTE patches applied now upstream ++ * Add upstream patch to make Mroonga builds reproducible (Closes: #976984) ++ * Add patch for potential kfreebsd-amd64 build failure (Closes: #994665) ++ * Remove useless libaio-dev dependency from d/control (Closes: #1001649) ++ ++ [ Faustin Lammler ] ++ * Salsa-CI: use a mirror redirector for the CI ++ ++ [ Bas Couwenberg ] ++ * Don't require debian.cnf to be executable in logrotate (Closes: #1005186) ++ ++ [ Tuukka Pasanen ] ++ * Remove unneeded path from MariaDB server postinst script ++ ++ -- Otto Kekäläinen Sat, 19 Feb 2022 16:00:00 -0800 ++ ++mariadb-10.6 (1:10.6.5-2) unstable; urgency=medium ++ ++ * Fix misc failures in 10.6 detected by Debian QA systems ++ - Revert systemd extra and socket files to fix build=all ++ - Backport fix for test cte_nonrecursive failure ++ - Disable test main.func_math on more platforms ++ ++ -- Otto Kekäläinen Tue, 14 Dec 2021 20:05:25 -0800 ++ ++mariadb-10.6 (1:10.6.5-1) unstable; urgency=medium ++ ++ * New upstream version 10.6.5. ++ * Drop MIPS and libatomic patches applied now upstream ++ * Enable Numa support (Closes: #861553) ++ ++ -- Otto Kekäläinen Sat, 27 Nov 2021 13:48:25 -0800 ++ ++mariadb-10.6 (1:10.6.4-1) unstable; urgency=medium ++ ++ [ Bas Couwenberg ] ++ * Don't require debian.cnf to be executable in logrotate (Closes: #994284) ++ ++ [ Otto Kekäläinen ] ++ * Add new overrides to be clean on Lintian v2.105.0 ++ * Salsa-CI: Add workarounds for Stretch->Bookworm upgrade bugs ++ * Salsa-CI: Add testing for Bullseye upgrades and backports ++ * Extend README.Contributor to include more QA and debugging tips ++ * Make RocksDB plugin depend on python3:any to be Lintian clean ++ * Adopt DEP-14 for the git repository layout ++ * Import new upstream major release MariaDB 10.6.4 ++ * Update Debian packaging for MariaDB 10.6 series ++ * Clean up d/copyright and remove obsolete licence-reconcile config ++ * Extend Breaks/Replaces to cover all known MySQL variants ++ * Skip upstream tests that are permanently broken ++ ++ -- Otto Kekäläinen Thu, 21 Oct 2021 11:02:17 +0300 ++ ++mariadb-10.5 (1:10.5.12-1) unstable; urgency=medium ++ ++ * New upstream version 10.5.12. Includes security fixes for: ++ - CVE-2021-2389 ++ - CVE-2021-2372 ++ * Drop patches applied upstream in MariaDB S3 plugin ++ ++ -- Otto Kekäläinen Sun, 08 Aug 2021 20:33:47 -0700 ++ ++mariadb-10.5 (1:10.5.11-1) unstable; urgency=medium ++ ++ * New upstream version 10.5.11. Includes several important bug fixes, ++ including a replication hang (Closes: #991399, Closes: #989400) ++ * Cleanup, documentation and testing: ++ * Drop backported patch for armfh build now in 10.5.11 from upstream. ++ * Drop patch no longer needed with latest gcc-10 (Closes: #972564) ++ * Save autopkgtests results as JUnit-compatible XML-report ++ * Salsa-CI: Verify wrap-and-sort usage and correctness of patches/series ++ * Remove rocksdb_build_git_date from RocksDB binaries to make them ++ build in a reproducible way, thus making the entire MariaDB finally ++ reproducible (Closes: #976985) ++ ++ [ Andreas Beckmann ] ++ * Ease switching from galera-3 to galera-4 on upgrades from buster ++ (Closes: #990708, Closes: #976147, Closes: #977137) ++ ++ -- Otto Kekäläinen Sun, 25 Jul 2021 15:38:34 -0700 ++ ++mariadb-10.5 (1:10.5.10-2) unstable; urgency=medium ++ ++ * Bugfix: Revert upstream code change to fix armhf build (Closes: #988629) ++ ++ -- Otto Kekäläinen Sun, 23 May 2021 21:04:38 -0700 ++ ++mariadb-10.5 (1:10.5.10-1) unstable; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * New upstream version 10.5.10. Includes security fixes for (Closes: #988428): ++ - CVE-2021-2154 ++ - CVE-2021-2166 ++ * Previous release 10.5.9 included security fixes additionally for: ++ - CVE-2021-27928 ++ * Previous release 10.5.7 included security fixes additionally for: ++ - CVE-2021-2194 ++ * Previous release 10.5.5 included security fixes additionally for: ++ - CVE-2021-2022 ++ * Update symbols to include new one from MariaDB Client 3.1.13 ++ * Misc Salsa-CI fixes for better QA ++ * Innotop: Add support for MariaDB 10.5+ (Closes: #941986) ++ * Bugfix: Ensure upstream 1556 patch is included fully (Closes: 987231) ++ * Bugfix: Don't create /usr/share/mysql/*.flag files (Closes: #985870) ++ * Misc spelling fixes ++ ++ [ Glenn Strauss ] ++ * Mark systemd files [linux-any] in debian/*.install ++ ++ [ Arnaud Rebillout ] ++ * Fix postinst trigger when systemd is not running (Closes: #983563) ++ ++ [ Faustin Lammler ] ++ * GitLab CI now supports timeout for specific jobs ++ ++ -- Otto Kekäläinen Sun, 16 May 2021 11:36:38 -0700 ++ ++mariadb-10.5 (1:10.5.9-1) unstable; urgency=medium ++ ++ * New upstream version 10.5.9 ++ * Remove transitional libmariadbclient-dev empty metapackage ++ ++ -- Otto Kekäläinen Mon, 22 Feb 2021 21:32:47 +0200 ++ ++mariadb-10.5 (1:10.5.8-3) unstable; urgency=medium ++ ++ * Re-introduce deprecated transitional libmariadbclient-dev package ++ so that the libmariadbclient-dev from 10.5 can replace the existing ++ libmariadbclient-dev form 10.3 and thus allow MariaDB 10.5 to ++ migrate from Debian unstable to testing. ++ ++ -- Otto Kekäläinen Mon, 23 Nov 2020 22:14:57 +0200 ++ ++mariadb-10.5 (1:10.5.8-2) unstable; urgency=medium ++ ++ * Fix FTBFS on mipsel/mips64el due to test main.drop failure ++ ++ -- Otto Kekäläinen Tue, 17 Nov 2020 17:07:55 +0200 ++ ++mariadb-10.5 (1:10.5.8-1) unstable; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * Revert back to 1fc0f45a as the armhf build failure was due to GCC bug ++ * Salsa-CI: salsa-ci-team/pipeline#173 seems fixed, stop allowing failure ++ * Filter out extra 3rd party sources directly when importing new upstream ++ * New upstream version 10.5.7. Includes security fixes for: ++ - CVE-2020-28912 ++ - CVE-2020-14812 ++ - CVE-2020-14789 ++ - CVE-2020-14776 ++ - CVE-2020-14765 ++ * Clean away from d/copyright files that are no longer in the sources ++ * Sync debian/* changes from upstream 10.5.7 release ++ * Clean away columnstore sources during build and ignore all CS issues ++ * New upstream version 10.5.8 ++ - Includes criticat fix for arbitrary InnoDB buffer pool and data file ++ corruption issue (MDEV-24096) ++ * Add patch to workaround armhf build failure due to gcc segfault ++ ++ [ Helmut Grohne ] ++ * Fix FTCBFS: Add native libssl-dev to Build-Depends (Closes: #973388) ++ ++ -- Otto Kekäläinen Fri, 13 Nov 2020 09:20:28 +0200 ++ ++mariadb-10.5 (1:10.5.6-2) unstable; urgency=medium ++ ++ [ Miroslav Kure ] ++ * Update Czech translation of debconf messages (Closes: #972441) ++ ++ [ Otto Kekäläinen ] ++ * Salsa-CI: Circumvent Bug#972552 so upgrade tests work again ++ * Salsa-CI: Install more packages to cover more in upgrade tests ++ * Automatically remove /etc/logrotate.d/mysql-server (Closes: #971399) ++ * Fix debci: Skip main.failed_auth_unixsocket on armhf and i386 ++ * Revert "Allow libnuma-dev on armhf as well" ++ * Switch to using system OpenSSL (Closes: #787118) ++ ++ -- Otto Kekäläinen Mon, 26 Oct 2020 14:13:56 +0200 ++ ++mariadb-10.5 (1:10.5.6-1) unstable; urgency=medium ++ ++ * New upstream version 10.5.6. Includes security fixes for: ++ - CVE-2020-15180 ++ * Include debian/ when importing new upstream releases ++ - This will help to follow upstream packaging changes and prevent ++ divergence in packaging code upstream vs. downstream. ++ * Unify config file syntax style ++ * Allow libnuma-dev on armhf as well ++ ++ -- Otto Kekäläinen Thu, 15 Oct 2020 11:55:14 +0300 ++ ++mariadb-10.5 (1:10.5.5-3) unstable; urgency=medium ++ ++ [ Helmut Grohne ] ++ * Fix cross-compilation, amend commit f0ba31e1 ++ ++ [ Aurelien Jarno ] ++ * Correctly link pthread so riscv64 builds pass (Closes: #933151) ++ ++ [ Otto Kekäläinen ] ++ * Revert "Automatically use libatomics on 64-bit archs (Closes: #933151)" ++ * Update MTR test skip lists after full test runs in Debian experimental ++ * Clean up d/rules and patches for issues that to best knowledge were ++ temporary and not needed anymore in MariaDB 10.5.5 ++ ++ -- Otto Kekäläinen Fri, 09 Oct 2020 10:06:04 +0300 ++ ++mariadb-10.5 (1:10.5.5-2) unstable; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * Salsa-CI: Extend feature tests to ensure TLS connections work at v1.2 ++ * Fix x32 compilation issue (Closes: #970662) ++ * Implement unified logrotate from upstream PR#1556 (Closes: #971399) ++ * Fix upgrade from Percona.com by ensuring server uses mariadb.cnf ++ * Revert emptying /etc/mysql/debian.cnf (Closes: #971256) ++ * Use build flag to enforce default charset as utf8mb4 (Closes: #933063) ++ * Remove "Multi-Arch: same" from libmariadbd-dev ++ * Disable flaky MTR tests to get builds pass ++ * Automatically use libatomics on 64-bit archs (Closes: #933151) ++ ++ [ Daniel Black ] ++ * Fix upgrade from MySQL.com with a new 'auth_socket' rename ++ ++ [ Helmut Grohne ] ++ * Fix FTCBFS so cross-compiling works (Closes: #971579) ++ - Add native dependencies on gnutls, libedit and ncurses. ++ - Use a native perl interpreter during build. ++ - Let dh_auto_configure pass -DCMAKE_SYSTEM_NAME to cmake. ++ - Keep default CMAKE_BUILD_TYPE=RelWithDebInfo instead of debhelper's None. ++ - Cache the per-architecture stack direction. ++ ++ -- Otto Kekäläinen Tue, 06 Oct 2020 14:44:39 +0300 ++ ++mariadb-10.5 (1:10.5.5-1) unstable; urgency=medium ++ ++ * New upstream version 10.5.5 (Closes: #968895) ++ - Drop patches that are obsolete or applied upstream in 10.5 ++ - Rename most occurrences of 10.4 to 10.5 after importing 10.5 series ++ - Add Breaks/Replaces for 10.5 on previous 10.4 versions ++ - Stop suggesting tinyca, upstream project does not exist anymore ++ - Sync some changes from upstream MariaDB 10.5 debian/ directory ++ - Update d/copyright for MariaDB 10.5 ++ - Disable ColumnStore, not mature enough for Debian yet ++ - Remove mariadb-plugin-tokudb as upstream TokuDB is not maintained anymore ++ - Introduce new package mariadb-plugin-s3 new in MariaDB 10.5 ++ - Include caching_sha2_password.so plugin for libmariadb3 (Closes: #962597) ++ - Remove unnecessary charset stanza from client config (Closes: #879099) ++ * Remove deprecated transitional libmariadbclient-dev package ++ * Correct documentation about systemd using debian-start (Closes: #866782) ++ * Add NEWS item about MySQL 8.0 in-place binary incompatibility ++ * Add Provides: libmysqld-dev now as the mysql-8.0 stopped providing it ++ * Install Spider with a simple spider.cnf (Closes: #917818) ++ * Remove faulty encryption.preset file installed in subdirectory ++ * Salsa-CI: Refactor common parts into reusable sections ++ ++ -- Otto Kekäläinen Fri, 25 Sep 2020 19:56:59 +0300 ++ ++mariadb-10.4 (1:10.4.14-1~exp1) experimental; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * New upstream version 10.4.14 ++ - Includes fix for RocksDB build failure on arch riscv64 ++ * Add Breaks/Replaces for mysql-client-core-8.0 that ships myisam_ftdump ++ ++ [ Christian Göttsche ] ++ * Prevent executable stack due to objects compiled from assembly ++ ++ -- Otto Kekäläinen Sun, 23 Aug 2020 13:20:04 +0300 ++ ++mariadb-10.4 (1:10.4.13-1~exp1) experimental; urgency=medium ++ ++ * New upstream version 10.4.13. Includes security fixes for: ++ - CVE-2020-2752 ++ - CVE-2020-2760 ++ - CVE-2020-2812 ++ - CVE-2020-2814 ++ - CVE-2020-13249 ++ - Includes fix for MDEV-21586: Server does not start if lc_messages setting ++ was not English (Closes: #951059) ++ * Restructure and extend d/copyright to cover libmariadb (Closes: #962541) ++ * Simplify autopkgtest 'smoke' to be easier to debug ++ * Add patch to fix RocksDB detection of ZSTD ++ * Update libmariadb symbols for upstream release 3.1.8 ++ ++ -- Otto Kekäläinen Mon, 29 Jun 2020 09:47:07 +0300 ++ ++mariadb-10.4 (1:10.4.12-1~exp3) experimental; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * Make mariadb-client-10.4 Recommends libdbd-mariadb-perl as primary option ++ * Detect MySQL 8.0 based on undo_001 file as *.flag is buggy in mysql-8.0 ++ ++ [ Faustin Lammler ] ++ * Fix systemd aliases (Closes: #932289) ++ ++ -- Otto Kekäläinen Fri, 10 Apr 2020 11:03:02 +0300 ++ ++mariadb-10.4 (1:10.4.12-1~exp2) experimental; urgency=medium ++ ++ [ Christian Göttsche ] ++ * Prevent executable stack due to objects compiled from assembly ++ ++ [ Bastian Germann ] ++ * Link with libedit instead of readline5 (Closes: #940879) ++ ++ [ Otto Kekäläinen ] ++ * Fix mysqld crash on s390x that stemmed from WolfSSL ++ * Extend contributor README with debugging tips ++ * Clean up -dev packages from excess private files ++ * Make full contents, also header files, explicit in -dev packages ++ * Remove entire sql-bench in debian/rules to simplify not-installed listings ++ * Remove obsolete AUTH_SOCKET build flag ++ * Add missing mariadb-ldb to mariadb-plugin-rocksdb ++ * Install files that belong to mariadb-test instead of not-installed ++ * Ignore mariadb-config.1 since there is no mariadb-config binary ++ * Enforce --fail-missing in debian/rules to not miss any uninstalled files ++ * Unify server preinst and postrm server stopping function ++ * Move mariadb-upgrade to same package as mysql-upgrade and manpage ++ * Update package to use debhelper level 10 ++ * Install arch dependent mariadb.pc in lib/ with patch from upstream ++ * Move binary mariadb-tzinfo-to-sql to server package like upstream has ++ * Don't install useless extra logrotate script or test config helper ++ * Add patch for man page fixes from upstream 10.5 pull request ++ * Add patch to backport spelling fixes from upstream 10.5 pull request ++ * Include new man pages for mytop and myrocks_hotbackup in packaging ++ * Use https protected nluug.nl server for upstream repo to watch ++ ++ -- Otto Kekäläinen Tue, 17 Mar 2020 15:05:39 +0200 ++ ++mariadb-10.4 (1:10.4.12-1~exp1) experimental; urgency=medium ++ ++ * New upstream version 10.4.12 ++ - Drop patches applied upstream in 10.4 ++ - Sync debian/* improvements done in upstream MariaDB 10.4 release ++ - Update Galera to version 4 ++ - Update debian/copyright for MariaDB 10.4 ++ - Sync non-functional delta from upstream 10.4 ++ - Sync AppArmor profile handling from MariaDB 10.4 ++ - Sync server stopping logic from MariaDB 10.4 preinst/postinst/postrm ++ - Package PAM tool and user map introduced in upstream MariaDB 10.4 ++ - Clean away versioned breaks/replaces on older generation packages ++ - Update maintainer and contributor docs for MariaDB 10.4 ++ - Add patch from MDEV-21691 so mysql-test-run works out-of-source tree ++ - Upstream release 10.4.12 included security fixes for: ++ - CVE-2020-2574 ++ - CVE-2020-7221 ++ - Previous version 10.4.9 included security fixes for: ++ - CVE-2020-2780 ++ - Previous version 10.4.7 included security fixes for: ++ - CVE-2020-2922 ++ ++ -- Otto Kekäläinen Tue, 18 Feb 2020 20:24:40 +0200 ++ ++mariadb-10.3 (1:10.3.22-1) unstable; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * New upstream version 10.3.22. Includes security fixes for: ++ - CVE-2020-2574 ++ * Update conflicts/breaks/replaces for MySQL 8.0 ++ * Add Rules-Requires-Root definition to control file ++ * Activate NO_UPDATE_BUILD_VERSION to make RocksDB build reproducible ++ * Strip path from Mroonga to make the build reproducible ++ * Update Debian Policy version ++ * Simplify and extend Gitlab-CI testing by using more of Salsa-CI features ++ * Prefer salsa-ci.yml naming over gitlab-ci.yml since we inherit Salsa-CI ++ * Add Breaks/Replaces for mysql-client-5.7 that ships myisam_ftdump ++ ++ [ Christian Göttsche ] ++ * Set correct SELinux contexts on package installation (Closes: #948424) ++ ++ -- Otto Kekäläinen Tue, 28 Jan 2020 22:12:28 +0200 ++ ++mariadb-10.3 (1:10.3.21-2) unstable; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * Update Python dependencies and recommends to Python 3 (Closes: #945697) ++ * Remove deprecated basedir config from debian.cnf (Closes: #947553) ++ ++ [ James Clarke ] ++ * Fix RocksDB on GNU/kFreeBSD (Closes: #920994) ++ * Use versioned symbols on GNU/kFreeBSD ++ ++ -- Otto Kekäläinen Tue, 07 Jan 2020 09:01:10 +0200 ++ ++mariadb-10.3 (1:10.3.21-1) unstable; urgency=low ++ ++ [ Faustin Lammler ] ++ * Remove no more needed lintian overrides ++ ++ [ Otto Kekäläinen ] ++ * New upstream version 10.3.21 ++ ++ -- Otto Kekäläinen Wed, 11 Dec 2019 18:01:43 +0200 ++ ++mariadb-10.3 (1:10.3.20-1) unstable; urgency=high ++ ++ * New upstream version 10.3.20. Includes fix for regression: ++ - MDEV-20987: InnoDB fails to start when FTS table has FK relation ++ * Remove obsolete fields Name, Contact from debian/upstream/metadata ++ * Gitlab-CI: Print artifact sizes to ensure it stays under 100 MB ++ * Gitlab-CI: Adapt CI jobs for Debian Sid work ++ * Update README.Maintainer with current Debian and Ubuntu release statuses ++ ++ -- Otto Kekäläinen Mon, 11 Nov 2019 23:55:37 +0200 ++ ++mariadb-10.3 (1:10.3.19-1) unstable; urgency=high ++ ++ [ Otto Kekäläinen ] ++ * New upstream version 10.3.17. Includes security fixes for: ++ - CVE-2019-2938 ++ - CVE-2019-2974 ++ * Update symbols to match latest libmariadb_3 ++ * Drop systemd service patch applied upstream ++ ++ [ Faustin Lammler ] ++ * Fix typo in Readme ++ ++ -- Otto Kekäläinen Thu, 07 Nov 2019 21:26:49 +0200 ++ ++mariadb-10.3 (1:10.3.18-1) unstable; urgency=medium ++ ++ * New upstream version 10.3.18. Fixes regression introduced in 10.3.17 ++ (MDEV-20247: Replication hangs with "preparing" and never starts) ++ (Closes: #939819) ++ * Minort Gitlab-CI improvements ++ ++ -- Otto Kekäläinen Thu, 12 Sep 2019 15:51:04 +0300 ++ ++mariadb-10.3 (1:10.3.17-1) unstable; urgency=high ++ ++ * New upstream version 10.3.17. Includes security fixes for: ++ - CVE-2019-2737 ++ - CVE-2019-2739 ++ - CVE-2019-2740 ++ - CVE-2019-2758 ++ - CVE-2019-2805 ++ * Multiple Gitlab-CI/Salsa-CI improvements ++ * Dependency in resolveip is still included (Closes: #910902) ++ * Update libmariadb3 symbols to match MariaDB Connector C 3.1 API ++ * Add Lintian override for new test binary wsrep_check_version ++ * Gitlab-CI: Clean away one excess comment left from b9d633b38 ++ ++ -- Otto Kekäläinen Fri, 02 Aug 2019 17:53:22 +0100 ++ ++mariadb-10.3 (1:10.3.16-1) unstable; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * New upstream version 10.3.16 ++ * Make libzstd dependency versioned as RocksDB need at least 1.3.3. ++ This fixes build errors across different build environments. ++ * Update Gitlab CI for better quality control and long-term maintenance. ++ ++ [ Helmut Grohne ] ++ * Improve cross building (Closes: #930314) ++ ++ -- Otto Kekäläinen Sat, 22 Jun 2019 16:45:18 +0200 ++ ++mariadb-10.3 (1:10.3.15-2) unstable; urgency=medium ++ ++ [ Julien Muchembled ] ++ * Fixup RocksDB test on s390x, not available there ++ ++ [ Otto Kekäläinen ] ++ * Purge deleted translations from debian/po ++ * Rename 'mariadbcheck' to 'mariadb-check' as upstream is doing in 10.4 ++ ++ -- Otto Kekäläinen Fri, 07 Jun 2019 09:13:35 +0300 ++ ++mariadb-10.3 (1:10.3.15-1) unstable; urgency=high ++ ++ [ Otto Kekäläinen ] ++ * New upstream version 10.3.15. Includes security fixes for (Closes: #928393): ++ - CVE-2019-2628 ++ - CVE-2019-2627 ++ - CVE-2019-2614 ++ * Includes upstream fix for MDEV-18721: Host option in configuration file is ++ ignored (Closes: #921599) ++ ++ [ Gregor Riepl ] ++ * Extend mariadb/mysql_config to support --libmysqld-libs (Closes: #928230) ++ ++ [ Julien Muchembled ] ++ * Enable LZ4&Snappy for InnoDB and LZ4&Snappy&ZSTD for RocksDB ++ ++ -- Otto Kekäläinen Tue, 21 May 2019 10:45:37 +0300 ++ ++mariadb-10.3 (1:10.3.14-1) unstable; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * Rename and re-organize gitlab-ci.yml stages ++ * Refactor gitlab-ci.yml to be optimal for a life in Buster ++ * Ensure cmake builds also apply CPPFLAGS flags for hardening to fully work ++ * New upstream version 10.3.14. Includes MariaDB Connector C 3.0.10 which ++ includes an improved impelemntation of mysql_real_connect() that respects ++ the my.cnf "host" option (Closes: #921599). This upstream release also ++ fixes an indexes problem on import dump SQL (MDEV-18577) and many other ++ InnoDB corruption issues (Closes: #924498). ++ * Enable automatic restarts from maint scripts in gitlab-ci.yml ++ * Automate renaming MySQL auth_socket correctly in mysql_upgrade ++ (Closes: #926231) ++ ++ [ Andreas Beckmann ] ++ * Use piuparts with --testdebs-repo so dependencies of each install resolve ++ ++ -- Otto Kekäläinen Fri, 19 Apr 2019 14:38:26 +0300 ++ ++mariadb-10.3 (1:10.3.13-2) unstable; urgency=medium ++ ++ [ Olaf ] ++ * Use upstream conf defaults (Closes: #905599). This is critically important ++ so that nothing defined in the configuration would hold back upstream ++ improvements in default option values. ++ ++ [ Otto Kekäläinen ] ++ * Extend gitlab-ci.yml to include MySQL to MariaDB upgrade testing and also ++ refine automatic testing in many ways to ensure as little regressions as ++ possible. ++ * Automatically rename 'auth_socket' to 'unix_socket' when upgrading from ++ MySQL 5.7 which otherwise would completely fail. ++ * Drop the transitional libmariadbclient18 package (Closes: #925117) ++ * Move resolveip from mariadb-server-10.3 to -core-10.3 (Closes: #910902) ++ * Move all mariadb-server-x.x *.sql files to mariadb-server-core-x.x package ++ ++ -- Otto Kekäläinen Mon, 01 Apr 2019 23:05:31 +0300 ++ ++mariadb-10.3 (1:10.3.13-1) unstable; urgency=medium ++ ++ * New upstream version 10.3.13 ++ * Includes fixes for the following security vulnerabilities ++ (Closes: #920933): ++ - CVE-2019-2537 ++ - CVE-2019-2529 ++ * Update symbols list to match latest MariaDB Connector C release ++ * Use bundled SSL libraries instead of system OpenSSL (Closes: #921488) ++ * Fix 'Multi-Arch: same' stanzas (Closes: #920364) ++ * Implement proper version detection in maintainer scripts (Closes: #920415) ++ * Make libmariadb-dev depend on libgnutls28-dev (Closes: #917135) ++ * Extend Gitlab-CI significantly and update READMEs ++ ++ -- Otto Kekäläinen Sun, 24 Feb 2019 21:14:15 +0200 ++ ++mariadb-10.3 (1:10.3.12-2) unstable; urgency=medium ++ ++ [ Adrian Bunk ] ++ * mariadb-plugin-tokudb: Properly generate the libjemalloc dependency ++ ++ [ Otto Kekäläinen ] ++ * Re-enable jemalloc as Debian#843926 is now fixed (Closes: #918798) ++ * Update gitlab-ci.yml ++ * Follow upstream 'build' and 'lintian' steps ++ * Extend upgrade testing to upgrade from buster->sid (10.1 -> 10.3) ++ * Make libmariadb-dev-compat also Breaks+Replaces old libmariadbclient-dev ++ (Closes: #863675) ++ * Revert "Update libmariadb-dev.links to restore /usr/include/mysql.." ++ ++ [ Andreas Beckmann ] ++ * Reintroduce libmariadbclient-dev as a transitional package ++ * Drop obsolete libmariadbclient18 symbols file ++ * Add Build-Depends-Package field to symbols file ++ * Minimize the upstream signing key by dropping all signatures ++ * Fix multiple Lintian issues ++ ++ -- Otto Kekäläinen Thu, 24 Jan 2019 20:56:46 +0200 ++ ++mariadb-10.3 (1:10.3.12-1) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * New upstream version 10.3.12 ++ * Create the mysqlclient.pc symlink at correct path with /pkgconfig/ ++ (Closes: #878340) ++ * Add libjemalloc2 as alternative dep for mariadb-plugin-tokudb ++ * Prevent mysql_upgrade from being triggered on every server restart ++ * Automate VERSION variable in mariadb-server installer scripts ++ * Improve logging and tag syslog messages with postinstall filename ++ * Make libmariadbclient18 Breaks old libpam-mysql and libdbd-mysql-perl ++ ++ [ Samuel Thibault ] ++ * Do not try to install disks.so file not built on non-Linux ++ * Tune symbol visibility on GNU/Hurd too ++ ++ -- Otto Kekäläinen Tue, 08 Jan 2019 22:52:16 +0100 ++ ++mariadb-10.3 (1:10.3.11-3) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * Use sst_dump from package rocksdb-tools (Closes: #886853) ++ * Remove wsrep_sst_xtrabackup(-v2) already deprecated in upstream ++ * Make gitlab-ci.yml upgrade test specifically run mariadb-server-10.1->10.3 ++ * Fix upstream RocksDB patch to fix Lintian complaints about source code ++ * Drop the MIPS Innobase patch that it is already fixed upstream ++ * Extend gitlab-ci.yml to test libmysql* interactions ++ * Ensure libmariadbd19 does not breaks/replace anything ++ * Make libmariadb-dev-compat break what is replaces ++ * Make libmariadb-dev breaks/replaces libmysqlclient-dev (Closes: #863675) ++ * Update Dutch translation by Frans Spiesschaert (Closes: #895461) ++ ++ [ Faustin Lammler ] ++ * Fix 2 typo error in README contributor ++ * Lintian some complaints ++ ++ [ Helge Deller ] ++ * Skip failing test on HPPA, it's not too important (Closes: #917395) ++ ++ [ Scott Kitterman ] ++ * Update libmariadb-dev.links to restore /usr/include/mysql compatibility ++ symlinks lost when the default switched from 10.1 to 10.3 (Closes: #917266) ++ ++ -- Otto Kekäläinen Mon, 31 Dec 2018 16:39:33 +0200 ++ ++mariadb-10.3 (1:10.3.11-2) unstable; urgency=low ++ ++ [ Vicențiu Ciorbaru ] ++ * Update c11_atomics patch to include mysys. This should fix both ++ mips and armel build failures. ++ ++ [ Otto Kekäläinen ] ++ * Make libmariadb-dev depend on libssl-dev (Closes: #917135) ++ * Remove "Conflicts: libmariadbclient18 (<< 10.2.0)" (Closes: #917075) ++ ++ -- Otto Kekäläinen Mon, 24 Dec 2018 18:50:31 +0200 ++ ++mariadb-10.3 (1:10.3.11-1) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * Import to Debian latest major release of MariaDB (Closes: #867892) ++ * Packaging carries on all impromevements done on to the latest MariaDB ++ 10.1.x packages in Debian unstable up until Dec 15th 2018. ++ * Drop the Hurd socket patch that it is already applied upstream ++ * Update SSL/TLS keys as OpenSSL since 1.1.0 rejects weak keys by default ++ * Remove innodb_* options from server config that are default in 10.3 ++ * Remove --skip-auth-anonymous-user deprecated in 10.3 ++ * Include also arch specific skiplists in CI tests ++ * Make TokuDB explicitly depend on libjemalloc1 ++ * Follow Salsa-CI changes and update build image name to 'dockerbuilder' ++ * Extend gitlab-ci to test installation and upgrade of MariaDB ++ ++ [ Vicențiu Ciorbaru ] ++ * Refresh c11_atomics patch for 10.3 ++ * Fix MEMORY storage engine test ++ ++ -- Otto Kekäläinen Thu, 20 Dec 2018 21:52:42 +0200 ++ ++mariadb-10.1 (1:10.1.37-3) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * Update translation templates ++ * Fix typo in commit 33d853128 so skip list is not reset when adding lines ++ ++ [ Vicențiu Ciorbaru ] ++ * Fix mips compilation failure (__bss_start symbol missing) ++ ++ -- Otto Kekäläinen Sat, 08 Dec 2018 18:50:43 +0200 ++ ++mariadb-10.1 (1:10.1.37-2) unstable; urgency=low ++ ++ [ Samuel Thibault ] ++ * Do not depend on libsystemd-dev on non-Linux ++ * On non-Linux, do not install files not built there ++ * Add hurd cmake configuration (Closes: #912902) ++ ++ [ Otto Kekäläinen ] ++ * Add Gitlab-CI definition file that can test each commit to this repository ++ * Utilize upstream unstable-tests list in tests/upstream mysql-test-run. ++ This will make ci.debian.net pass as it will correctly ignore tests. ++ * Disable test unit.pcre_test on s390x that was failing in stretch-security ++ ++ -- Otto Kekäläinen Sat, 01 Dec 2018 18:17:18 +0200 ++ ++mariadb-10.1 (1:10.1.37-1) unstable; urgency=high ++ ++ * New upstream version 10.1.37. Includes security fixes for: ++ - CVE-2018-3282 ++ - CVE-2018-3251 ++ - CVE-2018-3174 ++ - CVE-2018-3156 ++ - CVE-2018-3143 ++ - CVE-2016-9843 ++ * Update README.Contributor based on recent feedback ++ * Update README.Maintainer to match current best practices ++ * Move my_print_defaults to mariadb-server-core (Closes: #898367) ++ * Update Debian standards version to 4.2.1 (no changes) ++ * Fix minor Lintian complaints ++ * Add (and rename) new man pages ++ ++ -- Otto Kekäläinen Sun, 04 Nov 2018 19:11:19 +0200 ++ ++mariadb-10.1 (1:10.1.35-1) unstable; urgency=medium ++ ++ * New upstream version 10.1.35. Includes security fixes for: ++ - CVE-2018-3066 ++ - CVE-2018-3064 ++ - CVE-2018-3063 ++ - CVE-2018-3058 ++ * Fix wrong-path-for-interpreter in innotop script ++ * Update Debian standards version ++ * Revert "Remove the mariadb-test-* packages" (Closes: #888956) ++ * Omit test plugins as they are not used by the tests and already deleted ++ * Define autopkgtest with isolation-container (Closes: #870408) ++ * Ship config examples et al in /usr/share/mysql (Closes: #878223) ++ * Extend the server README to clarify misunderstandings (Closes: #878215) ++ * Introduce mariadb-backup as a separate binary package, just like in upstream ++ * Fix bash syntax issues detected by Shellcheck ++ * Fix 'max key length is 767 bytes' errors (Closes: #886756) ++ * Remove GNU Hurd FTBFS patch that's been applied upstream (Closes: #882062) ++ ++ -- Otto Kekäläinen Tue, 07 Aug 2018 22:18:20 +0300 ++ ++mariadb-10.1 (1:10.1.34-1) unstable; urgency=medium ++ ++ * New upstream release 10.1.34. ++ * Previous upstream version 10.1.33 included fixes for the following ++ security vulnerabilities: ++ - CVE-2018-2819 ++ - CVE-2018-2817 ++ - CVE-2018-2813 ++ - CVE-2018-2787 ++ - CVE-2018-2784 ++ - CVE-2018-2782 ++ - CVE-2018-2781 ++ - CVE-2018-2771 ++ - CVE-2018-2766 ++ - CVE-2018-2761 ++ - CVE-2018-2755 ++ * Previous upstream version 10.1.31 included fixes for the following ++ security vulnerabilities: ++ - CVE-2018-2668 ++ - CVE-2018-2665 ++ - CVE-2018-2640 ++ - CVE-2018-2622 ++ - CVE-2018-2612 ++ - CVE-2018-2562 ++ * Previous upstream version 10.1.30 included fixes for the following ++ security vulnerabilities: ++ - CVE-2017-15365 ++ ++ [ Otto Kekäläinen ] ++ * Update VCS-* links to point to the new source repository ++ * Delete unnecessary systemd files introduced by upstream ++ * Add new files introduced by upstream to correct packages ++ * Mark selected tests as unstable so they don't stop the whole upload in vain ++ * Update d/control Uploaders to match current affairs ++ * Various minor Lintian fixes ++ [ Otto Kekäläinen ] ++ * Use the ccache symlinks made by update-ccache-symlinks, if available ++ ++ [ Vicențiu Ciorbaru ] ++ * Extend libmariadbclient-rename.patch to cover TokuDB as well ++ * Disable disks.disks test ++ ++ [ Rui Branco ] ++ * Updated Portuguese translation by Rui Branco (Closes: #871052) ++ ++ [ Takuma Yamada ] ++ Updated Japanese translation by Takuma Yamada (Closes: #859481) ++ ++ -- Otto Kekäläinen Tue, 31 Jul 2018 21:52:16 +0800 ++ ++mariadb-10.1 (1:10.1.29-6) unstable; urgency=high ++ ++ * Ignore failed tests on more non-release platforms (kfreebsd-i386, ++ kfreebsd-amd64 and sparc64) ++ ++ -- Ondřej Surý Thu, 23 Nov 2017 07:03:47 +0000 ++ ++mariadb-10.1 (1:10.1.29-5) unstable; urgency=high ++ ++ * Update the -O3 -> -O2 patch to include more cmake files ++ ++ -- Ondřej Surý Wed, 22 Nov 2017 22:48:13 +0000 ++ ++mariadb-10.1 (1:10.1.29-4) unstable; urgency=high ++ ++ * Change the default optimization from -O3 to -O2 in mysql_release.cmake ++ BUILD_CONFIG profile ++ ++ -- Ondřej Surý Wed, 22 Nov 2017 20:33:17 +0000 ++ ++mariadb-10.1 (1:10.1.29-3) unstable; urgency=medium ++ ++ * Change the default optimization level to -O2 to fix arm64 build ++ ++ -- Ondřej Surý Wed, 22 Nov 2017 15:33:21 +0000 ++ ++mariadb-10.1 (1:10.1.29-2) unstable; urgency=medium ++ ++ [ Otto Kekäläinen ] ++ * Update the d/changelog with CVEs ++ ++ [ Ondřej Surý ] ++ * Revert to using system pcre library (Closes: #882329) ++ * Bump the epoch to fix the mess created by mariadb-10.2 upload ++ (Closes: #881898) ++ ++ [ Christian Ehrhardt ] ++ * d/t/upstream: skip func_regexp_pcre on s390x ++ ++ -- Ondřej Surý Wed, 22 Nov 2017 06:03:17 +0000 ++ ++mariadb-10.1 (10.1.29-1) unstable; urgency=medium ++ ++ * New upstream version 10.1.29, includes fixes for the following ++ security vulnerabilities: ++ - [CVE-2017-10378]: Optimizer component to cause denial of service ++ conditions ++ - [CVE-2017-10268]: Replication component to access data ++ - [MDEV-13819]: Server crashes in Item_func_in::val_int or Assertion ++ `in_item' failed in virtual longlong Item_func_in::val_int ++ * Remove the mariadb-test-* packages as they are now provided by ++ mariadb-10.2 (Closes: #881898) ++ * Rebase patches for new upstream version. ++ ++ -- Ondřej Surý Thu, 16 Nov 2017 15:24:36 +0000 ++ ++mariadb-10.1 (10.1.28-2) unstable; urgency=high ++ ++ * Add libconfig-inifiles-perl to mariadb-client-10.1 depends to fix ++ mytop (Closes: #875708) ++ * Add mips64el to the list of platforms that are allowed to fail test ++ suite (Closes: #879637) ++ ++ -- Ondřej Surý Sun, 12 Nov 2017 11:03:20 +0000 ++ ++mariadb-10.1 (10.1.28-1) unstable; urgency=medium ++ ++ * New upstream version 10.1.28 ++ * Rebase patches on top of MariaDB 10.1.28 ++ * Add extra symbols aliases for libmariadbclient_16 ++ ++ -- Ondřej Surý Mon, 09 Oct 2017 22:07:43 +0000 ++ ++mariadb-10.1 (10.1.26-1) unstable; urgency=medium ++ ++ * Ignore upstream debian/ directory when importing upstream tarball ++ * New upstream version 10.1.26 ++ * Refresh patches for MariaDB 10.1.26 ++ * Remove unstable tests patches for unstable build, so we see what is ++ really failing and what is not ++ ++ -- Ondřej Surý Thu, 10 Aug 2017 20:41:46 +0200 ++ ++mariadb-10.1 (10.1.25-1) unstable; urgency=medium ++ ++ * New upstream version 10.1.25 ++ * Update quilt patches on top of mariadb-10.1.25 release ++ * Explicitly add dh_systemd_start snippets to mariadb-server-10.1 ++ because it's all messed up with different name for sysvinit ('mysql') ++ and systemd ('mariadb') (Closes: #865870) ++ * Don't disable PIE, it's enabled by upstream anyway (Closes: #865737) ++ * Add default socket location for client (Closes: #864662) ++ ++ -- Ondřej Surý Sun, 30 Jul 2017 14:15:48 +0200 ++ ++mariadb-10.1 (10.1.24-6) unstable; urgency=medium ++ ++ * Run invoke-rc.d mysql maintscript snippets only when running under ++ sysvinit (Closes: #864593) ++ ++ -- Ondřej Surý Wed, 21 Jun 2017 11:12:16 +0200 ++ ++mariadb-10.1 (10.1.24-5) unstable; urgency=medium ++ ++ * Add @SYSTEMD_EXECSTARTPOST@ replacement token to mariadb@.service, so ++ the /var/run/mysqld directory is created even for multi-server setup ++ (Closes: #865083) ++ ++ -- Ondřej Surý Mon, 19 Jun 2017 08:52:26 +0200 ++ ++mariadb-10.1 (10.1.24-4) unstable; urgency=medium ++ ++ [ James Cowgill ] ++ * Disable jemalloc on mips*. (Closes: #864340) ++ * Update C11 atomics to have correct semantics (Closes: #864774) ++ ++ [ Ondřej Surý ] ++ * Refresh patches after C11 atomics patch update ++ * Merge mytop script improvements from src:mytop package (Original ++ patches by Philipp Matthias Hahn, Werner Detter, Olaf van der Spek, ++ and Steffen Zieger) (Closes: #864762) ++ ++ [ Svante Signell ] ++ * Fix FTBFS on Debian GNU/Hurd (Closes: #861166) ++ ++ -- Ondřej Surý Mon, 19 Jun 2017 07:09:50 +0200 ++ ++mariadb-10.1 (10.1.24-3) unstable; urgency=medium ++ ++ * Team upload. ++ * Add mips-innobase-atomic.patch, fixing FTBFS on 32-bit mips*, thanks to ++ James Cowgill. (Closes: #864298) ++ ++ -- Andreas Beckmann Wed, 07 Jun 2017 02:23:44 +0200 ++ ++mariadb-10.1 (10.1.24-2) unstable; urgency=medium ++ ++ * Add Breaks: cqrlog (<< 1.9.0-5~) to ensure correct upgrade order ++ (Closes: #864159) ++ ++ -- Ondřej Surý Tue, 06 Jun 2017 14:29:52 +0200 ++ ++mariadb-10.1 (10.1.24-1) unstable; urgency=medium ++ ++ * New upstream version 10.1.24, includes fixes for the following ++ high-priority regression fixes: ++ + MDEV-11842: Fail to insert on a table where a field has no default ++ + MDEV-12075: innodb_use_fallocate does not work in MariaDB ++ Server 10.1.21 ++ * Refresh patches on top of MariaDB 10.1.24 ++ * Fix FTBFS in tests: Add cracklib-runtime to Build-Depends ++ ++ -- Ondřej Surý Tue, 06 Jun 2017 09:25:19 +0200 ++ ++mariadb-10.1 (10.1.23-9+deb9u1) stretch; urgency=medium ++ ++ [ Ondřej Surý ] ++ * Add Breaks: cqrlog (<< 1.9.0-5~) to ensure correct upgrade order ++ (Closes: #864159) ++ ++ -- Andreas Beckmann Wed, 07 Jun 2017 21:11:23 +0200 ++ ++mariadb-10.1 (10.1.23-9) unstable; urgency=medium ++ ++ * Fix the invalid location of insserv configuration snippet ++ (Thanks Michael Biebl for catching that) ++ ++ -- Ondřej Surý Fri, 26 May 2017 09:26:33 +0200 ++ ++mariadb-10.1 (10.1.23-8) unstable; urgency=medium ++ ++ * Use /etc/insserv.conf.d/mariadb to provide $database system facility ++ (Closes: #862447) ++ ++ -- Ondřej Surý Sat, 13 May 2017 11:08:43 +0200 ++ ++mariadb-10.1 (10.1.23-7) unstable; urgency=medium ++ ++ * Remove hard Breaks/Replaces with mysql-server and mysql-client ++ * Move virtual packages from Breaks to Conflicts (Debian Policy 7.6.2) ++ ++ -- Ondřej Surý Fri, 12 May 2017 12:21:33 +0200 ++ ++mariadb-10.1 (10.1.23-6) unstable; urgency=medium ++ ++ * Also fix the same assertion failure in xtradb (Closes: #862103) ++ ++ -- Ondřej Surý Mon, 08 May 2017 19:51:47 +0200 ++ ++mariadb-10.1 (10.1.23-5) unstable; urgency=medium ++ ++ * Add upstream patch to fix assertion failure in InnoDB storage engine ++ (Closes: #862103) ++ ++ -- Ondřej Surý Mon, 08 May 2017 17:21:55 +0200 ++ ++mariadb-10.1 (10.1.23-4) unstable; urgency=medium ++ ++ * Properly declare conflict on mytop (Closes: #861913) ++ ++ -- Ondřej Surý Mon, 08 May 2017 11:31:13 +0200 ++ ++mariadb-10.1 (10.1.23-3) unstable; urgency=medium ++ ++ * Remove two internal symbols (ll2str and longlong2str) from ++ kfrebsd-amd64 symbols file ++ ++ -- Ondřej Surý Thu, 04 May 2017 13:19:00 +0200 ++ ++mariadb-10.1 (10.1.23-2) unstable; urgency=medium ++ ++ * Add CVE list for 10.1.23 release ++ * Fix FTBFS on kfrebsd-any due missing .service files ++ ++ -- Ondřej Surý Thu, 04 May 2017 10:55:06 +0200 ++ ++mariadb-10.1 (10.1.23-1) unstable; urgency=medium ++ ++ * New upstream version 10.1.23, includes fixes for the following ++ security vulnerabilities: ++ - [CVE-2017-3302]: use-after-free in C client library for MySQL ++ - [CVE-2017-3313]: unauthorized (local) access to critical data or ++ complete access to all MySQL Server accessible data ++ - [CVE-2017-3308]: unauthorized (network) ability to cause a hang or ++ frequently repeatable crash ++ - [CVE-2017-3309]: unauthorized (network) ability to cause a hang or ++ frequently repeatable crash ++ - [CVE-2017-3453]: unauthorized (network) ability to cause a hang or ++ frequently repeatable crash ++ - [CVE-2017-3456]: unauthorized (network) ability to cause a hang or ++ frequently repeatable crash ++ - [CVE-2017-3464]: unauthorized update, insert or delete access to some ++ of MySQL Server accessible data ++ * Refresh debian/patches on top of MariaDB 10.1.23 release ++ * debian/gbp.conf: Filter most common cruft in the orig tarball ++ * debian/rules: Use --fail-missing to catch extra upstream files ++ * debian/*.manpages: Merge into debian/*.install ++ * debian/*.install: Add few missing binaries into various packages ++ * Declare mariadb-plugin-tokudb as available only on (linux-)amd64 ++ to fix FTBFS on kfreebsd-amd64 ++ * Remove the extra sanity check as it is already there via standard ++ dh_installinit (|| exit 0) (Closes: #861782) ++ * Stop /usr/sbin/mysqld in prerm script even with systemd ++ * Move mariadb.pc into proper multiarch directory (Closes: #852621) ++ * Add libarchive-dev needed by mariabackup to Build-Depends ++ * debian/control: run wrap-and-sort -a ++ * Move mysql_install_db from mariadb-server-10.1 to ++ mariadb-server-core-10.1 (Closes: #840646) ++ * Add Provides: $database to mysql.init - this partially addresses ++ #852776 ++ * Call dh_systemd_start with --no-restart-after-upgrade ++ (Closes: #853137) ++ * d/rules: Remove dh_prep override (legacy cruft) ++ ++ -- Ondřej Surý Thu, 04 May 2017 07:23:23 +0200 ++ ++mariadb-10.1 (10.1.22-4) unstable; urgency=medium ++ ++ * Fix small typo in d/rules that caused MySQL version suffix to not ++ contain information about Debian build ++ ++ -- Ondřej Surý Sat, 29 Apr 2017 21:56:23 +0200 ++ ++mariadb-10.1 (10.1.22-3) unstable; urgency=medium ++ ++ * Use pidof instead of pgrep, so we don't have to depend on procps ++ * Stop stopping mariadb server that many times and just add a simple ++ check to preinst that it has been really stopped (Closes: #852495) ++ * Fix small typo in gettid patch ++ * Disable TokuDB on kfreebsd-amd64 ++ ++ -- Ondřej Surý Tue, 28 Mar 2017 22:59:06 +0200 ++ ++mariadb-10.1 (10.1.22-2) unstable; urgency=medium ++ ++ [ Ondřej Surý ] ++ * Add correct kfreebsd-i386 symbols file (but this needs to be fixed in ++ how upstream uses linker) ++ * Update italian translation (Closes: #858300) ++ ++ [ Otto Kekäläinen ] ++ * Add Vietnamese translation by Trần Ngọc Quân ++ * Add Finnish translation by Antti Järvinen ++ ++ [ Ondřej Surý ] ++ * Disable test suite on hppa, don't fail test suite on more unstable ++ platforms: alpha, powerpc, and x32 ++ * Add swedish debconf translation (Closes: #858536) ++ * Add Catalan debconf translation (Closes: #858632) ++ * Use thr_self() as gettid implementation onf __FreeBSD_kernel__ ++ * Make mariadb-server-10.1 installable on kFreeBSD and Hurd (Closes: #851687) ++ * Update Turkish debconf translation (Closes: #858340) ++ * Disable specific tests on hppa to make the build succeed (Courtesy of ++ John David Anglin) (Closes: #858869) ++ ++ -- Ondřej Surý Tue, 28 Mar 2017 22:59:01 +0200 ++ ++mariadb-10.1 (10.1.22-1) unstable; urgency=high ++ ++ [ Otto Kekäläinen ] ++ * New upstream release 10.1.22. Includes fixes for the following ++ security vulnerabilities: ++ - CVE-2017-3313 ++ - CVE-2017-3302 ++ * New upstream also includes fix to logrotate so that it no longer ++ risks interrupting binary/relay log processing on the server. ++ https://github.com/MariaDB/server/commit/156cf86defdc59353f37f6 ++ * Add a NEWS.Debian item with same contents as the Stretch release notes ++ ++ [ Ondřej Surý ] ++ * Add myself to Uploaders ++ * Use https URI for Homepage ++ * Use /usr/share/dpkg/default.mk to define dpkg-architecture and other ++ build variables ++ * Install and use non-versioned symbols files for kFreeBSD and Hurd ++ architectures ++ * Make mysql_config and mariadb.pc return -lmariadbclient instead of ++ missing -lmysqlclient ++ * Add mysqlclient.pc -> mariadb.pc symlink into ++ libmariadbclient-dev-compat package ++ * MDEV-11884: Fix logrotate failing if mysqld is not running (Closes: #830976) ++ ++ -- Ondřej Surý Sun, 19 Mar 2017 15:23:26 +0100 ++ ++mariadb-10.1 (10.1.21-5) unstable; urgency=low ++ ++ [ James Clarke ] ++ * Make debian/mariadb-server-10.1.install executable (Closes: #852728) ++ * Allow mariadb-plugin-tokudb/mroonga on non-linux and non-release arches ++ * Detect whether libatomic is needed rather than hard-coding for mips ++ * Use host architecture, not build architecture, and clean up variables ++ * General clean-up in d/rules ++ ++ -- Otto Kekäläinen Fri, 27 Jan 2017 20:42:36 +0200 ++ ++mariadb-10.1 (10.1.21-4) unstable; urgency=low ++ ++ * Hotfix to full build failure: Add missing galera_new_cluster.1 to patch ++ ++ -- Otto Kekäläinen Thu, 26 Jan 2017 23:33:32 +0200 ++ ++mariadb-10.1 (10.1.21-3) unstable; urgency=low ++ ++ [ Ian Gilfillan ] ++ * Extend WSREP and Galera man pages patch to cover all commands ++ ++ [ Dieter Adriaenssens ] ++ * Specify Architecture for mariadb-plugin-mroonga and mariadb-plugin-tokudb ++ (Closes: #852709) ++ ++ [ James Clarke ] ++ * Fix FTBFS on non-Linux architectures (Closes: #852728) ++ ++ -- Otto Kekäläinen Thu, 26 Jan 2017 22:18:26 +0200 ++ ++mariadb-10.1 (10.1.21-2) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * Implement systemd packaging the Debian way ++ * Extend README.Debian regarding new systemd files ++ * Add config file comments about SysV init and systemd differences ++ * Extend Debian.README with section about mixing with packages MariaDB.org ++ * Update /etc/init.d/mysql after comparison with upstream MariaDB 10.1.21 ++ * Run chown much faster on the datadir during install/update ++ * Check if /var/lib/mysql exists before running 'find' on it ++ * Skip mysqld stopping if no mysqld process is running at all ++ * Update French debconf translation by Baptiste Jammet (Closes: #850066) ++ * Remove unnecessary XS-Testsuite field (as instructed by Lintian) ++ * Add a modified version of upstream autobake-deb script to utilize CI tools ++ * Fix server config example on how to enable SSL with YaSSL (Closes: #851132) ++ * Make commands mariadb and mariadbcheck available with symlinks ++ ++ [ Jean Weisbuch ] ++ * Update Innotop to latest version ++ ++ [ Ian Gilfillan ] ++ * Add wsrep_* man pages ++ ++ -- Otto Kekäläinen Wed, 25 Jan 2017 10:42:45 +0200 ++ ++mariadb-10.1 (10.1.21-1) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * New upstream release 10.0.28. Includes fixes for the following ++ security vulnerabilities (Closes: #851759, Closes: ##849435): ++ - CVE-2017-3318 ++ - CVE-2017-3317 ++ - CVE-2017-3312 ++ - CVE-2017-3291 ++ - CVE-2017-3265 ++ - CVE-2017-3258 ++ - CVE-2017-3257 ++ - CVE-2017-3244 ++ - CVE-2017-3243 ++ - CVE-2017-3238 ++ - CVE-2016-6664 ++ * Add new program introduced in upstream 10.1.21: mysqld_safe_helper ++ * Deb-CI: remove parameter --skip-ndbcluster not available in 10.1 any more ++ * Make libmariadbclient18 depend on mysql-common only (Closes: #850216) ++ * Fix misleading config file comment (Closes: #677223) ++ * Update preinst variable $this_version from 10.0 to 10.1 (Closes: #851257) ++ ++ [ Kristian Nielsen ] ++ * Re-implement passwordless root login (Closes: #851131) ++ ++ -- Otto Kekäläinen Thu, 19 Jan 2017 11:33:01 +0200 ++ ++mariadb-10.1 (10.1.20-3) unstable; urgency=low ++ ++ [ Vicențiu Ciorbaru ] ++ * Update debian rules to also account for mipsel ++ ++ -- Otto Kekäläinen Sat, 24 Dec 2016 20:23:23 +0200 ++ ++mariadb-10.1 (10.1.20-2) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * Upload to unstable ++ * Previous version string should had been ~exp1, thus this ++ first upload to unstable is -2 and not -1 as normal ++ * Disable test suite temporairly due to false regressions ++ ++ [ Dieter Adriaenssens ] ++ * fix Vcs-git link format and repo name ++ * update 10.0 to 10.1 in README files ++ ++ [ Vicențiu Ciorbaru ] ++ * Fix mips missing atomics primitives ++ ++ -- Otto Kekäläinen Sat, 24 Dec 2016 09:54:59 +0200 ++ ++mariadb-10.1 (10.1.20-1) experimental; urgency=low ++ ++ * Upgrade package to new MariaDB 10.1.x series: ++ - New upstream release 10.1.20 ++ - Refresh patches after 10.1.20 import ++ - Update strings 10.0 -> 10.1 after importing 10.1.20 ++ - Refresh patches after 10.1.20 import ++ - Update d/control after 10.1 import ++ - Use https protected git url in d/control ++ - Backwards compatible XS-Testsuite syntax in d/control ++ - Import debian/* changes done in upstream 10.1 ++ - Replace deprecated iproute with iproute2 ++ - Remove unnecessary dependencies as packages are Essential anyway ++ - Remove unnecessary and big file mysql_embedded ++ - Switch to 10.1 style build flag for unix socket auth module in d/rules ++ - Update d/copyright after 10.1 import ++ - Add missing aria_add_gis_sp.sql to mariadb-server-10.1 ++ - Ship SELinux and AppArmor files with the server, but as inactive ++ - New package from upstream 10.1: GSS API (Kerberos) client and server ++ - Extend GSSAPI plugin descriptions to satisfy Lintian ++ - New plugin from upstream 10.1: Cracklib password validation ++ ++ -- Otto Kekäläinen Tue, 20 Dec 2016 22:46:59 +0200 ++ ++mariadb-10.0 (10.0.28-3) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * Move libmariadbd and -dev next to each other for a more logical flow in d/control ++ * Move mariadb-test to last in file for a more logical flow in d/control ++ * Clean away unused Lintian overrides ++ * Add Lintian override for impossible mysql_config multi-arch requirement ++ * Update Debian copyright based on the 2016 git log author list ++ * Remove unnecessary /var/lib/mysql-upgrade (Closes: #848620) ++ ++ [ Vicențiu Ciorbaru ] ++ * Fix connect.upd test in armhf ++ * Fix mroonga/storage.index_read_multiple_double test in armhf ++ ++ -- Otto Kekäläinen Tue, 20 Dec 2016 21:59:47 +0200 ++ ++mariadb-10.0 (10.0.28-2) unstable; urgency=low ++ ++ [ Samuel Thibault ] ++ * patches/hurd_socket.patch: Also avoid non-working socket path length check ++ on hurd-i386. ++ * rules: Drop symbols on hurd-i386 too (Closes: #842696). ++ ++ [ Daniel Black ] ++ * Don't install private mysql header files in libmariadbclient-dev ++ ++ [ Otto Kekäläinen ] ++ * Update libmariadbd18 description and contents to match latest upstream ++ * Mark missing Multi-Arch as suggested by Multiarch hinter ++ * Move plugins to $ARCH/*/mariadb18 to meet multiarch needs (Closes: #739452) ++ ++ -- Otto Kekäläinen Fri, 11 Nov 2016 22:03:33 +0200 ++ ++mariadb-10.0 (10.0.28-1) unstable; urgency=low ++ ++ [ Vicențiu Ciorbaru ] ++ * Fix tokudb jemalloc linking ++ ++ [ Otto Kekäläinen ] ++ * New upstream release 10.0.28. Includes fixes for the following ++ security vulnerabilities: ++ - CVE-2016-8283 ++ - CVE-2016-7440 ++ - CVE-2016-6663 ++ - CVE-2016-5629 ++ - CVE-2016-5626 ++ - CVE-2016-5624 ++ - CVE-2016-5616 ++ - CVE-2016-5584 ++ - CVE-2016-3492 ++ * Drop 4 patches that have been applied upstream. ++ * Delete runnable files from mariadb-test-data as they were only ++ needed at build time to generate tests. ++ ++ -- Otto Kekäläinen Fri, 28 Oct 2016 22:51:14 +0300 ++ ++mariadb-10.0 (10.0.27-2) unstable; urgency=low ++ ++ [ Dieter Adriaenssens ] ++ * Fix typo in README.Contributor ++ * Improve documentation on how to clean the build env ++ ++ [ James Cowgill ] ++ * Mips build and testsuite fixes (Closes: #838557, Closes: #838914) ++ - Permit 93 as a valid value of the ENOTEMPTY error in the testsuite ++ - Correctly fix mips64 multiplication in taocrypt ++ - Ensure groonga is built with libatomic ++ - Handle unaligned buffers in connect's TYPBLK class ++ - Fix DEFAULT_MACHINE on mips ++ - Remove various tests from unstable-tests which now pass on MIPS ++ - Update debian/unstable-tests.mips* ++ ++ [ Kristian Nielsen ] ++ * Fix missing path for perl in autopkgtest (Closes: #809022) ++ * Fix test failures on hppa due to wrong enoempty (Closes: #837369) ++ ++ -- Otto Kekäläinen Sun, 02 Oct 2016 09:22:59 +0300 ++ ++mariadb-10.0 (10.0.27-1) unstable; urgency=low ++ ++ * New upstream release 10.0.27 ++ * Remove 3 patches after 10.0.27 import as they have been applied ++ upstream. ++ ++ -- Otto Kekäläinen Wed, 07 Sep 2016 23:05:28 +0300 ++ ++mariadb-10.0 (10.0.26-3) unstable; urgency=low ++ ++ [ Dieter Adriaenssens ] ++ * Add DEP-12 formatted upstream metadata file (Closes: #808421) ++ ++ [ Vicențiu Ciorbaru ] ++ * Update innodb_xtradb patch to introduce memory barrier after lock ++ * Fix failing shutdown with gcc v6 ++ ++ [ Otto Kekäläinen ] ++ * Extend commit d5af196 with old name of package libmariadb-dev-compat ++ * Extend commit 8d2a7c9 and actually install the tokuftdump man page ++ * Update mariadb-test dependencies to include also libmariadbclient18 ++ * Add path to fix for sporadically failing test main.information_schema_stats ++ * d/rules: NUMJOBS must have a default value ++ ++ -- Otto Kekäläinen Wed, 17 Aug 2016 00:31:02 +0300 ++ ++mariadb-10.0 (10.0.26-2) unstable; urgency=low ++ ++ [ Vicențiu Ciorbaru ] ++ * Add patch to correctly revert changes from 10.0.26 that caused ++ build failure regression on PPC64el ++ ++ [ Paul Gevers ] ++ * Add autopkg tests for MariaDB 10.0 (Closes: #809022) ++ ++ [ Axel Beckert ] ++ * Extend mariadb-server to purge gracefully if datadir is a mountpoint ++ (Closes: #829491) ++ ++ [ Ian Gilfillan ] ++ * Add a patch to provide a man page for tokuftdump ++ ++ [ Robie Basak ] ++ * Re-add libmariadbclient18 and libmariadbclient-dev ++ * Add libmariadbclient-dev-compat package ++ ++ [ Otto Kekäläinen ] ++ * d/control: libmariadbclient18 must be 'Multi-Arch: same' ++ * Make libmariadbclient-dev-compat conflict with libmariadb-dev-compat ++ (Closes: #831229) ++ * Add libmariadbclient-dev as dependency for libmariadbd-dev ++ * Replace hacky sed of libmysqlclient->libmariadbclient with proper patch ++ * Update symbols file to match newest libmariadbclient18 ++ * Updated Danish translation by Joe Hansen (Closes: #830592) ++ * Remove mariadb-plugin-cassandra until libthrif-dev lands in unstable ++ * Make libdbd-mysql-perl and friends Recommends instead of strict Depends ++ (Closes: #793787) ++ * Documentation and spelling fixes ++ * Remove mysqlbug binary as it is not used for MariaDB ++ * Update default config files with more secure TLS examples ++ ++ -- Otto Kekäläinen Fri, 29 Jul 2016 21:42:50 +0300 ++ ++mariadb-10.0 (10.0.26-1) unstable; urgency=low ++ ++ * Updated French translation by Baptiste Jammet (Closes: #826879) ++ * New upstream release 10.0.26. Includes fixes for the following ++ security vulnerabilities: ++ - CVE-2016-5440 ++ - CVE-2016-3615 ++ - CVE-2016-3521 ++ - CVE-2016-3477 ++ * Updated old changelog entries to include new CVE identifiers. ++ * Refresh patches after 10.0.26 import ++ ++ -- Otto Kekäläinen Fri, 24 Jun 2016 17:05:44 +0300 ++ ++mariadb-10.0 (10.0.25-1) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * Revert previous changes tailored for Ubuntu 16.04 compatibility. ++ * New upstream release 10.0.25. Includes fixes for the following ++ security vulnerabilities (Closes: #823325): ++ - CVE-2016-0666 ++ - CVE-2016-0655 ++ - CVE-2016-0648 ++ - CVE-2016-0647 ++ - CVE-2016-0643 ++ - CVE-2016-5444 ++ - CVE-2016-3459 ++ - CVE-2016-3452 ++ * Updated old changelog entries to include new CVE identifiers. ++ * Upstream included changes to logrotate script that supports systems that ++ has multiple mysqld processes running (Closes: #810968). ++ * Updated Dutch translation by Frans Spiesschaert (Closes: #822894). ++ * Updated Spanish translation by Javier Fernández-Sanguino Peña ++ (Closes: #823099). ++ * Updated Russian translation by Yuri Kozlov (Closes: #823422). ++ * Updated German translation by Chris Leick (Closes: #824487). ++ * Updated Brazilian Portuguese translation (Closes: #824644). ++ * Updated Turkish translation by Atila KOÇ (Closes: #825802). ++ * Add patch to provide passwordless root accounts for test suite. ++ * Updated Japanese translation by Takuma Yamada (Closes: #825813). ++ ++ [ Vicențiu Ciorbaru ] ++ * Backport upstream MDEV-9479 fix: oqgraph fails to build with boost 1.60 ++ ++ -- Otto Kekäläinen Mon, 30 May 2016 22:43:30 +0300 ++ ++mariadb-10.0 (10.0.24-7) unstable; urgency=low ++ ++ * Temporarily remove mariadb-plugin-cassandra as Debian FTP bot thinks ++ it wasn't there before 10.0.24-6 and put the package in the NEW queue. ++ ++ -- Otto Kekäläinen Wed, 13 Apr 2016 13:24:28 +0300 ++ ++mariadb-10.0 (10.0.24-6) unstable; urgency=low ++ ++ * Move mysql_embedded from client package to client-core package, ++ equally as is in mysql-client-core-5.6 and -5.7 (LP: #1568077). ++ * Add breaks/replaces for mariadb-client to accommodate the above. ++ * Add conflicts/breaks/replaces for MySQL 5.7 series packages now ++ when mysql-5.7 entered the Ubuntu repositories (LP: #1568285). ++ * Detect properly if there is an incompatible data directory from 5.7, ++ save it to another location and initialize a new data directory so that the ++ installation can complete properly without leaving dpkg in an inconsistent ++ state. ++ * Remove all old passwordless root account lines to close a potential ++ security vulnerability (LP: #1561062). ++ ++ -- Otto Kekäläinen Wed, 13 Apr 2016 10:56:10 +0300 ++ ++mariadb-10.0 (10.0.24-5) unstable; urgency=low ++ ++ * Disable sporadically failing rpl_binlog_index test on PowerPC. ++ * Disable another sporadic on amd64 and update all Jira links. ++ * Fix typo in Mroonga prerm script. ++ ++ -- Otto Kekäläinen Sat, 12 Mar 2016 10:08:23 +0200 ++ ++mariadb-10.0 (10.0.24-4) unstable; urgency=low ++ ++ * Update contributor documentation to match git-buildpackage version in sid. ++ * Add libxml and unixOBDC as build-depends for ConnectSE as done by in ++ upstream (Closes: #814944). ++ * Upload to via NEW as mariadb-10.0 was accidentally removed from Debian ++ unstable archives. ++ ++ -- Otto Kekäläinen Thu, 10 Mar 2016 18:40:51 +0200 ++ ++mariadb-10.0 (10.0.24-3) unstable; urgency=low ++ ++ * Fix typo in rules file about Mroonga control section ++ * Add main.delayed test exception to more platforms ++ * Install mysql_embedded man page correctly ++ ++ -- Otto Kekäläinen Sun, 06 Mar 2016 22:20:52 +0200 ++ ++mariadb-10.0 (10.0.24-2) unstable; urgency=low ++ ++ * Make new plugin packages breaks+replaces mariadb-server-10.0 as ++ the files used to reside there (Closes: #815377). ++ * Disable main.delayed that has been confirmed to be a false positive ++ caused by built platform resource limits. ++ * Disable multiple s390x tests that only fail on Ubuntu/Launchpad and ++ cannot be reproduced anywhere else. ++ ++ -- Otto Kekäläinen Fri, 04 Mar 2016 08:38:25 +0200 ++ ++mariadb-10.0 (10.0.24-1) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * New upstream release 10.0.24 ++ - Drop auth_socket patches as MDEV-8375 was partially fixed upstream ++ - Refresh other patches ++ * New upstream release includes fixes for the following security ++ vulnerabilities: ++ - CVE-2016-0668 ++ - CVE-2016-0650 ++ - CVE-2016-0649 ++ - CVE-2016-0646 ++ - CVE-2016-0644 ++ - CVE-2016-0641 ++ - CVE-2016-0640 ++ * Update filenames in d/copyright ++ ++ [ Ian Gilfillan ] ++ * Add missing mysql_embedded man page ++ ++ -- Otto Kekäläinen Sat, 20 Feb 2016 14:23:50 +0200 ++ ++mariadb-10.0 (10.0.23-3) unstable; urgency=low ++ ++ * Add Lintian overrides for TokuDB sources that indeed need autotools files ++ * Split TokuDB, Mroonga, Spider and Cassandra into their own packages and ++ start using new naming scheme 'mariadb-plugin-xzy' and rename existing ++ Connect and OQGraph packages accordingly (Closes: #773727) ++ * There is no need for mariadb-test packages to contain the version in the ++ package name, so remove it. It only makes sense to keep the version number ++ in the client and server packages, which users actually want to pin to. ++ * Update standards version ++ ++ -- Otto Kekäläinen Tue, 26 Jan 2016 11:34:48 +0200 ++ ++mariadb-10.0 (10.0.23-2) unstable; urgency=low ++ ++ * Skip unstable Spider tests on Launchpad s390x builds ++ * Extend install lists with missing files after reviewing the list ++ of files produced by the build process ++ * Update server README.Debian to match current unix socekt authentication ++ * Lintian fixes and more updates to TokuDB plugin copyright paths ++ * Move mysql_upgrade to server core package so that Akonadi and similar ++ core package consumers can upgrade the database. Also update control file ++ with breaks/replaces to allow smooth upgrades (Closes: #793977). ++ * Update slow_query_log_file configuration syntax to match upstream's. Also ++ fixes #677222 in MariaDB packages. ++ * Rename and install Apport hook correctly ++ * Remove Taocrypt workaround fixed upstream long since #627208 ++ * Removed CFLAGS and CXXFLAGS as suggested by Lars Tangvald and also done ++ in mysql-5.6 packaging commit id 16a64e810e28f1d0b66ede274cd4c2b1a425fecb ++ * Unmask the systemd mysql.service if left behind by a mysql-server-5.6 ++ installation, otherwise the MariaDB service would remain masked too. ++ * Add gdb to build-deps as suggested in #627208 to get automatic stack traces ++ * Updated Turkish translation by Atila KOÇ (Closes: #811414) ++ ++ -- Otto Kekäläinen Sat, 23 Jan 2016 23:07:15 +0200 ++ ++mariadb-10.0 (10.0.23-1) unstable; urgency=low ++ ++ * New upstream release 10.0.23. Includes fixes for the following ++ security vulnerabilities: ++ - CVE-2016-2047 ++ - CVE-2016-0651 ++ - CVE-2016-0642 ++ - CVE-2016-0616 ++ - CVE-2016-0609 ++ - CVE-2016-0608 ++ - CVE-2016-0606 ++ - CVE-2016-0600 ++ - CVE-2016-0598 ++ - CVE-2016-0597 ++ - CVE-2016-0596 ++ - CVE-2016-0546 ++ - CVE-2016-0505 ++ * Ignore test suite exit code on unstable platforms (mips, mipsel) ++ * Update TokuDB plugin install and copyright paths to match latest ++ release done under Percona ownership ++ ++ -- Otto Kekäläinen Sun, 20 Dec 2015 14:18:33 +0200 ++ ++mariadb-10.0 (10.0.22-6) unstable; urgency=low ++ ++ * Add patches to make passwordless root login default on all new ++ installs in all situations. Make auth_socket a built-in plugin. ++ * Clean up previous passwordless root implementation so that it ++ applies only to new installs and existing databases continue ++ to operate with the passwords defined in their user tables ++ * As disabled.def intrepreted test names in a special way, switch ++ back to using --skip-test-list option ++ * Make the watch file to make it better suited for the ++ git-buildpackage workflow and remove call to uupdate ++ ++ -- Otto Kekäläinen Sat, 19 Dec 2015 22:28:23 +0200 ++ ++mariadb-10.0 (10.0.22-5) unstable; urgency=low ++ ++ * Fix non-working path of unstable-test in d/rules ++ * Add unstable test for amd64 to fix reproducible builds ++ ++ -- Otto Kekäläinen Thu, 17 Dec 2015 13:31:56 +0200 ++ ++mariadb-10.0 (10.0.22-4) unstable; urgency=low ++ ++ * Upload to unstable ++ ++ -- Otto Kekäläinen Mon, 14 Dec 2015 00:49:14 +0200 ++ ++mariadb-10.0 (10.0.22-4~exp1) experimental; urgency=low ++ ++ * Rewrite unstable tests section in d/rules that was not working ++ ++ -- Otto Kekäläinen Sun, 13 Dec 2015 21:36:48 +0200 ++ ++mariadb-10.0 (10.0.22-3) unstable; urgency=low ++ ++ * Fix typo in d/rules ++ * Extend list of unstable tests for arch mips, mipsel64 and alpha ++ ++ -- Otto Kekäläinen Fri, 11 Dec 2015 21:57:23 +0200 ++ ++mariadb-10.0 (10.0.22-2) unstable; urgency=low ++ ++ * Escape d/rules file correctly to avoid parse error. ++ * Remove patches/os_sync_Free patch that is not intended for production use. ++ ++ -- Otto Kekäläinen Fri, 20 Nov 2015 23:11:09 +0200 ++ ++mariadb-10.0 (10.0.22-2~exp2) experimental; urgency=low ++ ++ [ Alexander Barkov ] ++ * Backport patch from upstream to fix MDEV-9091: mysqld crashes on shutdown ++ after running TokuDB tests on Ubuntu ++ * Backport patch from upstream to fix MDEV-8692: prefschema test failures ++ ++ [ Otto Kekäläinen ] ++ * Replace old 'make test' structure with direct call on mysql-test-run and ++ parallelize the test suite run in the Debian build. ++ * Print in build log env info to help debug builds on different platforms. ++ * Keep a list of unstable tests that are to be skipped on official builds. ++ ++ -- Otto Kekäläinen Fri, 13 Nov 2015 22:08:49 +0200 ++ ++mariadb-10.0 (10.0.22-2~exp1) experimental; urgency=low ++ ++ * Add diagnostics to find out the problem in os_sync_free() ++ * Backport fix for TokuDB crashes in build tests on Launchpad ++ and enable TokuDB builds ++ ++ -- Otto Kekäläinen Fri, 13 Nov 2015 08:54:05 +0200 ++ ++mariadb-10.0 (10.0.22-1) unstable; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * New upstream release. Includes fixes for the following security ++ vulnerabilities (Closes: #802874): ++ - CVE-2016-0610 ++ - CVE-2016-3471 ++ - CVE-2015-7744 ++ - CVE-2015-4802 ++ - CVE-2015-4807 ++ - CVE-2015-4815 ++ - CVE-2015-4826 ++ - CVE-2015-4830 ++ - CVE-2015-4836 ++ - CVE-2015-4858 ++ - CVE-2015-4861 ++ - CVE-2015-4870 ++ - CVE-2015-4913 ++ - CVE-2015-4792 ++ * New release includes updated man pages (Closes: #779992) ++ * Update the most recent patches with proper DEP-3 compliant headers ++ * Add CVE IDs to previous changelog entries ++ ++ [ Jean Weisbuch ] ++ * Update mysqlreport to version 4.0 ++ ++ [ Otto Kekäläinen ] ++ ++ -- Otto Kekäläinen Fri, 30 Oct 2015 11:42:30 +0200 ++ ++mariadb-10.0 (10.0.21-3) unstable; urgency=low ++ ++ * Updated Brazilian Portuguese translation (Closes: #798048) ++ * Upload 10.0.21 and all changes tested initially in experimental ++ to unstable. Now sensible as mysql-5.6 has entered testing. ++ ++ -- Otto Kekäläinen Fri, 18 Sep 2015 23:04:53 +0300 ++ ++mariadb-10.0 (10.0.21-2) experimental; urgency=low ++ ++ * Update gdb.conf to have tags signed by default ++ * Add CVE IDs to previous changelog entries ++ * Pass DEB_BUILD_ARCH to CMake options to enhance buils on some platforms ++ * Test suite failures are now fatal on all platforms and not ignored anywhere ++ * Revert most of commit 579282f and re-enable Mroonga ++ ++ -- Otto Kekäläinen Wed, 26 Aug 2015 18:20:54 +0300 ++ ++mariadb-10.0 (10.0.21-1) experimental; urgency=low ++ ++ [ Otto Kekäläinen ] ++ * Created libmariadbd18 and moved .so file from libmariadbd-dev there ++ * Reproducible build improvement: Add LC_ALL=C to mysql.sym sort command ++ * New upstream release. ++ - Upstream added skip_log_error to mysqld_safe config (Closes: #781945) ++ - Diffie-Helman modulus increased to 2048-bits (Closes: #788905) ++ * New upstream release fixes the following security vulnerabilities: ++ - CVE-2015-4816 ++ - CVE-2015-4819 ++ - CVE-2015-4879 ++ - CVE-2015-4895 ++ * Split mariadb-test-data-10.0 out of the main test package. This will save ++ disk space in Debian archives as the arch independent data files are ++ in one single package that can be used on all platforms and the package ++ that is built on multiple platform shrinks significantly. ++ ++ [ Jean Weisbuch ] ++ * The MYCHECK_RCPT variable can now be set from the default file. ++ * The check_for_crashed_tables() function on the debian-start script has been ++ fixed to be able to log (and email) the errors it encountered : Errors are ++ sent to stderr by the CLI while only stdout was captured by the function. ++ * The same function now also checks Aria tables along with MyISAM ones. ++ ++ -- Otto Kekäläinen Thu, 13 Aug 2015 10:08:38 +0200 ++ ++mariadb-10.0 (10.0.20-3) unstable; urgency=medium ++ ++ [ Andreas Beckmann ] ++ * mariadb-common: Depend on a version of mysql-common that ships ++ /usr/share/mysql-common/configure-symlinks. (Closes: #787533) ++ * mariadb-common.postinst: Drop fallback my.cnf symlink management. ++ * mariadb-common.preinst: Clean up my.cnf/my.cnf.old from the fallback. ++ ++ [ Otto Kekäläinen ] ++ * Clean up old cruft from rules file after review by Sergei Golubchik ++ * Unified config file layout with upstream .cnf layout ++ * Recover mysql-upgrade dir/link handlig wrongly removed in f7caa041db ++ * Minor Lintian and documentation fixes ++ * Switch 'nm -n' to 'nm --defined-only' to improve reproducible builds ++ ++ [ Olaf van der Spek ] ++ * Minor spell checking (Closes: #792123) ++ ++ [ Israel Tsadok ] ++ * Fix mariadb-server-10.0.preinst script that failed to save a new ++ /var/lib/mysql-upgrade/DATADIR.link if a previous DATADIR.link existed and ++ the /var/lib/mysql directory was a symbolic link with an absolute path ++ as target (Closes: #792918) ++ ++ [ Jean Weisbuch ] ++ * Added a Debian default file for the mariadb-server-10.0 package which allows ++ one to set the MYSQLD_STARTUP_TIMEOUT variable used in the init script ++ ++ -- Otto Kekäläinen Fri, 24 Jul 2015 23:00:00 +0300 ++ ++mariadb-10.0 (10.0.20-2) unstable; urgency=low ++ ++ * Fix bash test logic in postinstall (Closes: #789589) ++ * Add extra sort in d/rules mysqld.sym.gz command to satisfy Debian ++ reproducible build requirements ++ * Switch to utf8mb4 as default character set ++ ++ -- Otto Kekäläinen Fri, 03 Jul 2015 17:11:01 +0300 ++ ++mariadb-10.0 (10.0.20-1) unstable; urgency=low ++ ++ * New upstream release. Includes fixes for the following security ++ vulnerabilities: ++ - CVE-2015-2582 ++ - CVE-2015-2620 ++ - CVE-2015-2643 ++ - CVE-2015-2648 ++ - CVE-2015-3152: Client command line option --ssl-verify-server-cert (and ++ MYSQL_OPT_SSL_VERIFY_SERVER_CERT option of the client API) when used ++ together with --ssl will ensure that the established connection is ++ SSL-encrypted and the MariaDB server has a valid certificate. ++ - CVE-2015-4752 ++ - CVE-2015-4864 ++ * New release includes fix for memory corruption on arm64 (Closes: #787221) ++ * Added patch to enhance build reproducibility regarding the file INFO_BIN ++ ++ -- Otto Kekäläinen Fri, 19 Jun 2015 13:01:56 +0300 ++ ++mariadb-10.0 (10.0.19-1) unstable; urgency=low ++ ++ * New upstream release. Fixed the server crash caused by mysql_upgrade ++ (MDEV-8115). ++ * Upload to unstable from master branch as Jessie is not released. ++ ++ -- Otto Kekäläinen Sat, 09 May 2015 22:24:03 +0300 ++ ++mariadb-10.0 (10.0.18-1~exp1) experimental; urgency=low ++ ++ * New upstream release. Includes fixes for the following security ++ vulnerabilities: ++ - CVE-2015-4866 ++ - CVE-2014-8964 bundled PCRE contained heap-based buffer overflow ++ vulnerability that allowed the server to crash or have other unspecified ++ impact via a crafted regular expression made possible with the ++ REGEXP_SUBSTR function (MDEV-8006). ++ - CVE-2015-0501 ++ - CVE-2015-2571 ++ - CVE-2015-0505 ++ - CVE-2015-0499 ++ - CVE-2015-4757 ++ - CVE-2015-4866 ++ * Cleanup in d/copyright ++ * Make the mariadb-common depends versioned to guarantee that latest ++ config files are installed ++ ++ -- Otto Kekäläinen Thu, 07 May 2015 23:21:20 +0300 ++ ++mariadb-10.0 (10.0.17-1~exp2) experimental; urgency=low ++ ++ * d/control: Related to innochecksum manpage move, also break/replace ++ the mysql-client-5.5/6 packages (Closes: #779873) ++ * Add automatic fallback to the new /etc/mysql/my.cnf management scheme ++ for cases where mysql-common/configure-symlinks is not yet available ++ and users complain the installation ends up broken. ++ * New release confirmed to build with GCC-5 (Closes: #777996) ++ ++ -- Otto Kekäläinen Fri, 06 Mar 2015 16:42:21 +0200 ++ ++mariadb-10.0 (10.0.17-1~exp1) experimental; urgency=low ++ ++ [ Jan Wagner ] ++ * Adding mysqld_multi.server_lsb-header.patch, provides LSB headers for ++ example initscript (Closes: #778762) ++ * Adding mysqld_multi_confd.patch, makes mysqld_multi reading conf.d ++ (Closes: #778761) ++ ++ [ Robie Basak ] ++ * Move innochecksum back to mariadb-server-core-10.0 to align with other ++ variants (LP: #1421520). ++ * Fix typo in mariadb-server-10.0.postinst. ++ * Fix typo in postinst mktemp call (LP: #1420831). ++ ++ [ Arnaud Fontaine ] ++ * d/control: innochecksum manpage has been moved to mariadb-client-10.0 in ++ 10.0.13-1 (ba97056), thus add Breaks/Replaces in mariadb-client-10.0 ++ against mariadb-server-10.0 << 10.0.13-1~. ++ ++ [ Otto Kekäläinen ] ++ * Follow to new /etc/mysql/my.cnf management scheme ++ * Remove the my.cnf move command as it increases complexity too much and might ++ emit an error code if mariadb-common is upgraded before mysql-common is. ++ * Add patch to enhance build reproducibility ++ * Remove /var/log/mysql.log from logrotate. Everything should be inside ++ the mysql directory (/var/log/mysql/) and not directly on plain /var/log ++ * New upstream release. Includes fixes for the following security ++ vulnerabilities (changelog updated post release): ++ - CVE-2015-2568 ++ - CVE-2015-2573 ++ - CVE-2015-0433 ++ - CVE-2015-0441 ++ ++ -- Otto Kekäläinen Mon, 02 Mar 2015 20:01:13 +0200 ++ ++mariadb-10.0 (10.0.16-1~exp3) experimental; urgency=low ++ ++ * Update the mail.ssl test to match new cacert.pem ++ * Stop asking and setting a database root user password. Instead enable ++ the auth_socket plugin and let unix user root access MariaDB without ++ a separate password. Admins using sudo or cron scripts can use the ++ same access too, and there is no debian-sys-maint password either anymore. ++ ++ -- Otto Kekäläinen Fri, 30 Jan 2015 18:52:55 +0200 ++ ++mariadb-10.0 (10.0.16-1~exp2) experimental; urgency=low ++ ++ * Fix typo in preinstall script (Closes: #776494). ++ * Backported new cacert.pem etc from 5.5 the replace the expired ones. ++ ++ -- Otto Kekäläinen Wed, 28 Jan 2015 20:57:23 +0200 ++ ++mariadb-10.0 (10.0.16-1~exp1) experimental; urgency=low ++ ++ * New upstream release. Includes fixes for the following security ++ vulnerabilities: ++ - CVE-2015-0411 ++ - CVE-2015-0382 ++ - CVE-2015-0381 ++ - CVE-2015-0432 ++ - CVE-2014-6568 ++ - CVE-2015-0374 ++ ++ -- Otto Kekäläinen Tue, 27 Jan 2015 17:04:21 +0200 ++ ++mariadb-10.0 (10.0.15-2~exp1) experimental; urgency=low ++ ++ * Fix mariadb-server-10.0.postinst so that the flag removal will not emit ++ an error code if there are no previous debian-*.flag files. This will ++ fix a dpkg issue caught by piuparts testing. ++ * Increase the debconf downgrade warning dialog priority to critical to make ++ sure all users see it and understand why their system broke after downgrade. ++ * Attempt to fix FTBFS on mips, mipsel, powerpc introduced by upstream ++ release 10.0.15 (Closes: #772964). ++ ++ -- Otto Kekäläinen Fri, 12 Dec 2014 14:07:50 +0200 ++ ++mariadb-10.0 (10.0.15-1) unstable; urgency=low ++ ++ [ Arnaud Fontaine ] ++ * Bump libpcre3-dev Build-Depends to >= 2:8.35-3.2~ (Closes: #767903). ++ ++ [ Otto Kekäläinen } ++ * New upstream release, includes fixes for the following security issues: ++ - CVE-2014-6507 ++ - CVE-2014-6491 ++ - CVE-2014-6500 ++ - CVE-2014-6469 ++ - CVE-2014-6555 ++ - CVE-2014-6559 ++ - CVE-2014-6494 ++ - CVE-2014-6496 ++ - CVE-2014-6464 ++ * Disable on non-amd64 platforms the new Mroonga storage engine which ++ was introduced in the new upstream release. ++ * Allow mariadb-server-10.0 to overwrite file man1/mysql_plugin.1.gz in ++ mysql-client-5.5 with breaks and replaces (Closes: #771213). ++ * Clean up old debian-*.flag files from datadir to avoid unexpected ++ behavior at later upgrades (Closes: #770177). ++ ++ -- Otto Kekäläinen Tue, 25 Nov 2014 21:45:43 +0200 ++ ++mariadb-10.0 (10.0.14-4) unstable; urgency=low ++ ++ * Updated patch d/username-in-tests-replace.patch to fix the ++ obfuscation done by anti-spam measures in the MariaDB ++ commit message view (Closes: #769865). ++ * Unified indentantion to two spaces in init file for easier ++ debugging of #609537 ++ ++ -- Otto Kekäläinen Mon, 17 Nov 2014 11:45:11 +0200 ++ ++mariadb-10.0 (10.0.14-3) unstable; urgency=low ++ ++ * Added patch d/username-in-tests-replace.patch to fix ++ test failure (Closes: #769212). ++ * Added versioned dependency on libpcre3 (Closes: #767903). ++ ++ -- Otto Kekäläinen Wed, 12 Nov 2014 15:00:11 +0300 ++ ++mariadb-10.0 (10.0.14-2) unstable; urgency=low ++ ++ [ Tobias Frost ] ++ * Fix two lintian warnings in d/copyright (missing "-" between GPL and 2) ++ * Always be verbose when building the package and show compiler args ++ ++ [ Otto Kekäläinen ] ++ * Upload to unstable ++ * Updated German translation by Chris Leick and Holger Wansing ++ (Closes: #763952) ++ * Updated Dutch translation by Frans Spiesschaert (Closes: #764013) ++ * Removed libssl-dev from build dependencies in favour of using ++ bundled YaSSL instead (Closes: #761911) ++ * Fixed debconf value saving (Closes: #761452) ++ * Re-enabled TokuDB after backporting upstream fix in MDEV-6815 ++ * Removed libmariadbclient packages that provided the Debian-only ++ libmariadbclient.so library that nobody used. Instead developers are ++ encouraged to use the libraries from the package libmariadb-client-lgpl ++ instead (Closes: #739452) (Closes: #742172). ++ ++ -- Otto Kekäläinen Sat, 18 Oct 2014 19:00:11 +0300 ++ ++mariadb-10.0 (10.0.14-1) experimental; urgency=low ++ ++ * New upstream release. (Closes: #757026) ++ * d/control: Removed Provides: libmysqlclient-dev (Closes: #759309) ++ * d/control: Removed Provides: libmysqld-dev with same motivation ++ * Updated Swedish translation by Martin Bagge ++ and Anders Jonsson (Closes: #762795) ++ * Updated Spanish translation by Javier Fernandez-Sanguino (Closes: #762751) ++ * Updated Portuguese translation by Miguel Figueiredo (Closes: #763194) ++ * Updated Czech translation by Miroslav Kure (Closes: #763309) ++ ++ -- Otto Kekäläinen Thu, 28 Aug 2014 00:39:02 +0300 ++ ++mariadb-10.0 (10.0.10-1) experimental; urgency=low ++ ++ * Initial Upload (Closes: #740473) ++ ++ -- Otto Kekäläinen Tue, 01 Apr 2014 09:56:38 +0300 diff --cc debian/compat index ec635144f,000000000..f599e28b8 mode 100644,000000..100644 --- a/debian/compat +++ b/debian/compat @@@ -1,1 -1,0 +1,1 @@@ - 9 ++10 diff --cc debian/control index 7f0d88e99,000000000..cdd2853d5 mode 100644,000000..100644 --- a/debian/control +++ b/debian/control @@@ -1,1008 -1,0 +1,775 @@@ +Source: mariadb-10.6 +Section: database +Priority: optional - Maintainer: MariaDB Developers ++Maintainer: Debian MySQL Maintainers ++Uploaders: Otto Kekäläinen +Build-Depends: bison, + cmake, + cracklib-runtime , + debhelper (>= 10), + dh-exec, - flex [amd64], + gdb , - libaio-dev [linux-any], - libboost-atomic-dev [amd64], - libboost-chrono-dev [amd64], - libboost-date-time-dev [amd64], + libboost-dev, - libboost-filesystem-dev [amd64], - libboost-regex-dev [amd64], - libboost-system-dev [amd64], - libboost-thread-dev [amd64], + libcrack2-dev (>= 2.9.0), + libcurl4-openssl-dev | libcurl4-dev, + libedit-dev, + libedit-dev:native, + libjemalloc-dev [linux-any], + libjudy-dev, + libkrb5-dev, + liblz4-dev, + libncurses5-dev (>= 5.0-6~), + libncurses5-dev:native (>= 5.0-6~), + libnuma-dev [linux-any], + libpam0g-dev, + libpcre2-dev, + libpmem-dev [amd64 arm64 ppc64el riscv64], + libsnappy-dev, + libssl-dev, + libssl-dev:native, + libsystemd-dev [linux-any], + liburing-dev [linux-any], + libxml2-dev, - libzstd-dev, ++ libzstd-dev (>= 1.3.3), + lsb-release, + perl:any, + po-debconf, + psmisc, + unixodbc-dev, + uuid-dev, + zlib1g-dev (>= 1:1.1.3-5~) +Rules-Requires-Root: no +Standards-Version: 4.5.0 +Homepage: https://mariadb.org/ - Vcs-Browser: https://github.com/MariaDB/server/ - Vcs-Git: https://github.com/MariaDB/server.git ++Vcs-Browser: https://salsa.debian.org/mariadb-team/mariadb-server ++Vcs-Git: https://salsa.debian.org/mariadb-team/mariadb-server.git + +Package: libmariadb-dev +Architecture: any +Section: libdevel +Depends: libmariadb3 (= ${binary:Version}), + libssl-dev, + zlib1g-dev, + ${misc:Depends}, + ${shlibs:Depends} - Conflicts: libmariadb-dev-compat (<< 3.0.0), - libmariadbclient-dev, - libmariadbclient16-dev - Provides: libmariadbclient-dev +Breaks: libmariadb-client-lgpl-dev, - libmysqlclient-dev (<< ${source:Version}), ++ libmariadb-dev-compat (<< ${source:Version}), ++ libmariadbclient-dev (<< 1:10.3), ++ libmysqlclient-dev, + libmysqld-dev (<< ${source:Version}) +Replaces: libmariadb-client-lgpl-dev, - libmariadb-dev-compat (<< 3.0.0), - libmariadbclient-dev, - libmysqlclient-dev (<< ${source:Version}), ++ libmariadb-dev-compat (<< ${source:Version}), ++ libmariadbclient-dev (<< 1:10.3), ++ libmysqlclient-dev, + libmysqld-dev (<< ${source:Version}) ++Conflicts: libmariadbclient16-dev, ++ libmysqlclient-dev +Description: MariaDB database development files + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes development libraries and header files. To allow sources + expecting the MariaDB Connector/C to build. Sources that expect the MySQL + Client libraries should use files from the libmariadb-dev-compat package. + +Package: libmariadb-dev-compat +Architecture: any +Multi-Arch: same +Section: libdevel +Depends: libmariadb-dev (= ${binary:Version}), + ${misc:Depends} - Conflicts: libmariadb-client-lgpl-dev, - libmariadb-client-lgpl-dev-compat, ++Conflicts: libmariadb-client-lgpl-dev-compat, + libmariadbclient-dev-compat, - libmysqlclient-dev, - libmysqlclient10-dev, - libmysqlclient12-dev, - libmysqlclient14-dev, - libmysqlclient15-dev, - libmysqlclient16-dev ++ libmysqlclient-dev +Provides: libmariadb-client-lgpl-dev-compat, - libmariadbclient-dev-compat, - libmysqlclient-dev - Breaks: libmariadb-dev (<< ${source:Version}) - Replaces: libmariadb-client-lgpl-dev, - libmariadb-client-lgpl-dev-compat, - libmariadb-dev (<< ${source:Version}), ++ libmariadbclient-dev-compat ++Breaks: libmariadb-client-lgpl-dev-compat, ++ libmariadbclient-dev (<< 1:10.3), ++ libmariadbclient-dev-compat, ++ libmysqlclient-dev ++Replaces: libmariadb-client-lgpl-dev-compat, ++ libmariadbclient-dev (<< 1:10.3), + libmariadbclient-dev-compat, + libmysqlclient-dev +Description: MariaDB Connector/C, compatibility symlinks + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes compatibility symlinks to allow sources expecting the + MySQL client libraries to be built against MariaDB Connector/C. + +Package: libmariadb3 +Architecture: any +Multi-Arch: same +Section: libs +Depends: mariadb-common, + ${misc:Depends}, + ${shlibs:Depends} - Conflicts: libmariadbclient18 (<< 10.2.0), - mariadb-galera-server-10.0, ++Conflicts: mariadb-galera-server-10.0, + mariadb-galera-server-5.5, + mariadb-server-10.0, + mariadb-server-5.1, + mariadb-server-5.2, + mariadb-server-5.3, + mariadb-server-5.5 - Breaks: libmariadbclient18 (<< ${source:Version}) - Replaces: libmariadbclient18 (<< ${source:Version}) ++Breaks: libmariadbclient18 ++Replaces: libmariadbclient18 +Description: MariaDB database client library + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes the client library. + - Package: libmariadb3-compat - Architecture: any - Section: libs - Depends: libmariadb3, - mariadb-common, - ${misc:Depends} - Breaks: libmysqlclient19, - libmysqlclient20, - libmysqlclient21 - Replaces: libmysqlclient19, - libmysqlclient20, - libmysqlclient21 - Provides: libmysqlclient19, - libmysqlclient20, - libmysqlclient21 - Description: MariaDB database client library MySQL compat package - MariaDB is a fast, stable and true multi-user, multi-threaded SQL database - server. SQL (Structured Query Language) is the most popular database query - language in the world. The main goals of MariaDB are speed, robustness and - ease of use. - . - This package includes the client runtime libraries that simulate and replace - the equivalents found in MySQL 5.6, 5.7 and 8.0 (mysqlclient19, 20 and 21). - - Package: libmariadbclient18 - Section: libs - Architecture: any - Depends: libmariadb3 (= ${binary:Version}), - ${misc:Depends} - Replaces: libmariadbclient18 - Provides: libmariadbclient18 - Description: Virtual package to satisfy external libmariadbclient18 depends - MariaDB is a fast, stable and true multi-user, multi-threaded SQL database - server. SQL (Structured Query Language) is the most popular database query - language in the world. The main goals of MariaDB are speed, robustness and - ease of use. - . - This package provides compatibility symlinks for binaries that expect to find - libmariadbclient.so.18 will automatically use libmariadb.so.3 instead. - - Package: libmysqlclient18 - Section: libs - Architecture: any - Depends: libmariadb3 (= ${binary:Version}), - ${misc:Depends} - Replaces: libmysqlclient18 - Provides: libmysqlclient18 - Description: Virtual package to satisfy external libmysqlclient18 depends - MariaDB is a fast, stable and true multi-user, multi-threaded SQL database - server. SQL (Structured Query Language) is the most popular database query - language in the world. The main goals of MariaDB are speed, robustness and - ease of use. - . - This package provides compatibility symlinks for binaries that expect to find - libmysqlclient.so.18 will automatically use libmariadb.so.3 instead. - +Package: libmariadbd19 +Architecture: any +Section: libs +Depends: ${misc:Depends}, + ${shlibs:Depends} - Breaks: libmariadbd-dev (<< ${source:Version}) - Replaces: libmariadbd-dev (<< ${source:Version}) +Multi-Arch: same +Description: MariaDB embedded database, shared library + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes a shared library for embedded MariaDB applications. + +Package: libmariadbd-dev +Architecture: any +Section: libdevel +Provides: libmysqld-dev +Pre-Depends: ${misc:Pre-Depends} +Depends: libmariadb-dev (= ${binary:Version}), + libmariadbd19 (= ${binary:Version}), - ${misc:Depends} - Breaks: libmariadb-dev (<< ${source:Version}), - libmariadbclient-dev (<< ${source:Version}), ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Breaks: libmariadb-dev (<< 1:10.4), + libmysqld-dev - Replaces: libmariadb-dev (<< ${source:Version}), - libmariadbclient-dev (<< ${source:Version}), ++Replaces: libmariadb-dev (<< 1:10.4), + libmysqld-dev +Description: MariaDB embedded database, development files + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes the embedded server library development and header files. + - Package: mysql-common - Architecture: all - Depends: ${misc:Depends} - Description: MariaDB database common files (e.g. /etc/mysql/my.cnf) - MariaDB is a fast, stable and true multi-user, multi-threaded SQL database - server. SQL (Structured Query Language) is the most popular database query - language in the world. The main goals of MariaDB are speed, robustness and - ease of use. - . - This package includes files needed by all versions of the client library - (e.g. /etc/mysql/my.cnf). - +Package: mariadb-common +Architecture: all +Depends: mysql-common (>= 5.6.25), + ${misc:Depends} +Multi-Arch: foreign +Description: MariaDB common configuration files + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes configuration files common to all MariaDB programs. + +Package: mariadb-client-core-10.6 +Architecture: any +Depends: libmariadb3 (>= 10.5.4), + mariadb-common (>= ${source:Version}), + ${misc:Depends}, + ${shlibs:Depends} - 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 (<< ${source:Version}), - 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-5.1, - mariadb-client-core-5.2, - mariadb-client-core-5.3, - mariadb-client-core-5.5, - mysql-client (<< 5.0.51), - mysql-client-5.0, - mysql-client-5.1, - mysql-client-5.5, - 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, ++Conflicts: mysql-client-5.5, ++ mysql-client-5.6, ++ mysql-client-5.7, ++ mysql-client-8.0, + virtual-mysql-client-core - Breaks: mariadb-server-10.0, ++Breaks: mariadb-client-10.0, ++ 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-5.5, ++ mariadb-server-10.0, + mariadb-server-10.1, - 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 (<< ${source:Version}), - mysql-server-core-5.5, ++ mysql-client-core-5.5, ++ mysql-client-core-5.6, ++ mysql-client-core-5.7, ++ mysql-client-core-8.0, + mysql-server-core-5.6, + mysql-server-core-5.7, + mysql-server-core-8.0, + 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.7 ++ percona-xtradb-cluster-server-5.7, ++ percona-xtradb-cluster-server-8.0 +Replaces: 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 (<< ${source:Version}), - 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-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-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 (<< ${source:Version}), - mysql-client (<< 5.0.51), - mysql-client-5.0, - mysql-client-5.1, - mysql-client-5.5, - 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-core-5.5, + mysql-server-core-5.6, + mysql-server-core-5.7, + mysql-server-core-8.0, + 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.7, ++ percona-xtradb-cluster-server-8.0, + virtual-mysql-client-core - Provides: default-mysql-client-core, - virtual-mysql-client-core ++Provides: virtual-mysql-client-core +Description: MariaDB database core client binaries + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes the core client files, as used by Akonadi. + +Package: mariadb-client-10.6 +Architecture: any +Depends: debianutils (>=1.6), ++ libconfig-inifiles-perl, + mariadb-client-core-10.6 (>= ${source:Version}), - mariadb-common, + ${misc:Depends}, + ${perl:Depends}, + ${shlibs:Depends} - Conflicts: mariadb-client (<< ${source:Version}), - 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 (<< ${source:Version}), - mariadb-client-5.1, - mariadb-client-5.2, - mariadb-client-5.3, - mariadb-client-5.5, - mysql-client (<< 5.0.51), - 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, ++Conflicts: mysql-client-core-5.5, + mysql-client-core-5.6, + mysql-client-core-5.7, + mysql-client-core-8.0, + mytop, + virtual-mysql-client - Breaks: mariadb-client-core-10.0, ++Breaks: 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-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 (<< ${source:Version}), + mariadb-server-10.0, + mariadb-server-10.1, + mariadb-server-10.2, + mariadb-server-10.3, + mariadb-server-10.4, + mariadb-server-10.5, + mariadb-server-10.6 (<< ${source:Version}), - 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 (<< ${source:Version}), - mysql-server-5.5, - mysql-server-5.6, ++ mysql-client-5.5, ++ mysql-client-5.6, ++ mysql-client-5.7, ++ mysql-client-8.0, + mysql-server-5.7, - mysql-server-8.0, - mysql-server-core-5.5, - mysql-server-core-5.6, - mysql-server-core-5.7, + mysql-server-core-8.0, + percona-server-server-5.6, + percona-xtradb-cluster-server-5.6, + percona-xtradb-cluster-server-5.7 - Replaces: mariadb-client (<< ${source:Version}), - mariadb-client-10.0, ++Replaces: 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-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 (<< ${source:Version}), + mariadb-server-10.0, + mariadb-server-10.1, + mariadb-server-10.2, + mariadb-server-10.3, + mariadb-server-10.4, + mariadb-server-10.5, + mariadb-server-10.6 (<< ${source:Version}), - 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 (<< ${source:Version}), - mysql-client (<< 5.0.51), - 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.5, - mysql-server-5.6, + mysql-server-5.7, - mysql-server-8.0, - mysql-server-core-5.5, - mysql-server-core-5.6, - mysql-server-core-5.7, + mysql-server-core-8.0, + mytop, + percona-server-server-5.6, + percona-xtradb-cluster-server-5.6, + percona-xtradb-cluster-server-5.7, + virtual-mysql-client - Provides: default-mysql-client, - virtual-mysql-client ++Provides: virtual-mysql-client +Recommends: libdbd-mariadb-perl | libdbd-mysql-perl, + libdbi-perl, + libterm-readkey-perl +Description: MariaDB database client binaries + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes the client binaries and the additional tools + innotop and mariadb-report (mysqlreport). + +Package: mariadb-server-core-10.6 +Architecture: any +Depends: mariadb-common (>= ${source:Version}), + ${misc:Depends}, + ${shlibs:Depends} - Conflicts: 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-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, ++Conflicts: mariadb-galera-server-5.5, ++ mysql-server-5.5, ++ mysql-server-5.6, ++ mysql-server-5.7, ++ mysql-server-8.0, + virtual-mysql-server-core - Breaks: 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 (<< ${source:Version}), ++Breaks: mariadb-client-10.1, + mariadb-server-10.0, + mariadb-server-10.1, ++ mariadb-server-10.2, + mariadb-server-10.3, + mariadb-server-10.4, - mariadb-server-10.5, - mariadb-server-10.6 (<< ${source:Version}), ++ 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-5.5, + mysql-client-5.5, - mysql-server-5.5, - mysql-server-5.6, - mysql-server-5.7, - mysql-server-8.0, ++ mysql-client-5.6, ++ mysql-server-core-5.5, ++ mysql-server-core-5.6, ++ mysql-server-core-5.7, ++ mysql-server-core-8.0, + percona-server-server-5.6, + percona-xtradb-cluster-server-5.6, + percona-xtradb-cluster-server-5.7 - Replaces: 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 (<< ${source:Version}), ++Replaces: mariadb-client-10.1, + mariadb-server-10.0, + mariadb-server-10.1, ++ mariadb-server-10.2, + mariadb-server-10.3, + mariadb-server-10.4, + mariadb-server-10.5, + mariadb-server-10.6 (<< ${source:Version}), + 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-5.1, - mariadb-server-core-5.2, - mariadb-server-core-5.3, + mariadb-server-core-5.5, + mysql-client-5.5, - mysql-server-5.0, - mysql-server-5.5, - mysql-server-5.6, - mysql-server-5.7, - mysql-server-8.0, - mysql-server-core-5.0, - mysql-server-core-5.1, ++ mysql-client-5.6, ++ mysql-client-5.7, ++ mysql-client-8.0, + mysql-server-core-5.5, + mysql-server-core-5.6, + mysql-server-core-5.7, + mysql-server-core-8.0, + percona-server-server-5.6, + percona-xtradb-cluster-server-5.6, + percona-xtradb-cluster-server-5.7, + virtual-mysql-server-core - Provides: default-mysql-server-core, - virtual-mysql-server-core ++Provides: virtual-mysql-server-core +Description: MariaDB database core server files + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes the core server files, as used by Akonadi. + +Package: mariadb-server-10.6 +Architecture: any +Suggests: mailx, + mariadb-test, + netcat-openbsd +Recommends: libhtml-template-perl +Pre-Depends: adduser (>= 3.40), + debconf, + mariadb-common (>= ${source:Version}) +Depends: galera-4 (>= 26.4), + gawk, + iproute2 [linux-any], + libdbi-perl, + lsb-base (>= 3.0-10), + lsof [linux-any], + mariadb-client-10.6 (>= ${source:Version}), - mariadb-server-core-10.6 (>= ${source:Version}), ++ mariadb-server-core-10.6 (>= ${server:Version}), + passwd, + perl (>= 5.6), + procps, + psmisc, + rsync, + socat, + ${misc:Depends}, - ${perl:Depends}, + ${shlibs:Depends} - Conflicts: mariadb-server (<< ${source:Version}), - mariadb-server-10.0, - mariadb-server-10.1, - mariadb-server-10.2, - mariadb-server-10.3, - mariadb-server-10.4, - mariadb-server-10.5, - mariadb-server-5.1, - mariadb-server-5.2, - mariadb-server-5.3, - mariadb-server-5.5, - mysql-client-5.5, - mysql-client-5.6, - mysql-client-5.7, - mysql-client-8.0, - mysql-client-core-8.0, - mysql-server, - mysql-server-4.1, - mysql-server-5.0, - mysql-server-5.1, - mysql-server-5.5, - mysql-server-5.6, - mysql-server-5.7, - mysql-server-8.0, ++Conflicts: handlersocket-mysql-5.5, ++ mariadb-tokudb-engine-10.0, ++ mariadb-tokudb-engine-10.1, ++ mariadb-tokudb-engine-5.5, + mysql-server-core-5.5, + mysql-server-core-5.6, + mysql-server-core-5.7, + mysql-server-core-8.0, ++ percona-server-server-5.6, ++ percona-xtradb-cluster-server-5.6, ++ percona-xtradb-cluster-server-5.7, + virtual-mysql-server - Breaks: handlersocket-mysql-5.5, - percona-server-server-5.6, - percona-xtradb-cluster-server-5.6, - percona-xtradb-cluster-server-5.7 ++Breaks: cqrlog (<< 1.9.0-5~), ++ galera-3 (<< 26.4), ++ handlersocket-mysql-5.5, ++ mariadb-galera-server, ++ mariadb-galera-server-10.0, ++ mariadb-galera-server-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.5, ++ mariadb-server-5.5, ++ mariadb-tokudb-engine-10.0, ++ mariadb-tokudb-engine-10.1, ++ mariadb-tokudb-engine-5.5, ++ mysql-client-5.5, ++ mysql-client-5.7, ++ mysql-client-core-8.0, ++ mysql-server-5.5, ++ mysql-server-5.6, ++ mysql-server-5.7, ++ mysql-server-8.0 +Replaces: handlersocket-mysql-5.5, - libmariadbclient-dev (<< 5.5.0), - libmariadbclient16, - mariadb-client-10.5, - mariadb-client-10.6 (<< ${source:Version}), - mariadb-server (<< ${source:Version}), ++ mariadb-galera-server, ++ mariadb-galera-server-10.0, ++ mariadb-galera-server-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.5, - mariadb-server-5.1, - mariadb-server-5.2, - mariadb-server-5.3, + mariadb-server-5.5, ++ mariadb-tokudb-engine-10.0, ++ mariadb-tokudb-engine-10.1, ++ mariadb-tokudb-engine-5.5, + mysql-client-5.5, - mysql-client-5.6, + mysql-client-5.7, - mysql-client-8.0, + mysql-client-core-8.0, - mysql-server, - mysql-server-4.1, - mysql-server-5.0, - mysql-server-5.1, + mysql-server-5.5, + mysql-server-5.6, + mysql-server-5.7, + mysql-server-8.0, + percona-server-server-5.6, + percona-xtradb-cluster-server-5.6, + percona-xtradb-cluster-server-5.7, + virtual-mysql-server - Provides: default-mysql-server, - virtual-mysql-server ++Provides: virtual-mysql-server +Description: MariaDB database server binaries + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes the server binaries. + +Package: mariadb-server +Architecture: all +Depends: mariadb-server-10.6 (>= ${source:Version}), + ${misc:Depends} +Description: MariaDB database server (metapackage depending on the latest version) + This is an empty package that depends on the current "best" version of + mariadb-server (currently mariadb-server-10.6), as determined by the MariaDB + maintainers. Install this package if in doubt about which MariaDB + version you need. That will install the version recommended by the + package maintainers. + . + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + +Package: mariadb-client +Architecture: all +Depends: mariadb-client-10.6 (>= ${source:Version}), + ${misc:Depends} +Description: MariaDB database client (metapackage depending on the latest version) + This is an empty package that depends on the current "best" version of + mariadb-client (currently mariadb-client-10.6), as determined by the MariaDB + maintainers. Install this package if in doubt about which MariaDB version + you want, as this is the one considered to be in the best shape. + +Package: mariadb-backup +Architecture: any +Breaks: mariadb-backup-10.1, + mariadb-backup-10.2, ++ mariadb-backup-10.3, + mariadb-client-10.1 +Replaces: mariadb-backup-10.1, + mariadb-backup-10.2, ++ mariadb-backup-10.3, + mariadb-client-10.1 +Depends: mariadb-client-core-10.6 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: Backup tool for MariaDB server + This backup tool is guaranteed to be compatible with MariaDB. + Based on Xtrabackup, but improved to work with MariaDB. + . + Please refer to the MariaDB Knowledge Base on more information on + how to use this tool. + +Package: mariadb-plugin-connect +Architecture: any +Depends: libxml2, + mariadb-server-10.6 (= ${server:Version}), + unixodbc, + ${misc:Depends}, + ${shlibs:Depends} ++Conflicts: mariadb-connect-engine-10.0, ++ mariadb-connect-engine-10.1 +Breaks: mariadb-connect-engine-10.0, + mariadb-connect-engine-10.1, - mariadb-connect-engine-10.2, - mariadb-connect-engine-10.3, - mariadb-connect-engine-10.4 ++ mariadb-server-10.0, ++ mariadb-server-10.1 +Replaces: mariadb-connect-engine-10.0, + mariadb-connect-engine-10.1, - mariadb-connect-engine-10.2, - mariadb-connect-engine-10.3, - mariadb-connect-engine-10.4 ++ mariadb-server-10.0, ++ mariadb-server-10.1 +Description: Connect storage engine for MariaDB + 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 + other interesting features. + This package contains the Connect plugin for MariaDB. + +Package: mariadb-plugin-s3 +Architecture: any +Depends: libcurl4, + mariadb-server-10.6 (= ${server:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: Amazon S3 archival storage engine for MariaDB + The S3 storage engine allows one to archive MariaDB tables in Amazon S3 (or any + third-party public or private cloud that implements S3 API), but still have + them accessible in MariaDB in read-only mode. + +Package: mariadb-plugin-rocksdb +Architecture: amd64 arm64 mips64el ppc64el +Depends: mariadb-server-10.6 (= ${server:Version}), - python3, ++ python3:any, + rocksdb-tools, + ${misc:Depends}, + ${shlibs:Depends} +Breaks: mariadb-rocksdb-engine-10.2, - mariadb-rocksdb-engine-10.3, - mariadb-rocksdb-engine-10.4 ++ mariadb-rocksdb-engine-10.3 +Replaces: mariadb-rocksdb-engine-10.2, - mariadb-rocksdb-engine-10.3, - mariadb-rocksdb-engine-10.4 ++ mariadb-rocksdb-engine-10.3 +Recommends: python3-mysqldb +Description: RocksDB storage engine for MariaDB + The RocksDB storage engine is a high performance storage engine, aimed - at maximising storage efficiency while maintaining InnoDB-like performance. ++ at maximizing storage efficiency while maintaining InnoDB-like performance. + This package contains the RocksDB plugin for MariaDB. + +Package: mariadb-plugin-oqgraph +Architecture: any +Depends: libjudydebian1, + mariadb-server-10.6 (= ${server:Version}), + ${misc:Depends}, + ${shlibs:Depends} ++Conflicts: mariadb-oqgraph-engine-10.0, ++ mariadb-oqgraph-engine-10.1 +Breaks: mariadb-oqgraph-engine-10.0, + mariadb-oqgraph-engine-10.1, - mariadb-oqgraph-engine-10.2, - mariadb-oqgraph-engine-10.3, - mariadb-oqgraph-engine-10.4 ++ mariadb-server-10.0, ++ mariadb-server-10.1 +Replaces: mariadb-oqgraph-engine-10.0, + mariadb-oqgraph-engine-10.1, - mariadb-oqgraph-engine-10.2, - mariadb-oqgraph-engine-10.3, - mariadb-oqgraph-engine-10.4 ++ mariadb-server-10.0, ++ mariadb-server-10.1 +Description: OQGraph storage engine for MariaDB + The OQGraph engine is a computation engine plugin for handling hierarchies + (trees) and graphs (friend-of-a-friend, etc) cleanly through standard SQL. + This package contains the OQGraph plugin for MariaDB. + +Package: mariadb-plugin-mroonga +Architecture: any-alpha any-amd64 any-arm any-arm64 any-i386 any-ia64 any-mips64el any-mips64r6el any-mipsel any-mipsr6el any-nios2 any-powerpcel any-ppc64el any-sh3 any-sh4 any-tilegx +Depends: mariadb-server-10.6 (= ${server:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Breaks: mariadb-server-10.0, - mariadb-server-10.1, - mariadb-server-10.2, - mariadb-server-10.3, - mariadb-server-10.4 ++ mariadb-server-10.1 +Replaces: mariadb-server-10.0, - mariadb-server-10.1, - mariadb-server-10.2, - mariadb-server-10.3, - mariadb-server-10.4 ++ mariadb-server-10.1 +Description: Mroonga storage engine for MariaDB + Mroonga (formerly named Groonga Storage Engine) is a storage engine that + provides fast CJK-ready full text searching using column store. + This package contains the Mroonga plugin for MariaDB. + +Package: mariadb-plugin-spider +Architecture: any +Depends: mariadb-server-10.6 (= ${server:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Breaks: mariadb-server-10.0, - mariadb-server-10.1, - mariadb-server-10.2, - mariadb-server-10.3, - mariadb-server-10.4 ++ mariadb-server-10.1 +Replaces: mariadb-server-10.0, - mariadb-server-10.1, - mariadb-server-10.2, - mariadb-server-10.3, - mariadb-server-10.4 ++ mariadb-server-10.1 +Description: Spider storage engine for MariaDB + The Spider storage engine with built-in sharding features. It supports + partitioning and xa transactions, and allows tables of different MariaDB + instances to be handled as if they were on the same instance. It refers to one + possible implementation of ISO/IEC 9075-9:2008 SQL/MED. + +Package: mariadb-plugin-gssapi-server +Architecture: any +Depends: libgssapi-krb5-2, + mariadb-server-10.6, + ${misc:Depends}, + ${shlibs:Depends} +Breaks: mariadb-gssapi-server-10.1, - mariadb-gssapi-server-10.2, - mariadb-gssapi-server-10.3, - mariadb-gssapi-server-10.4 ++ mariadb-gssapi-server-10.2 +Replaces: mariadb-gssapi-server-10.1, - mariadb-gssapi-server-10.2, - mariadb-gssapi-server-10.3, - mariadb-gssapi-server-10.4 ++ mariadb-gssapi-server-10.2 +Description: GSSAPI authentication plugin for MariaDB server + This plugin includes support for Kerberos on Unix, but can also be used for + Windows authentication with or without domain environment. + . + This package contains the server parts. + +Package: mariadb-plugin-gssapi-client +Architecture: any +Multi-Arch: same +Depends: libgssapi-krb5-2, + mariadb-client-10.6 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Breaks: mariadb-gssapi-client-10.1, - mariadb-gssapi-client-10.2, - mariadb-gssapi-client-10.3, - mariadb-gssapi-client-10.4 ++ mariadb-gssapi-client-10.2 +Replaces: mariadb-gssapi-client-10.1, - mariadb-gssapi-client-10.2, - mariadb-gssapi-client-10.3, - mariadb-gssapi-client-10.4 ++ mariadb-gssapi-client-10.2 +Description: GSSAPI authentication plugin for MariaDB client + This plugin includes support for Kerberos on Unix, but can also be used for + Windows authentication with or without domain environment. + . + This package contains the client parts. + +Package: mariadb-plugin-cracklib-password-check +Architecture: any +Depends: libcrack2 (>= 2.9.0), - mariadb-server-10.6, ++ mariadb-server-10.6 (= ${server:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: CrackLib Password Validation Plugin for MariaDB + This password validation plugin uses cracklib to allow only + sufficiently secure (as defined by cracklib) user passwords in MariaDB. + . + Install and configure this to enforce stronger passwords for MariaDB users. + +Package: mariadb-test +Architecture: any +Depends: mariadb-client-10.6 (= ${binary:Version}), + mariadb-server-10.6 (= ${server:Version}), + mariadb-test-data (= ${source:Version}), + virtual-mysql-testsuite, + ${misc:Depends}, - ${perl:Depends}, + ${shlibs:Depends} - Conflicts: mariadb-server-5.5, - mysql-server-5.7, - mysql-server-core-8.0 - Breaks: mariadb-server-5.5, - mariadb-test-10.0, ++Breaks: mariadb-test-10.0, + mariadb-test-10.1, - mariadb-test-10.2, - mariadb-test-10.3, - mariadb-test-10.4, + mariadb-test-5.5, + mysql-client-5.5, + mysql-server-5.5, + mysql-server-5.7, + mysql-server-core-8.0, + mysql-testsuite, + mysql-testsuite-5.5, + mysql-testsuite-5.6, + mysql-testsuite-5.7, + mysql-testsuite-8.0, + percona-server-server-5.6, + percona-xtradb-cluster-server-5.6, + percona-xtradb-cluster-server-5.7 +Replaces: mariadb-test-10.0, + mariadb-test-10.1, - mariadb-test-10.2, - mariadb-test-10.3, - mariadb-test-10.4, + mariadb-test-5.5, + mysql-client-5.5, + mysql-server-5.5, ++ mysql-server-5.7, ++ mysql-server-core-8.0, + mysql-testsuite, + mysql-testsuite-5.5, + mysql-testsuite-5.6, + mysql-testsuite-5.7, + mysql-testsuite-8.0, + percona-server-server-5.6, + percona-xtradb-cluster-server-5.6, + percona-xtradb-cluster-server-5.7, + virtual-mysql-testsuite +Provides: virtual-mysql-testsuite +Suggests: patch +Description: MariaDB database regression test suite + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package includes the regression test suite. + +Package: mariadb-test-data +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, + ${perl:Depends}, + ${shlibs:Depends} +Breaks: mariadb-test-10.0, + mariadb-test-10.1, - mariadb-test-10.2, + mariadb-test-5.5, + mariadb-test-data-10.0, + mysql-testsuite, + mysql-testsuite-5.5, + mysql-testsuite-5.6, + mysql-testsuite-5.7, + mysql-testsuite-8.0 +Replaces: mariadb-test-10.0, + mariadb-test-10.1, - mariadb-test-10.2, + mariadb-test-5.5, + mariadb-test-data-10.0, + mysql-testsuite, + mysql-testsuite-5.5, + mysql-testsuite-5.6, + mysql-testsuite-5.7, + mysql-testsuite-8.0 +Description: MariaDB database regression test suite - data files + MariaDB is a fast, stable and true multi-user, multi-threaded SQL database + server. SQL (Structured Query Language) is the most popular database query + language in the world. The main goals of MariaDB are speed, robustness and + ease of use. + . + This package has the architecture independent data files for the test suite. diff --cc debian/copyright index 836fe89f4,000000000..730fe7e38 mode 100644,000000..100644 --- a/debian/copyright +++ b/debian/copyright @@@ -1,61 -1,0 +1,1048 @@@ ++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: MariaDB Server ++Upstream-Contact: https://mariadb.org/jira ++Source: https://github.com/MariaDB/server ++Comment: ++ Originally produced by a modified version of licensecheck2dep5 ++ from CDBS by Clint Byrum . Hand modified to reduce ++ redundancy in the output and add appropriate license text. The file ++ has been rechecked against the source using the development version ++ of license-reconcile, see #686485. ++ . ++ Also, MySQL carries the "FOSS License Exception" specified in README ++ . ++ Quoting from README: ++ . ++ MySQL FOSS License Exception We want free and open source ++ software applications under certain licenses to be able to use ++ specified GPL-licensed MySQL client libraries despite the fact ++ that not all such FOSS licenses are compatible with version ++ 2 of the GNU General Public License. Therefore there are ++ special exceptions to the terms and conditions of the GPLv2 ++ as applied to these client libraries, which are identified ++ and described in more detail in the FOSS License Exception at ++ . ++ . ++ The text of the Above URL is quoted below, as of Aug 17, 2011. ++ . ++ > FOSS License Exception ++ > . ++ > Updated July 1, 2010 ++ > . ++ > What is the FOSS License Exception? Oracle's Free and Open Source ++ > Software ("FOSS") License Exception (formerly known as the FLOSS ++ > License Exception) allows developers of FOSS applications to include ++ > Oracle's MySQL Client Libraries (also referred to as "MySQL Drivers" ++ > or "MySQL Connectors") with their FOSS applications. MySQL Client ++ > Libraries are typically licensed pursuant to version 2 of the General ++ > Public License ("GPL"), but this exception permits distribution of ++ > certain MySQL Client Libraries with a developer's FOSS applications ++ > licensed under the terms of another FOSS license listed below, ++ > even though such other FOSS license may be incompatible with the GPL. ++ > . ++ > The following terms and conditions describe the circumstances under ++ > which Oracle's FOSS License Exception applies. ++ > . ++ > Oracle's FOSS License Exception Terms and Conditions Definitions. ++ > "Derivative Work" means a derivative work, as defined under applicable ++ > copyright law, formed entirely from the Program and one or more ++ > FOSS Applications. ++ > . ++ > "FOSS Application" means a free and open source software application ++ > distributed subject to a license listed in the section below titled ++ > "FOSS License List." ++ > . ++ > "FOSS Notice" means a notice placed by Oracle or MySQL in a copy ++ > of the MySQL Client Libraries stating that such copy of the MySQL ++ > Client Libraries may be distributed under Oracle's or MySQL's FOSS ++ > (or FLOSS) License Exception. ++ > . ++ > "Independent Work" means portions of the Derivative Work that are not ++ > derived from the Program and can reasonably be considered independent ++ > and separate works. ++ > . ++ > "Program" means a copy of Oracle's MySQL Client Libraries that ++ > contains a FOSS Notice. ++ > . ++ > A FOSS application developer ("you" or "your") may distribute a ++ > Derivative Work provided that you and the Derivative Work meet all ++ > of the following conditions: You obey the GPL in all respects for ++ > the Program and all portions (including modifications) of the Program ++ > included in the Derivative Work (provided that this condition does not ++ > apply to Independent Works); The Derivative Work does not include any ++ > work licensed under the GPL other than the Program; You distribute ++ > Independent Works subject to a license listed in the section below ++ > titled "FOSS License List"; You distribute Independent Works in ++ > object code or executable form with the complete corresponding ++ > machine-readable source code on the same medium and under the same ++ > FOSS license applying to the object code or executable forms; All ++ > works that are aggregated with the Program or the Derivative Work ++ > on a medium or volume of storage are not derivative works of the ++ > Program, Derivative Work or FOSS Application, and must reasonably ++ > be considered independent and separate works. Oracle reserves all ++ > rights not expressly granted in these terms and conditions. If all ++ > of the above conditions are not met, then this FOSS License Exception ++ > does not apply to you or your Derivative Work. ++ > . ++ > FOSS License List ++ > . ++ > License Name Version(s)/Copyright Date ++ > Release Early Certified Software ++ > Academic Free License 2.0 ++ > Apache Software License 1.0/1.1/2.0 ++ > Apple Public Source License 2.0 ++ > Artistic license From Perl 5.8.0 ++ > BSD license "July 22 1999" ++ > Common Development and Distribution License (CDDL) 1.0 ++ > Common Public License 1.0 ++ > Eclipse Public License 1.0 ++ > European Union Public License (EUPL)[1] 1.1 ++ > GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1/3.0 ++ > GNU General Public License (GPL) 3.0 ++ > IBM Public License 1.0 ++ > Jabber Open Source License 1.0 ++ > MIT License (As listed in file MIT-License.txt) - ++ > Mozilla Public License (MPL) 1.0/1.1 ++ > Open Software License 2.0 ++ > OpenSSL license (with original SSLeay license) "2003" ("1998") ++ > PHP License 3.0/3.01 ++ > Python license (CNRI Python License) - ++ > Python Software Foundation License 2.1.1 ++ > Sleepycat License "1999" ++ > University of Illinois/NCSA Open Source License - ++ > W3C License "2001" ++ > X11 License "2001" ++ > Zlib/libpng License - ++ > Zope Public License 2.0 ++ > [1] When an Independent Work is licensed under a "Compatible License" ++ > pursuant to the EUPL, the Compatible License rather than the EUPL is ++ > the applicable license for purposes of these FOSS License Exception ++ > Terms and Conditions. ++ . ++ The above text is subject to this copyright notice: ++ © 2010, Oracle and/or its affiliates. + - == MariaDB == ++Files: * ++Copyright: ++ 2000-2016, Oracle and/or its affiliates. All rights reserved. ++ 2008-2013 Monty Program AB ++ 2008-2014 SkySQL Ab ++ 2013-2016 MariaDB Corporation ++ 2012-2016 MariaDB Foundation ++License: GPL-2 ++ ++Files: debian/* ++Copyright: ++ 1997-1998, Scott Hanson ++ 1997 Christian Schwarz ++ 1999-2007, 2009, Christian Hammers ++ 2000-2001, Christopher C. Chimelis ++ 2001 Matthew Wilcox ++ 2005-2007, Sean Finney ++ 2006 Adam Conrad ++ 2007-2011, Norbert Tretkowski ++ 2007-2008, Monty Taylor ++ 2008 Devin Carraway ++ 2008 Steffen Joeris ++ 2009 Canonical Ltd ++ 2010 Xavier Oswald ++ 2011 Clint Byrum ++ 2011 Ondřej Surý ++ 2012 Nicholas Bamber ++ 2013,2016 Kristian Nielsen ++ 2013-2020 Otto Kekäläinen ++ 2014 Daniel Schepler ++ 2014 Julien Muchembled ++ 2014 Tobias Frost ++ 2015 Andreas Beckmann ++ 2015-2016 Arnaud Fontaine ++ 2015-2016 Daniel Black ++ 2015 Israel Tsadok ++ 2015 Jan Wagner ++ 2015 Jean Weisbuch ++ 2015 Olaf van der Spek ++ 2015-2106 Robie Basak ++ 2016 Axel Beckert ++ 2016 Dieter Adriaenssens ++ 2016 Ian Gilfillan ++ 2016 James Cowgill ++ 2016 Paul Gevers ++ 2016 Samuel Thibault ++ 2016 Vicențiu Ciorbaru ++License: GPL-2+ ++ ++Files: plugin/feedback/* ++Copyright: 2010 Sergei Golubchik and Monty Program Ab ++License: GPL-2 ++ ++Files: debian/additions/mariadb-report* ++Copyright: 2006-2008 Daniel Nichter ++ 2012-2015 Jean Weisbuch ++License: GPL-2+ ++ ++Files: ++ dbug/example1.c ++ dbug/example2.c ++ dbug/example3.c ++ dbug/factorial.c ++ dbug/main.c ++ dbug/my_main.c ++ dbug/remove_function_from_trace.pl ++ dbug/tests.c ++ dbug/tests-t.pl ++ mysql-test/* ++ support-files/binary-configure.sh ++ support-files/mysqld_multi.server.sh ++ Docs/* ++Copyright: UNKNOWN ++Comment: These files fall under the blanket license specified in the file ++ COPYING and README ++ GPLv2 Disclaimer: ++ For the avoidance of doubt, except that if any license choice ++ other than GPL or LGPL is available it will apply instead, ++ Oracle elects to use only the General Public License version 2 ++ (GPLv2) at this time for any software where a choice of GPL ++ license versions is made available with the language indicating ++ that GPLv2 or any later version may be used, or where a choice ++ of which version of the GPL is applied is otherwise unspecified. ++License: GPL-2 ++ ++Files: BUILD/* ++ client/* ++ cmake/* ++ dbug/dbug_add_tags.pl ++ extra/* ++ include/* ++ libmysqld/* ++ libservices/* ++ mysql-test/include/have_perfschema.inc ++ mysql-test/lib/mtr_cases.pm ++ mysql-test/lib/mtr_gprof.pl ++ mysql-test/lib/mtr_io.pl ++ mysql-test/lib/mtr_match.pm ++ mysql-test/lib/mtr_process.pl ++ mysql-test/lib/mtr_report.pm ++ mysql-test/lib/mtr_results.pm ++ mysql-test/lib/mtr_stress.pl ++ mysql-test/lib/mtr_unique.pm ++ mysql-test/lib/My/Config.pm ++ mysql-test/lib/My/CoreDump.pm ++ mysql-test/lib/My/File/* ++ mysql-test/lib/My/Find.pm ++ mysql-test/lib/My/Handles.pm ++ mysql-test/lib/My/Options.pm ++ mysql-test/lib/My/Platform.pm ++ mysql-test/lib/My/SafeProcess/Base.pm ++ mysql-test/lib/My/SafeProcess/safe_kill_win.cc ++ mysql-test/lib/My/SafeProcess/safe_process.cc ++ mysql-test/lib/My/SafeProcess/safe_process_win.cc ++ mysql-test/lib/My/SysInfo.pm ++ mysql-test/lib/My/Test.pm ++ mysql-test/lib/t/* ++ mysql-test/lib/v1/mtr_cases.pl ++ mysql-test/lib/v1/mtr_gcov.pl ++ mysql-test/lib/v1/mtr_gprof.pl ++ mysql-test/lib/v1/mtr_im.pl ++ mysql-test/lib/v1/mtr_io.pl ++ mysql-test/lib/v1/mtr_match.pl ++ mysql-test/lib/v1/mtr_process.pl ++ mysql-test/lib/v1/mtr_report.pl ++ mysql-test/lib/v1/mtr_stress.pl ++ mysql-test/lib/v1/mtr_timer.pl ++ mysql-test/lib/v1/mtr_unique.pl ++ mysql-test/lib/v1/My/* ++ mysql-test/lib/v1/mysql-test-run.pl ++ mysql-test/lib/v1/mtr_misc.pl ++ mysql-test/mariadb-stress-test.pl ++ mysql-test/mariadb-test-run.pl ++ mysql-test/std_data/* ++ mysql-test/suite/perfschema/include/* ++ mysql-test/suite/perfschema_stress/include/* ++ mysys/* ++ win/packaging/ca/* ++ plugin/audit_null/* ++ plugin/auth_* ++ plugin/daemon_example/* ++ plugin/fulltext/* ++ scripts/* ++ sql/* ++ sql-common/* ++ storage/* ++ strings/* ++ support-files/MacOSX/* ++ support-files/compiler_warnings.supp ++ support-files/mysql.* ++ support-files/dtrace/* ++ tests/* ++ unittest/* ++ vio/* ++Copyright: 1979-2009 MySQL AB ++ 1995-2010 Sun Microsystems Inc ++ 1994-1997,2000-2014 Oracle and/or its affiliates ++ 2010 Kristian Nielsen ++ 2012 MariaDB Services ++ 2013 MariaDB Foundation ++ 2010,2013 Sergei Golubchik ++ 1985,1995,2008-2011,2012-2014 Monty Program AB ++ 2008-2014 SykSQL Ab ++ 1993-2014 Olivier Bertrand ++ 2008-2014 Kentoku Shiba ++ 2013 Sergey Vojtovich and MariaDB Foundation ++ 2006 MySQL AB & MySQL Finland AB & TCX DataKonsult AB ++ 2012 Michael Widenius ++ 2010-2011 DeNA Co.,Ltd. ++ 2011 Kentoku SHIBA ++License: GPL-2 ++ ++Files: include/maria.h include/myisamchk.h ++Copyright: 2006-2008 MySQL AB ++ 2008-2009 Sun Microsystems, Inc ++ 2009, 2013, Monty Program Ab ++License: GPL-2+ ++ ++Files: plugin/auth_pam/testing/pam_mariadb_mtr.c ++Copyright: none ++License: public-domain ++ ++Files: plugin/locale_info/locale_info.cc ++Copyright: 2013, Spaempresarial - Brazil, Roberto Spadim ++License: BSD-3-clause ++ ++Files: plugin/qc_info/qc_info.cc ++Copyright: 2008, Roland Bouman ++License: BSD-3-clause ++ ++Files: tests/async_queries.c tests/nonblock-wrappers.h ++Copyright: 2011 Kristian Nielsen and Monty Program Ab ++License: LGPL-2.1+ ++ ++Files: include/ma_dyncol.h include/queues.h mysys/ma_dyncol.c mysys/queues.c ++ unittest/mysys/ma_dyncol-t.c ++Copyright: 2010,2011,2013 Monty Program Ab ++ 2011,2012 Oleksandr Byelkin ++License: BSD-2-clause ++ ++Files: mysys/my_port.c ++Copyright: 2002 MySQL AB ++License: LGPL-2 ++ ++Files: mysys/my_safehash.* ++Copyright: 2003-2007 MySQL AB ++License: GPL-2+ ++ ++Files: strings/bmove_upp.c strings/is_prefix.c strings/llstr.c ++ strings/longlong2str.c strings/strcont.c strings/strfill.c strings/strmov.c ++ strings/strnmov.c strings/bchange.c strings/int2str.c strings/my_strtoll10.c ++ strings/str2int.c strings/strappend.c strings/strcend.c ++Copyright: 2009-2013, Monty Program Ab ++ 2000,2003 TXT DataKonsult Ab & Monty Program Ab ++License: BSD-2-clause ++ ++Files: strings/strxmov.c ++ strings/strxnmov.c ++ strings/strnlen.c ++Copyright: 2009-2011, Monty Program Ab ++ 2000 TXT DataKonsult Ab & Monty Program Ab ++ Richard A. O'Keefe ++License: BSD-2-clause ++ ++Files: client/async_example.c ++Copyright: 2011 Kristian Nielsen and Monty Program Ab ++License: LGPL-2.1+ ++ ++Files: storage/oqgraph/* ++Copyright: ++ 2007-2013 Arjen G Lentz & Antony T Curtis for Open Query ++ 2000-2006 MySQL AB ++License: GPL-2+ ++ ++Files: storage/connect/connect.cc ++Copyright: 2004-2012 Olivier Bertrand ++License: GPL-2+ ++ ++Files: storage/oqgraph/ha_oqgraph.* ++ storage/oqgraph/oqgraph_probes.d ++Copyright: ++ 2007-2013 Arjen G Lentz & Antony T Curtis for Open Query ++ 2000-2006 MySQL AB ++License: GPL-2 ++ ++Files: extra/*/INSTALL ++Copyright: 1994-1996, 1999-2002, 2004-2006, Free Software Foundation, Inc. ++License: unlimited-free-doc ++ This file is free documentation; the Free Software Foundation gives ++ unlimited permission to copy, distribute and modify it. ++ ++Files: mysql-test/lib/mtr_misc.pl ++ mysql-test/lib/My/SafeProcess.pm ++Copyright: 2004, 2007, 2011, Oracle and/or its affiliates ++License: LGPL ++ ++Files: ++ storage/myisam/ft_update.c ++ storage/myisam/fulltext.h ++ storage/myisam/ft_boolean_search.c ++ storage/myisam/ft_stopwords.c ++ storage/myisam/ft_nlq_search.c ++ storage/myisam/ft_parser.c ++ storage/myisam/myisam_ftdump.c ++Copyright: ++ 2000, 2001, 2010, 2011, Oracle and/or its affiliates ++ Sergei A. Golubchik ++License: GPL-2 ++ ++Files: storage/myisam/ft_myisam.c ++Copyright: 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB ++License: GPL-2+ ++ ++Files: storage/innobase/* ++Copyright: ++ 1994-2011 Sergei A. Golubchik ++ 1996 Michael Widenius ++ 1994-2014 Oracle and/or its affiliates ++ 2008-2009 Google Inc ++ 2009 Sun Microsystems, Inc ++ 2009 Percona Inc ++ 2013, 2014 SkySQL Ab ++ 2012 Facebook Inc ++License: GPL-2 ++ ++Files: storage/maria/* ++Copyright: ++ 2008-2009 Sun Microsystems, Inc ++ 2008 Sun AB ++ 2006 MySQL Finland AB ++ 2006 TCX DataKonsult AB ++ 2003-2008 MySQL AB ++ 2007-2008 Michael Widenius ++ 2007 Guilhem Bichot ++ 2006 Sergei A. Golubchik ++ 2007 Sanja Belkin ++ 2006 Ramil Kalimullin ++ 2006 Alexey Botchkov ++ 2008-2011 Monty Program Ab ++ 2004-2008 MySQL AB & MySQL Finland AB & TCX DataKonsult AB ++License: GPL-2 ++ ++Files: storage/sphinx/* ++Copyright: 2001-2014 Andrew Aksyonoff ++ 2008-2014 Sphinx Technologies Inc ++License: GPL-2 ++ ++Files: extra/readline/* ++Copyright: 1987-2006 Free Software Foundation Inc ++License: GPL-2+ ++ ++Files: sql-bench/*.sh ++Copyright: 2009 Sun Microsystems, Inc ++ 2000-2007 MySQL AB ++License: LGPL ++ ++Files: client/completion_hash.h ++ scripts/mysqlaccess.sh ++ scripts/mysql_fix_extensions.sh ++ scripts/mysql_setpermission.sh ++ storage/myisam/ftbench/ft-test-run.sh ++ storage/myisam/mi_test_all.sh ++ strings/ctype-uca.c ++ strings/ctype-ucs2.c ++ strings/ctype-utf8.c ++ support-files/MacOSX/postflight.sh ++ support-files/MacOSX/preflight.sh ++ mysql-test/lib/My/ConfigFactory.pm ++ BUILD/*.sh ++ BUILD/compile-solaris-amd64 ++ BUILD/compile-amd64-valgrind-max ++ BUILD/compile-pentium64-max ++ BUILD/compile-pentium64 ++ scripts/mysqlhotcopy.sh ++ scripts/mysqld_multi.sh ++ mysql-test/std_data/checkDBI_DBD-MariaDB.pl ++Copyright: 2000-2013 Oracle and/or its affiliates ++ 2000-2007 MySQL AB ++ 2009 Sun Microsystems Inc ++License: LGPL ++ ++Files: BUILD/util.sh ++Copyright: 2010 Kristian Nielsen and Monty Program AB ++License: GPL-2 ++ ++Files: sql-bench/innotest1.sh ++ sql-bench/innotest1a.sh ++ sql-bench/innotest1b.sh ++ sql-bench/innotest2.sh ++ sql-bench/innotest2a.sh ++ sql-bench/innotest2b.sh ++Copyright: 2000-2002 Innobase Oy & MySQL AB ++Comment: These files fall under the blanket license specified in the file COPYING ++License: GPL-2 ++ ++Files: storage/myisam/rt_index.h ++ storage/myisam/rt_key.* ++ storage/myisam/rt_mbr.* ++ storage/myisam/sp_defs.h ++Copyright: ++ 2000,2002-2007 MySQL AB ++ Ramil Kalimullin ++License: GPL-2 ++ ++Files: strings/ctype-bin.c ++ strings/ctype-eucjpms.c ++ strings/ctype-ujis.c ++Copyright: ++ 2000,2002,2005-2011 Oracle and/or its affiliates ++ tommy@valley.ne.jp ++License: LGPL ++ ++Files: scripts/mysqld_safe.sh ++ support-files/mysql-multi.server.sh ++ support-files/mysql.server.sh ++Copyright: 1996 Abandoned TCX DataKonsult AB & Monty Program KB & Detron HB ++License: public-domain + - The Debian package of MySQL was first debianzed on 1997-04-12 by Christian - Schwarz and ist maintained since 1999-04-20 by - Christian Hammers . ++Files: storage/innobase/include/pars0grm.h storage/innobase/pars/pars0grm.cc ++Copyright: 1995-2009 Innobase Oy. ++ 1984,1989-1990,2000-2004 Free Software Foundation Inc. ++License: GPL-2+-with-bison-exception ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ . ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, ++ Boston, MA 02110-1301, USA. ++ . ++ As a special exception, you may create a larger work that contains ++ part or all of the Bison parser skeleton and distribute that work ++ under terms of your choice, so long as that work isn't itself a ++ parser generator using the skeleton or a modified version thereof ++ as a parser skeleton. Alternatively, if you modify or redistribute ++ the parser skeleton itself, you may (at your option) remove this ++ special exception, which will cause the skeleton and the resulting ++ Bison output files to be licensed under the GNU General Public ++ License without this special exception. ++ . ++ This special exception was added by the Free Software Foundation in ++ version 2.2 of Bison. + - The MariaDB packages were initially made by http://ourdelta.org/, and - are now managed by the MariaDB development team, - maria-developers@lists.launchpad.net ++Files: storage/innobase/fts/fts0pars.cc ++ storage/innobase/include/fts0pars.h ++Copyright: 1984, 1989-1990, 2000-2006 Free Software Foundation, Inc. ++License: GPL-3+-with-bison-exception + - MariaDB can be downloaded from https://downloads.mariadb.org/ ++License: GPL-3+-with-bison-exception ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation, either version 3 of the License, or ++ (at your option) any later version. ++ . ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . ++ . ++ As a special exception, you may create a larger work that contains ++ part or all of the Bison parser skeleton and distribute that work ++ under terms of your choice, so long as that work isn't itself a ++ parser generator using the skeleton or a modified version thereof ++ as a parser skeleton. Alternatively, if you modify or redistribute ++ the parser skeleton itself, you may (at your option) remove this ++ special exception, which will cause the skeleton and the resulting ++ Bison output files to be licensed under the GNU General Public ++ License without this special exception. ++ . ++ This special exception was added by the Free Software Foundation in ++ version 2.2 of Bison. + ++ ++Files: include/t_ctype.h ++ strings/t_ctype.h ++Copyright: 2000 MySQL AB ++ 1998 Theppitak Karoonboonyanan ++ 1998-1999 Pruet Boonma ++License: GPL-2 ++ ++Files: strings/strend.c ++Copyright: Richard A. O'Keefe. ++ 2000 TXT DataKonsult Ab & Monty Program Ab ++ 2009-2011, Monty Program Ab ++License: BSD-2-clause ++ ++Files: dbug/dbug.c ++ dbug/dbug_long.h ++Copyright: 1987 Abandoned Fred Fish ++License: public-domain ++ ++Files: scripts/dheadgen.pl ++Copyright: 2008-2009 Sun Microsystems Inc ++License: BSD-3-clause ++ ++Files: plugin/handler_socket/* ++Copyright: ++ 2010 DeNA Co.,Ltd. ++License: BSD-3-clause ++ ++Files: plugin/auth_gssapi/* ++Copyright: 2015 Shuang Qiu ++ 2015 Robbie Harwood ++License: BSD-2-clause ++ ++Files: plugin/file_key_management/* ++Copyright: 2002-2012 eperi GmbH ++License: GPL-2 ++ ++Files: storage/mroonga/* ++Copyright: 2011-2015 Kouhei Sutou ++ 2011-2013 Kentoku SHIBA ++ 2010 Tetsuro IKEDA ++ 2014 Kenji Maruyama ++ 2014-2015 Naoya Murakami ++License: LGPL-2.1+ ++ ++Files: storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/* ++Copyright: 2009-2015 Brazil ++License: LGPL-2.1+ ++ ++Files: storage/spider/* ++Copyright: 2008-2015 Kentoku Shiba ++License: GPL-2 ++ ++Files: strings/ctype-win1250ch.c ++Copyright: 2002-2010 Oracle and/or its affiliates. ++ 2001 Jan Pazdziora ++License: GPL-2 ++ ++Files: strings/ctype-tis620.c ++Copyright: 1998 Theppitak Karoonboonyanan ++ 1989-1991 Samphan Raruenrom ++ 2000-2010 Oracle and/or its affiliates. ++ 2003 Sathit Jittanupat ++ 2001 Korakot Chaovavanich and ++ 1998-1999 Pruet Boonma ++License: GPL-2 ++ ++Files: storage/innobase/handler/ha_innodb.h ++Copyright: 2000-2010 MySQL AB & Innobase Oy. ++License: GPL-2 ++ ++Files: strings/dtoa.c ++Copyright: 2007-2012 Oracle and/or its affiliates. ++ 1991,2000-2001 Lucent Technologies ++License: LGPL ++ ++Files: scripts/mysqldumpslow.sh +Copyright: ++ 2000-2002,2005-2008 MySQL AB ++ 2008-2009 Sun Microsystems Inc ++License: LGPL ++ ++Files: libmysqld/lib_sql.cc ++Copyright: 2000 SWsoft company ++License: SWsoft ++ This material is provided "as is", with absolutely no warranty expressed ++ or implied. Any use is at your own risk. ++ . ++ Permission to use or copy this software for any purpose is hereby granted ++ without fee, provided the above notices are retained on all copies. ++ Permission to modify the code and to distribute modified code is granted, ++ provided the above notices are retained, and a notice that the code was ++ modified is included with the above copyright notice. ++ ++Files: tests/mail_to_db.pl ++Copyright: 1998 Abandoned TCX DataKonsult AB & Monty Program KB & Detron HB ++License: public-domain ++ ++Files: scripts/mysqlaccess.conf ++Copyright: 1997, Yves.Carlier@rug.ac.be ++License: GPL-2 ++ ++Files: debian/additions/innotop/* ++Copyright: 2006-2009, Baron Schwartz ++License: GPL-2 or Artistic ++ ++Files: include/mysql_version.h.in ++Copyright: 1996, 1999, 2001 MySQL AB ++License: public-domain ++ ++Files: storage/federatedx/* ++Copyright: ++ 2007 Antony T Curtis ++ 2008-2009 Patrick Galbraith ++License: BSD-3-clause ++ ++Files: cmake/systemd.cmake ++ scripts/mariadb-service-convert ++Copyright: 2015 Daniel Black ++License: GPL-2 ++ ++Files: wsrep-lib/* ++ sql/wsrep_* ++ scripts/wsrep_* ++Copyright: 2008-2019 Codership Oy ++License: GPL-2 ++ ++Files: libmariadb/* ++Copyright: ++ 2000-2012 MySQL AB & MySQL Finland AB & TCX DataKonsult AB ++ 2006-2011 The PHP Group ++ 2012-2013 Monty Program AB ++ 2014-2020 MariaDB Corporation Ab ++ 2014 Kristian Nielsen & MariaDB Corporation ++License: LGPL-2+ ++ ++Files: libmariadb/libmariadb/mariadb_dyncol.* ++Copyright: ++ 2011-2012 Oleksandr Byelkin ++ 2011-2013 Monty Program Ab ++License: BSD-2-clause ++ ++Files: libmariadb/libmariadb/ma_dtoa.* ++Copyright: ++ 1991, 2000-2001, Lucent Technologies ++ 2007, 2012, Oracle and/or its affiliates. ++License: LGPL ++ ++Files: libmariadb/unittest/libmariadb/getopt.* ++Copyright: ++ 1989-1994, Free Software Foundation, Inc ++License: LGPL-2+ ++ ++Files: libmariadb/cmake/FindIconv.cmake ++Copyright: ++ 2010, Michael Bell ++License: BSD-2-Clause ++ ++Files: storage/archive/azio.c ++ storage/archive/azlib.h ++ zlib/* ++ libmariadb/zlib/* ++Copyright: ++ 1995-2005 Jean-loup Gailly ++ 1995-2005 Mark Adler ++License: zlib/libpng ++ This software is provided 'as-is', without any express or implied ++ warranty. In no event will the authors be held liable for any damages ++ arising from the use of this software. ++ . ++ Permission is granted to anyone to use this software for any purpose, ++ including commercial applications, and to alter it and redistribute it ++ freely, subject to the following restrictions: ++ . ++ 1. The origin of this software must not be misrepresented; you must not ++ claim that you wrote the original software. If you use this software ++ in a product, an acknowledgment in the product documentation would be ++ appreciated but is not required. ++ 2. Altered source versions must be plainly marked as such, and must not be ++ misrepresented as being the original software. ++ 3. This notice may not be removed or altered from any source distribution. ++ ++Files: */CMakeLists.txt ++Copyright: ++ 2006-2011,2013 Oracle and/or its affiliates ++ 2009, 2010 Sun Microsystems, Inc ++ 2006,2007 MySQL AB ++License: GPL-2 ++ ++Files: mysys/CMakeLists.txt ++Copyright: 2006, 2014, Oracle and/or its affiliates ++License: GPL-2 ++ ++Files: plugin/server_audit/CMakeLists.txt ++Copyright: 2013 Alexey Botchkov and SkySQL Ab ++License: GPL-2 ++ ++Files: zlib/CMakeLists.txt ++Copyright: 2006, 2014, Oracle and/or its affiliates ++License: GPL-2 ++ ++License: GPL-2 ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; version 2 of the License. ++ . ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ . ++ On Debian and systems the full text of the GNU General Public ++ License version 2 can be found in the file ++ `/usr/share/common-licenses/GPL-2` ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . + - According to the file "COPYING" all parts of this package are licenced - under the terms of the GNU GPL Version 2 of which a copy is available - in /usr/share/common-licenses. ++License: GPL-2+ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ . ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ . ++ On Debian and systems the full text of the GNU General Public ++ License version 2 can be found in the file ++ `/usr/share/common-licenses/GPL-2` ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . + - To allow free software with other licences than the GPL to link against the - shared library, special terms for "derived works" are granted in the README file of MySQL 5.5, as follows: ++License: LGPL ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; version 2 ++ of the License. ++ . ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ . ++ You should have received a copy of the GNU Library General Public ++ License along with this library; if not, write to the Free ++ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ MA 02110-1301, USA ++ . ++ On Debian and systems the full text of the GNU Library General Public ++ License version 2 can be found in the file ++ `/usr/share/common-licenses/LGPL-2` + - > MySQL FOSS License Exception - > We want free and open source software applications under certain - > licenses to be able to use specified GPL-licensed MySQL client - > libraries despite the fact that not all such FOSS licenses are - > compatible with version 2 of the GNU General Public License. - > Therefore there are special exceptions to the terms and conditions - > of the GPLv2 as applied to these client libraries, which are - > identified and described in more detail in the FOSS License - > Exception at - > . ++License: LGPL-2 ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; version 2 ++ of the License. ++ . ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ . ++ You should have received a copy of the GNU Library General Public ++ License along with this library; if not, write to the Free ++ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, ++ MA 02110-1301, USA ++ . ++ On Debian and systems the full text of the GNU Library General Public ++ License version 2 can be found in the file ++ `/usr/share/common-licenses/LGPL-2` + - The manual had to be removed as it is not free in the sense of the - Debian Free Software Guidelines (DFSG). ++License: LGPL-2+ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public ++ License as published by the Free Software Foundation; either ++ version 2 of the License, or (at your option) any later version. ++ . ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ . ++ You should have received a copy of the GNU Library General Public ++ License along with this library; if not see ++ or write to the Free Software Foundation, Inc., ++ 51 Franklin St., Fifth Floor, Boston, MA 02110, USA ++ . ++ On Debian systems, the complete text of the GNU Library General Public ++ License version 2 can be found in "/usr/share/common-licenses/LGPL-2". + ++License: LGPL-2.1+ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1, or (at your option) ++ any later version. ++ . ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ . ++ You should have received a copy of the GNU Lesser General Public License along ++ with this program; if not, write to the Free Software Foundation, ++ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ ++ . ++ On Debian and systems the full text of the GNU Library General Public ++ License version 2.1 can be found in the file ++ `/usr/share/common-licenses/LGPL-2.1` + - == innotop == ++License: BSD-2-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ . ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ . ++ 2. Redistributions in binary form must the following disclaimer in ++ the documentation and/or other materials provided with the ++ distribution. + - Copyright 2006-2009, Baron Schwartz - URL: http://innotop.sourceforge.net ++License: BSD-3-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ 3. Neither the name of the University nor the names of its contributors ++ may be used to endorse or promote products derived from this software ++ without specific prior written permission. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ SUCH DAMAGE. + - License: - > This software is dual licensed, either GPL version 2 or Artistic License. - > - > This package is free software; you can redistribute it and/or modify - > it under the terms of the GNU General Public License as published by - > the Free Software Foundation; either version 2 of the License, or - > (at your option) any later version. - > - > This package is distributed in the hope that it will be useful, - > but WITHOUT ANY WARRANTY; without even the implied warranty of - > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - > GNU General Public License for more details. - > - > You should have received a copy of the GNU General Public License - > along with this package; if not, write to the Free Software - > Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA ++License: Artistic ++ The "Artistic License" ++ . ++ Preamble ++ . ++ The intent of this document is to state the conditions under which a ++ Package may be copied, such that the Copyright Holder maintains some ++ semblance of artistic control over the development of the package, ++ while giving the users of the package the right to use and distribute ++ the Package in a more-or-less customary fashion, plus the right to make ++ reasonable modifications. ++ . ++ Definitions: ++ . ++ "Package" refers to the collection of files distributed by the ++ Copyright Holder, and derivatives of that collection of files ++ created through textual modification. ++ . ++ "Standard Version" refers to such a Package if it has not been ++ modified, or has been modified in accordance with the wishes ++ of the Copyright Holder as specified below. ++ . ++ "Copyright Holder" is whoever is named in the copyright or ++ copyrights for the package. ++ . ++ "You" is you, if you're thinking about copying or distributing ++ this Package. ++ . ++ "Reasonable copying fee" is whatever you can justify on the ++ basis of media cost, duplication charges, time of people involved, ++ and so on. (You will not be required to justify it to the ++ Copyright Holder, but only to the computing community at large ++ as a market that must bear the fee.) ++ . ++ "Freely Available" means that no fee is charged for the item ++ itself, though there may be fees involved in handling the item. ++ It also means that recipients of the item may redistribute it ++ under the same conditions they received it. ++ . ++ 1. You may make and give away verbatim copies of the source form of the ++ Standard Version of this Package without restriction, provided that you ++ duplicate all of the original copyright notices and associated disclaimers. ++ . ++ 2. You may apply bug fixes, portability fixes and other modifications ++ derived from the Public Domain or from the Copyright Holder. A Package ++ modified in such a way shall still be considered the Standard Version. ++ . ++ 3. You may otherwise modify your copy of this Package in any way, provided ++ that you insert a prominent notice in each changed file stating how and ++ when you changed that file, and provided that you do at least ONE of the ++ following: ++ . ++ a) place your modifications in the Public Domain or otherwise make them ++ Freely Available, such as by posting said modifications to Usenet or ++ an equivalent medium, or placing the modifications on a major archive ++ site such as uunet.uu.net, or by allowing the Copyright Holder to include ++ your modifications in the Standard Version of the Package. ++ . ++ b) use the modified Package only within your corporation or organization. ++ . ++ c) rename any non-standard executables so the names do not conflict ++ with standard executables, which must also be provided, and provide ++ a separate manual page for each non-standard executable that clearly ++ documents how it differs from the Standard Version. ++ . ++ d) make other distribution arrangements with the Copyright Holder. ++ . ++ 4. You may distribute the programs of this Package in object code or ++ executable form, provided that you do at least ONE of the following: ++ . ++ a) distribute a Standard Version of the executables and library files, ++ together with instructions (in the manual page or equivalent) on where ++ to get the Standard Version. ++ . ++ b) accompany the distribution with the machine-readable source of ++ the Package with your modifications. ++ . ++ c) give non-standard executables non-standard names, and clearly ++ document the differences in manual pages (or equivalent), together ++ with instructions on where to get the Standard Version. ++ . ++ d) make other distribution arrangements with the Copyright Holder. ++ . ++ 5. You may charge a reasonable copying fee for any distribution of this ++ Package. You may charge any fee you choose for support of this ++ Package. You may not charge a fee for this Package itself. However, ++ you may distribute this Package in aggregate with other (possibly ++ commercial) programs as part of a larger (possibly commercial) software ++ distribution provided that you do not advertise this Package as a ++ product of your own. You may embed this Package's interpreter within ++ an executable of yours (by linking); this shall be construed as a mere ++ form of aggregation, provided that the complete Standard Version of the ++ interpreter is so embedded. ++ . ++ 6. The scripts and library files supplied as input to or produced as ++ output from the programs of this Package do not automatically fall ++ under the copyright of this Package, but belong to whoever generated ++ them, and may be sold commercially, and may be aggregated with this ++ Package. If such scripts or library files are aggregated with this ++ Package via the so-called "undump" or "unexec" methods of producing a ++ binary executable image, then distribution of such an image shall ++ neither be construed as a distribution of this Package nor shall it ++ fall under the restrictions of Paragraphs 3 and 4, provided that you do ++ not represent such an executable image as a Standard Version of this ++ Package. ++ . ++ 7. C subroutines (or comparably compiled subroutines in other ++ languages) supplied by you and linked into this Package in order to ++ emulate subroutines and variables of the language defined by this ++ Package shall not be considered part of this Package, but are the ++ equivalent of input as in Paragraph 6, provided these subroutines do ++ not change the language in any way that would cause it to fail the ++ regression tests for the language. ++ . ++ 8. Aggregation of this Package with a commercial distribution is always ++ permitted provided that the use of this Package is embedded; that is, ++ when no overt attempt is made to make this Package's interfaces visible ++ to the end user of the commercial distribution. Such use shall not be ++ construed as a distribution of this Package. ++ . ++ 9. The name of the Copyright Holder may not be used to endorse or promote ++ products derived from this software without specific prior written permission. ++ . ++ 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR ++ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ++ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ++ . ++ The End + - On Debian systems, the complete text of the GNU General Public License and the - Artistic License can be found in `/usr/share/common-licenses/'. ++License: public-domain ++ The work is public domain (no license). diff --cc debian/gbp.conf index a5af3e1f7,000000000..11bd29b55 mode 100644,000000..100644 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@@ -1,5 -1,0 +1,16 @@@ +[DEFAULT] +# Ignore requirement to use branch name 'master' to make it easier +# for contributors to work with feature and bugfix branches - # to Debian packaging +ignore-branch = True ++ ++# Always sign everything ++sign-tags = True ++upstream-signatures = on ++ ++# DEP-14 format ++debian-branch = debian/latest ++upstream-branch = 10.6 ++upstream-tag = mariadb-%(version)s ++ ++# MariaDB has submodules ++submodules = True diff --cc debian/libmariadb-dev.install index 1e52e2acf,000000000..04a4133ea mode 100644,000000..100644 --- a/debian/libmariadb-dev.install +++ b/debian/libmariadb-dev.install @@@ -1,33 -1,0 +1,35 @@@ ++usr/bin/mariadb-config +usr/bin/mariadb_config +usr/include/mariadb/errmsg.h +usr/include/mariadb/ma_list.h +usr/include/mariadb/ma_pvio.h +usr/include/mariadb/ma_tls.h - usr/include/mariadb/mariadb/ +usr/include/mariadb/mariadb/ma_io.h +usr/include/mariadb/mariadb_com.h +usr/include/mariadb/mariadb_ctype.h +usr/include/mariadb/mariadb_dyncol.h +usr/include/mariadb/mariadb_rpl.h +usr/include/mariadb/mariadb_stmt.h +usr/include/mariadb/mariadb_version.h +usr/include/mariadb/my_config.h +usr/include/mariadb/my_global.h +usr/include/mariadb/my_sys.h +usr/include/mariadb/mysql.h +usr/include/mariadb/mysql/ +usr/include/mariadb/mysql/client_plugin.h +usr/include/mariadb/mysql/plugin_auth.h +usr/include/mariadb/mysql/plugin_auth_common.h +usr/include/mariadb/mysql_com.h +usr/include/mariadb/mysql_version.h +usr/include/mariadb/mysqld_error.h +usr/lib/*/libmariadb.a +usr/lib/*/libmariadb.so +usr/lib/*/libmariadbclient.a +usr/lib/*/libmariadbclient.so +usr/lib/*/libmysqlservices.a +usr/lib/*/pkgconfig/libmariadb.pc ++usr/lib/*/pkgconfig/mariadb.pc +usr/share/aclocal/mysql.m4 +usr/share/man/man1/mariadb_config.1 +usr/share/man/man1/mysql_config.1 ++usr/share/man/man3/*.3 diff --cc debian/libmariadb-dev.links index 31a5f6555,000000000..b6d84cc83 mode 100644,000000..100644 --- a/debian/libmariadb-dev.links +++ b/debian/libmariadb-dev.links @@@ -1,2 -1,0 +1,1 @@@ - usr/bin/mariadb_config usr/bin/mariadb-config +usr/share/man/man1/mariadb_config.1.gz usr/share/man/man1/mariadb-config.1.gz diff --cc debian/libmariadb-dev.lintian-overrides index 345b537a5,000000000..054a3281b mode 100644,000000..100644 --- a/debian/libmariadb-dev.lintian-overrides +++ b/debian/libmariadb-dev.lintian-overrides @@@ -1,1 -1,0 +1,2 @@@ - arch-dependent-file-not-in-arch-specific-directory usr/bin/mariadb_config ++# This is how upstream does it, wont' fix ++repeated-path-segment mariadb usr/include/mariadb/mariadb/ diff --cc debian/libmariadb3.symbols index 000000000,000000000..783c6a35d new file mode 100644 --- /dev/null +++ b/debian/libmariadb3.symbols @@@ -1,0 -1,0 +1,338 @@@ ++libmariadb.so.3 libmariadb3 #MINVER# ++* Build-Depends-Package: libmariadb-dev ++ libmariadb_3@libmariadb_3 3.0.0 ++ libmariadbclient_18@libmariadbclient_18 3.0.0 ++ libmysqlclient_18@libmysqlclient_18 3.0.0 ++ ma_pvio_register_callback@libmariadb_3 3.0.0 ++ mariadb_cancel@libmariadb_3 3.0.0 ++ mariadb_connection@libmariadb_3 3.0.0 ++ mariadb_convert_string@libmariadb_3 3.0.0 ++ mariadb_deinitialize_ssl@libmariadb_3 3.0.0 ++ mariadb_field_attr@libmariadb_3 3.1.8 ++ mariadb_free_rpl_event@libmariadb_3 3.1.0 ++ mariadb_get_charset_by_name@libmariadb_3 3.0.0 ++ mariadb_get_charset_by_nr@libmariadb_3 3.0.0 ++ mariadb_get_info@libmariadb_3 3.0.0 ++ mariadb_get_infov@libmariadb_3 3.0.0 ++ mariadb_reconnect@libmariadb_3 3.0.0 ++ mariadb_rpl_close@libmariadb_3 3.1.0 ++ mariadb_rpl_fetch@libmariadb_3 3.1.0 ++ mariadb_rpl_get_optionsv@libmariadb_3 3.1.0 ++ mariadb_rpl_init_ex@libmariadb_3 3.1.13 ++ mariadb_rpl_open@libmariadb_3 3.1.0 ++ mariadb_rpl_optionsv@libmariadb_3 3.1.0 ++ mariadb_stmt_execute_direct@libmariadb_3 3.0.0 ++ mariadb_stmt_fetch_fields@libmariadb_3 3.1.0 ++ mysql_affected_rows@libmariadbclient_18 3.0.0 ++ mysql_affected_rows@libmysqlclient_18 3.0.0 ++ mysql_autocommit_cont@libmariadb_3 3.0.0 ++ mysql_autocommit@libmariadbclient_18 3.0.0 ++ mysql_autocommit@libmysqlclient_18 3.0.0 ++ mysql_autocommit_start@libmariadb_3 3.0.0 ++ mysql_change_user_cont@libmariadb_3 3.0.0 ++ mysql_change_user@libmariadbclient_18 3.0.0 ++ mysql_change_user@libmysqlclient_18 3.0.0 ++ mysql_change_user_start@libmariadb_3 3.0.0 ++ mysql_character_set_name@libmariadbclient_18 3.0.0 ++ mysql_character_set_name@libmysqlclient_18 3.0.0 ++ mysql_client_find_plugin@libmariadbclient_18 3.0.0 ++ mysql_client_find_plugin@libmysqlclient_18 3.0.0 ++ mysql_client_register_plugin@libmariadbclient_18 3.0.0 ++ mysql_client_register_plugin@libmysqlclient_18 3.0.0 ++ mysql_close_cont@libmariadb_3 3.0.0 ++ mysql_close@libmariadbclient_18 3.0.0 ++ mysql_close@libmysqlclient_18 3.0.0 ++ mysql_close_start@libmariadb_3 3.0.0 ++ mysql_commit_cont@libmariadb_3 3.0.0 ++ mysql_commit@libmariadbclient_18 3.0.0 ++ mysql_commit@libmysqlclient_18 3.0.0 ++ mysql_commit_start@libmariadb_3 3.0.0 ++ mysql_data_seek@libmariadbclient_18 3.0.0 ++ mysql_data_seek@libmysqlclient_18 3.0.0 ++ mysql_debug@libmariadbclient_18 3.0.0 ++ mysql_debug@libmysqlclient_18 3.0.0 ++ mysql_dump_debug_info_cont@libmariadb_3 3.0.0 ++ mysql_dump_debug_info@libmariadbclient_18 3.0.0 ++ mysql_dump_debug_info@libmysqlclient_18 3.0.0 ++ mysql_dump_debug_info_start@libmariadb_3 3.0.0 ++ mysql_embedded@libmariadbclient_18 3.0.0 ++ mysql_embedded@libmysqlclient_18 3.0.0 ++ mysql_eof@libmariadbclient_18 3.0.0 ++ mysql_eof@libmysqlclient_18 3.0.0 ++ mysql_errno@libmariadbclient_18 3.0.0 ++ mysql_errno@libmysqlclient_18 3.0.0 ++ mysql_error@libmariadbclient_18 3.0.0 ++ mysql_error@libmysqlclient_18 3.0.0 ++ mysql_escape_string@libmariadbclient_18 3.0.0 ++ mysql_escape_string@libmysqlclient_18 3.0.0 ++ mysql_fetch_field_direct@libmariadbclient_18 3.0.0 ++ mysql_fetch_field_direct@libmysqlclient_18 3.0.0 ++ mysql_fetch_field@libmariadbclient_18 3.0.0 ++ mysql_fetch_field@libmysqlclient_18 3.0.0 ++ mysql_fetch_fields@libmariadbclient_18 3.0.0 ++ mysql_fetch_fields@libmysqlclient_18 3.0.0 ++ mysql_fetch_lengths@libmariadbclient_18 3.0.0 ++ mysql_fetch_lengths@libmysqlclient_18 3.0.0 ++ mysql_fetch_row_cont@libmariadb_3 3.0.0 ++ mysql_fetch_row@libmariadbclient_18 3.0.0 ++ mysql_fetch_row@libmysqlclient_18 3.0.0 ++ mysql_fetch_row_start@libmariadb_3 3.0.0 ++ mysql_field_count@libmariadbclient_18 3.0.0 ++ mysql_field_count@libmysqlclient_18 3.0.0 ++ mysql_field_seek@libmariadbclient_18 3.0.0 ++ mysql_field_seek@libmysqlclient_18 3.0.0 ++ mysql_field_tell@libmariadbclient_18 3.0.0 ++ mysql_field_tell@libmysqlclient_18 3.0.0 ++ mysql_free_result_cont@libmariadb_3 3.0.0 ++ mysql_free_result@libmariadbclient_18 3.0.0 ++ mysql_free_result@libmysqlclient_18 3.0.0 ++ mysql_free_result_start@libmariadb_3 3.0.0 ++ mysql_get_character_set_info@libmariadbclient_18 3.0.0 ++ mysql_get_character_set_info@libmysqlclient_18 3.0.0 ++ mysql_get_charset_by_name@libmariadbclient_18 3.0.0 ++ mysql_get_charset_by_name@libmysqlclient_18 3.0.0 ++ mysql_get_charset_by_nr@libmariadbclient_18 3.0.0 ++ mysql_get_charset_by_nr@libmysqlclient_18 3.0.0 ++ mysql_get_client_info@libmariadbclient_18 3.0.0 ++ mysql_get_client_info@libmysqlclient_18 3.0.0 ++ mysql_get_client_version@libmariadbclient_18 3.0.0 ++ mysql_get_client_version@libmysqlclient_18 3.0.0 ++ mysql_get_host_info@libmariadbclient_18 3.0.0 ++ mysql_get_host_info@libmysqlclient_18 3.0.0 ++ mysql_get_option@libmariadbclient_18 3.0.0 ++ mysql_get_option@libmysqlclient_18 3.0.0 ++ mysql_get_optionv@libmariadbclient_18 3.0.0 ++ mysql_get_optionv@libmysqlclient_18 3.0.0 ++ mysql_get_parameters@libmariadbclient_18 3.0.0 ++ mysql_get_parameters@libmysqlclient_18 3.0.0 ++ mysql_get_proto_info@libmariadbclient_18 3.0.0 ++ mysql_get_proto_info@libmysqlclient_18 3.0.0 ++ mysql_get_server_info@libmariadbclient_18 3.0.0 ++ mysql_get_server_info@libmysqlclient_18 3.0.0 ++ mysql_get_server_name@libmariadbclient_18 3.0.0 ++ mysql_get_server_name@libmysqlclient_18 3.0.0 ++ mysql_get_server_version@libmariadbclient_18 3.0.0 ++ mysql_get_server_version@libmysqlclient_18 3.0.0 ++ mysql_get_socket@libmariadbclient_18 3.0.0 ++ mysql_get_socket@libmysqlclient_18 3.0.0 ++ mysql_get_ssl_cipher@libmariadbclient_18 3.0.0 ++ mysql_get_ssl_cipher@libmysqlclient_18 3.0.0 ++ mysql_get_timeout_value@libmariadb_3 3.0.19 ++ mysql_get_timeout_value_ms@libmariadb_3 3.0.19 ++ mysql_hex_string@libmariadbclient_18 3.0.0 ++ mysql_hex_string@libmysqlclient_18 3.0.0 ++ mysql_info@libmariadbclient_18 3.0.0 ++ mysql_info@libmysqlclient_18 3.0.0 ++ mysql_init@libmariadbclient_18 3.0.0 ++ mysql_init@libmysqlclient_18 3.0.0 ++ mysql_insert_id@libmariadbclient_18 3.0.0 ++ mysql_insert_id@libmysqlclient_18 3.0.0 ++ mysql_kill_cont@libmariadb_3 3.0.0 ++ mysql_kill@libmariadbclient_18 3.0.0 ++ mysql_kill@libmysqlclient_18 3.0.0 ++ mysql_kill_start@libmariadb_3 3.0.0 ++ mysql_list_dbs@libmariadbclient_18 3.0.0 ++ mysql_list_dbs@libmysqlclient_18 3.0.0 ++ mysql_list_fields_cont@libmariadb_3 3.0.0 ++ mysql_list_fields@libmariadbclient_18 3.0.0 ++ mysql_list_fields@libmysqlclient_18 3.0.0 ++ mysql_list_fields_start@libmariadb_3 3.0.0 ++ mysql_list_processes@libmariadbclient_18 3.0.0 ++ mysql_list_processes@libmysqlclient_18 3.0.0 ++ mysql_list_tables@libmariadbclient_18 3.0.0 ++ mysql_list_tables@libmysqlclient_18 3.0.0 ++ mysql_load_plugin@libmariadbclient_18 3.0.0 ++ mysql_load_plugin@libmysqlclient_18 3.0.0 ++ mysql_load_plugin_v@libmariadbclient_18 3.0.0 ++ mysql_load_plugin_v@libmysqlclient_18 3.0.0 ++ mysql_more_results@libmariadbclient_18 3.0.0 ++ mysql_more_results@libmysqlclient_18 3.0.0 ++ mysql_net_field_length@libmariadbclient_18 3.0.0 ++ mysql_net_field_length@libmysqlclient_18 3.0.0 ++ mysql_net_read_packet@libmariadbclient_18 3.0.0 ++ mysql_net_read_packet@libmysqlclient_18 3.0.0 ++ mysql_next_result_cont@libmariadb_3 3.0.0 ++ mysql_next_result@libmariadbclient_18 3.0.0 ++ mysql_next_result@libmysqlclient_18 3.0.0 ++ mysql_next_result_start@libmariadb_3 3.0.0 ++ mysql_num_fields@libmariadbclient_18 3.0.0 ++ mysql_num_fields@libmysqlclient_18 3.0.0 ++ mysql_num_rows@libmariadbclient_18 3.0.0 ++ mysql_num_rows@libmysqlclient_18 3.0.0 ++ mysql_options4@libmariadbclient_18 3.0.0 ++ mysql_options4@libmysqlclient_18 3.0.0 ++ mysql_options@libmariadbclient_18 3.0.0 ++ mysql_options@libmysqlclient_18 3.0.0 ++ mysql_optionsv@libmariadb_3 3.0.0 ++ mysql_ping_cont@libmariadb_3 3.0.0 ++ mysql_ping@libmariadbclient_18 3.0.0 ++ mysql_ping@libmysqlclient_18 3.0.0 ++ mysql_ping_start@libmariadb_3 3.0.0 ++ mysql_ps_fetch_functions@libmariadb_3 3.0.0 ++ mysql_query_cont@libmariadb_3 3.0.0 ++ mysql_query@libmariadbclient_18 3.0.0 ++ mysql_query@libmysqlclient_18 3.0.0 ++ mysql_query_start@libmariadb_3 3.0.0 ++ mysql_read_query_result_cont@libmariadb_3 3.0.0 ++ mysql_read_query_result@libmariadbclient_18 3.0.0 ++ mysql_read_query_result@libmysqlclient_18 3.0.0 ++ mysql_read_query_result_start@libmariadb_3 3.0.0 ++ mysql_real_connect_cont@libmariadb_3 3.0.0 ++ mysql_real_connect@libmariadbclient_18 3.0.0 ++ mysql_real_connect@libmysqlclient_18 3.0.0 ++ mysql_real_connect_start@libmariadb_3 3.0.0 ++ mysql_real_escape_string@libmariadbclient_18 3.0.0 ++ mysql_real_escape_string@libmysqlclient_18 3.0.0 ++ mysql_real_query_cont@libmariadb_3 3.0.0 ++ mysql_real_query@libmariadbclient_18 3.0.0 ++ mysql_real_query@libmysqlclient_18 3.0.0 ++ mysql_real_query_start@libmariadb_3 3.0.0 ++ mysql_refresh_cont@libmariadb_3 3.0.0 ++ mysql_refresh@libmariadbclient_18 3.0.0 ++ mysql_refresh@libmysqlclient_18 3.0.0 ++ mysql_refresh_start@libmariadb_3 3.0.0 ++ mysql_reset_connection_cont@libmariadb_3 3.0.0 ++ mysql_reset_connection@libmariadbclient_18 3.0.0 ++ mysql_reset_connection@libmysqlclient_18 3.0.0 ++ mysql_reset_connection_start@libmariadb_3 3.0.0 ++ mysql_rollback_cont@libmariadb_3 3.0.0 ++ mysql_rollback@libmariadbclient_18 3.0.0 ++ mysql_rollback@libmysqlclient_18 3.0.0 ++ mysql_rollback_start@libmariadb_3 3.0.0 ++ mysql_row_seek@libmariadbclient_18 3.0.0 ++ mysql_row_seek@libmysqlclient_18 3.0.0 ++ mysql_row_tell@libmariadbclient_18 3.0.0 ++ mysql_row_tell@libmysqlclient_18 3.0.0 ++ mysql_select_db_cont@libmariadb_3 3.0.0 ++ mysql_select_db@libmariadbclient_18 3.0.0 ++ mysql_select_db@libmysqlclient_18 3.0.0 ++ mysql_select_db_start@libmariadb_3 3.0.0 ++ mysql_send_query_cont@libmariadb_3 3.0.0 ++ mysql_send_query@libmariadbclient_18 3.0.0 ++ mysql_send_query@libmysqlclient_18 3.0.0 ++ mysql_send_query_start@libmariadb_3 3.0.0 ++ mysql_server_end@libmariadbclient_18 3.0.0 ++ mysql_server_end@libmysqlclient_18 3.0.0 ++ mysql_server_init@libmariadbclient_18 3.0.0 ++ mysql_server_init@libmysqlclient_18 3.0.0 ++ mysql_session_track_get_first@libmariadbclient_18 3.0.0 ++ mysql_session_track_get_first@libmysqlclient_18 3.0.0 ++ mysql_session_track_get_next@libmariadbclient_18 3.0.0 ++ mysql_session_track_get_next@libmysqlclient_18 3.0.0 ++ mysql_set_character_set_cont@libmariadb_3 3.0.0 ++ mysql_set_character_set@libmariadbclient_18 3.0.0 ++ mysql_set_character_set@libmysqlclient_18 3.0.0 ++ mysql_set_character_set_start@libmariadb_3 3.0.0 ++ mysql_set_local_infile_default@libmariadbclient_18 3.0.0 ++ mysql_set_local_infile_default@libmysqlclient_18 3.0.0 ++ mysql_set_local_infile_handler@libmariadbclient_18 3.0.0 ++ mysql_set_local_infile_handler@libmysqlclient_18 3.0.0 ++ mysql_set_server_option_cont@libmariadb_3 3.0.0 ++ mysql_set_server_option@libmariadbclient_18 3.0.0 ++ mysql_set_server_option@libmysqlclient_18 3.0.0 ++ mysql_set_server_option_start@libmariadb_3 3.0.0 ++ mysql_shutdown_cont@libmariadb_3 3.0.0 ++ mysql_shutdown@libmariadbclient_18 3.0.0 ++ mysql_shutdown@libmysqlclient_18 3.0.0 ++ mysql_shutdown_start@libmariadb_3 3.0.0 ++ mysql_sqlstate@libmariadbclient_18 3.0.0 ++ mysql_sqlstate@libmysqlclient_18 3.0.0 ++ mysql_ssl_set@libmariadbclient_18 3.0.0 ++ mysql_ssl_set@libmysqlclient_18 3.0.0 ++ mysql_stat_cont@libmariadb_3 3.0.0 ++ mysql_stat@libmariadbclient_18 3.0.0 ++ mysql_stat@libmysqlclient_18 3.0.0 ++ mysql_stat_start@libmariadb_3 3.0.0 ++ mysql_stmt_affected_rows@libmariadbclient_18 3.0.0 ++ mysql_stmt_affected_rows@libmysqlclient_18 3.0.0 ++ mysql_stmt_attr_get@libmariadbclient_18 3.0.0 ++ mysql_stmt_attr_get@libmysqlclient_18 3.0.0 ++ mysql_stmt_attr_set@libmariadbclient_18 3.0.0 ++ mysql_stmt_attr_set@libmysqlclient_18 3.0.0 ++ mysql_stmt_bind_param@libmariadbclient_18 3.0.0 ++ mysql_stmt_bind_param@libmysqlclient_18 3.0.0 ++ mysql_stmt_bind_result@libmariadbclient_18 3.0.0 ++ mysql_stmt_bind_result@libmysqlclient_18 3.0.0 ++ mysql_stmt_close_cont@libmariadb_3 3.0.0 ++ mysql_stmt_close@libmariadbclient_18 3.0.0 ++ mysql_stmt_close@libmysqlclient_18 3.0.0 ++ mysql_stmt_close_start@libmariadb_3 3.0.0 ++ mysql_stmt_data_seek@libmariadbclient_18 3.0.0 ++ mysql_stmt_data_seek@libmysqlclient_18 3.0.0 ++ mysql_stmt_errno@libmariadbclient_18 3.0.0 ++ mysql_stmt_errno@libmysqlclient_18 3.0.0 ++ mysql_stmt_error@libmariadbclient_18 3.0.0 ++ mysql_stmt_error@libmysqlclient_18 3.0.0 ++ mysql_stmt_execute_cont@libmariadb_3 3.0.0 ++ mysql_stmt_execute@libmariadbclient_18 3.0.0 ++ mysql_stmt_execute@libmysqlclient_18 3.0.0 ++ mysql_stmt_execute_start@libmariadb_3 3.0.0 ++ mysql_stmt_fetch_column@libmariadbclient_18 3.0.0 ++ mysql_stmt_fetch_column@libmysqlclient_18 3.0.0 ++ mysql_stmt_fetch_cont@libmariadb_3 3.0.0 ++ mysql_stmt_fetch@libmariadbclient_18 3.0.0 ++ mysql_stmt_fetch@libmysqlclient_18 3.0.0 ++ mysql_stmt_fetch_start@libmariadb_3 3.0.0 ++ mysql_stmt_field_count@libmariadbclient_18 3.0.0 ++ mysql_stmt_field_count@libmysqlclient_18 3.0.0 ++ mysql_stmt_free_result_cont@libmariadb_3 3.0.0 ++ mysql_stmt_free_result@libmariadbclient_18 3.0.0 ++ mysql_stmt_free_result@libmysqlclient_18 3.0.0 ++ mysql_stmt_free_result_start@libmariadb_3 3.0.0 ++ mysql_stmt_init@libmariadbclient_18 3.0.0 ++ mysql_stmt_init@libmysqlclient_18 3.0.0 ++ mysql_stmt_insert_id@libmariadbclient_18 3.0.0 ++ mysql_stmt_insert_id@libmysqlclient_18 3.0.0 ++ mysql_stmt_more_results@libmariadbclient_18 3.0.0 ++ mysql_stmt_more_results@libmysqlclient_18 3.0.0 ++ mysql_stmt_next_result_cont@libmariadb_3 3.0.0 ++ mysql_stmt_next_result@libmariadbclient_18 3.0.0 ++ mysql_stmt_next_result@libmysqlclient_18 3.0.0 ++ mysql_stmt_next_result_start@libmariadb_3 3.0.0 ++ mysql_stmt_num_rows@libmariadbclient_18 3.0.0 ++ mysql_stmt_num_rows@libmysqlclient_18 3.0.0 ++ mysql_stmt_param_count@libmariadbclient_18 3.0.0 ++ mysql_stmt_param_count@libmysqlclient_18 3.0.0 ++ mysql_stmt_param_metadata@libmariadbclient_18 3.0.0 ++ mysql_stmt_param_metadata@libmysqlclient_18 3.0.0 ++ mysql_stmt_prepare_cont@libmariadb_3 3.0.0 ++ mysql_stmt_prepare@libmariadbclient_18 3.0.0 ++ mysql_stmt_prepare@libmysqlclient_18 3.0.0 ++ mysql_stmt_prepare_start@libmariadb_3 3.0.0 ++ mysql_stmt_reset_cont@libmariadb_3 3.0.0 ++ mysql_stmt_reset@libmariadbclient_18 3.0.0 ++ mysql_stmt_reset@libmysqlclient_18 3.0.0 ++ mysql_stmt_reset_start@libmariadb_3 3.0.0 ++ mysql_stmt_result_metadata@libmariadbclient_18 3.0.0 ++ mysql_stmt_result_metadata@libmysqlclient_18 3.0.0 ++ mysql_stmt_row_seek@libmariadbclient_18 3.0.0 ++ mysql_stmt_row_seek@libmysqlclient_18 3.0.0 ++ mysql_stmt_row_tell@libmariadbclient_18 3.0.0 ++ mysql_stmt_row_tell@libmysqlclient_18 3.0.0 ++ mysql_stmt_send_long_data_cont@libmariadb_3 3.0.0 ++ mysql_stmt_send_long_data@libmariadbclient_18 3.0.0 ++ mysql_stmt_send_long_data@libmysqlclient_18 3.0.0 ++ mysql_stmt_send_long_data_start@libmariadb_3 3.0.0 ++ mysql_stmt_sqlstate@libmariadbclient_18 3.0.0 ++ mysql_stmt_sqlstate@libmysqlclient_18 3.0.0 ++ mysql_stmt_store_result_cont@libmariadb_3 3.0.0 ++ mysql_stmt_store_result@libmariadbclient_18 3.0.0 ++ mysql_stmt_store_result@libmysqlclient_18 3.0.0 ++ mysql_stmt_store_result_start@libmariadb_3 3.0.0 ++ mysql_stmt_warning_count@libmariadb_3 3.0.0 ++ mysql_store_result_cont@libmariadb_3 3.0.0 ++ mysql_store_result@libmariadbclient_18 3.0.0 ++ mysql_store_result@libmysqlclient_18 3.0.0 ++ mysql_store_result_start@libmariadb_3 3.0.0 ++ mysql_thread_end@libmariadbclient_18 3.0.0 ++ mysql_thread_end@libmysqlclient_18 3.0.0 ++ mysql_thread_id@libmariadbclient_18 3.0.0 ++ mysql_thread_id@libmysqlclient_18 3.0.0 ++ mysql_thread_init@libmariadbclient_18 3.0.0 ++ mysql_thread_init@libmysqlclient_18 3.0.0 ++ mysql_thread_safe@libmariadbclient_18 3.0.0 ++ mysql_thread_safe@libmysqlclient_18 3.0.0 ++ mysql_use_result@libmariadbclient_18 3.0.0 ++ mysql_use_result@libmysqlclient_18 3.0.0 ++ mysql_warning_count@libmariadbclient_18 3.0.0 ++ mysql_warning_count@libmysqlclient_18 3.0.0 diff --cc debian/libmariadbd-dev.install index 5a4344721,000000000..3eebe631b mode 100644,000000..100644 --- a/debian/libmariadbd-dev.install +++ b/debian/libmariadbd-dev.install @@@ -1,6 -1,0 +1,5 @@@ +usr/include/mariadb/server +usr/lib/*/libmariadbd.a +usr/lib/*/libmariadbd.so +usr/lib/*/libmysqld.a +usr/lib/*/libmysqld.so - usr/lib/*/pkgconfig/mariadb.pc diff --cc debian/libmariadbd19.lintian-overrides index 000000000,000000000..ed08ece8a new file mode 100644 --- /dev/null +++ b/debian/libmariadbd19.lintian-overrides @@@ -1,0 -1,0 +1,6 @@@ ++# myisam stopwords that cannot be changed and spelling errors remain ++spelling-error-in-binary usr/lib/x86_64-linux-gnu/libmariadbd.so.19 AfE Safe ++spelling-error-in-binary usr/lib/x86_64-linux-gnu/libmariadbd.so.19 noone no one ++spelling-error-in-binary usr/lib/x86_64-linux-gnu/libmariadbd.so.19 thats that's ++spelling-error-in-binary usr/lib/x86_64-linux-gnu/libmariadbd.so.19 theres there's ++spelling-error-in-binary usr/lib/x86_64-linux-gnu/libmariadbd.so.19 yuR your diff --cc debian/mariadb-backup.install index b332b8724,000000000..e450f8f46 mode 100644,000000..100644 --- a/debian/mariadb-backup.install +++ b/debian/mariadb-backup.install @@@ -1,5 -1,0 +1,6 @@@ ++usr/bin/mariabackup +usr/bin/mariadb-backup +usr/bin/mbstream +usr/share/man/man1/mariabackup.1 +usr/share/man/man1/mariadb-backup.1 +usr/share/man/man1/mbstream.1 diff --cc debian/mariadb-backup.lintian-overrides index 000000000,000000000..b19a71ee8 new file mode 100644 --- /dev/null +++ b/debian/mariadb-backup.lintian-overrides @@@ -1,0 -1,0 +1,6 @@@ ++# myisam stopwords that cannot be changed and spelling errors remain ++spelling-error-in-binary usr/bin/mariadb-backup AfE Safe ++spelling-error-in-binary usr/bin/mariadb-backup noone no one ++spelling-error-in-binary usr/bin/mariadb-backup thats that's ++spelling-error-in-binary usr/bin/mariadb-backup theres there's ++spelling-error-in-binary usr/bin/mariadb-backup yuR your diff --cc debian/mariadb-client-10.6.install index 3a92ded15,000000000..fba8d0938 mode 100644,000000..100644 --- a/debian/mariadb-client-10.6.install +++ b/debian/mariadb-client-10.6.install @@@ -1,68 -1,0 +1,79 @@@ +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/60-galera.cnf etc/mysql/mariadb.conf.d +usr/bin/mariadb-access +usr/bin/mariadb-admin +usr/bin/mariadb-binlog +usr/bin/mariadb-conv +usr/bin/mariadb-convert-table-format +usr/bin/mariadb-dump +usr/bin/mariadb-dumpslow +usr/bin/mariadb-find-rows +usr/bin/mariadb-fix-extensions +usr/bin/mariadb-hotcopy +usr/bin/mariadb-import +usr/bin/mariadb-plugin +usr/bin/mariadb-secure-installation +usr/bin/mariadb-setpermission +usr/bin/mariadb-show +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 +usr/bin/resolve_stack_dump +usr/share/man/man1/mariadb-access.1 +usr/share/man/man1/mariadb-admin.1 +usr/share/man/man1/mariadb-binlog.1 +usr/share/man/man1/mariadb-conv.1 +usr/share/man/man1/mariadb-convert-table-format.1 +usr/share/man/man1/mariadb-dump.1 +usr/share/man/man1/mariadb-dumpslow.1 +usr/share/man/man1/mariadb-find-rows.1 +usr/share/man/man1/mariadb-fix-extensions.1 +usr/share/man/man1/mariadb-hotcopy.1 +usr/share/man/man1/mariadb-import.1 +usr/share/man/man1/mariadb-plugin.1 +usr/share/man/man1/mariadb-secure-installation.1 +usr/share/man/man1/mariadb-setpermission.1 +usr/share/man/man1/mariadb-show.1 +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 +usr/share/man/man1/resolve_stack_dump.1 diff --cc debian/mariadb-client-10.6.links index bc4219762,000000000..62e3651da mode 100644,000000..100644 --- a/debian/mariadb-client-10.6.links +++ b/debian/mariadb-client-10.6.links @@@ -1,27 -1,0 +1,17 @@@ - usr/bin/mariadb-access usr/bin/mysqlaccess - usr/bin/mariadb-admin usr/bin/mysqladmin +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-dump usr/bin/mysqldump - usr/bin/mariadb-dumpslow usr/bin/mysqldumpslow - usr/bin/mariadb-find-rows usr/bin/mysql_find_rows - usr/bin/mariadb-fix-extensions usr/bin/mysql_fix_extensions - usr/bin/mariadb-import usr/bin/mysqlimport +usr/bin/mariadb-report usr/bin/mysqlreport - usr/bin/mariadb-show usr/bin/mysqlshow - usr/bin/mariadb-slap usr/bin/mysqlslap - usr/bin/mariadb-waitpid usr/bin/mysql_waitpid +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 --cc debian/mariadb-client-10.6.lintian-overrides index 000000000,000000000..4665a536e new file mode 100644 --- /dev/null +++ b/debian/mariadb-client-10.6.lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++# The Innotop changelog has this name for a valid reason ++wrong-name-for-upstream-changelog usr/share/doc/mariadb-client-10.6/changelog.innotop.gz diff --cc debian/mariadb-client-core-10.6.install index 421b62d2a,000000000..bcc3515a0 mode 100644,000000..100644 --- a/debian/mariadb-client-core-10.6.install +++ b/debian/mariadb-client-core-10.6.install @@@ -1,8 -1,0 +1,9 @@@ +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 --cc debian/mariadb-common.preinst index 000000000,000000000..84dfeeee0 new file mode 100644 --- /dev/null +++ b/debian/mariadb-common.preinst @@@ -1,0 -1,0 +1,20 @@@ ++#!/bin/sh ++set -e ++ ++if [ "$1" = "install" ] || [ "$1" = "upgrade" ]; then ++ if dpkg --compare-versions "$2" lt-nl "10.0.20-3~" ; then ++ ++ # revert fallback my.cnf symlink setup performed by mariadb-common ++ # from 10.0.17-1~exp2 upto 10.0.20-2 ++ if [ -L /etc/mysql/my.cnf ] && [ -f /etc/mysql/my.cnf.old ]; then ++ if [ "$(readlink /etc/mysql/my.cnf)" = "mariadb.cnf" ]; then ++ echo "Reverting my.cnf -> mariadb.cnf symlink setup by mariadb-common" ++ rm /etc/mysql/my.cnf ++ mv /etc/mysql/my.cnf.old /etc/mysql/my.cnf ++ fi ++ fi ++ ++ fi ++fi ++ ++#DEBHELPER# diff --cc debian/mariadb-plugin-rocksdb.install index dcc576ea9,000000000..67b8026d6 mode 100644,000000..100644 --- a/debian/mariadb-plugin-rocksdb.install +++ b/debian/mariadb-plugin-rocksdb.install @@@ -1,7 -1,0 +1,8 @@@ +etc/mysql/mariadb.conf.d/rocksdb.cnf +usr/bin/mariadb-ldb +usr/bin/myrocks_hotbackup ++usr/bin/mysql_ldb +usr/lib/mysql/plugin/ha_rocksdb.so +usr/share/man/man1/mariadb-ldb.1 +usr/share/man/man1/myrocks_hotbackup.1 +usr/share/man/man1/mysql_ldb.1 diff --cc debian/mariadb-server-10.6.NEWS index 000000000,000000000..559f04b3c new file mode 100644 --- /dev/null +++ b/debian/mariadb-server-10.6.NEWS @@@ -1,0 -1,0 +1,117 @@@ ++mariadb-10.6 (1:10.6.4-1) unstable; urgency=medium ++ ++ Import new upstream release MariaDB 10.6.4 ++ - 10.6 introduces one new status variable: ++ * Innodb_buffer_pool_pages_lru_freed ++ (https://mariadb.com/kb/en/status-variables-added-in-mariadb-106/) ++ * Resultset_metadata_skipped ++ (undocumented upstream https://mariadb.com/docs/reference/mdb/status-variables/Resultset_metadata_skipped/) ++ ++ Read more at https://mariadb.com/kb/en/status-variables-added-in-mariadb-106/ ++ ++ - 10.6 introduces several new server variables: ++ * binlog_expire_logs_seconds ++ * innodb_deadlock_report ++ * innodb_read_only_compressed ++ ++ Read more at https://mariadb.com/kb/en/system-variables-added-in-mariadb-106/ ++ ++ - 10.6 removes several server variables: ++ * innodb_adaptive_max_sleep_delay ++ * innodb_background_scrub_data_* ++ * innodb_buffer_pool_instances ++ * innodb_commit_concurrency ++ * innodb_concurrency_tickets ++ * innodb_file_format ++ * innodb_large_prefix ++ * innodb_lock_schedule_algorithm ++ * innodb_log_checksums ++ * innodb_log_compressed_pages ++ * innodb_log_files_in_group ++ * innodb_log_optimize_ddl ++ * innodb_page_cleaners ++ * innodb_replication_delay (*not* related to https://mariadb.com/kb/en/delayed-replication/) ++ * innodb_scrub_* ++ * innodb_sync_array_size ++ * innodb_thread_* ++ * innodb_undo_logs ++ ++ Read more at https://mariadb.com/kb/en/upgrading-from-mariadb-105-to-mariadb-106/#options-that-have-been-removed-or-renamed ++ ++ - 10.6 introduces new default server variable values: ++ * character sets utf8 -> utf8mb3 ++ * innodb_flush_method fsync -> O_DIRECT ++ * innodb_use_native_aio ON -> OFF ++ * old_mode (none) -> UTF8_IS_UTF8MB3 ++ ++ - 10.6 introduces new 'sys' database and several 'sys' procedures ++ ++ Read more at https://mariadb.com/kb/en/sys-schema/ ++ ++ - Read more about above changes at ++ https://mariadb.com/kb/en/upgrading-from-mariadb-105-to-mariadb-106/ ++ https://mariadb.com/kb/en/changes-improvements-in-mariadb-106/ ++ ++ - Update libmariadb folder to match the one in MariaDB 10.6.4 ++ (MariaDB Connector C 10.6.4) ++ ++ -- Otto Kekäläinen Mon, 06 Sep 2021 22:55:39 -0700 ++ ++mariadb-10.5 (1:10.5.5-1) unstable; urgency=medium ++ ++ The latest version 10.5 of the MariaDB Server came out in June 2020 and is ++ guaranteed to have security releases at least until summer 2025. ++ ++ For more information on what is new in MariaDB 10.5 check out: ++ https://speakerdeck.com/ottok/debconf-2020-whats-new-in-mariadb-server-10-dot-5-and-galera-4 ++ or video from https://peertube.debian.social/videos/watch/bb80cf53-d9ba-4ed9-b472-a21238fb67f5. ++ ++ Quick summary: ++ - Service name is now 'mariadb', e.g. /etc/init.d/mariadb and systemctl mariadb ++ - The main server binary is now running as 'mariadbd' instead of old 'mysqld' ++ - Many commands are now mariadb-* instead of old mysql*, but old names ++ continue to work as symlinks ++ - Referencing the /etc/mysql/debian.cnf file is not advised anymore. It will ++ be deprecated in a future Debian release and has been obsolete anyway for ++ several years now since MariaDB in Debian introduced Unix socket ++ authentication for the root account in 2015. ++ ++ MariaDB 10.5 has been tested to be backwards compatible with all previous ++ versions of MariaDB and all previous versions of MySQL up until version 5.7. ++ Note that MySQL 8.0 introduces significant backwards incompatible changes ++ compared to MySQL 5.7, and thus in-place binary upgrades from MySQL 8.0 to ++ MariaDB 10.5 are not possible, but sysadmins need to upgrade by exporting and ++ importing SQL dumps of their databases. ++ ++ If you encounter any bugs, please make sure your bug report is of highest ++ standards so we can quickly reproduce and fix the issue. Even better if you ++ find the solution yourself, and can submit it as a Merge Request at ++ https://salsa.debian.org/mariadb-team/mariadb-10.5/ ++ ++ If you appreciate the Debian packaging work done, please star us on Salsa! ++ ++ -- Otto Kekäläinen Thu, 17 Sep 2020 14:37:47 +0300 ++ ++mariadb-10.1 (10.1.20-1) unstable; urgency=low ++ ++ MariaDB is now the default MySQL variant in Debian, at version 10.1. The ++ Stretch release introduces a new mechanism for switching the default ++ variant, using metapackages created from the 'mysql-defaults' source ++ package. For example, installing the metapackage 'default-mysql-server' will ++ install 'mariadb-server-10.1'. Users who had 'mysql-server-5.5' or ++ 'mysql-server-5.6' will have it removed and replaced by the MariaDB ++ equivalent. Similarly, installing 'default-mysql-client' will install ++ 'mariadb-client-10.1'. ++ ++ Note that the database binary data file formats are not backwards ++ compatible, so once you have upgraded to MariaDB 10.1 you will not be able ++ to switch back to any previous version of MariaDB or MySQL unless you have a ++ proper database dump. Therefore, before upgrading, please make backups of ++ all important databases with an appropriate tool such as 'mysqldump'. ++ ++ The 'virtual-mysql-*' and 'default-mysql-*' packages will continue to exist. ++ MySQL continues to be maintained in Debian, in the unstable release. See the ++ page https://wiki.debian.org/Teams/MySQL more information about the ++ mysql-related software available in Debian. ++ ++ -- Otto Kekäläinen Tue, 14 Mar 2017 16:21:58 +0200 diff --cc debian/mariadb-server-10.6.insserv.conf index 000000000,000000000..cb29a5477 new file mode 100644 --- /dev/null +++ b/debian/mariadb-server-10.6.insserv.conf @@@ -1,0 -1,0 +1,1 @@@ ++$database mysql diff --cc debian/mariadb-server-10.6.install index 4d15f5d8e,000000000..28d92a4b9 mode 100644,000000..100755 --- a/debian/mariadb-server-10.6.install +++ b/debian/mariadb-server-10.6.install @@@ -1,81 -1,0 +1,94 @@@ ++#!/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/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-10.6.py usr/share/apport/package-hooks +etc/apparmor.d/usr.sbin.mariadbd ++etc/logrotate.d/mariadb +etc/security/user_map.conf +lib/*/security/pam_user_map.so - lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf - lib/systemd/system/mysql.service - lib/systemd/system/mysqld.service - support-files/rpm/enable_encryption.preset etc/mysql/mariadb.conf.d/99-enable-encryption.cnf.preset ++[linux-any] lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf ++[linux-any] lib/systemd/system/mysql.service ++[linux-any] lib/systemd/system/mysqld.service +usr/bin/aria_chk +usr/bin/aria_dump_log +usr/bin/aria_ftdump +usr/bin/aria_pack +usr/bin/aria_read_log - usr/bin/galera_new_cluster - usr/bin/galera_recovery - usr/bin/mariadb-service-convert ++[linux-any] usr/bin/galera_new_cluster ++[linux-any] usr/bin/galera_recovery ++[linux-any] usr/bin/mariadb-service-convert +usr/bin/mariadbd-multi +usr/bin/mariadbd-safe +usr/bin/mariadbd-safe-helper +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 +usr/bin/wsrep_sst_mysqldump +usr/bin/wsrep_sst_rsync +usr/bin/wsrep_sst_rsync_wan +usr/lib/mysql/plugin/auth_ed25519.so +usr/lib/mysql/plugin/auth_pam.so +usr/lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool +usr/lib/mysql/plugin/auth_pam_v1.so - usr/lib/mysql/plugin/disks.so ++[linux-any] usr/lib/mysql/plugin/disks.so +usr/lib/mysql/plugin/file_key_management.so +usr/lib/mysql/plugin/ha_archive.so +usr/lib/mysql/plugin/ha_blackhole.so +usr/lib/mysql/plugin/ha_federated.so +usr/lib/mysql/plugin/ha_federatedx.so +usr/lib/mysql/plugin/ha_sphinx.so +usr/lib/mysql/plugin/handlersocket.so +usr/lib/mysql/plugin/locales.so +usr/lib/mysql/plugin/metadata_lock_info.so +usr/lib/mysql/plugin/query_cache_info.so +usr/lib/mysql/plugin/query_response_time.so +usr/lib/mysql/plugin/server_audit.so +usr/lib/mysql/plugin/simple_password_check.so +usr/lib/mysql/plugin/sql_errlog.so +usr/lib/mysql/plugin/type_mysql_json.so +usr/lib/mysql/plugin/wsrep_info.so +usr/share/doc/mariadb-server-10.6/mariadbd.sym.gz +usr/share/man/man1/aria_chk.1 +usr/share/man/man1/aria_dump_log.1 +usr/share/man/man1/aria_ftdump.1 +usr/share/man/man1/aria_pack.1 +usr/share/man/man1/aria_read_log.1 - usr/share/man/man1/galera_new_cluster.1 - usr/share/man/man1/galera_recovery.1 - usr/share/man/man1/mariadb-service-convert.1 ++[linux-any] usr/share/man/man1/galera_new_cluster.1 ++[linux-any] usr/share/man/man1/galera_recovery.1 ++[linux-any] usr/share/man/man1/mariadb-service-convert.1 +usr/share/man/man1/mariadbd-multi.1 +usr/share/man/man1/mariadbd-safe-helper.1 +usr/share/man/man1/mariadbd-safe.1 +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/wsrep.cnf +usr/share/mysql/wsrep_notify diff --cc debian/mariadb-server-10.6.lintian-overrides index 000000000,000000000..f21a7a69b new file mode 100644 --- /dev/null +++ b/debian/mariadb-server-10.6.lintian-overrides @@@ -1,0 -1,0 +1,9 @@@ ++# They are in fact used, but the server version string has a macro in it ++unused-debconf-template mariadb-server-10.6/old_data_directory_saved ++unused-debconf-template mariadb-server-10.6/postrm_remove_databases ++# myisam stopwords that cannot be changed and spelling errors remain ++spelling-error-in-binary usr/bin/* noone no one ++spelling-error-in-binary usr/bin/* thats that's ++spelling-error-in-binary usr/bin/* theres there's ++# Intentional in-context documentation ++package-contains-documentation-outside-usr-share-doc usr/share/mysql/errmsg-utf8.txt diff --cc debian/mariadb-server-10.6.postinst index 93a1e4e8b,000000000..d09a08e96 mode 100644,000000..100644 --- a/debian/mariadb-server-10.6.postinst +++ b/debian/mariadb-server-10.6.postinst @@@ -1,273 -1,0 +1,273 @@@ +#!/bin/bash +set -e + +. /usr/share/debconf/confmodule + +# Automatically set version to ease maintenance of this file +MAJOR_VER="${DPKG_MAINTSCRIPT_PACKAGE#mariadb-server-}" + +if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi +${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 } + +export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin + +# This command can be used as pipe to syslog. With "-s" it also logs to stderr. +ERR_LOGGER="logger -p daemon.err -t mariadb-server-$MAJOR_VER.postinst -i" +# Specify syslog tag name so it is clear the entry came from this postinst script. +# This will make an error in a logged command immediately apparent by aborting +# the install, rather than failing silently and leaving a broken install. +set -o pipefail + +case "$1" in + configure) + # This is needed because mysql_install_db removes the pid file in /run + # and because changed configuration options should take effect immediately. + # In case the server wasn't running at all it should be ok if the stop + # script fails. I can't tell at this point because of the cleaned /run. + set +e; invoke-rc.d mariadb stop; set -e + + # An existing /etc/init.d/mysql might be on the system if there was a + # previous MySQL or MariaDB installation, since /etc/init.d files are + # considered config files and stay around even after the package is removed. + # + # The install step of this package adds a new /etc/init.d/mariadb file. As + # we also want to ensure that there are no old (and potentially outdated) + # versions of /etc/init.d/mysql we simply replace it using a copy of the + # latest 'mariadb' file. This has also the added benefit that anything that + # invokes traditional sysv init with either 'mysql' or 'mariadb' will end up + # controlling this newly installed MariaDB, and thus we maintain better + # backwards compatibility. + # + # Note that the 'Provides' line is also updated to avoid 'insserv' exiting + # on failure (when it is run by update-rc.d) because of duplicate service + # names. + if [ -f "/etc/init.d/mysql" ] && [ -f "/etc/init.d/mariadb" ] + then + # Copy init file and rename the service name and filename on the fly + sed 's/Provides: mariadb/Provides: mysql/g' /etc/init.d/mariadb > /etc/init.d/mysql + # NOTE: Number of spaces/tabs is important here! + # Confirm if the sed worked + if ! grep --quiet "Provides: mysql" /etc/init.d/mysql + then + # If not, then delete the file to avoid failures later on + rm -f /etc/init.d/mysql + echo "Warning! Failed creating a mysql named copy of mariadb init.d file" + fi + fi + + mysql_statedir=/usr/share/mysql + mysql_datadir=/var/lib/mysql + mysql_logdir=/var/log/mysql + mysql_cfgdir=/etc/mysql + mysql_upgradedir=/var/lib/mysql-upgrade + + # If the following symlink exists, it is a preserved copy the old data dir + # created by the preinst script during a upgrade that would have otherwise + # been replaced by an empty mysql dir. This should restore it. + for dir in DATADIR LOGDIR; do + + if [ "$dir" = "DATADIR" ]; then + targetdir=$mysql_datadir + else + targetdir=$mysql_logdir + fi + + savelink="$mysql_upgradedir/$dir.link" + if [ -L "$savelink" ]; then + # If the targetdir was a symlink before we upgraded it is supposed + # to be either still be present or not existing anymore now. + if [ -L "$targetdir" ]; then + rm "$savelink" + elif [ ! -d "$targetdir" ]; then + mv "$savelink" "$targetdir" + else + # this should never even happen, but just in case... + mysql_tmp=$(mktemp -d -t mysql-symlink-restore-XXXXXX) + echo "this is very strange! see $mysql_tmp/README..." >&2 + mv "$targetdir" "$mysql_tmp" + cat << EOF > "$mysql_tmp/README" + +If you're reading this, it's most likely because you had replaced /var/lib/mysql +with a symlink, then upgraded to a new version of mysql, and then dpkg +removed your symlink (see #182747 and others). The mysql packages noticed +that this happened, and as a workaround have restored it. However, because +/var/lib/mysql seems to have been re-created in the meantime, and because +we don't want to rm -rf something we don't know as much about, we are going +to leave this unexpected directory here. If your database looks normal, +and this is not a symlink to your database, you should be able to blow +this all away. + +EOF + fi + fi + rmdir $mysql_upgradedir 2>/dev/null || true + + done + + # Upgrading from mysql.com needs might have the root user as auth_socket. + # auto.cnf is a sign of a mysql install, that doesn't exist in mariadb. + # We use lsof to protect against concurrent access by mysqld (mariadb has + # its own projection). We make sure we're not doing this on a MySQL-8.0 + # directory. + # This direct update is needed to enable an authentication mechanism to + # perform mariadb-upgrade, (MDEV-22678). To keep the impact minimal, we + # skip innodb and set key-buffer-size to 0 as it isn't reused. + if [ -f "$mysql_datadir"/auto.cnf ] && [ -f "$mysql_datadir"/mysql/user.MYD ] && + [ ! lsof -nt "$mysql_datadir"/mysql/user.MYD > /dev/null ] && [ ! -f "$mysql_datadir"/undo_001 ]; then + echo "UPDATE mysql.user SET plugin='unix_socket' WHERE plugin='auth_socket';" | + mariadbd --skip-innodb --key_buffer_size=0 --default-storage-engine=MyISAM --bootstrap 2> /dev/null + fi + + # Ensure the existence and right permissions for the database and + # log files. Use mkdir option 'Z' to create with correct SELinux context. + if [ ! -d "$mysql_statedir" ] && [ ! -L "$mysql_statedir" ]; then mkdir -Z "$mysql_statedir"; fi + if [ ! -d "$mysql_datadir" ] && [ ! -L "$mysql_datadir" ]; then mkdir -Z "$mysql_datadir" ; fi + if [ ! -d "$mysql_logdir" ] && [ ! -L "$mysql_logdir" ]; then mkdir -Z "$mysql_logdir" ; fi + # When creating an ext3 jounal on an already mounted filesystem like e.g. + # /var/lib/mysql, you get a .journal file that is not modifiable by chown. + # The mysql_statedir must not be writable by the mysql user under any + # circumstances as it contains scripts that are executed by root. + set +e + chown -R 0:0 $mysql_statedir + find $mysql_datadir ! -uid "$(id -u mysql)" -print0 | xargs -0 -r chown mysql + chown -R mysql:adm $mysql_logdir + chmod 2750 $mysql_logdir + set -e + + ## Set the correct filesystem ownership for the PAM v2 plugin + # eg. /usr/lib/x86_64-linux-gnu/mysql/plugin/auth_pam_tool_dir/ + # NOTE! This is security sensitive, don't allow for a race condition. + # + # 1. Drop privileges of directory + # -> At this point only root can see and execute auth_pam_tool + chmod 0700 /usr/lib/mysql/plugin/auth_pam_tool_dir + # + # 2. Make binary setuid + # -> At this point only root can run the setuid binary so no escalation here yet + chmod 04755 /usr/lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool + # + # 3. Allow user 'mysql' to see and execute auth_pam_tool + # -> Now user mysql owns the directory and can see and execute the binary inside + # -> Since the binary is setuid, user mysql gets limited root powers here to + # run the PAM authetications, which need root (e.g. to validate passwords + # against /etc/shadow) + chown mysql /usr/lib/mysql/plugin/auth_pam_tool_dir + + # This is important to avoid dataloss when there is a removed + # mysql-server version from Woody lying around which used the same + # data directory and then somewhen gets purged by the admin. + db_set mariadb-server/postrm_remove_database false || true + + # Clean up old flags before setting new one + rm -f $mysql_datadir/debian-*.flag + # Flag data dir to avoid downgrades + touch "$mysql_datadir/debian-$MAJOR_VER.flag" + + # initiate databases. Output is not allowed by debconf :-( + # This will fail if we are upgrading an existing database; in this case + # mysql_upgrade, called from the /etc/init.d/mariadb start script, will + # handle things. + # Debian: beware of the bashisms... + # Debian: can safely run on upgrades with existing databases + set +e + bash /usr/bin/mysql_install_db --rpm --cross-bootstrap --user=mysql \ + --disable-log-bin --skip-test-db 2>&1 | \ + $ERR_LOGGER + set -e + + # On new installations root user can connect via unix_socket. + # But on upgrades, scripts rely on debian-sys-maint user and + # credentials in /etc/mysql/debian.cnf + # All tools use --defaults-file=/etc/mysql/debian.cnf + # And while it's not needed for new installations, we keep using + # --defaults-file option for tools (for the sake of upgrades) + # and thus need /etc/mysql/debian.cnf to exist, even if it's empty. + # In the long run the goal is to obsolete this file. + dc=$mysql_cfgdir/debian.cnf; + if [ ! -d "$mysql_cfgdir" ]; then + install -o 0 -g 0 -m 0755 -d $mysql_cfgdir + fi + if [ ! -e "$dc" ]; then + cat /dev/null > $dc + echo "# THIS FILE IS OBSOLETE. STOP USING IT IF POSSIBLE." >>$dc + echo "# This file exists only for backwards compatibility for" >>$dc + echo "# tools that run '--defaults-file=/etc/mysql/debian.cnf'" >>$dc + echo "# and have root level access to the local filesystem." >>$dc + echo "# With those permissions one can run 'mariadb' directly" >>$dc + echo "# anyway thanks to unix socket authentication and hence" >>$dc + echo "# this file is useless. See package README for more info." >>$dc + echo "[client]" >>$dc + echo "host = localhost" >>$dc + echo "user = root" >>$dc + echo "[mysql_upgrade]" >>$dc + echo "host = localhost" >>$dc + echo "user = root" >>$dc + echo "# THIS FILE WILL BE REMOVED IN A FUTURE DEBIAN RELEASE." >>$dc + fi + # Keep it only root-readable, as it always was + chown 0:0 $dc + chmod 0600 $dc + + # If there is a real AppArmor profile, we reload it. + # If the default empty profile is installed, then we remove any old + # profile that may be loaded. + # This allows upgrade from old versions (that have an apparmor profile + # on by default) to work both to disable a default profile, and to keep + # any profile installed and maintained by users themselves. + profile="/etc/apparmor.d/usr.sbin.mariadbd" + if [ -f "$profile" ] && aa-status --enabled 2>/dev/null; then + if grep -q /usr/sbin/mariadbd "$profile" 2>/dev/null ; then + apparmor_parser -r "$profile" || true + else + echo "/usr/sbin/mariadbd { }" | apparmor_parser --remove 2>/dev/null || true + fi + fi + - # @TODO: Remove once buildbot.askmonty.org has been updated not to expect this file - mkdir -p /etc/systemd/system/mariadb.service.d/ - # Note that file cannot be empty, otherwise systemd version in Ubuntu Bionic - # will think the service is masked - echo "# empty placeholder" > /etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf - ++ # The introduction of /etc/logrotate.d/mariadb has made the old config ++ # obsolete and it needs to be disabled to prevent logrotate running twice. ++ if [ -f /etc/logrotate.d/mysql-server ] ++ then ++ mv -vf /etc/logrotate.d/mysql-server /etc/logrotate.d/mysql-server.dpkg-bak ++ fi + ;; + + abort-upgrade|abort-remove|abort-configure) + ;; + + triggered) + if [ -d /run/systemd/system ]; then + systemctl --system daemon-reload - else ++ elif [ -x /etc/init.d/mariadb ]; then + invoke-rc.d mariadb restart + fi + ;; + + *) + echo "postinst called with unknown argument '$1'" 1>&2 + exit 1 + ;; +esac + +db_stop # in case invoke fails + +# dh_systemd_start doesn't emit anything since we still ship /etc/init.d/mariadb. +# Thus MariaDB server is started via init.d script, which in turn redirects to +# systemctl. If we upgrade from MySQL mysql.service may be masked, which also +# means init.d script is disabled. Unmask mysql service explicitly. +# Check first that the command exists, to avoid emitting any warning messages. +if [ -x "$(command -v deb-systemd-helper)" ]; then + deb-systemd-helper unmask mysql.service > /dev/null +fi + +#DEBHELPER# + +# Modified dh_systemd_start snippet that's not added automatically +if [ -d /run/systemd/system ]; then + systemctl --system daemon-reload >/dev/null || true + deb-systemd-invoke start mariadb.service >/dev/null || true +# Modified dh_installinit snippet to only run with sysvinit +elif [ -x "/etc/init.d/mariadb" ]; then + if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then + invoke-rc.d mariadb start || exit $? + fi +fi diff --cc debian/mariadb-server-core-10.6.install index def952685,000000000..4eee37067 mode 100644,000000..100644 --- a/debian/mariadb-server-core-10.6.install +++ b/debian/mariadb-server-core-10.6.install @@@ -1,48 -1,0 +1,51 @@@ +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/chinese +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/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 diff --cc debian/mariadb-server-core-10.6.lintian-overrides index 000000000,000000000..4ec7938f7 new file mode 100644 --- /dev/null +++ b/debian/mariadb-server-core-10.6.lintian-overrides @@@ -1,0 -1,0 +1,8 @@@ ++# myisam stopwords that cannot be changed and spelling errors remain ++spelling-error-in-binary usr/sbin/mariadbd AfE Safe ++spelling-error-in-binary usr/sbin/mariadbd noone no one ++spelling-error-in-binary usr/sbin/mariadbd thats that's ++spelling-error-in-binary usr/sbin/mariadbd theres there's ++spelling-error-in-binary usr/sbin/mariadbd yuR your ++# Valid reason for extra documentation in context in directory ++package-contains-documentation-outside-usr-share-doc usr/share/mysql/charsets/README diff --cc debian/mariadb-test-data.install index 718fc0e12,000000000..9e68c608c mode 100644,000000..100644 --- a/debian/mariadb-test-data.install +++ b/debian/mariadb-test-data.install @@@ -1,6 -1,0 +1,8 @@@ ++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 ++usr/share/mysql/mysql-test/unstable-tests diff --cc debian/mariadb-test-data.lintian-overrides index 4ff05a3be,000000000..630e9fcab mode 100644,000000..100644 --- a/debian/mariadb-test-data.lintian-overrides +++ b/debian/mariadb-test-data.lintian-overrides @@@ -1,3 -1,0 +1,25 @@@ +# These should be moved, see https://jira.mariadb.org/browse/MDEV-21654 +arch-dependent-file-in-usr-share usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so +arch-independent-package-contains-binary-or-object usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so ++# Intentional for test files ++national-encoding usr/share/mysql/mysql-test/* ++# Extra test documentation files that really need to be kept in context in test directory ++package-contains-documentation-outside-usr-share-doc usr/share/mysql/mysql-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_test usr/share/mysql/mysql-test/plugin/type_test/type_test/ ++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/ diff --cc debian/mariadb-test.install index 36b49bdab,000000000..3afba125c mode 100644,000000..100644 --- a/debian/mariadb-test.install +++ b/debian/mariadb-test.install @@@ -1,44 -1,0 +1,50 @@@ +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/lib/*/libmariadb3/plugin/auth_test_plugin.so +usr/lib/*/libmariadb3/plugin/qa_auth_client.so +usr/lib/*/libmariadb3/plugin/qa_auth_interface.so +usr/lib/*/libmariadb3/plugin/test_sql_service.so +usr/lib/mysql/plugin/adt_null.so +usr/lib/mysql/plugin/auth_0x0100.so +usr/lib/mysql/plugin/auth_test_plugin.so +usr/lib/mysql/plugin/daemon_example.ini +usr/lib/mysql/plugin/debug_key_management.so +usr/lib/mysql/plugin/dialog_examples.so +usr/lib/mysql/plugin/example_key_management.so +usr/lib/mysql/plugin/func_test.so +usr/lib/mysql/plugin/ha_example.so +usr/lib/mysql/plugin/ha_test_sql_discovery.so +usr/lib/mysql/plugin/libdaemon_example.so +usr/lib/mysql/plugin/mypluglib.so +usr/lib/mysql/plugin/qa_auth_interface.so +usr/lib/mysql/plugin/qa_auth_server.so +usr/lib/mysql/plugin/test_sql_service.so +usr/lib/mysql/plugin/test_versioning.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/mysql-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/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 diff --cc debian/mariadb-test.links index 3c45bb955,000000000..c7e4ae100 mode 100644,000000..100644 --- a/debian/mariadb-test.links +++ b/debian/mariadb-test.links @@@ -1,8 -1,0 +1,8 @@@ +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-test usr/bin/mysqltest +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/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 diff --cc debian/mariadb-test.lintian-overrides index 9de1b3784,000000000..9e8c5dda4 mode 100644,000000..100644 --- a/debian/mariadb-test.lintian-overrides +++ b/debian/mariadb-test.lintian-overrides @@@ -1,3 -1,0 +1,15 @@@ - # These should be moved, see https://jira.mariadb.org/browse/MDEV-21653 ++# OK, these files are part of test suite and only used for a test +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 and other variable names that cannot be changed and spelling errors remain ++spelling-error-in-binary usr/bin/* AfE Safe ++spelling-error-in-binary usr/bin/* yuR your ++spelling-error-in-binary usr/bin/* no one ++spelling-error-in-binary usr/bin/* that's ++spelling-error-in-binary usr/bin/* theres there's ++spelling-error-in-binary usr/lib/mysql/plugin/qa_auth_interface.so userA users ++# Valid reason for documentation in context in directory ++package-contains-documentation-outside-usr-share-doc usr/share/mysql/mysql-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 diff --cc debian/not-installed index 6924c9ad1,000000000..1f66fc963 mode 100644,000000..100644 --- a/debian/not-installed +++ b/debian/not-installed @@@ -1,53 -1,0 +1,68 @@@ +etc/columnstore/storagemanager.cnf.example # Copy of etc/columnstore/storagemanager.cnf that is installed - lib/systemd/system/mariadb.service # Installed by rules file - lib/systemd/system/mariadb.socket # Installed by rules file ++etc/logrotate.d/mysql # Debian packaging uses mariadb-server.mysql-server.logrotate ++etc/my.cnf # Debian packaging has /etc/mysql/my.cnf, which is a symlink to mariadb.cnf ++etc/mysql/mariadb.conf.d/client.cnf # Debian packaging uses files from debian/additions/mariadb.cnf.d/ ++etc/mysql/mariadb.conf.d/enable_encryption.preset # Debian packaging uses files from debian/additions/mariadb.cnf.d/ ++etc/mysql/mariadb.conf.d/mysql-clients.cnf # Debian packaging uses files from debian/additions/mariadb.cnf.d/ ++etc/mysql/mariadb.conf.d/server.cnf # Debian packaging uses files from debian/additions/mariadb.cnf.d/ +lib/systemd/system/mariadb-extra.socket # Installed by rules file ++lib/systemd/system/mariadb-extra@.socket # Installed by rules file ++lib/systemd/system/mariadb.service # Installed by rules file +lib/systemd/system/mariadb@.service # Installed by rules file ++lib/systemd/system/mariadb.socket # Installed by rules file +lib/systemd/system/mariadb@.socket # Installed by rules file - lib/systemd/system/mariadb-extra@.socket # Installed by rules file - usr/bin/mysql_config # We already have the MariaDB variant - usr/bin/mytop # Mytop is distributed from a separate source package ++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-embeded which is intentionally not included +usr/bin/sst_dump # Use the one from rocksdb-tools package - usr/lib/mysql/plugin/JavaWrappers.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless - usr/lib/mysql/plugin/JdbcInterface.jar # These are only built if JNI/libjawt.so is installed from e.g. openjdk-8-jre-headless - usr/lib/sysusers.d/sysusers.conf - usr/lib/tmpfiles.d/tmpfiles.conf ++usr/bin/test-connect-t +usr/lib/*/libdbbc.a # ColumnStore header file +usr/lib/*/libidbboot.a # ColumnStore header file +usr/lib/*/libprocessor.a # ColumnStore header file +usr/lib/*/libwe_xml.a # ColumnStore header file - usr/share/doc/mariadb-server-10.6/COPYING - usr/share/doc/mariadb-server-10.6/COPYING.AGPLv3 - usr/share/doc/mariadb-server-10.6/COPYING.GPLv2 - usr/share/doc/mariadb-server-10.6/COPYING.thirdparty ++usr/lib/mysql/plugin/type_test.so ++usr/lib/*/pkgconfig/mariadb.pc # Server (not client) helper has confusing naming https://jira.mariadb.org/browse/MDEV-23538 ++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-10.6/COPYING (related file: "debian/tmp/usr/share/mysql/mroonga/COPYING") +usr/share/doc/mariadb-server-10.6/CREDITS - usr/share/doc/mariadb-server-10.6/EXCEPTIONS-CLIENT +usr/share/doc/mariadb-server-10.6/INSTALL-BINARY - usr/share/doc/mariadb-server-10.6/PATENTS ++usr/share/doc/mariadb-server-10.6/README.md +usr/share/doc/mariadb-server-10.6/README-wsrep ++usr/share/doc/mariadb-server-10.6/THIRDPARTY +usr/share/groonga/COPYING +usr/share/groonga-normalizer-mysql/lgpl-2.0.txt +usr/share/groonga-normalizer-mysql/README.md +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-test-run.pl.1 # Spare manual page, should be deleted upstream ++usr/share/man/man1/mysql_embedded.1 # Symlink to mariadb-embeded.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/magic - usr/share/mysql/maria_add_gis_sp.sql ++usr/share/mysql/maria_add_gis_sp.sql # mariadb-server-core.install has *_bootstrap.sql ++usr/share/mysql/Mongo2.jar ++usr/share/mysql/Mongo3.jar +usr/share/mysql/mysqld_multi.server - usr/share/mysql/mysql-log-rotate - usr/share/mysql/mysql.server - usr/share/mysql/mysql-test/mtr # Already created by mariadb-test.links - usr/share/mysql/mysql-test/mysql-test-run # Already created by mariadb-test.links - usr/share/mysql/mysql_to_mariadb.sql ++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/mysql/wsrep.cnf diff --cc debian/patches/0025-Change-the-default-optimization-from-O3-to-O2-in-mys.patch index 000000000,000000000..991de3d28 new file mode 100644 --- /dev/null +++ b/debian/patches/0025-Change-the-default-optimization-from-O3-to-O2-in-mys.patch @@@ -1,0 -1,0 +1,54 @@@ ++From: =?utf-8?q?Ond=C5=99ej_Sur=C3=BD?= ++Date: Wed, 22 Nov 2017 20:32:51 +0000 ++Subject: Change the default optimization from -O3 to -O2 in ++ mysql_release.cmake BUILD_CONFIG profile ++Forwarded: https://jira.mariadb.org/browse/MDEV-19734?focusedCommentId=156606&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-156606 ++ ++--- ++ cmake/build_configurations/mysql_release.cmake | 12 ++++++------ ++ .../PerconaFT/cmake_modules/TokuSetupCompiler.cmake | 16 ++++++++-------- ++ 2 files changed, 14 insertions(+), 14 deletions(-) ++ ++--- a/cmake/build_configurations/mysql_release.cmake +++++ b/cmake/build_configurations/mysql_release.cmake ++@@ -183,12 +183,12 @@ IF(UNIX) ++ IF(CMAKE_COMPILER_IS_GNUCC) ++ SET(COMMON_C_FLAGS "-g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized") ++ SET(CMAKE_C_FLAGS_DEBUG "-O ${COMMON_C_FLAGS}") ++- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") +++ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 ${COMMON_C_FLAGS}") ++ ENDIF() ++ IF(CMAKE_COMPILER_IS_GNUCXX) ++ SET(COMMON_CXX_FLAGS "-g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized") ++ SET(CMAKE_CXX_FLAGS_DEBUG "-O ${COMMON_CXX_FLAGS}") ++- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") +++ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 ${COMMON_CXX_FLAGS}") ++ ENDIF() ++ ++ # IBM Z flags ++@@ -237,8 +237,8 @@ IF(UNIX) ++ ENDIF() ++ SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") ++ SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") ++- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -unroll2 -ip ${COMMON_C_FLAGS}") ++- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -unroll2 -ip ${COMMON_CXX_FLAGS}") +++ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -unroll2 -ip ${COMMON_C_FLAGS}") +++ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -unroll2 -ip ${COMMON_CXX_FLAGS}") ++ SET(WITH_SSL no) ++ ENDIF() ++ ENDIF() ++@@ -247,12 +247,12 @@ IF(UNIX) ++ IF(CMAKE_C_COMPILER_ID MATCHES "Clang") ++ SET(COMMON_C_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing -Wno-parentheses-equality -Wno-string-plus-int") ++ SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") ++- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") +++ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 ${COMMON_C_FLAGS}") ++ ENDIF() ++ IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang") ++ SET(COMMON_CXX_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing -Wno-parentheses-equality -Wno-string-plus-int") ++ SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") ++- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") +++ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 ${COMMON_CXX_FLAGS}") ++ ENDIF() ++ ++ # Solaris flags diff --cc debian/patches/1556.patch index 000000000,000000000..d1e2f9853 new file mode 100644 --- /dev/null +++ b/debian/patches/1556.patch @@@ -1,0 -1,0 +1,140 @@@ ++Forwarded: https://github.com/MariaDB/server/pull/1556 ++From: =?UTF-8?q?Otto=20Kek=C3=A4l=C3=A4inen?= ++Date: Wed, 30 Sep 2020 20:01:35 +0300 ++Subject: [PATCH] MDEV-22659: Create one single unified and optimal logrotate ++ config ++ ++Replace mysql-log-rotate.sh and debian/...mysql-server.logrotate with one ++new unified and well documented version. ++ ++Name is mariadb.logrotate.in as in 10.6 branch we use now the 'mariadb' ++name, and use 'logrotate' to match the actual name of the utility, and ++use '.in' instead of '.sh' as this is not a shell script but a template ++file. ++ ++--- a/.gitignore +++++ b/.gitignore ++@@ -260,7 +260,7 @@ support-files/my-innodb-heavy-4G.cnf ++ support-files/my-large.cnf ++ support-files/my-medium.cnf ++ support-files/my-small.cnf ++-support-files/mysql-log-rotate +++support-files/mariadb.logrotate ++ support-files/mysql.10.0.11.spec ++ support-files/mysql.server ++ support-files/mysql.service ++--- a/support-files/CMakeLists.txt +++++ b/support-files/CMakeLists.txt ++@@ -32,6 +32,9 @@ ELSE() ++ SET(MYSQLD_GROUP "mysql") ++ SET(ini_file_extension "cnf") ++ SET(HOSTNAME "uname -n") +++ +++ # Define directly here, as cmake/install_layout.cmake has no LOGDIR to be inherited +++ SET(logdir "/var/log/mysql") ++ ENDIF() ++ ++ # XXX: shouldn't we just have variables for all this stuff and centralise ++@@ -51,9 +54,11 @@ ENDIF() ++ ++ IF(UNIX AND NOT WITHOUT_SERVER) ++ SET(prefix ${CMAKE_INSTALL_PREFIX}) ++- FOREACH(script mysqld_multi.server mysql-log-rotate binary-configure wsrep_notify) ++- CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${script}.sh +++ FOREACH(script mysqld_multi.server binary-configure wsrep_notify) +++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${script}.sh ++ ${CMAKE_CURRENT_BINARY_DIR}/${script} @ONLY ) +++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mariadb.logrotate.in +++ ${CMAKE_CURRENT_BINARY_DIR}/mariadb.logrotate @ONLY ) ++ INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${script} ++ DESTINATION ${inst_location} COMPONENT Server_Scripts) ++ ENDFOREACH() ++@@ -95,7 +100,7 @@ IF(UNIX AND NOT WITHOUT_SERVER) ++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development) ++ ++ INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development) ++- +++ ++ SET(bindir ${INSTALL_BINDIRABS}) ++ SET(sbindir ${INSTALL_SBINDIRABS}) ++ SET(scriptdir ${INSTALL_SCRIPTDIRABS}) ++@@ -113,7 +118,7 @@ IF(UNIX AND NOT WITHOUT_SERVER) ++ ELSE() ++ SET(sysconf2dir "${sysconfdir}/mysql") ++ ENDIF() ++- CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql.server.sh +++ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql.server.sh ++ ${CMAKE_CURRENT_BINARY_DIR}/mysql.server @ONLY) ++ INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/mysql.server ++ DESTINATION ${inst_location} COMPONENT SupportFiles) ++@@ -199,8 +204,9 @@ IF(UNIX AND NOT WITHOUT_SERVER) ++ ENDIF() ++ ++ IF (INSTALL_SYSCONFDIR) ++- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mysql-log-rotate DESTINATION ${INSTALL_SYSCONFDIR}/logrotate.d ++- RENAME mysql COMPONENT SupportFiles) +++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.logrotate +++ DESTINATION ${INSTALL_SYSCONFDIR}/logrotate.d +++ RENAME mariadb COMPONENT SupportFiles) ++ IF(NOT HAVE_SYSTEMD) ++ INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/mysql.server ++ DESTINATION ${INSTALL_SYSCONFDIR}/init.d ++--- /dev/null +++++ b/support-files/mariadb.logrotate.in ++@@ -0,0 +1,56 @@ +++# This is the MariaDB configuration for the logrotate utility +++# +++# Note that on most Linux systems logs are written to journald, which has its +++# own rotation scheme. +++# +++# Read https://mariadb.com/kb/en/error-log/ to learn more about logging and +++# https://mariadb.com/kb/en/rotating-logs-on-unix-and-linux/ about rotating logs. +++ +++@localstatedir@/mysqld.log @logdir@/mysql.log @localstatedir@/mariadb.log @logdir@/mysql-slow.log @logdir@/mariadb-slow.log @logdir@/error.log { +++ +++ # If any of the files listed above is missing, skip them silently without +++ # emitting any errors +++ missingok +++ +++ # If file exists but is empty, don't rotate it +++ notifempty +++ +++ # Run monthly +++ monthly +++ +++ # Keep 6 months of logs +++ rotate 6 +++ +++ # If file is growing too big, rotate immediately +++ maxsize 500M +++ +++ # If file size is too small, don't rotate at all +++ minsize 50M +++ +++ # Compress logs, as they are text and compression will save a lot of disk space +++ compress +++ +++ # Don't compress the log immediately to avoid errors about "file size changed while zipping" +++ delaycompress +++ +++ # Don't run the postrotate script for each file configured in this file, but +++ # run it only once if one or more files were rotated +++ sharedscripts +++ +++ # After each rotation, run this custom script to flush the logs. Note that +++ # this assumes that the mariadb-admin command has database access, which it +++ # has thanks to the default use of Unix socket authentication for the 'root' +++ # account used everywhere since MariaDB 10.4. +++ postrotate +++ if test -r /etc/mysql/debian.cnf +++ then +++ EXTRAPARAM='--defaults-file=/etc/mysql/debian.cnf' +++ fi +++ +++ if test -x @bindir@/mariadb-admin +++ then +++ @bindir@/mariadb-admin $EXTRAPARAM --local flush-error-log \ +++ flush-engine-log flush-general-log flush-slow-log +++ fi +++ endscript +++} diff --cc debian/patches/2006-kfreebsd-amd64.patch index 000000000,000000000..dd1ee21a1 new file mode 100644 --- /dev/null +++ b/debian/patches/2006-kfreebsd-amd64.patch @@@ -1,0 -1,0 +1,30 @@@ ++Forwarded: https://github.com/MariaDB/server/pull/2006 ++Origin: https://patch-diff.githubusercontent.com/raw/MariaDB/server/pull/2006.patch ++From: Samuel Thibault ++Date: Tue, 8 Feb 2022 00:18:27 +0000 ++Subject: [PATCH] MDEV-27804 Fails to build - perf schema - thread id of type ++ uintptr_t requires header ++ ++While building on GNU/Hurd and kfreebsd. ++ ++On the C++ standard uintptr_t can be defined in ++ref: https://www.cplusplus.com/reference/cstdint/ ++ ++Fixes: 0d44792a835128a83ff07f14dbbcdd621df9f7da ++--- ++ storage/perfschema/my_thread.h | 4 ++++ ++ 1 file changed, 4 insertions(+) ++ ++--- a/storage/perfschema/my_thread.h +++++ b/storage/perfschema/my_thread.h ++@@ -18,6 +18,10 @@ ++ #include ++ #endif ++ +++#if defined(HAVE_INTEGER_PTHREAD_SELF) +++#include +++#endif +++ ++ typedef pthread_key_t thread_local_key_t; ++ typedef pthread_t my_thread_handle; ++ typedef pthread_attr_t my_thread_attr_t; diff --cc debian/patches/2129-new-script-wsrep-sst-backup-fixes.patch index 000000000,000000000..8786887ec new file mode 100644 --- /dev/null +++ b/debian/patches/2129-new-script-wsrep-sst-backup-fixes.patch @@@ -1,0 -1,0 +1,51 @@@ ++Forwarded: https://github.com/MariaDB/server/pull/2129 ++Origin: https://patch-diff.githubusercontent.com/raw/MariaDB/server/pull/2129.patch ++From: =?UTF-8?q?Otto=20Kek=C3=A4l=C3=A4inen?= ++Date: Sun, 22 May 2022 10:13:33 -0700 ++Subject: [PATCH] Properly introduce wsrep_sst_backup script in project ++ packaging ++ ++The script wsrep_sst_backup was introduced on MariaDB 10.3 in commit ++9b2fa2a. The new script was automatically included in RPM packages but not ++in Debian packages (which started to fail on waring about stray file). ++ ++Include wsrep_sst_backup in the mariadb-server-10.{3..8} package, and ++also include a stub man page so that packaging of a new script is complete. ++ ++--- ++ debian/mariadb-server-10.6.install | 2 ++ ++ man/CMakeLists.txt | 2 +- ++ man/wsrep_sst_backup.1 | 16 ++++++++++++++++ ++ 3 files changed, 19 insertions(+), 1 deletion(-) ++ create mode 100644 man/wsrep_sst_backup.1 ++ ++--- a/man/CMakeLists.txt +++++ b/man/CMakeLists.txt ++@@ -13,7 +13,7 @@ ++ # along with this program; if not, write to the Free Software ++ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA ++ SET(MAN1_WSREP wsrep_sst_rsync.1 wsrep_sst_common.1 wsrep_sst_mariabackup.1 ++- wsrep_sst_rsync_wan.1) +++ wsrep_sst_rsync_wan.1 wsrep_sst_backup.1) ++ SET(MAN1_SERVER innochecksum.1 myisam_ftdump.1 myisamchk.1 ++ aria_chk.1 aria_dump_log.1 aria_ftdump.1 aria_pack.1 aria_read_log.1 ++ aria_s3_copy.1 ++--- /dev/null +++++ b/man/wsrep_sst_backup.1 ++@@ -0,0 +1,16 @@ +++'\" t +++.\" +++.TH "\FBWSREP_SST_BACKUP\FR" "1" "22 May 2022" "MariaDB 10\&.3" "MariaDB Database System" +++.\" ----------------------------------------------------------------- +++.\" * set default formatting +++.\" ----------------------------------------------------------------- +++.\" disable hyphenation +++.nh +++.\" disable justification (adjust text to left margin only) +++.ad l +++.SH NAME +++wsrep_sst_backup \- backup helper script for the MariaDB Galera Cluster +++.SH DESCRIPTION +++Use: See source code of script\. +++.PP +++For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/ diff --cc debian/patches/env-perl-usr-bin-perl.patch index 000000000,000000000..280960729 new file mode 100644 --- /dev/null +++ b/debian/patches/env-perl-usr-bin-perl.patch @@@ -1,0 -1,0 +1,97 @@@ ++Forwarded: https://github.com/MariaDB/server/pull/1718 ++Author: Otto Kekäläinen ++Subject: Fix perl path in scripts ++ Fix Lintian issue ++ https://lintian.debian.org/tags/incorrect-path-for-interpreter.html ++ . ++ Upstream will never accept this patch, see ++ https://github.com/MariaDB/server/pull/1718 ++ ++--- a/mysql-test/lib/process-purecov-annotations.pl +++++ b/mysql-test/lib/process-purecov-annotations.pl ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ # -*- cperl -*- ++ ++ # This script processes a .gcov coverage report to honor purecov ++--- a/mysql-test/lib/v1/mysql-test-run.pl +++++ b/mysql-test/lib/v1/mysql-test-run.pl ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ # -*- cperl -*- ++ ++ # Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. ++--- a/mysql-test/mariadb-stress-test.pl +++++ b/mysql-test/mariadb-stress-test.pl ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ ++ # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. ++ # ++--- a/mysql-test/mariadb-test-run.pl +++++ b/mysql-test/mariadb-test-run.pl ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ # -*- cperl -*- ++ ++ # Copyright (c) 2004, 2014, Oracle and/or its affiliates. ++--- a/mysql-test/std_data/checkDBI_DBD-MariaDB.pl +++++ b/mysql-test/std_data/checkDBI_DBD-MariaDB.pl ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ ++ # Copyright (c) 2011, Oracle and/or its affiliates ++ # ++--- a/mysql-test/suite/engines/rr_trx/run_stress_tx_rr.pl +++++ b/mysql-test/suite/engines/rr_trx/run_stress_tx_rr.pl ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ ################################################################################ ++ # ++ # This script runs the transactional stress test "stress_tx_rr" against the ++--- a/mysql-test/suite/funcs_1/lib/DataGen_local.pl +++++ b/mysql-test/suite/funcs_1/lib/DataGen_local.pl ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ ++ ++ if ( (scalar(@ARGV) != 1 ) || ($ARGV[0] =~ /[^0-9]/i ) ) ++--- a/mysql-test/suite/funcs_1/lib/DataGen_modify.pl +++++ b/mysql-test/suite/funcs_1/lib/DataGen_modify.pl ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ ++ ++ if ( (scalar(@ARGV) != 2 ) || ($ARGV[0] =~ /[^0-9]/i ) ) ++--- a/mysql-test/suite/funcs_2/lib/gen_charset_utf8.pl +++++ b/mysql-test/suite/funcs_2/lib/gen_charset_utf8.pl ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ ++ ################################################################################# ++ # Author: Serge Kozlov # ++--- a/mysql-test/suite/rpl/extension/checksum.pl +++++ b/mysql-test/suite/rpl/extension/checksum.pl ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ ++ # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. ++ # ++--- a/scripts/mytop.sh +++++ b/scripts/mytop.sh ++@@ -1,4 +1,4 @@ ++-#!/usr/bin/env perl +++#!/usr/bin/perl ++ # ++ # $Id: mytop,v 1.99-maria6 2019/10/22 14:53:51 jweisbuch Exp $ ++ diff --cc debian/patches/fix-reproducible-builds-rocksdb.patch index 000000000,000000000..a31a39015 new file mode 100644 --- /dev/null +++ b/debian/patches/fix-reproducible-builds-rocksdb.patch @@@ -1,0 -1,0 +1,26 @@@ ++Origin: upstream, https://github.com/facebook/rocksdb/commit/0a9a05ae12943b1529ef1eabbca5ce5a71c986bf ++# Merged in RocksDB 6.19.3, but not updated into MariaDB 10.6 ++Bug: https://github.com/facebook/rocksdb/issues/7035 ++Author: Otto Kekäläinen ++Subject: Make RocksDB build reproducible ++ ++The RocksDB binary included a string with the build timestamp: ++> rocksdb_build_git_date:@2021-05-23·16:04:38@ ++ ++As this changes from build to build, it makes the builds unreproducible. ++Simply removing it solves the issue. ++ ++This temporary fix can be removed when a proper fix already done in upstream ++lands in MariaDB when the RocksDB submodule is updated to a newer release. ++ ++--- a/storage/rocksdb/rocksdb/util/build_version.cc.in +++++ b/storage/rocksdb/rocksdb/util/build_version.cc.in ++@@ -1,5 +1,5 @@ ++ // Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. ++ #include "build_version.h" ++-const char* rocksdb_build_git_sha = "rocksdb_build_git_sha:@@GIT_SHA@@"; ++-const char* rocksdb_build_git_date = "rocksdb_build_git_date:@@GIT_DATE_TIME@@"; ++-const char* rocksdb_build_compile_date = __DATE__; +++const char* rocksdb_build_git_sha = "rocksdb_build_git_sha:REDACTED"; +++const char* rocksdb_build_git_date = "rocksdb_build_git_date:REDACTED"; +++const char* rocksdb_build_compile_date = "REDACTED"; diff --cc debian/patches/fix-spelling-rocksdb.patch index 000000000,000000000..f13352db1 new file mode 100644 --- /dev/null +++ b/debian/patches/fix-spelling-rocksdb.patch @@@ -1,0 -1,0 +1,36 @@@ ++Forwarded: https://github.com/facebook/rocksdb/pull/9653 ++Author: Otto Kekäläinen ++Subject: Fix various spelling errors still found in code ++ Two upstream PRs remain that have been merged, but not imported on MariaDB 10.6. ++ ++--- a/storage/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +++++ b/storage/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc ++@@ -46,7 +46,7 @@ Status ExternalSstFileIngestionJob::Prep ++ TablePropertiesCollectorFactory::Context::kUnknownColumnFamily && ++ f.cf_id != cfd_->GetID()) { ++ return Status::InvalidArgument( ++- "External file column family id dont match"); +++ "External file column family id don't match"); ++ } ++ } ++ ++@@ -646,7 +646,7 @@ Status ExternalSstFileIngestionJob::Assi ++ return Status::InvalidArgument("Global seqno is required, but disabled"); ++ } else if (file_to_ingest->global_seqno_offset == 0) { ++ return Status::InvalidArgument( ++- "Trying to set global seqno for a file that dont have a global seqno " +++ "Trying to set global seqno for a file that don't have a global seqno " ++ "field"); ++ } ++ ++--- a/storage/rocksdb/rocksdb/include/rocksdb/cache.h +++++ b/storage/rocksdb/rocksdb/include/rocksdb/cache.h ++@@ -60,7 +60,7 @@ struct LRUCacheOptions { ++ // If greater than zero, the LRU list will be split into a high-pri ++ // list and a low-pri list. High-pri entries will be insert to the ++ // tail of high-pri list, while low-pri entries will be first inserted to ++- // the low-pri list (the midpoint). This is refered to as +++ // the low-pri list (the midpoint). This is referred to as ++ // midpoint insertion strategy to make entries never get hit in cache ++ // age out faster. ++ // diff --cc debian/patches/mroonga-mrn-lib-dirs-path-reproducible-build.patch index 000000000,000000000..45c84ccea new file mode 100644 --- /dev/null +++ b/debian/patches/mroonga-mrn-lib-dirs-path-reproducible-build.patch @@@ -1,0 -1,0 +1,39 @@@ ++Origin: upstream, https://github.com/mroonga/mroonga/issues/298#issuecomment-1030815927 ++Bug: https://github.com/mroonga/mroonga/issues/298 ++Forwarded: not-needed ++Author: Sutou Kouhei ++Date: Sat, 5 Feb 2022 11:05:39 +0900 ++Subject: [PATCH] cmake: add support for reproducible buildS ++ . ++ We should use relative path not absolute path. ++ We can use target without breaking reproducibility. ++--- a/storage/mroonga/CMakeLists.txt +++++ b/storage/mroonga/CMakeLists.txt ++@@ -219,7 +219,7 @@ set(MYSQL_INCLUDE_DIRS ++ ++ if(MRN_BUNDLED) ++ set(MYSQL_PLUGIN_DIR "${INSTALL_PLUGINDIR}") ++- set(MYSQL_SERVICES_LIB_DIR "${MYSQL_BUILD_DIR}/libservices") +++ set(MYSQL_SERVICES_LIB_DIR) ++ set(MYSQL_CFLAGS "${CMAKE_C_FLAGS}") ++ set(MYSQL_VERSION "${MYSQL_BASE_VERSION}") ++ else() ++@@ -258,15 +258,11 @@ endif() ++ ++ if(MRN_GROONGA_BUNDLED) ++ set(GROONGA_INCLUDE_DIRS "${MRN_BUNDLED_GROONGA_DIR}/include") ++- set(GROONGA_LIBRARY_DIRS "${MRN_BUNDLED_GROONGA_DIR}/lib") ++- set(GROONGA_LIBRARIES "libgroonga") +++ set(GROONGA_LIBRARY "libgroonga") ++ ++- set(MRN_LIBRARY_DIRS ${GROONGA_LIBRARY_DIRS}) ++- set(MRN_LIBRARIES ${GROONGA_LIBRARIES}) +++ set(MRN_LIBRARY_DIRS) +++ set(MRN_LIBRARIES ${GROONGA_LIBRARY}) ++ if(MRN_GROONGA_NORMALIZER_MYSQL_EMBED) ++- set(MRN_LIBRARY_DIRS ++- ${MRN_LIBRARY_DIRS} ++- "${MRN_BUNDLED_GROONGA_NORMALIZER_MYSQL_DIR}/normalizers") ++ set(MRN_LIBRARIES ${MRN_LIBRARIES} mysql_normalizer) ++ endif() ++ else() diff --cc debian/patches/openssl-3-compatibility.patch index 000000000,000000000..770a9c9b3 new file mode 100644 --- /dev/null +++ b/debian/patches/openssl-3-compatibility.patch @@@ -1,0 -1,0 +1,369 @@@ ++Forwarded: https://github.com/MariaDB/server/pull/2036 ++From: https://gitlab.com/redhat/centos-stream/rpms/mariadb/-/blob/c9s/mariadb-openssl3.patch ++Origin: upstream, https://github.com/MariaDB/server/commit/c80991c79f701dac42c630af4bd39593b0c7efb4 ++Author: Vladislav Vaintroub ++Date: Mon, 8 Nov 2021 18:48:19 +0100 ++Subject: [PATCH] MDEV-25785 Add support for OpenSSL 3.0 ++ ++Summary of changes ++ ++- MD_CTX_SIZE is increased ++ ++- EVP_CIPHER_CTX_buf_noconst(ctx) does not work anymore, points ++ to nobody knows where. The assumption made previously was that ++ (since the function does not seem to be documented) ++ was that it points to the last partial source block. ++ Add own partial block buffer for NOPAD encryption instead ++ ++- SECLEVEL in CipherString in openssl.cnf ++ had been downgraded to 0, from 1, to make TLSv1.0 and TLSv1.1 possible ++ ++- Workaround Ssl_cipher_list issue, it now returns TLSv1.3 ciphers, ++ in addition to what was set in --ssl-cipher ++ ++- ctx_buf buffer now must be aligned to 16 bytes with openssl( ++ previously with WolfSSL only), or crashes will happen ++ ++- updated aes-t , to be better debuggable ++ using function, rather than a huge multiline macro ++ added test that does "nopad" encryption piece-wise, to test ++ replacement of EVP_CIPHER_CTX_buf_noconst ++--- ++ cmake/ssl.cmake | 19 ++++- ++ include/ssl_compat.h | 3 +- ++ mysql-test/lib/openssl.cnf | 2 +- ++ mysql-test/main/ssl_cipher.result | 6 +- ++ mysql-test/main/ssl_cipher.test | 2 +- ++ mysys_ssl/my_crypt.cc | 46 +++++++----- ++ unittest/mysys/aes-t.c | 121 ++++++++++++++++++++++-------- ++ 7 files changed, 141 insertions(+), 58 deletions(-) ++ ++ ++--- a/cmake/ssl.cmake +++++ b/cmake/ssl.cmake ++@@ -139,9 +139,20 @@ MACRO (MYSQL_CHECK_SSL) ++ SET(SSL_INTERNAL_INCLUDE_DIRS "") ++ SET(SSL_DEFINES "-DHAVE_OPENSSL") ++ +++ FOREACH(x INCLUDES LIBRARIES DEFINITIONS) +++ SET(SAVE_CMAKE_REQUIRED_${x} ${CMAKE_REQUIRED_${x}}) +++ ENDFOREACH() +++ +++ # Silence "deprecated in OpenSSL 3.0" +++ IF((NOT OPENSSL_VERSION) # 3.0 not determined by older cmake +++ OR NOT(OPENSSL_VERSION VERSION_LESS "3.0.0")) +++ SET(SSL_DEFINES "${SSL_DEFINES} -DOPENSSL_API_COMPAT=0x10100000L") +++ SET(CMAKE_REQUIRED_DEFINITIONS -DOPENSSL_API_COMPAT=0x10100000L) +++ ENDIF() +++ ++ SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) ++ SET(CMAKE_REQUIRED_LIBRARIES ${SSL_LIBRARIES}) ++- SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) +++ ++ CHECK_SYMBOL_EXISTS(ERR_remove_thread_state "openssl/err.h" ++ HAVE_ERR_remove_thread_state) ++ CHECK_SYMBOL_EXISTS(EVP_aes_128_ctr "openssl/evp.h" ++@@ -150,8 +161,10 @@ MACRO (MYSQL_CHECK_SSL) ++ HAVE_EncryptAes128Gcm) ++ CHECK_SYMBOL_EXISTS(X509_check_host "openssl/x509v3.h" ++ HAVE_X509_check_host) ++- SET(CMAKE_REQUIRED_INCLUDES) ++- SET(CMAKE_REQUIRED_LIBRARIES) +++ +++ FOREACH(x INCLUDES LIBRARIES DEFINITIONS) +++ SET(CMAKE_REQUIRED_${x} ${SAVE_CMAKE_REQUIRED_${x}}) +++ ENDFOREACH() ++ ELSE() ++ IF(WITH_SSL STREQUAL "system") ++ MESSAGE(FATAL_ERROR "Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to enable SSL support") ++--- a/include/ssl_compat.h +++++ b/include/ssl_compat.h ++@@ -24,7 +24,7 @@ ++ #define SSL_LIBRARY OpenSSL_version(OPENSSL_VERSION) ++ #define ERR_remove_state(X) ERR_clear_error() ++ #define EVP_CIPHER_CTX_SIZE 176 ++-#define EVP_MD_CTX_SIZE 48 +++#define EVP_MD_CTX_SIZE 72 ++ #undef EVP_MD_CTX_init ++ #define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0) ++ #undef EVP_CIPHER_CTX_init ++--- a/mysql-test/lib/openssl.cnf +++++ b/mysql-test/lib/openssl.cnf ++@@ -9,4 +9,4 @@ ssl_conf = ssl_section ++ system_default = system_default_section ++ ++ [system_default_section] ++-CipherString = ALL:@SECLEVEL=1 +++CipherString = ALL:@SECLEVEL=0 ++--- a/mysql-test/main/ssl_cipher.result +++++ b/mysql-test/main/ssl_cipher.result ++@@ -58,11 +58,8 @@ Ssl_cipher AES256-SHA ++ drop user mysqltest_1@localhost; ++ # restart: --ssl-cipher=AES128-SHA ++ connect ssl_con,localhost,root,,,,,SSL; ++-SHOW STATUS LIKE 'Ssl_cipher'; ++-Variable_name Value ++-Ssl_cipher AES128-SHA ++-SHOW STATUS LIKE 'Ssl_cipher_list'; ++-Variable_name Value ++-Ssl_cipher_list AES128-SHA +++SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list'; +++VARIABLE_VALUE like '%AES128-SHA%' +++1 ++ disconnect ssl_con; ++ connection default; ++--- a/mysql-test/main/ssl_cipher.test +++++ b/mysql-test/main/ssl_cipher.test ++@@ -97,7 +97,6 @@ drop user mysqltest_1@localhost; ++ let $restart_parameters=--ssl-cipher=AES128-SHA; ++ source include/restart_mysqld.inc; ++ connect (ssl_con,localhost,root,,,,,SSL); ++-SHOW STATUS LIKE 'Ssl_cipher'; ++-SHOW STATUS LIKE 'Ssl_cipher_list'; +++SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list'; ++ disconnect ssl_con; ++ connection default; ++--- a/mysys_ssl/my_crypt.cc +++++ b/mysys_ssl/my_crypt.cc ++@@ -29,11 +29,7 @@ ++ #include ++ #include ++ ++-#ifdef HAVE_WOLFSSL ++ #define CTX_ALIGN 16 ++-#else ++-#define CTX_ALIGN 0 ++-#endif ++ ++ class MyCTX ++ { ++@@ -100,8 +96,9 @@ class MyCTX_nopad : public MyCTX ++ { ++ public: ++ const uchar *key; ++- uint klen, buf_len; +++ uint klen, source_tail_len; ++ uchar oiv[MY_AES_BLOCK_SIZE]; +++ uchar source_tail[MY_AES_BLOCK_SIZE]; ++ ++ MyCTX_nopad() : MyCTX() { } ++ ~MyCTX_nopad() { } ++@@ -112,7 +109,7 @@ public: ++ compile_time_assert(MY_AES_CTX_SIZE >= sizeof(MyCTX_nopad)); ++ this->key= key; ++ this->klen= klen; ++- this->buf_len= 0; +++ this->source_tail_len= 0; ++ if (ivlen) ++ memcpy(oiv, iv, ivlen); ++ DBUG_ASSERT(ivlen == 0 || ivlen == sizeof(oiv)); ++@@ -123,26 +120,41 @@ public: ++ return res; ++ } ++ +++ /** Update last partial source block, stored in source_tail array. */ +++ void update_source_tail(const uchar* src, uint slen) +++ { +++ if (!slen) +++ return; +++ uint new_tail_len= (source_tail_len + slen) % MY_AES_BLOCK_SIZE; +++ if (new_tail_len) +++ { +++ if (slen + source_tail_len < MY_AES_BLOCK_SIZE) +++ { +++ memcpy(source_tail + source_tail_len, src, slen); +++ } +++ else +++ { +++ DBUG_ASSERT(slen > new_tail_len); +++ memcpy(source_tail, src + slen - new_tail_len, new_tail_len); +++ } +++ } +++ source_tail_len= new_tail_len; +++ } +++ ++ int update(const uchar *src, uint slen, uchar *dst, uint *dlen) ++ { ++- buf_len+= slen; +++ update_source_tail(src, slen); ++ return MyCTX::update(src, slen, dst, dlen); ++ } ++ ++ int finish(uchar *dst, uint *dlen) ++ { ++- buf_len %= MY_AES_BLOCK_SIZE; ++- if (buf_len) +++ if (source_tail_len) ++ { ++- uchar *buf= EVP_CIPHER_CTX_buf_noconst(ctx); ++ /* ++ Not much we can do, block ciphers cannot encrypt data that aren't ++ a multiple of the block length. At least not without padding. ++ Let's do something CTR-like for the last partial block. ++- ++- NOTE this assumes that there are only buf_len bytes in the buf. ++- If OpenSSL will change that, we'll need to change the implementation ++- of this class too. ++ */ ++ uchar mask[MY_AES_BLOCK_SIZE]; ++ uint mlen; ++@@ -154,10 +166,10 @@ public: ++ return rc; ++ DBUG_ASSERT(mlen == sizeof(mask)); ++ ++- for (uint i=0; i < buf_len; i++) ++- dst[i]= buf[i] ^ mask[i]; +++ for (uint i=0; i < source_tail_len; i++) +++ dst[i]= source_tail[i] ^ mask[i]; ++ } ++- *dlen= buf_len; +++ *dlen= source_tail_len; ++ return MY_AES_OK; ++ } ++ }; ++--- a/unittest/mysys/aes-t.c +++++ b/unittest/mysys/aes-t.c ++@@ -21,27 +21,96 @@ ++ #include ++ #include ++ ++-#define DO_TEST(mode, nopad, slen, fill, dlen, hash) \ ++- SKIP_BLOCK_IF(mode == 0xDEADBEAF, nopad ? 4 : 5, #mode " not supported") \ ++- { \ ++- memset(src, fill, src_len= slen); \ ++- ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, \ ++- src, src_len, dst, &dst_len, \ ++- key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK, \ ++- "encrypt " #mode " %u %s", src_len, nopad ? "nopad" : "pad"); \ ++- if (!nopad) \ ++- ok (dst_len == my_aes_get_size(mode, src_len), "my_aes_get_size");\ ++- my_md5(md5, (char*)dst, dst_len); \ ++- ok(dst_len == dlen && memcmp(md5, hash, sizeof(md5)) == 0, "md5"); \ ++- ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT, \ ++- dst, dst_len, ddst, &ddst_len, \ ++- key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK, \ ++- "decrypt " #mode " %u", dst_len); \ ++- ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp"); \ +++ +++/** Test streaming encryption, bytewise update.*/ +++static int aes_crypt_bytewise(enum my_aes_mode mode, int flags, const unsigned char *src, +++ unsigned int slen, unsigned char *dst, unsigned int *dlen, +++ const unsigned char *key, unsigned int klen, +++ const unsigned char *iv, unsigned int ivlen) +++{ +++ /* Allocate context on odd address on stack, in order to +++ catch misalignment errors.*/ +++ void *ctx= (char *)alloca(MY_AES_CTX_SIZE+1)+1; +++ +++ int res1, res2; +++ uint d1= 0, d2; +++ uint i; +++ +++ if ((res1= my_aes_crypt_init(ctx, mode, flags, key, klen, iv, ivlen))) +++ return res1; +++ for (i= 0; i < slen; i++) +++ { +++ uint tmp_d1=0; +++ res1= my_aes_crypt_update(ctx, src+i,1, dst, &tmp_d1); +++ if (res1) +++ return res1; +++ d1+= tmp_d1; +++ dst+= tmp_d1; +++ } +++ res2= my_aes_crypt_finish(ctx, dst, &d2); +++ *dlen= d1 + d2; +++ return res1 ? res1 : res2; +++} +++ +++ +++#ifndef HAVE_EncryptAes128Ctr +++const uint MY_AES_CTR=0xDEADBEAF; +++#endif +++#ifndef HAVE_EncryptAes128Gcm +++const uint MY_AES_GCM=0xDEADBEAF; +++#endif +++ +++#define MY_AES_UNSUPPORTED(x) (x == 0xDEADBEAF) +++ +++static void do_test(uint mode, const char *mode_str, int nopad, uint slen, +++ char fill, size_t dlen, const char *hash) +++{ +++ uchar key[16]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6}; +++ uchar iv[16]= {2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7}; +++ uchar src[1000], dst[1100], dst2[1100], ddst[1000]; +++ uchar md5[MY_MD5_HASH_SIZE]; +++ uint src_len, dst_len, dst_len2, ddst_len; +++ int result; +++ +++ if (MY_AES_UNSUPPORTED(mode)) +++ { +++ skip(nopad?7:6, "%s not supported", mode_str); +++ return; +++ } +++ memset(src, fill, src_len= slen); +++ result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src, src_len, +++ dst, &dst_len, key, sizeof(key), iv, sizeof(iv)); +++ ok(result == MY_AES_OK, "encrypt %s %u %s", mode_str, src_len, +++ nopad ? "nopad" : "pad"); +++ +++ if (nopad) +++ { +++ result= aes_crypt_bytewise(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src, +++ src_len, dst2, &dst_len2, key, sizeof(key), +++ iv, sizeof(iv)); +++ ok(result == MY_AES_OK, "encrypt bytewise %s %u", mode_str, src_len); +++ /* Compare with non-bytewise encryption result*/ +++ ok(dst_len == dst_len2 && memcmp(dst, dst2, dst_len) == 0, +++ "memcmp bytewise %s %u", mode_str, src_len); ++ } +++ else +++ { +++ int dst_len_real= my_aes_get_size(mode, src_len); +++ ok(dst_len_real= dst_len, "my_aes_get_size"); +++ } +++ my_md5(md5, (char *) dst, dst_len); +++ ok(dst_len == dlen, "md5 len"); +++ ok(memcmp(md5, hash, sizeof(md5)) == 0, "md5"); +++ result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT, +++ dst, dst_len, ddst, &ddst_len, key, sizeof(key), iv, +++ sizeof(iv)); +++ +++ ok(result == MY_AES_OK, "decrypt %s %u", mode_str, dst_len); +++ ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp"); +++} ++ ++-#define DO_TEST_P(M,S,F,D,H) DO_TEST(M,0,S,F,D,H) ++-#define DO_TEST_N(M,S,F,D,H) DO_TEST(M,ENCRYPTION_FLAG_NOPAD,S,F,D,H) +++#define DO_TEST_P(M, S, F, D, H) do_test(M, #M, 0, S, F, D, H) +++#define DO_TEST_N(M, S, F, D, H) do_test(M, #M, ENCRYPTION_FLAG_NOPAD, S, F, D, H) ++ ++ /* useful macro for debugging */ ++ #define PRINT_MD5() \ ++@@ -53,25 +122,15 @@ ++ printf("\"\n"); \ ++ } while(0); ++ ++-#ifndef HAVE_EncryptAes128Ctr ++-const uint MY_AES_CTR=0xDEADBEAF; ++-#endif ++-#ifndef HAVE_EncryptAes128Gcm ++-const uint MY_AES_GCM=0xDEADBEAF; ++-#endif ++ ++ int ++ main(int argc __attribute__((unused)),char *argv[]) ++ { ++- uchar key[16]= {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}; ++- uchar iv[16]= {2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7}; ++- uchar src[1000], dst[1100], ddst[1000]; ++- uchar md5[MY_MD5_HASH_SIZE]; ++- uint src_len, dst_len, ddst_len; ++ ++ MY_INIT(argv[0]); ++ ++- plan(87); +++ plan(122); +++ ++ DO_TEST_P(MY_AES_ECB, 200, '.', 208, "\xd8\x73\x8e\x3a\xbc\x66\x99\x13\x7f\x90\x23\x52\xee\x97\x6f\x9a"); ++ DO_TEST_P(MY_AES_ECB, 128, '?', 144, "\x19\x58\x33\x85\x4c\xaa\x7f\x06\xd1\xb2\xec\xd7\xb7\x6a\xa9\x5b"); ++ DO_TEST_P(MY_AES_CBC, 159, '%', 160, "\x4b\x03\x18\x3d\xf1\xa7\xcd\xa1\x46\xb3\xc6\x8a\x92\xc0\x0f\xc9"); diff --cc debian/patches/openssl-3-enable.patch index 000000000,000000000..58c805c95 new file mode 100644 --- /dev/null +++ b/debian/patches/openssl-3-enable.patch @@@ -1,0 -1,0 +1,23 @@@ ++Origin: upstream, https://github.com/MariaDB/server/commit/64e358821e0e8b5a2134aa93ba9ddf24cd46ac7c ++Author: Oleksandr Byelkin ++Date: Fri, 4 Feb 2022 14:52:03 +0100 ++Subject: [PATCH] Revert "don't build with OpenSSL 3.0, it doesn't work before ++ MDEV-25785" ++ ++This reverts commit c9beef43154a199bfcd9f71049c011a2ed77ca74, because ++we have OpenSSL 3.0 support here. ++--- ++ cmake/ssl.cmake | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++--- a/cmake/ssl.cmake +++++ b/cmake/ssl.cmake ++@@ -118,7 +118,7 @@ MACRO (MYSQL_CHECK_SSL) ++ ENDIF() ++ FIND_PACKAGE(OpenSSL) ++ SET_PACKAGE_PROPERTIES(OpenSSL PROPERTIES TYPE RECOMMENDED) ++- IF(OPENSSL_FOUND AND OPENSSL_VERSION AND OPENSSL_VERSION VERSION_LESS "3.0.0") +++ IF(OPENSSL_FOUND) ++ SET(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY}) ++ INCLUDE(CheckSymbolExists) ++ SET(SSL_SOURCES "") diff --cc debian/patches/rocksdb-kfreebsd.patch index 000000000,000000000..f9e9e63d6 new file mode 100644 --- /dev/null +++ b/debian/patches/rocksdb-kfreebsd.patch @@@ -1,0 -1,0 +1,148 @@@ ++Forwarded: https://github.com/facebook/rocksdb/pull/6992 ++# Merged in RocksDB 6.13.fb, but not updated into MariaDB 10.6 ++Forwarded: https://jira.mariadb.org/browse/MDEV-19251 ++Description: ++ Upstream has merged this but we still need to wait for it to be included ++ in a RocksDB release and imported into MariaDB and then into Debian. ++--- a/storage/rocksdb/build_rocksdb.cmake +++++ b/storage/rocksdb/build_rocksdb.cmake ++@@ -90,6 +90,8 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux" ++ add_definitions(-DOS_LINUX) ++ elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS") ++ add_definitions(-DOS_SOLARIS) +++elseif(CMAKE_SYSTEM_NAME MATCHES "kFreeBSD") +++ add_definitions(-DOS_GNU_KFREEBSD) ++ elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") ++ add_definitions(-DOS_FREEBSD) ++ elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD") ++--- a/storage/rocksdb/rocksdb/CMakeLists.txt +++++ b/storage/rocksdb/rocksdb/CMakeLists.txt ++@@ -91,7 +91,7 @@ if(MSVC) ++ option(WITH_XPRESS "build with windows built in compression" OFF) ++ include(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty.inc) ++ else() ++- if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") +++ if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" AND NOT CMAKE_SYSTEM_NAME MATCHES "kFreeBSD") ++ # FreeBSD has jemalloc as default malloc ++ # but it does not have all the jemalloc files in include/... ++ set(WITH_JEMALLOC ON) ++@@ -413,6 +413,8 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux" ++ add_definitions(-DOS_LINUX) ++ elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS") ++ add_definitions(-DOS_SOLARIS) +++elseif(CMAKE_SYSTEM_NAME MATCHES "kFreeBSD") +++ add_definitions(-DOS_GNU_KFREEBSD) ++ elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") ++ add_definitions(-DOS_FREEBSD) ++ elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD") ++--- a/storage/rocksdb/rocksdb/build_tools/build_detect_platform +++++ b/storage/rocksdb/rocksdb/build_tools/build_detect_platform ++@@ -190,6 +190,17 @@ EOF ++ PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lpthread" ++ # PORT_FILES=port/freebsd/freebsd_specific.cc ++ ;; +++ GNU/kFreeBSD) +++ PLATFORM=OS_GNU_KFREEBSD +++ COMMON_FLAGS="$COMMON_FLAGS -DOS_GNU_KFREEBSD" +++ if [ -z "$USE_CLANG" ]; then +++ COMMON_FLAGS="$COMMON_FLAGS -fno-builtin-memcmp" +++ else +++ PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -latomic" +++ fi +++ PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lpthread -lrt" +++ # PORT_FILES=port/gnu_kfreebsd/gnu_kfreebsd_specific.cc +++ ;; ++ NetBSD) ++ PLATFORM=OS_NETBSD ++ COMMON_FLAGS="$COMMON_FLAGS -fno-builtin-memcmp -D_REENTRANT -DOS_NETBSD" ++--- a/storage/rocksdb/rocksdb/env/env_posix.cc +++++ b/storage/rocksdb/rocksdb/env/env_posix.cc ++@@ -41,7 +41,7 @@ ++ #include ++ #include ++ // Get nano time includes ++-#if defined(OS_LINUX) || defined(OS_FREEBSD) +++#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_GNU_KFREEBSD) ++ #elif defined(__MACH__) ++ #include ++ #include ++@@ -287,7 +287,8 @@ class PosixEnv : public CompositeEnvWrap ++ } ++ ++ uint64_t NowNanos() override { ++-#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_AIX) +++#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_GNU_KFREEBSD) || \ +++ defined(OS_AIX) ++ struct timespec ts; ++ clock_gettime(CLOCK_MONOTONIC, &ts); ++ return static_cast(ts.tv_sec) * 1000000000 + ts.tv_nsec; ++@@ -307,8 +308,8 @@ class PosixEnv : public CompositeEnvWrap ++ } ++ ++ uint64_t NowCPUNanos() override { ++-#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_AIX) || \ ++- (defined(__MACH__) && defined(__MAC_10_12)) +++#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_GNU_KFREEBSD) || \ +++ defined(OS_AIX) || (defined(__MACH__) && defined(__MAC_10_12)) ++ struct timespec ts; ++ clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts); ++ return static_cast(ts.tv_sec) * 1000000000 + ts.tv_nsec; ++--- a/storage/rocksdb/rocksdb/port/stack_trace.cc +++++ b/storage/rocksdb/rocksdb/port/stack_trace.cc ++@@ -32,7 +32,7 @@ namespace port { ++ ++ namespace { ++ ++-#if defined(OS_LINUX) || defined(OS_FREEBSD) +++#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_GNU_KFREEBSD) ++ const char* GetExecutableName() { ++ static char name[1024]; ++ ++--- a/storage/rocksdb/rdb_io_watchdog.h +++++ b/storage/rocksdb/rdb_io_watchdog.h ++@@ -56,19 +56,19 @@ class Rdb_io_watchdog { ++ int stop_timers() { ++ int ret = 0; ++ ++- if (m_io_check_watchdog_timer) { +++ if (m_io_check_watchdog_timer != reinterpret_cast(-1)) { ++ ret = timer_delete(m_io_check_watchdog_timer); ++ ++ if (!ret) { ++- m_io_check_watchdog_timer = nullptr; +++ m_io_check_watchdog_timer = reinterpret_cast(-1); ++ } ++ } ++ ++- if (m_io_check_timer && !ret) { +++ if (m_io_check_timer != reinterpret_cast(-1) && !ret) { ++ ret = timer_delete(m_io_check_timer); ++ ++ if (!ret) { ++- m_io_check_timer = nullptr; +++ m_io_check_timer = reinterpret_cast(-1); ++ } ++ } ++ ++@@ -93,8 +93,8 @@ class Rdb_io_watchdog { ++ ++ public: ++ explicit Rdb_io_watchdog(std::vector &&directories) ++- : m_io_check_timer(nullptr), ++- m_io_check_watchdog_timer(nullptr), +++ : m_io_check_timer(reinterpret_cast(-1)), +++ m_io_check_watchdog_timer(reinterpret_cast(-1)), ++ m_io_in_progress(false), ++ m_dirs_to_check(std::move(directories)), ++ m_buf(nullptr) { ++--- a/storage/rocksdb/rdb_io_watchdog.cc +++++ b/storage/rocksdb/rdb_io_watchdog.cc ++@@ -111,7 +111,7 @@ void Rdb_io_watchdog::io_check_callback( ++ sql_print_warning("Deleting the watchdog I/O timer failed with %d.", errno); ++ } ++ ++- m_io_check_watchdog_timer = nullptr; +++ m_io_check_watchdog_timer = reinterpret_cast(-1); ++ ++ RDB_MUTEX_UNLOCK_CHECK(m_reset_mutex); ++ } diff --cc debian/patches/series index 000000000,000000000..16e58c333 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,11 @@@ ++0025-Change-the-default-optimization-from-O3-to-O2-in-mys.patch ++rocksdb-kfreebsd.patch ++env-perl-usr-bin-perl.patch ++fix-spelling-rocksdb.patch ++1556.patch ++fix-reproducible-builds-rocksdb.patch ++mroonga-mrn-lib-dirs-path-reproducible-build.patch ++2006-kfreebsd-amd64.patch ++openssl-3-enable.patch ++openssl-3-compatibility.patch ++2129-new-script-wsrep-sst-backup-fixes.patch diff --cc debian/rules index aaca566d5,000000000..897f5749d mode 100755,000000..100755 --- a/debian/rules +++ b/debian/rules @@@ -1,213 -1,0 +1,221 @@@ +#!/usr/bin/make -f + +# Enable Debian Hardening +# https://wiki.debian.org/Hardening +export DEB_BUILD_MAINT_OPTIONS = hardening=+all ++ ++# Disable LTO on Ubuntu, see LP: #1970634 and https://jira.mariadb.org/browse/MDEV-25633 ++ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes), yes) ++ export DEB_BUILD_MAINT_OPTIONS += optimize=-lto ++endif ++ +DPKG_EXPORT_BUILDFLAGS = 1 +# Include all defaults, including buildflags.mk +include /usr/share/dpkg/default.mk +# CPPFLAGS are nor read by CMake, so copy them to CXXFLAGS +# See why at https://cmake.org/Bug/view.php?id=12928 +# This is needed for e.g. all automatic Debian hardening flags to apply on all cmake builds. +CFLAGS+=$(CPPFLAGS) +CXXFLAGS+=$(CPPFLAGS) + +# Only do a strict symbol checking on Linux +ifneq (,$(filter linux,$(DEB_HOST_ARCH_OS))) + DPKG_GENSYMBOLS_CHECK_LEVEL := 4 +endif + +BUILDDIR := builddir +DEB_VERSION_REVISION := $(shell echo $(DEB_VERSION) | sed -e 's/^.*-//') +RELEASE := $(shell lsb_release -r -s) # Use changelog based DEB_DISTRIBUTION instead? +TMP:=$(CURDIR)/debian/tmp + +# According to Debian Policy version 4.2.0 builds should be as verbose as +# possible unless 'terse' is specifically passed. +ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS))) + export DH_VERBOSE=1 +endif + +# Parallel build support as advised +# at https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +else + # NUMJOBS cannot be empty as it is used as a parameter to mtr, default to 'auto'. + NUMJOBS = auto +endif + +# RocksDB cannot build on 32-bit platforms +ifeq (32,$(DEB_HOST_ARCH_BITS)) + CMAKEFLAGS += -DPLUGIN_ROCKSDB=NO +endif + - # ColumnStore can build only on amd64 and arm64 - ifneq (,$(filter $(DEB_HOST_ARCH_CPU),amd64 arm64)) - CMAKEFLAGS += -DPLUGIN_COLUMNSTORE=NO - endif - +# Cross building requires stack direction instruction +ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) + ifneq (,$(filter $(DEB_HOST_ARCH_CPU),alpha amd64 arm arm64 i386 ia64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sh4 sparc64)) + CMAKEFLAGS += -DSTACK_DIRECTION=-1 + endif + ifneq (,$(filter $(DEB_HOST_ARCH_CPU),hppa)) + CMAKEFLAGS += -DSTACK_DIRECTION=1 + endif +endif + +# 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 - ifneq (,$(filter $(DEB_HOST_ARCH_CPU),amd64 arm64 ppc64el riscv64)) ++ifneq (,$(filter $(DEB_HOST_ARCH),amd64 arm64 ppc64el riscv64)) + CMAKEFLAGS += -DWITH_PMEM=yes +endif + +# Add support for verbose builds +MAKEFLAGS += VERBOSE=1 + +override_dh_auto_clean: + @echo "RULES.$@" + dh_testdir + dh_testroot - rm -rf $(BUILDDIR) builddir-native mysql-test/unstable-tests ++ # Delete obsolete/unstable components to ensure they are not used in Debian ++ rm -rf $(BUILDDIR) builddir-native extra/readline extra/wolfssl ++ # Remove columnstore as the source code is dirty and software not mature enough for Debian anyway ++ rm -rf storage/columnstore ++ # Delete precompiled binaries in upstream sources to ensure they are not used in Debian ++ rm -rf storage/connect/JavaWrappers.jar storage/columnstore/columnstore/utils/jemalloc/libjemalloc.so.2 ++ + debconf-updatepo # Update po-files when clean runs before each build + +override_dh_auto_configure: + @echo "RULES.$@" + dh_testdir + +ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) + dpkg-architecture -a$(DEB_BUILD_ARCH) -f -c dh_auto_configure --builddirectory=builddir-native + dh_auto_build --builddirectory=builddir-native -- import_executables +endif + + echo "server:Version=$(DEB_VERSION)" >> debian/substvars + - # Don't build ColumnStore as part of the native build as it does not meet the - # 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 - # for MariaDB becomes over 10 GB. Only build CS via autobake-deb.sh. ++ # Don't build ColumnStore, not mature enough for Debian yet. + PATH=$${MYSQL_BUILD_PATH:-"/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin"} \ - NO_UPDATE_BUILD_VERSION=1 \ + dh_auto_configure --builddirectory=$(BUILDDIR) -- \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + $(CMAKEFLAGS) \ + $(if $(filter $(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)),,-DIMPORT_EXECUTABLES=$(CURDIR)/builddir-native/import_executables.cmake) \ - -DCOMPILATION_COMMENT="mariadb.org binary distribution" \ ++ -DCOMPILATION_COMMENT="$(DEB_VENDOR) $(RELEASE)" \ + -DMYSQL_SERVER_SUFFIX="-$(DEB_VERSION_REVISION)" \ + -DSYSTEM_TYPE="debian-$(DEB_HOST_GNU_SYSTEM)" \ + -DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_ARCH) \ + -DBUILD_CONFIG=mysql_release \ + -DCONC_DEFAULT_CHARSET=utf8mb4 \ + -DPLUGIN_AWS_KEY_MANAGEMENT=NO \ - -DPLUGIN_COLUMNSTORE=NO \ ++ -DPLUGIN_COLUMNSTORE=NO \ ++ -DWITH_NUMA=auto \ + -DIGNORE_AIO_CHECK=YES \ - -DWITH_URING=yes \ ++ -DWITH_URING=YES \ ++ -DWITH_INNODB_SNAPPY=ON \ + -DDEB=$(DEB_VENDOR) + +# This is needed, otherwise 'make test' will run before binaries have been built +override_dh_auto_build: + @echo "RULES.$@" + # Print build env info to help debug builds on different platforms + dpkg-architecture - cd $(BUILDDIR) && $(MAKE) --output-sync=target ++ cd $(BUILDDIR) && $(MAKE) + +override_dh_auto_test: + @echo "RULES.$@" + dh_testdir ++ # Ensure at least an empty file exists + 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 + # Run testsuite +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) ++ # Don't use --mem here as official Debian builders and most Docker systems don't have a large mem device available and ++ # would fail with errors on lack of disk space. + cd $(BUILDDIR)/mysql-test && \ - ./mtr --force --mem \ ++ ./mtr --force --testcase-timeout=120 --suite-timeout=540 --retry=3 \ + --parallel=$(NUMJOBS) --skip-rpl --suite=main \ + --skip-test-list=unstable-tests +endif + +override_dh_auto_install: + @echo "RULES.$@" + dh_testdir + dh_testroot + +ifneq (,$(filter linux,$(DEB_HOST_ARCH_OS))) + # Copy systemd files to a location available for dh_installinit + cp $(BUILDDIR)/support-files/mariadb.service debian/mariadb-server-10.6.mariadb.service + cp $(BUILDDIR)/support-files/mariadb.socket debian/mariadb-server-10.6.mariadb.socket + cp $(BUILDDIR)/support-files/mariadb-extra.socket debian/mariadb-server-10.6.mariadb-extra.socket + cp $(BUILDDIR)/support-files/mariadb@.service debian/mariadb-server-10.6.mariadb@.service + cp $(BUILDDIR)/support-files/mariadb@.socket debian/mariadb-server-10.6.mariadb@.socket + cp $(BUILDDIR)/support-files/mariadb-extra@.socket debian/mariadb-server-10.6.mariadb-extra@.socket +endif + + # Run 'make install' without output since it is uninteresting and + # silencing it helps to make overall build log shorter and more readable + @echo "Running $(MAKE) install DESTDIR=$(TMP) ..." + 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 + + # Delete private files from libraries so they don't get shipped in the -dev packages + rm -r $(TMP)/usr/include/mariadb/server/private + + # Don't ship sql-bench at all, just delete it completely even though it builds + rm -r $(TMP)/usr/sql-bench + + # nm numeric soft is not enough, therefore extra sort in command + # to satisfy Debian reproducible build requirements + nm --defined-only $(BUILDDIR)/sql/mariadbd | LC_ALL=C sort | gzip -n -9 > $(TMP)/usr/share/doc/mariadb-server-10.6/mariadbd.sym.gz + + # Rename and install AppArmor profile + install -D -m 644 debian/apparmor-profile $(TMP)/etc/apparmor.d/usr.sbin.mariadbd + ++ # Install mariadb.pc as a symlink for the client library, ++ # use -f to override the existing server mariadb.pc file ++ ln -sf libmariadb.pc $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/mariadb.pc ++ + # Install libmariadbclient18 compatibility links + ln -s libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadbclient.so - ln -s libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadbclient.so.18 - - # Install libmysqlclientclientXX compatibility links - ln -s libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmysqlclient.so.18 - ln -s libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmysqlclient.so.19 - ln -s libmariadb.so.3 $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmysqlclient.so.20 + + # Install libmariadbclient.a compatibility link + ln -s libmariadb.a $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadbclient.a + + # Symlink plugins that are used by both server and client and thus need to + # load from the libmariadb path as well + ln -s ../../../mysql/plugin/auth_test_plugin.so $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadb3/plugin/auth_test_plugin.so + ln -s ../../../mysql/plugin/qa_auth_interface.so $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadb3/plugin/qa_auth_interface.so + ln -s ../../../mysql/plugin/test_sql_service.so $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadb3/plugin/test_sql_service.so + # Move test plugins that are only needed by the client to the libmariadb path + mv -v $(TMP)/usr/lib/mysql/plugin/qa_auth_client.so $(TMP)/usr/lib/$(DEB_HOST_MULTIARCH)/libmariadb3/plugin/ + - override_dh_installlogrotate-arch: - dh_installlogrotate --name mysql-server - ++# Install mariadb.socket without enabling it, keep using mariadb.service by default ++# @TODO: Temporarily disable extra and socket systemd file installation until ++# a '--build=all' compatible mechanism is found +override_dh_systemd_enable: + dh_systemd_enable --name=mariadb - dh_systemd_enable --no-enable --name=mariadb mariadb.socket - dh_systemd_enable --no-enable --name=mariadb-extra mariadb-extra.socket - dh_systemd_enable --no-enable --name=mariadb@ mariadb.socket - dh_systemd_enable --no-enable --name=mariadb-extra@ mariadb-extra.socket - dh_systemd_enable --no-enable --name=mariadb@ mariadb@.service ++ dh_systemd_enable --no-enable --name=mariadb@ # mariadb@.service ++# dh_systemd_enable --no-enable --name=mariadb mariadb.socket ++# dh_systemd_enable --no-enable --name=mariadb-extra mariadb-extra.socket ++# dh_systemd_enable --no-enable --name=mariadb@ mariadb.socket ++# dh_systemd_enable --no-enable --name=mariadb-extra@ mariadb-extra.socket + - # Start MariaDB at sequence number 19 before 20 where apache, proftpd etc gets ++# Start mysql at sequence number 19 before 20 where apache, proftpd etc gets +# started which might depend on a running database server. +override_dh_installinit-arch: + dh_installinit --name=mariadb --no-start -- defaults 19 21 + dh_systemd_start --restart-after-upgrade + ++# Use custom server version string variable +override_dh_gencontrol: + dh_gencontrol -- -Tdebian/substvars + +# If a file is not supposed to be included anywhere, add it to the not-installed +# file and document the reason. Note that dh_install supports the above mentioned +# white list file only starting from Debian Stretch and Ubuntu Xenial. +# To find more, grep build logs for 'but is not installed to anywhere'. +%: - dh $@ --parallel --with systemd --list-missing ++ dh $@ --fail-missing + +# vim: ts=8 diff --cc debian/salsa-ci.yml index 3a69c45ea,000000000..92c841146 mode 100644,000000..100644 --- a/debian/salsa-ci.yml +++ b/debian/salsa-ci.yml @@@ -1,792 -1,0 +1,810 @@@ +--- +# Include Salsa-CI as a base +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml + +# Override Salsa-CI with MariaDB specific variations +variables: + DEB_BUILD_OPTIONS: "nocheck noautodbgsym" + RELEASE: sid ++ # Reprotest works, but takes very long time and often fails due to timeouts. ++ # Thus is is best kept disabled and only occasionally manually enabled to ++ # test that reproducibility works, along with atomic reprotest to directly ++ # pinpoint what aspect of the build is broken if not reproducible. + SALSA_CI_DISABLE_REPROTEST: 1 ++ SALSA_CI_ENABLE_ATOMIC_REPROTEST: 0 + SALSA_CI_DISABLE_MISSING_BREAKS: 0 - SALSA_CI_DISABLE_RC_BUGS: 1 - SALSA_CI_DISABLE_BUILD_PACKAGE_ALL: 1 - SALSA_CI_DISABLE_BUILD_PACKAGE_ANY: 1 - GIT_SUBMODULE_STRATEGY: recursive - SALSA_CI_GBP_BUILDPACKAGE_ARGS: "--git-submodules" # did not apply to extract-sources ++ SALSA_CI_DISABLE_RC_BUGS: 0 + +stages: + - provisioning + - build + - test + - upgrade in Sid - - upgrade from Bullseye/Buster ++ - upgrade from Bullseye + - upgrade extras + - test extras + - publish # Stage referenced by Salsa-CI template aptly stanza, so must exist even though not used + - build: - extends: .build-package - script: &autobake-deb-steps - # Run Salsa-CI .build-before-script equivalent - - mkdir -p ${WORKING_DIR} ${CCACHE_WORK_DIR} - - mv ${CCACHE_WORK_DIR} ${CCACHE_TMP_DIR} - # Run Salsa-CI .build-script equivalent, with extra devscripts so autobake-deb.sh can run 'dch' - - export CCACHE_DIR=${CCACHE_TMP_DIR} - - apt-get update && eatmydata apt-get install --no-install-recommends -y ccache fakeroot build-essential devscripts lsb-release - - cd ${WORKING_DIR}/${SOURCE_DIR} - - eatmydata apt-get build-dep --no-install-recommends -y . - - update-ccache-symlinks; ccache -z # Zero out ccache counters - - while true; do sleep 600; echo "10 minutes passed" >&2; done & # Progress keeper since build is long and silent - - debian/autobake-deb.sh |& tail -n 10000 # Keep Gitlab-CI output under 4 MB - - cd ${WORKING_DIR} - - rm -rf ${WORKING_DIR}/${SOURCE_DIR} - - du -shc ${WORKING_DIR}/* # Show total file size of artifacts. Must stay are under 100 MB. - - ccache -s # Show ccache stats to validate it worked - - mv ${CCACHE_TMP_DIR} ${CCACHE_WORK_DIR} ++gnitpick: ++ stage: provisioning ++ image: debian:sid-slim ++ script: | ++ # Bare minimal (<4MB) for apt-key and gnitpick to work ++ apt-get update -qq && apt-get -qq install --no-install-recommends --yes ca-certificates curl python3-minimal git ++ curl -sS https://raw.githubusercontent.com/Seravo/gnitpick/master/gnitpick.py -o /usr/bin/gnitpick; chmod +x /usr/bin/gnitpick ++ # Actual Gnitpick part ++ gnitpick --target-repository https://salsa.debian.org/mariadb-team/mariadb-server.git --target-branch debian/latest ++ except: ++ variables: ++ - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ ++ allow_failure: true # Gnitpick does not fully support this branch naming scheme so ignore it for now ++ ++packaging-fix-checks: ++ stage: provisioning ++ image: debian:sid-slim ++ script: ++ - apt-get update -qq && apt-get -qq install --no-install-recommends --yes git devscripts python3-debian ++ - | ++ if [ "$(find debian/patches/ -type f -not -name series | wc -l)" -eq "$(cat debian/patches/series | wc -l)" ] ++ then ++ echo "The directory debian/patches/ contents and debian/patches/series file match by count." ++ else ++ find debian/patches -type f -not -name series -printf "%P\n" | sort > /tmp/patches-directory-sorted ++ sort debian/patches/series > /tmp/patches-series-sorted ++ diff -y /tmp/patches-series-sorted /tmp/patches-directory-sorted ++ echo ++ echo "The directory debian/patches/ file count does not match that in debian/series. Check that there are no unaccounted patches!" ++ exit 1 ++ fi ++ - | ++ wrap-and-sort -a ++ git checkout debian/tests/control # Revert touching this file, wrap-and-sort shouldn't do it ++ if [ "$(git diff --name-only | wc -l)" -eq 0 ] ++ then ++ echo "No uncommitted changes after 'wrap-and-sort -av', maintainer has done good job keeping files in order." ++ else ++ git diff ++ echo ++ echo "Debian packaging files are unordered! Please run 'wrap-and-sort -av'." ++ exit 1 ++ fi ++ except: ++ variables: ++ - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ ++ ++ ++# build jobs often needs more than default GitLab timeout (1h) ++.build-package: ++ timeout: 3h + +build bullseye-backports: + extends: .build-package + variables: + RELEASE: bullseye-backports + +build buster-backports: + extends: .build-package - script: - # Increase default backports priority policy from '100' to '500' so it can actually be used - - | - cat << EOF > /etc/apt/preferences.d/enable-backports-to-satisfy-dependencies - Package: * - Pin: release n=buster-* - Pin-Priority: 500 - EOF - - *autobake-deb-steps + variables: + RELEASE: buster-backports + - # base image missing git - build i386: - extends: .build-package - script: - - apt-get update && apt-get install -y --no-install-recommends git - - *autobake-deb-steps - image: $SALSA_CI_IMAGES_BASE_I386 - variables: - ARCH: 'i386' - - # Build native deb without using autobake-deb.sh. This way we will detect - # if the debian/control file and other packaging is correct as-is for Debian Sid. - build native deb: - extends: .build-package - +autopkgtest: + extends: .test-autopkgtest + artifacts: + reports: + junit: ${WORKING_DIR}/debci/artifacts/mysql-test-run-junit.xml + +piuparts: + extends: .test-piuparts + stage: test extras + +blhc: + extends: .test-blhc + stage: test extras - # Build log checker needs a .build file and thus only works on native build - needs: - - job: build native deb + +# In addition to Salsa-CI, also run these fully MariaDB specific build jobs + +# Define snippets used to construct jobs + +.test-prepare-container: &test-prepare-container | + cd ${WORKING_DIR} # Don't repeat this step, it's just cd ./debian/output + # Enable automatic restarts from maint scripts + sed -i "s/101/0/g" -i /usr/sbin/policy-rc.d + # Fake /sbin/runlevel to avoid warnings of "invoke-rc.d: could not determine current runlevel" + echo -e '#!/bin/sh\necho "N 5"' > /sbin/runlevel; chmod +x /sbin/runlevel + # Avoid the warnings of "debconf: unable to initialize frontend: Dialog" + echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections + # Prime the apt cache so later apt commands can run + apt-get update + +# Readline was removed from Debian Sid (and Bullseye) in Feb 2021. To be able to install older +# versions of MariaDB that depend on it, fetch and install it from Buster. +.test-install-readline-in-sid-for-backwards-compat: &test-install-readline-in-sid-for-backwards-compat | + curl -O http://ftp.de.debian.org/debian/pool/main/r/readline5/libreadline5_5.2+dfsg-3+b13_amd64.deb + apt install -y ./libreadline5_5.2+dfsg-3+b13_amd64.deb + +.test-verify-initial: &test-verify-initial | + dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed + service mysql status || service mariadb status # Early MariaDB 10.5 only had 'mariadb' + mysql --skip-column-names -e "select @@version, @@version_comment" # Show version + mysql --table -e "SHOW DATABASES;" # List databases before upgrade + mysql --table -e "SELECT host,user,plugin,authentication_string FROM user;" mysql + mysql --table -e "SELECT * FROM plugin;" mysql + mysql --table -e "SHOW PLUGINS;" mysql + +.test-enable-sid-repos: &test-enable-sid-repos | + # 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 + apt-get install -y apt + ++.test-enable-buster-backports-repos: &test-enable-buster-backports-repos | ++ # Enable buster-backports (assumes environment already Debian Buster) ++ echo 'deb http://deb.debian.org/debian buster-backports main' > /etc/apt/sources.list.d/buster-backports.list ++ # Increase default backports priority policy from '100' to '500' so it can actually be used ++ cat << EOF > /etc/apt/preferences.d/enable-backports-to-satisfy-dependencies ++ Package: * ++ Pin: release n=buster-* ++ Pin-Priority: 500 ++ EOF ++ apt-get update ++ +.test-install: &test-install | + # Install MariaDB built in this commit + apt-get install -y ./*.deb + # Verify installation of MariaDB built in this commit + dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed + mariadb --version # Client version + +.test-verify-final: &test-verify-final | + 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 + cp -ra /var/log/mysql debug/var-log-mysql + mariadb --skip-column-names -e "select @@version, @@version_comment" # Show version + mariadb --table -e "SHOW DATABASES;" # List databases + mariadb --table -e "SELECT host,user,plugin,authentication_string FROM user;" mysql + mariadb --table -e "SELECT * FROM plugin;" mysql + mariadb --table -e "SHOW PLUGINS;" mysql + # Test that InnoDB works and that command 'mysql' is also still usable + mysql -e "CREATE DATABASE test; USE test; CREATE TABLE t(a INT PRIMARY KEY) ENGINE=INNODB; INSERT INTO t VALUEs (1); SELECT * FROM t; DROP TABLE t; DROP DATABASE test;" + +.test-verify-libs: &test-verify-libs + # Don't use a collapsed command as Gitlab-CI would hide each command from the output + - ldconfig -p | grep -e mariadb -e mysql + - pkg-config --list-all + - pkg-config --cflags --libs mysqlclient + - pkg-config --cflags --libs libmariadb + - pkg-config --cflags --libs mariadb + - apt-get install -y --no-install-recommends g++ + - | + # Build a test binary that depends on libmysqlclient + cat > b933063.cpp < + #include + #include + int main() + { + MYSQL h; + if (!mysql_init(&h) + || mysql_options(&h, MYSQL_READ_DEFAULT_GROUP, "") + // || mysql_options(&h, MYSQL_SET_CHARSET_NAME, "utf8mb4") + || !mysql_real_connect(&h, "", "", NULL, "", 0, NULL, 0)) + throw std::runtime_error(mysql_error(&h)); + std::string q = "show variables like '%char%'"; + if (mysql_real_query(&h, q.data(), q.size())) + throw std::runtime_error(mysql_error(&h)); + MYSQL_RES* result = mysql_store_result(&h); + if (!result && mysql_errno(&h)) + throw std::runtime_error(mysql_error(&h)); + while (MYSQL_ROW row = mysql_fetch_row(result)) + { + std::cout << row[0] << ": " << row[1] << "\n"; + } + return 0; + } + EOF + apt-get install -y ./*.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 + echo "Testing -l mariadbclient" + g++ b933063.cpp -l mariadbclient && ./a.out | tee result + if grep --quiet latin result; then echo "ERROR: Charset latin found!"; exit 1; fi + +.test-install-all-libs: &test-install-all-libs + - apt-get install -y ./libmariadb3_*.deb ./libmariadb-dev_*.deb ./libmariadb-dev-compat_*.deb ./libmariadbd19_*.deb ./libmariadbd-dev_*.deb ./mariadb-common_*.deb + +fresh install: + stage: test + needs: + - job: build + image: debian:${RELEASE} + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - *test-install - - service mariadb status # There is no init.d/mysql in MariaDB 10.6 ++ - service mariadb status # There is no init.d/mysql in MariaDB 10.5+ + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +mariadb-10.6 Sid upgrade: + stage: upgrade in Sid + needs: + - job: build + image: debian:${RELEASE} + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - *test-install - - service mariadb status # There is no init.d/mysql in MariaDB 10.6 ++ - service mariadb status # There is no init.d/mysql in MariaDB 10.5+ + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +mariadb-10.5 Bullseye to mariadb-10.6 upgrade: - stage: upgrade from Bullseye/Buster ++ stage: upgrade from Bullseye + needs: + - job: build + image: debian:bullseye + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + # Install everything MariaDB currently in Debian Bullseye + - apt-get install -y 'default-mysql*' 'mariadb-*' 'libmariadb*' + # Verify installation of MariaDB from Bullseye + - *test-verify-initial + - *test-enable-sid-repos + - *test-install + - service mariadb status + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + - mariadb-10.3 Buster to mariadb-10.6 upgrade: - stage: upgrade from Bullseye/Buster ++mariadb-10.3 to mariadb-10.6 upgrade in Buster: ++ stage: upgrade extras + needs: - - job: build ++ - job: build buster-backports + image: debian:buster + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + # Install everything MariaDB currently in Debian Buster + - apt-get install -y 'default-mysql*' 'mariadb-*' 'libmariadb*' + # Verify installation of MariaDB from Buster + - *test-verify-initial - - *test-enable-sid-repos ++ - *test-enable-buster-backports-repos + - *test-install + - service mysql status + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +test basic features: + stage: test + needs: + - job: build + image: debian:${RELEASE} + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - *test-install - - service mariadb status # There is no init.d/mysql in MariaDB 10.6 ++ - service mariadb status # There is no init.d/mysql in MariaDB 10.5+ + - *test-verify-final + - | + # Print info about server + mariadb --skip-column-names -e "select @@version, @@version_comment" + mariadb --skip-column-names -e "select engine, support, transactions, savepoints from information_schema.engines order by engine" | sort + mariadb --skip-column-names -e "select plugin_name, plugin_status, plugin_type, plugin_library, plugin_license from information_schema.all_plugins order by plugin_name, plugin_library" + # Test various features + mariadb -e "CREATE DATABASE db" + mariadb -e "CREATE TABLE db.t_innodb(a1 SERIAL, c1 CHAR(8)) ENGINE=InnoDB; INSERT INTO db.t_innodb VALUES (1,'"'"'foo'"'"'),(2,'"'"'bar'"'"')" + mariadb -e "CREATE TABLE db.t_myisam(a2 SERIAL, c2 CHAR(8)) ENGINE=MyISAM; INSERT INTO db.t_myisam VALUES (1,'"'"'foo'"'"'),(2,'"'"'bar'"'"')" + mariadb -e "CREATE TABLE db.t_aria(a3 SERIAL, c3 CHAR(8)) ENGINE=Aria; INSERT INTO db.t_aria VALUES (1,'"'"'foo'"'"'),(2,'"'"'bar'"'"')" + mariadb -e "CREATE TABLE db.t_memory(a4 SERIAL, c4 CHAR(8)) ENGINE=MEMORY; INSERT INTO db.t_memory VALUES (1,'"'"'foo'"'"'),(2,'"'"'bar'"'"')" + mariadb -e "CREATE ALGORITHM=MERGE VIEW db.v_merge AS SELECT * FROM db.t_innodb, db.t_myisam, db.t_aria" + mariadb -e "CREATE ALGORITHM=TEMPTABLE VIEW db.v_temptable AS SELECT * FROM db.t_innodb, db.t_myisam, db.t_aria" + mariadb -e "CREATE PROCEDURE db.p() SELECT * FROM db.v_merge" + mariadb -e "CREATE FUNCTION db.f() RETURNS INT DETERMINISTIC RETURN 1" + # Test that the features still work (this step can be done e.g. after an upgrade) + mariadb -e "SHOW TABLES IN db" + mariadb -e "SELECT * FROM db.t_innodb; INSERT INTO db.t_innodb VALUES (3,'"'"'foo'"'"'),(4,'"'"'bar'"'"')" + mariadb -e "SELECT * FROM db.t_myisam; INSERT INTO db.t_myisam VALUES (3,'"'"'foo'"'"'),(4,'"'"'bar'"'"')" + mariadb -e "SELECT * FROM db.t_aria; INSERT INTO db.t_aria VALUES (3,'"'"'foo'"'"'),(4,'"'"'bar'"'"')" + mariadb -e "SELECT * FROM db.t_memory; INSERT INTO db.t_memory VALUES (3,'"'"'foo'"'"'),(4,'"'"'bar'"'"')" + mariadb -e "SELECT COUNT(*) FROM db.v_merge" + mariadb -e "SELECT COUNT(*) FROM db.v_temptable" + mariadb -e "CALL db.p()" + mariadb -e "SELECT db.f()" + - | + # Test TLS connections + dpkg -l | grep -i -e tls -e ssl + # Create user for TCP connection, must have password + mariadb -e "SET PASSWORD FOR 'mysql'@'localhost' = PASSWORD('asdf234');" + cat < /root/.my.cnf + [client] + user=mysql + password=asdf234 + protocol=tcp + EOF + export CERT_PATH=/usr/share/mysql/mysql-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 + cat < /etc/mysql/mariadb.conf.d/tls.cnf + [client-server] + ssl = on + ssl-ca = $CERT_PATH/cacert.pem + ssl-cert = $CERT_PATH/server-cert.pem + ssl-key = $CERT_PATH/server-key.pem + [server] + require-secure-transport = on + [client] + ssl-verify-server-cert = on + EOF + service mariadb restart + mariadb -Bse 'STATUS' | tee result + # Ensure important values present, otherwise fail job + grep --quiet "localhost via TCP/IP" result + mariadb -Bse 'SHOW VARIABLES' | grep -e tls -e ssl | tee result + grep --quiet "have_ssl YES" result + grep --quiet TLSv1.3 result + mariadb -Bse 'SHOW SESSION STATUS' | grep -i -e tls -e ssl | tee result + grep --quiet TLSv1.3 result + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +# Build a piece of software that was designed for libmysqlclient-dev but using the +# libmariadb-dev-compat layer. Should always end up using libmariadb.so.3 run-time. +build mariadbclient consumer Python-MySQLdb: + stage: test + needs: + - job: build + image: debian:${RELEASE} + script: + - *test-prepare-container + # Run each step separately to avoitda 800+ lines chunk that lacks the + # commands themselves printed and Gitlab-CI cutting off the output + - apt-get install -y pkg-config ./libmariadb-dev*.deb ./libmariadb3_*.deb ./mariadb-common*.deb + - pkg-config --cflags --libs mysqlclient # See what MySQLdb builds with + - apt-get install -y python3-pip + - pip3 install mysqlclient # Compiles module against libmysqlclient + - apt-get purge -y libmariadb-dev # Not needed for run-time + - python3 -c "import MySQLdb; print(MySQLdb.get_client_info())" + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +libmysql* to libmariadb* upgrade: + stage: upgrade in Sid + needs: + - job: build + image: debian:${RELEASE} + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + # Install all libmysql* available in Debian unstable + - apt-get install -y pkg-config libmysqlclient-dev + - pkg-config --list-all + - pkg-config --cflags mysqlclient # mysqlclient.pc from original package + - apt-get install -y ./libmariadb3_*.deb ./mariadb-common_*.deb + - pkg-config --list-all + - apt-get install -y ./libmariadb-dev_*.deb + - pkg-config --list-all + - apt-get install -y ./libmariadb-dev-compat_*.deb + - pkg-config --cflags mysqlclient # mysqlclient.pc from compat package + - pkg-config --list-all + - apt-get install -y ./libmariadbd19_*.deb + - pkg-config --list-all + - apt-get install -y ./libmariadbd-dev_*.deb + - pkg-config --list-all + - apt-get install -y default-libmysqlclient-dev default-libmysqld-dev + - *test-verify-libs + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +default-libmysqlclient-dev Sid upgrade: + stage: upgrade in Sid + needs: + - job: build + image: debian:${RELEASE} + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - apt-get install -y pkg-config default-libmysqlclient-dev default-libmysqld-dev + - pkg-config --list-all + - *test-install-all-libs + - *test-verify-libs + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +default-libmysqlclient-dev Bullseye upgrade: - stage: upgrade from Bullseye/Buster ++ stage: upgrade from Bullseye + needs: + - job: build + image: debian:bullseye + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - apt-get install -y pkg-config default-libmysqlclient-dev + - pkg-config --list-all + - *test-enable-sid-repos + - *test-install-all-libs + - *test-verify-libs + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + - default-libmysqlclient-dev Buster upgrade: - stage: upgrade from Bullseye/Buster ++default-libmysqlclient-dev upgrade in Buster: ++ stage: upgrade extras + needs: - - job: build ++ - job: build buster-backports + image: debian:buster + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - apt-get install -y pkg-config default-libmysqlclient-dev + - pkg-config --list-all - - *test-enable-sid-repos ++ - *test-enable-buster-backports-repos + - *test-install-all-libs + - *test-verify-libs + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + ++ +# Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump. +# The Debian maintainer scripts detect this situation and simply moves old datadir aside and start fresh. +mysql-8.0 Sid to mariadb-10.6 upgrade: + stage: upgrade in Sid + needs: + - job: build + image: debian:sid + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + # The postinst fails often if 'ps' is missing from system, so install procps + - apt-get install -y procps mysql-server 'libmysqlc*' + - *test-verify-initial + - *test-install + - service mysql status + - sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +# Upgrading from MySQL 8.0 with datadir in place is not possible. Users need to do a data dump. +# The Debian maintainer scripts detect this situation and simply moves old datadir aside and start fresh. - mysql-8.0 Focal to mariadb-10.6 upgrade: ++mysql-8.0 Focal to mariadb-10.6 upgrade in Buster: + stage: upgrade extras + needs: + - job: build buster-backports + image: debian:buster + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + # Add Ubuntu Focal archive keys and repository + - apt-get install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work + - apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 871920D1991BC93C 3B4FE6ACC0B21F32 + - echo "deb http://archive.ubuntu.com/ubuntu/ focal main restricted" > /etc/apt/sources.list.d/ubuntu.list + - apt-get update + # First install often fail due to bug in mysql-8.0 + - apt-get install -y mysql-server 'libmysqlc*' || true + - sleep 10 && apt-get install -f + - *test-verify-initial + # Enable backports to make galera-4 available + - echo "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/backports.list && apt-get update + - *test-install + - service mysql status + - sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +mariadb.org-10.6 to mariadb-10.6 upgrade: + stage: upgrade extras + needs: + - job: build + image: debian:${RELEASE} + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - apt install -y curl + - curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc + - echo "deb https://deb.mariadb.org/10.6/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list + - apt-get update + # Package libmariadbclient-dev from mariadb.org conflicts with libmariadb-dev in Sid, so cannot use wildcard that would include it + # Enable this line when there is a way to install them only from the mariadb.org repo + # - apt-get install -y 'mariadb*' libmariadb3 'libmariadb-*' 'libmariadbd*' + - apt-get install -y mariadb-server-10.6 + - *test-verify-initial + # Install MariaDB built in this commit + # Force downgrades so our version installs on top of upstream revision, e.g. 1:10.5.5-1 vs 1:10.5.5+mariadb~sid + - apt-get install -y --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.6 ++ - service mariadb status # There is no init.d/mysql in MariaDB 10.5+ + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + allow_failure: true + # Installation on Sid fails on missing liburing1 because upstream 10.6 + # MariaDB.org buildbot has not run 'apt upgrade' for a long time. + # Remove this allow_failure once buildbot has built a new 10.6 + # release using latest liburing-dev in Debian Sid. + +mariadb.org-10.5 to mariadb-10.6 upgrade: + stage: upgrade extras + needs: + - job: build + image: debian:${RELEASE} + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - apt install -y curl + - curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc + - echo "deb https://deb.mariadb.org/10.5/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list + - apt-get update + - apt-get install -y mariadb-server-10.5 + - *test-verify-initial + # Install MariaDB built in this commit + # 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 ++ - service mariadb status # There is no init.d/mysql in MariaDB 10.5+ + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +mariadb.org-10.4 to mariadb-10.6 upgrade: + stage: upgrade extras + needs: + - job: build + image: debian:${RELEASE} + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - apt install -y curl systemctl # systemctl shim needed on platforms that don't have systemd + - curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc + - echo "deb https://deb.mariadb.org/10.4/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list + - apt-get update + - *test-install-readline-in-sid-for-backwards-compat + - apt-get install -y mariadb-server-10.4 + # MariaDB.org version of 10.4 and early 10.5 do not install an init file, so + # it must be installed here manually + - cp /usr/share/mysql/mysql.init /etc/init.d/mysql; chmod +x /etc/init.d/mysql; service mysql start; sleep 5 + - *test-verify-initial + - *test-install + - sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server + - service mysql status + - service mariadb status + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +mariadb.org-10.3 to mariadb-10.6 upgrade: + stage: upgrade extras + needs: + - job: build + image: debian:${RELEASE} + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - apt install -y curl + - curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc + - echo "deb https://deb.mariadb.org/10.3/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list + - apt-get update + - *test-install-readline-in-sid-for-backwards-compat + - apt-get install -y mariadb-server-10.3 + - *test-verify-initial + - *test-install + - service mysql status + # Give the mariadb-upgrade plenty of time to complete, otherwise next commands + # fail on non-existing mariadb.sys user + - sleep 15 + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + +mariadb.org-10.2 to mariadb-10.6 upgrade: + stage: upgrade extras + needs: + - job: build + image: debian:${RELEASE} + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - apt install -y curl + - curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc + - echo "deb https://deb.mariadb.org/10.2/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list + - apt-get update + - *test-install-readline-in-sid-for-backwards-compat + - apt-get install -y mariadb-server-10.2 + # Verify initial state before upgrade + - dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed + - service mysql status + # prepending with --defaults-file=/etc/mysql/debian.cnf is needed in upstream 5.5–10.3 + - | + mysql --defaults-file=/etc/mysql/debian.cnf --skip-column-names -e "SELECT @@version, @@version_comment" + mysql --defaults-file=/etc/mysql/debian.cnf --table -e "SHOW DATABASES;" + mysql --defaults-file=/etc/mysql/debian.cnf --table -e "SELECT * FROM mysql.user; SHOW CREATE USER root@localhost;" + mysql --defaults-file=/etc/mysql/debian.cnf --table -e "SELECT * FROM mysql.plugin; SHOW PLUGINS;" + - *test-install + - service mysql status + # Give the mariadb-upgrade plenty of time to complete, otherwise next commands + # fail on non-existing mariadb.sys user + - sleep 15 + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + - mysql.com-5.7 to mariadb-10.6 upgrade: ++mysql.com-5.7 to mariadb-10.6 upgrade in Buster: + stage: upgrade extras + needs: + - job: build buster-backports + image: debian:buster + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - | + apt-get install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work + apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 467B942D3A79BD29 + echo "deb https://repo.mysql.com/apt/debian/ buster mysql-5.7" > /etc/apt/sources.list.d/mysql.list + apt-get update + apt-get install -y 'mysql*' 'libmysqlc*' + - *test-verify-initial + # Enable backports to make galera-4 available + - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list.d/backports.list && apt-get update + - *test-install + - service mysql status + - sleep 15 # Give the mysql_upgrade a bit of extra time to complete with MySQL 5.7 before querying the server + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ + - percona-xtradb-5.7 to mariadb-10.6 upgrade (MDEV-22679): ++percona-xtradb-5.7 to mariadb-10.6 upgrade in Buster: + stage: upgrade extras + needs: + - job: build buster-backports + image: debian:buster + artifacts: + when: always + name: "$CI_BUILD_NAME" + paths: + - ${WORKING_DIR}/debug + script: + - *test-prepare-container + - | + apt-get install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work + apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 9334A25F8507EFA5 + echo "deb https://repo.percona.com/apt/ buster main" > /etc/apt/sources.list.d/mysql.list + apt-get update + apt-get install -y percona-xtradb-cluster-full-57 percona-xtrabackup-24 percona-toolkit pmm2-client + - service mysql status + - *test-verify-initial + # Enable backports to make galera-4 available + - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list.d/backports.list && apt-get update + - *test-install + - service mysql status + - sleep 15 # Give the mysql_upgrade a bit of extra time to complete with MySQL 5.7 before querying the server + - *test-verify-final + variables: + GIT_STRATEGY: none + except: + variables: + - $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/ diff --cc debian/source/format index 89ae9db8f,000000000..163aaf8d8 mode 100644,000000..100644 --- a/debian/source/format +++ b/debian/source/format @@@ -1,1 -1,0 +1,1 @@@ - 3.0 (native) ++3.0 (quilt) diff --cc debian/source/lintian-overrides index 4bdd335e4,000000000..6bd68a91a mode 100644,000000..100644 --- a/debian/source/lintian-overrides +++ b/debian/source/lintian-overrides @@@ -1,32 -1,0 +1,38 @@@ - # Necessary for drop-in-place-replacement upgrades on mysql-server/-client - # since package breaks/replaces these but at the same time also provides them - version-substvar-for-external-package mariadb-client-core-10.6 -> mysql-client-5.5 - version-substvar-for-external-package mariadb-server-10.6 -> mysql-server - version-substvar-for-external-package mariadb-server-10.6 -> mysql-server - version-substvar-for-external-package libmariadb-dev -> libmysqlclient-dev - version-substvar-for-external-package libmariadb-dev -> libmysqld-dev - version-substvar-for-external-package mariadb-server-10.6 -> mysql-client-5.5 - version-substvar-for-external-package mariadb-server-10.6 -> mysql-client-5.6 - version-substvar-for-external-package mariadb-server-10.6 -> mysql-client-5.7 - version-substvar-for-external-package mariadb-server-10.6 -> mysql-client-8.0 - version-substvar-for-external-package mariadb-client-10.6 -> mysql-client-core-5.1 - version-substvar-for-external-package mariadb-client-10.6 -> mysql-client-core-5.1 - version-substvar-for-external-package mariadb-client-10.6 -> mysql-client-core-5.5 - version-substvar-for-external-package mariadb-client-10.6 -> mysql-client-core-5.5 - version-substvar-for-external-package mariadb-client-10.6 -> mysql-client-core-5.6 - version-substvar-for-external-package mariadb-client-10.6 -> mysql-client-core-5.6 - version-substvar-for-external-package mariadb-client-10.6 -> mysql-client-core-5.7 - version-substvar-for-external-package mariadb-client-10.6 -> mysql-client-core-5.7 - version-substvar-for-external-package mariadb-client-10.6 -> mysql-client-core-8.0 - version-substvar-for-external-package mariadb-client-10.6 -> mysql-client-core-8.0 - version-substvar-for-external-package libmariadbd-dev -> libmariadbclient-dev - # ColumnStore not used in Debian, safe to ignore. Reported upstream in https://jira.mariadb.org/browse/MDEV-24124 - source-is-missing storage/columnstore/columnstore/utils/jemalloc/libjemalloc.so.2 - # Must be fixed upstream - source-is-missing storage/mroonga/vendor/groonga/examples/dictionary/html/js/jquery-ui-1.8.18.custom.js* +# Intentional control relationships - version-substvar-for-external-package Replaces * ${source:Version} libmariadbd-dev -> libmariadbclient-dev - version-substvar-for-external-package Replaces * ${source:Version} libmariadb-dev -> libmysqlclient-dev - version-substvar-for-external-package Replaces * ${source:Version} libmariadb-dev -> libmysqld-dev - # We can't change build dependencies on a stable branch (10.5..10.8) so just override this - missing-build-dependency-for-dh-addon systemd * ++version-substvar-for-external-package libmariadb-dev -> libmysqld-dev ++version-substvar-for-external-package Replaces (line 60) ${source:Version} libmariadb-dev -> libmysqld-dev ++# Not much we can do about this in Debian, no need for Lintian to fail the whole check on it ++source-is-missing storage/mroonga/vendor/groonga/examples/dictionary/html/js/jquery-ui-1.8.18.custom.js ++# Do not alert for documentation in html ++source-is-missing sql/share/charsets/languages.html ++source-is-missing storage/rocksdb/rocksdb/docs/_includes/footer.html ++# Data or test files where long lines are justified ++very-long-line-length-in-source-file *.test * ++very-long-line-length-in-source-file *.result * ++very-long-line-length-in-source-file BUILD/compile-* ++very-long-line-length-in-source-file *.cproject * ++very-long-line-length-in-source-file extra/wolfssl/wolfssl/IDE/Espressif/ESP-IDF/test/test_wolfssl.c * ++very-long-line-length-in-source-file extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/GR-ROSE/smc/smc.scfg * ++very-long-line-length-in-source-file extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/RSK/smc/smc.scfg * ++very-long-line-length-in-source-file extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX65N/RSK/test/test_HardwareDebug.launch * ++very-long-line-length-in-source-file extra/wolfssl/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit/smc/smc.scfg * ++very-long-line-length-in-source-file extra/wolfssl/wolfssl/wolfcrypt/src/fp_mul_comba_* ++very-long-line-length-in-source-file extra/wolfssl/wolfssl/wolfcrypt/src/fp_sqr_comba_* ++very-long-line-length-in-source-file mysql-test/collections/default.weekly * ++very-long-line-length-in-source-file mysql-test/include/common-tests.inc * ++very-long-line-length-in-source-file mysql-test/include/default_optimizer_switch.inc * ++very-long-line-length-in-source-file mysql-test/std_data/* ++very-long-line-length-in-source-file mysql-test/suite/* ++very-long-line-length-in-source-file plugin/handler_socket/regtest/* ++very-long-line-length-in-source-file storage/archive/archive_test.c * ++very-long-line-length-in-source-file storage/maria/libmarias3/docs/_themes/sphinx_rtd_theme/static/css/badge_only.css * ++very-long-line-length-in-source-file storage/maria/libmarias3/docs/_themes/sphinx_rtd_theme/static/css/theme.css * ++very-long-line-length-in-source-file storage/rocksdb/mysql-test/rocksdb/* ++very-long-line-length-in-source-file storage/spider/mysql-test/spider/bugfix/include/sql_mode_init.inc * ++# Columnstore source code pollution ++very-long-line-length-in-source-file storage/columnstore/columnstore/*.xmi * ++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 * ++source-contains-autogenerated-visual-c++-file storage/columnstore/columnstore/*.rc ++source-contains-autogenerated-visual-c++-file storage/columnstore/columnstore/*.h diff --cc debian/tests/smoke index e5d50496b,000000000..a78349441 mode 100644,000000..100644 --- a/debian/tests/smoke +++ b/debian/tests/smoke @@@ -1,109 -1,0 +1,109 @@@ +#!/bin/sh +# dep8 smoke test for mysql-server +# Author: Robie Basak +# +# This test should be declared in debian/tests/control with a dependency +# on the package that provides a configured MariaDB server (eg. +# mariadb-server-10.6). +# +# This test should be declared in debian/tests/control with the +# following restrictions: +# +# needs-root (to be able to log into the database) +# allow-stderr +# +# This test: +# +# 1) Creates a test database and test user as the root user. +# +# 2) Creates a test table and checks it appears to operate normally +# using the test user and test database. +# +# 3) Checks compression support for InnoDB & RocksDB engine. + +echo "Running test 'smoke'" +set -ex + +# Start the daemon if it was not running. For example in Docker testing +# environments there might not be any systemd et al and the service needs to +# be started manually. +if ! which systemctl +then + if ! /etc/init.d/mariadb status + then + echo "Did not find systemctl and daemon was not running, starting it.." + /etc/init.d/mariadb start + fi +else + # If systemd (and systemctl) is available, but the service did not start, then + # this smoke test is supposed to fail if next commands don't work. + echo "Found systemctl, continuing smoke test.." +fi + +mysql <&2 + exit 1 +fi + +mysql --user=testuser --password=testpassword testdatabase <&2 + exit 1 + fi + done +else + ! dpkg-query -W $plugin +fi diff --cc debian/tests/upstream index f216df243,000000000..0f53e2555 mode 100644,000000..100644 --- a/debian/tests/upstream +++ b/debian/tests/upstream @@@ -1,67 -1,0 +1,70 @@@ +#!/bin/sh +# autopkgtest check: Build and run the upstream test suite. +# (C) 2012 Canonical Ltd. +# Author: Daniel Kessel + +# running the mysql testsuite as described in: +# https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/959683 + +echo "Running test 'testsuite'" +set -e + +SKIP_TEST_LST="/tmp/skip-test.lst" ++ARCH=$(dpkg --print-architecture) ++ +WORKDIR=$(mktemp -d) +trap 'rm -rf $WORKDIR $SKIP_TEST_LST' 0 INT QUIT ABRT PIPE TERM +cd "$WORKDIR" + +mkdir var +mkdir tmp + +echo "using vardir: $WORKDIR/var" +echo "using tmpdir: $WORKDIR/tmp" + +echo "Setting up skip-tests-list" + - touch $SKIP_TEST_LST ++# Use unstable-tests list as base to skip all tests considered unstable ++cp /usr/share/mysql/mysql-test/unstable-tests $SKIP_TEST_LST + - # Also use arch specific skiplists if such files exist - for filename in /usr/share/mysql/mysql-test/unstable-tests.* - do - # Check for case that no files matched and glob is returned - [ -e "$filename" ] || continue - # Append file to the main skip test list file - cat "$filename" >> $SKIP_TEST_LST - done ++# Also use the arch specific skiplists if exist ++if [ -f /usr/share/mysql/mysql-test/unstable-tests.$ARCH ] ++then ++ cat /usr/share/mysql/mysql-test/unstable-tests.$ARCH >> $SKIP_TEST_LST ++fi + +# Skip tests that cannot run properly on ci.debian.net / autopkgtests.ubuntu.com +cat >> $SKIP_TEST_LST << EOF +binlog.binlog_server_start_options : Requires writable /usr +main.ctype_uca : Requires writable /usr +rpl.rpl_gtid_mode : Requires starting server as root ref http://bugs.mysql.com/bug.php?id=70517 +EOF + +# Skip tests that cannot run properly on Gitlab-CI +if [ ! -z "$GITLAB_CI" ] +then + cat >> $SKIP_TEST_LST << EOF +main.mysqld--help : For unknown reason table-cache is 4000 instead of default 421 +EOF +fi + - ARCH=$(dpkg --print-architecture) +if [ "$ARCH" = "s390x" ] +then + echo "main.func_regexp_pcre : recursion fails on s390x https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1723947" >> $SKIP_TEST_LST +elif [ "$ARCH" = "armhf" ] || [ "$ARCH" = "i386" ] +then + echo "main.failed_auth_unixsocket : Test returns wrong exit code on armhf and i386 (but only in debci) https://jira.mariadb.org/browse/MDEV-23933" >> $SKIP_TEST_LST +fi + ++# Store skipped test list in artifacts so it can be viewed while debugging ++# failed autopkgtest runs ++cp -v $SKIP_TEST_LST $AUTOPKGTEST_ARTIFACTS ++ +cd /usr/share/mysql/mysql-test +echo "starting mysql-test-tun.pl..." +eatmydata perl -I. ./mysql-test-run.pl --suite=main \ + --vardir="$WORKDIR/var" --tmpdir="$WORKDIR/tmp" \ + --parallel=auto --skip-rpl \ + --force --skip-test-list=$SKIP_TEST_LST \ + --xml-report=$AUTOPKGTEST_ARTIFACTS/mysql-test-run-junit.xml $@ 2>&1 +echo "run: OK" diff --cc debian/unstable-tests.alpha index 000000000,000000000..a61024c83 new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.alpha @@@ -1,0 -1,0 +1,2 @@@ ++repair_symlink-5543 : https://jira.mariadb.org/browse/MDEV-23920 ++main.alter_table_mdev539_maria : https://jira.mariadb.org/browse/MDEV-23922 diff --cc debian/unstable-tests.amd64 index 000000000,000000000..17816b6b4 new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.amd64 @@@ -1,0 -1,0 +1,1 @@@ ++main.strings : MDEV-26644 diff --cc debian/unstable-tests.arm64 index 000000000,000000000..17816b6b4 new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.arm64 @@@ -1,0 -1,0 +1,1 @@@ ++main.strings : MDEV-26644 diff --cc debian/unstable-tests.armel index 000000000,000000000..7f9b5a69d new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.armel @@@ -1,0 -1,0 +1,1 @@@ ++main.partition_key_cache : MDEV-23427 diff --cc debian/unstable-tests.armhf index 000000000,000000000..3b6e714bc new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.armhf @@@ -1,0 -1,0 +1,1 @@@ ++main.xml : MDEV-21968 diff --cc debian/unstable-tests.hppa index 000000000,000000000..2b0a04e9c new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.hppa @@@ -1,0 -1,0 +1,2 @@@ ++repair_symlink-5543 : https://jira.mariadb.org/browse/MDEV-23920 ++main.index_intersect : https://jira.mariadb.org/browse/MDEV-23921 diff --cc debian/unstable-tests.m68k index 000000000,000000000..8294d9a0b new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.m68k @@@ -1,0 -1,0 +1,1 @@@ ++# For an unknown reason, the mysql-test-run does not even start on m68k Debian buildd (Bug#972057) diff --cc debian/unstable-tests.mipsel index 000000000,000000000..29f75232a new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.mipsel @@@ -1,0 -1,0 +1,1 @@@ ++main.func_json_notembedded : MDEV-27955 diff --cc debian/unstable-tests.powerpc index 000000000,000000000..29f75232a new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.powerpc @@@ -1,0 -1,0 +1,1 @@@ ++main.func_json_notembedded : MDEV-27955 diff --cc debian/unstable-tests.ppc64el index 000000000,000000000..7d4603935 new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.ppc64el @@@ -1,0 -1,0 +1,1 @@@ ++main.strings : MDEV-26644 diff --cc debian/unstable-tests.s390x index 000000000,000000000..fbf5d1317 new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.s390x @@@ -1,0 -1,0 +1,2 @@@ ++main.strings : MDEV-26644 ++main.func_json_notembedded : MDEV-27955 diff --cc debian/unstable-tests.sh4 index 000000000,000000000..735b5f180 new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.sh4 @@@ -1,0 -1,0 +1,1 @@@ ++# For an unknown reason, the mysql-test-run does not even start on sh4 Debian buildd (Bug#988349) diff --cc debian/unstable-tests.sparc64 index 000000000,000000000..78d79c758 new file mode 100644 --- /dev/null +++ b/debian/unstable-tests.sparc64 @@@ -1,0 -1,0 +1,10 @@@ ++main.partition_order : MDEV-27954 ++main.func_str : MDEV-27954 ++main.group_by : MDEV-27954 ++main.group_by_null : MDEV-27954 ++main.features : MDEV-27954 ++main.repair_symlink-5543 : MDEV-23920 ++main.type_datetime : MDEV-27954 ++main.xml : MDEV-27954 ++main.func_like : MDEV-27954 ++main.func_math : MDEV-27954 diff --cc debian/upstream/metadata index 000000000,000000000..94aa5cb9e new file mode 100644 --- /dev/null +++ b/debian/upstream/metadata @@@ -1,0 -1,0 +1,6 @@@ ++Bug-Database: http://mariadb.org/jira ++Bug-Submit: http://mariadb.org/jira ++Donation: https://mariadb.org/donate/ ++Repository: git://github.com/MariaDB/server.git ++Repository-Browse: https://github.com/MariaDB/server ++Security-Contact: security@mariadb.org diff --cc debian/upstream/signing-key.asc index 000000000,000000000..b21f4d05c new file mode 100644 --- /dev/null +++ b/debian/upstream/signing-key.asc @@@ -1,0 -1,0 +1,43 @@@ ++-----BEGIN PGP PUBLIC KEY BLOCK----- ++ ++mQGiBEtohJARBACxvZpWSIMTp/e7BUzSW+WDL7Pl0JDg6v7ZJFGJk9qo+5JXIiis ++497Ul0FmVJ6EoyVzfpqe5FyUvqtLCkM6UP5adyvXTHi1KMiYacu2q5yRhDpMKbpM ++LkAg23Yyz1yK/d0TsAkerLJ6K1Bh8NIm44Op+qFrDxeYZDIR5Q8WaCdK8wCg/jc8 ++p/4XaKq74ghUHEX+35qk63UD/0YEsgHrsRQZ42wKNeO8ZUJKqCVHXYJrCq7DhRhn ++U5aYnuK3op0JusPN5fdIGkKwJy24dWRoRfNIIg0WvM8qUNrC2NvhomnZNudsI0Jb ++XapRemrIwbvrZToD6ei1awdVqa5fT6XIxV4MSQEwn47qmUNSz/0TkUmB3VZ2EL/j ++zfHUA/91ZfAdWCmRemTLWRrzIYYJKyEInZ0qwZVrkyMY8+T7b2/6RGR0f2oV1dOx ++cjbd0+N3vKrUkjuzkcVu/oB8wq9UBfuSHwsxYqub4gvIh0/LW+CsWa955sQ/Hj9H ++48j3nUHaXqM9uJyMMgMlCdo3rLpnYCJH8w2kFfLHIDksMs1YtLQ9TWFyaWFEQiBQ ++YWNrYWdlIFNpZ25pbmcgS2V5IDxwYWNrYWdlLXNpZ25pbmcta2V5QG1hcmlhZGIu ++b3JnPohiBBMRAgAiBQJREUepAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAK ++CRDLywgqG7lD28y4AJ0aByfYvJWqBm5PZjusZiG0vo9SRwCeM0izj/oryMu0fJi3 ++kRbTlojzCd20Q0RhbmllbCBCYXJ0aG9sb21ldyAoTW9udHkgUHJvZ3JhbSBzaWdu ++aW5nIGtleSkgPGRiYXJ0QGFza21vbnR5Lm9yZz6IYAQTEQIAIAUCS2iEkAIbAwYL ++CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEMvLCCobuUPboDgAoNQVrK4i5LXTgwnW ++ke2MxsXCoHDnAJ93j733YuNkV64aHEUwWxNCkkwUkbkEDQRLaIS4EBAApZ0wvxpQ ++VlZ6OEFa9SBQ5eclRIOjXjKqkYGkvIx+jUmqCYfOgfPixOGYS5Q2KwHNz4XEOIOA ++1kyClAoAAgOEGUxj8CxnbBk10IVo/JBONjdqKYPZ2YNdeIIrKXEmai4i5hK5AfZH ++oyqsV5aqxGkGeVUju/coyRJY6La8iL+RBuxiRuUPWymGjtISAR6fSiN8f/kRly/y ++9LmMO8JcOpeieqLUFPK6KuzhI4F0nFkHJpZPDNOHHl+GmAZ+SqZxmIrpkGymd36h ++TKxW4nlnN6kqc1gMwdn1L/u/D+C/jhMbTTssqiMZeyP9uFmnMB3ls1NV8OxvbxcT ++BG0M7g4AlffUQKpUrNhIBoC3R7UbYQ3CTZX1Qp/TBzbfRAgGhdWBQDQEd3/Ll9G4 ++QaCs9I+4W68rkAr7e7IylHyfEi9oYQkXFIEeaAhiENmJBpcLpas/yNJoLayqzPsQ +++lRNg3omFntPtZolkMi6orRNixrgXV64m/01YNjmBFTqsp5wOq2j0cmTkbOWqdnl ++mGPg2El1ufebJc6YWS1nFm6YRpN/B3QbtAnar1Cb+IHlr0haTOYhQp+XFN+k1brq ++s+Sufa8/rz6N5tsm+W5GjHKvHr24FTa02u3H4lIqNlNBkzZZKhzAhxEWiJzwc/f2 ++upG5vdplrM/YCU+XTotYPb5ZEXQe2mD/rXMAAwUP/0f1DOJIfnMrh1o/3RKqDq8k ++7tlv2GEEv0VEnh8ty4dMb8Dos2M1Oc4Kv9QLB3DXcS4/L4JW5vF0QgSAzq1r5oBT ++1zaMcqDS6OUlHrWUi8aDNt5EPQuEGdP2/iTDeAq4r8eCYrHRC7egldyRZrmWNfcZ ++N6/G9K+JSjhWfSWWSBRIqb+UxcQNCp6i6tvVSxCfLK1R4P4kA/Z4Co2vywIfVfPh ++Hd5nIWNl1yl9O3r04GCNTjzwsv/dhUGDFIVsghgehZuL0Bb7hDuyvZ2ShALumZ5t ++7mU/SJ2hOk3klO+2bIJB0gquUkWn/4g1h2Tp9XVWrI1x6GUBxRYkwC4tWajzWeVC ++5hcDVAdqYN0H0HVj/CEgrEWlCVv1hJ0JYAsjX8Cj1QuZB1i34fjEkgybMjo3oCU5 ++GCSiNmvtTeUpexyY/7iHAdyoZHFT+fQS84VMYKFT4tTYH+5jTa62yfPhn63TYPor ++rRyTqG8aJQLnczm0NN5R5mriYJQjr4Pj8PSSwWck/Gt8R5vb+C69+uXINB6OKqhG ++6xU0bqnCIxt3OhVS7v0SfHjn0+il/JOc/ev9wm6G5FxmEWOoYwibmaDzHfc9N1HM ++RzjTENI7fyJPNFj9IDkpwk4E3ylrkuVl2KEmYDJ9T9ny4UMnQ7Sb6w59UhxMIFtR ++TPNpQJWCWXfhWUAo4WfCiEkEGBECAAkFAktohLgCGwwACgkQy8sIKhu5Q9vThgCg ++7R7ImT+21phcbxVYBQZjiJVY/2YAnRKPeNKPNIviaUUV7kxMXt949GQX ++=zBws ++-----END PGP PUBLIC KEY BLOCK----- diff --cc debian/watch index 000000000,000000000..7c2775e7b new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,17 @@@ ++version=3 ++opts=\ ++pgpsigurlmangle=s/$/.asc/,\ ++uversionmangle=s/-(rc|beta)/$1/,pasv \ ++https://archive.mariadb.org/mariadb-10.6.([\d\.]*(?:-beta|-rc)?)/source/mariadb-([\d\.]*(?:-beta|-rc)?).tar.gz \ ++ ++# String "-10.6." needs to be in path as MariaDB releases several series in ++# parallel (e.g 10.6, 10.4, 10.3 etc) and uscan should check for updates only ++# in the 10.6-series. ++ ++# Automated signature checking with pgpsigurlmangle has been available ++# only since devscripts version 2.13.3 ++ ++# Specifically use archive.mariadb.org because it supports https and the main ++# page has a file listing suitable for scanning new releases. ++# The archive.mariadb.org service is under MariaDB Foundation control and is ++# the official source for new releases.