mirror of
https://github.com/MariaDB/server.git
synced 2025-05-18 03:37:55 +02:00

Fix a large amount of minor fixes to maintainer scripts and other done downstream in the official Debian packaging. Changes include:38198d0b9e
> Limit check of running mysqld/mariadbd to system users (Closes: #1032047) > > If a random user has their own copy of mysqld/mariadbd running, the > dpkg maintainer script should not care about it.8116354d22
> Make error more helpful in case server restart fails (Related: #1033234) > > Bugs such as https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033234 > and2011293
> show that currently dpkg stopping on service stop/start does not have > a very helpful error message.8675e97202
> Complement upstream commits with more complete mysql->mariadb conversion > > The upstream commit952af4a1
missed some places where 'mysql' or > 'MySQL' can and should be converted to use 'mariadb' or 'MariaDB'.c983613300
> Fix indentation in Debian post and pre scripts > > There is several misindentation inside Debian post and pre > installation scripts. False indentation with space as indent space > should be 2 and indentation with tabs. > > Adopt upstream commit7cbb45d1
in Debian by conserving customizations > in: > - debian/mariadb-server.postinst > - debian/mariadb-server.postrm > - debian/mariadb-server.preinstd0bcab443f
> Ensure spaces are used everywhere instead of tabs for indentation0300a9157c
> Complement previous upstream commits to fix Shellcheck issues > > - Unify if/then and while/do on separate lines > - Fix indentation to be consistent > - Use "$()" instead of backticks for subshells > - Exit code cannot be -1, must be 0-255 > - Remove unused variables MYCHECK and MYCHECK_PARAMS > - Rewrite messy command-line database calls to an easier to read form > that does exactly the same > - Use 'command -v' test instead of 'which' > > With this commit, all of debian/* is Shellcheck clean. Also * Update mariadb.conf.d template to tell users where to create logdir if they are not using journald * Remove use of work 'slave' * Add minor workaround for Debian Bug #1022994 if TMPDIR is empty * Make start/stop in maintainer scripts correctly check mariadbd ownership and only start/stop processes owned by root or 'mysql' * Remove obsolete 'NO_UPDATE_BUILD_VERSION=1' as it did not affect the RocksDB build reproducibility as previously assumed * Run 'wrap-and-sort -av'
50 lines
1.7 KiB
Bash
Executable file
50 lines
1.7 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# This script is executed by both SysV init /etc/init.d/mariadb and
|
|
# systemd mariadb.service on every (re)start.
|
|
#
|
|
# Changes to this file will be preserved when updating the Debian package.
|
|
#
|
|
|
|
# shellcheck source=debian/additions/debian-start.inc.sh
|
|
source /usr/share/mysql/debian-start.inc.sh
|
|
|
|
# Read default/mysql first and then default/mariadb just like the init.d file does
|
|
if [ -f /etc/default/mysql ]
|
|
then
|
|
# shellcheck source=/dev/null
|
|
. /etc/default/mysql
|
|
fi
|
|
|
|
if [ -f /etc/default/mariadb ]
|
|
then
|
|
# shellcheck source=/dev/null
|
|
. /etc/default/mariadb
|
|
fi
|
|
|
|
MARIADB="/usr/bin/mariadb --defaults-file=/etc/mysql/debian.cnf"
|
|
MYADMIN="/usr/bin/mariadb-admin --defaults-file=/etc/mysql/debian.cnf"
|
|
# Don't run full mariadb-upgrade on every server restart, use --version-check to do it only once
|
|
MYUPGRADE="/usr/bin/mariadb-upgrade --defaults-extra-file=/etc/mysql/debian.cnf --version-check --silent"
|
|
MYCHECK_SUBJECT="WARNING: mariadb-check has found corrupt tables"
|
|
MYCHECK_RCPT="${MYCHECK_RCPT:-root}"
|
|
|
|
## Checking for corrupt, not cleanly closed (only for MyISAM and Aria engines) and upgrade needing tables.
|
|
|
|
# The following commands should be run when the server is up but in background
|
|
# where they do not block the server start and in one shell instance so that
|
|
# they run sequentially. They are supposed not to echo anything to stdout.
|
|
# If you want to disable the check for crashed tables comment
|
|
# "check_for_crashed_tables" out.
|
|
# (There may be no output to stdout inside the background process!)
|
|
|
|
# Need to ignore SIGHUP, as otherwise a SIGHUP can sometimes abort the upgrade
|
|
# process in the middle.
|
|
trap "" SIGHUP
|
|
(
|
|
upgrade_system_tables_if_necessary;
|
|
check_root_accounts;
|
|
check_for_crashed_tables;
|
|
) >&2 &
|
|
|
|
exit 0
|