From 19b6bb3093864849a208b0e423511f5c9c7747a1 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Thu, 14 Feb 2019 12:33:26 +0000 Subject: experimental/mariadb: ugly pos --- experimental/mariadb/mariadb.initd | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 experimental/mariadb/mariadb.initd (limited to 'experimental/mariadb/mariadb.initd') diff --git a/experimental/mariadb/mariadb.initd b/experimental/mariadb/mariadb.initd new file mode 100644 index 000000000..143ca8ff5 --- /dev/null +++ b/experimental/mariadb/mariadb.initd @@ -0,0 +1,40 @@ +#!/sbin/openrc-run + +getconf() { + v=$(my_print_defaults --mysqld | grep ^--$1) + [ -z $v ] && echo $2 || echo ${v#*=} +} + +retry="60" +extra_stopped_commands="setup" +command="/usr/bin/mysqld_safe" +command_args="--syslog --nowatch" +depend() { + use net + need localmount +} + +setup() { + ebegin "Creating a new MySQL database" + mysql_install_db --user=mysql --rpm + eend $? +} + +start_pre() { + pidfile=$(getconf pid-file "/run/mysqld/mysqld.pid") + command_args="$command_args --pid-file=$pidfile" + required_dirs=$(getconf datadir "/var/lib/mysql") + if [ ! -d $required_dirs/mysql ]; then + eerror "Datadir '$required_dirs' is empty or invalid." + eerror "Run '/etc/init.d/mariadb setup' to create new database." + fi +} + +start_post() { + ewaitfile 10 $(getconf socket "/run/mysqld/mysqld.sock") +} + +stop_pre() { + pidfile=$(getconf pid-file "/run/mysqld/mysqld.pid") +} + -- cgit v1.2.3-70-g09d2