+++ /dev/null
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/files/conf.d-2.0,v 1.1 2014/08/21 03:08:13 grknight Exp $
-
-# If you want a non-stock location for the config file, uncomment or update
-# either of these as needed. If you do use it, you must make sure that none of
-# your socket, pidfile, datadir, logfiles, binary logs, relay logs or InnoDB
-# files collide with each other.
-MY_CNF="/etc/mysql/my.cnf"
-#MY_CNF="${MY_CNF:-/etc/${SVCNAME}/my.cnf}"
-#MY_CNF="${MY_CNF:-/etc/mysql/my-${SVCNAME/mysql.}.cnf}"
-
-# Place any additional arguments here that you might need
-# Common/useful options:
-# --skip-slave-start=1 - For bringing up replication initially
-# --server-id=NNN - Server ID for replication
-# --skip-networking - lock it down to UNIX sockets only
-MY_ARGS=""
-
-# This setting (in seconds) should be high enough to allow InnoDB to do a full
-# checkpoint recovery. 900 is the default used in the upstream RPM startup
-# scripts. 30 seconds should be sufficent if you just have a tiny <1GiB
-# database. After the core startup is done, we wait this long for the UNIX
-# socket to appear.
-STARTUP_TIMEOUT="900"
-
-# This is how long, in milliseconds, we wait for pidfile to be created, early
-# in the startup.
-STARTUP_EARLY_TIMEOUT="1000"
-
-# How long (in seconds) should we wait for shutdown?
-STOP_TIMEOUT=120
-
-# integer [-20 .. 19 ] default 0
-# change the priority of the server -20 (high) to 19 (low)
-# see nice(1) for description
-#NICE=0
-
-# See start-stop-daemon(8) for possible settings
-#IONICE=2
-
-# If defined, --verbose gets passed to S-S-D
-#DEBUG=1
-
-# Depending on your usage of MySQL, you may also wish to start it after some
-# other services are up. Uncomment the lines below as needed. If these aren't
-# enough for you, we encourage you to file a bug, and help us understand how
-# you are using MySQL.
-
-# Do your MySQL ACLs refer to hostnames not in your /etc/hosts?
-# If so, you need DNS before you can accept connections.
-# Avoid dependency circular loops if you use MySQL to power a local DNS server.
-#rc_use="dns"
-#rc_after="dns"
-
-# Does your MySQL bind to an IP on an interface other than net.lo?
-# Alternatively you might wish to specify the exact interface here.
-#rc_use="net"
-#rc_after="net"
-
-# Do you store your MySQL files on a SAN or other network filesystem, that is
-# provided by the netmount init script?
-#rc_need="netmount"
-
-# Or from NFS? P.S. This is not a good idea in most cases, but does have some
-# valid usage cases, so we provide the option.
-#rc_need="nfsmount"
-
-# Should any one of the instances satisfy the requirement for MySQL coming up?
-# By default, we say no.
-[ "${SVCNAME}" != mysql ] && rc_provide="!mysql"
-# But uncomment this next instead if you think it should.
-#rc_provide="mysql"
-
-# The conditional above has a false-positive "failure" return value as a
-# side-effect, and since it's the last statement, without the next line, this
-# script returns failure.
-return 0
-# vim: ft=gentoo-conf-d et ts=4 sw=4:
+++ /dev/null
-#!/sbin/runscript
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/files/init.d-2.0,v 1.3 2014/09/23 01:23:27 grknight Exp $
-
-extra_commands="checkconfig"
-
-depend() {
- use net.lo
- # localmount needed for $basedir
- need localmount
-}
-
-get_config() {
- my_print_defaults --config-file="$1" mysqld |
- sed -n -e "s/^--$2=//p"
-}
-
-mysql_svcname() {
- local ebextra=
- case "${SVCNAME}" in
- mysql*) ;;
- *) ebextra=" (mysql)" ;;
- esac
- echo "${SVCNAME}${ebextra}"
-}
-
-start() {
- # Check for old conf.d variables that mean migration was not yet done.
- set | egrep -sq '^(mysql_slot_|MYSQL_BLOG_PID_FILE|STOPTIMEOUT)'
- rc=$?
- # Yes, MYSQL_INIT_I_KNOW_WHAT_I_AM_DOING is a hidden variable.
- # It does have a use in testing, as it is possible to build a config file
- # that works with both the old and new init scripts simulateously.
- if [ "${rc}" = 0 -a -z "${MYSQL_INIT_I_KNOW_WHAT_I_AM_DOING}" ]; then
- eerror "You have not updated your conf.d for the new mysql-init-scripts-2 revamp."
- eerror "Not proceeding because it may be dangerous."
- return 1
- fi
-
- # Check the config or die
- checkconfig || return 1
-
- # Now we can startup
- ebegin "Starting $(mysql_svcname)"
-
- MY_CNF="${MY_CNF:-/etc/${SVCNAME}/my.cnf}"
-
- if [ ! -r "${MY_CNF}" ] ; then
- eerror "Cannot read the configuration file \`${MY_CNF}'"
- return 1
- fi
-
- # tail -n1 is critical as these we only want the last instance of the option
- local basedir=$(get_config "${MY_CNF}" basedir | tail -n1)
- local datadir=$(get_config "${MY_CNF}" datadir | tail -n1)
- local pidfile=$(get_config "${MY_CNF}" pid-file | tail -n1)
- local socket=$(get_config "${MY_CNF}" socket | tail -n1)
- local chroot=$(get_config "${MY_CNF}" chroot | tail -n1)
-
- if [ -n "${chroot}" ] ; then
- socket="${chroot}/${socket}"
- pidfile="${chroot}/${pidfile}"
- fi
-
- if [ ! -d "${datadir}" ] ; then
- eerror "MySQL datadir \`${datadir}' is empty or invalid"
- eerror "Please check your config file \`${MY_CNF}'"
- return 1
- fi
-
- if [ ! -d "${datadir}"/mysql ] ; then
- # find which package is installed to report an error
- local EROOT=$(portageq envvar EROOT)
- local DBPKG_P=$(portageq match ${EROOT} $(portageq expand_virtual ${EROOT} virtual/mysql))
- if [ -z ${DBPKG_P} ] ; then
- eerror "You don't appear to have a server package installed yet."
- else
- eerror "You don't appear to have the mysql database installed yet."
- eerror "Please run \`emerge --config =${DBPKG_P}\` to have this done..."
- fi
- return 1
- fi
-
- local piddir="${pidfile%/*}"
- checkpath -d --owner mysql:mysql --mode 0755 "$piddir"
- rc=$?
- if [ $rc -ne 0 ]; then
- eerror "Directory $piddir for pidfile does not exist and cannot be created"
- return 1
- fi
-
- local startup_timeout=${STARTUP_TIMEOUT:-900}
- local startup_early_timeout=${STARTUP_EARLY_TIMEOUT:-1000}
- local tmpnice="${NICE:+"--nicelevel "}${NICE}"
- local tmpionice="${IONICE:+"--ionice "}${IONICE}"
- start-stop-daemon \
- ${DEBUG:+"--verbose"} \
- --start \
- --exec "${basedir}"/sbin/mysqld \
- --pidfile "${pidfile}" \
- --background \
- --wait ${startup_early_timeout} \
- ${tmpnice} \
- ${tmpionice} \
- -- --defaults-file="${MY_CNF}" ${MY_ARGS}
- local ret=$?
- if [ ${ret} -ne 0 ] ; then
- eend ${ret}
- return ${ret}
- fi
-
- ewaitfile ${startup_timeout} "${socket}"
- eend $? || return 1
-
- save_options pidfile "${pidfile}"
- save_options basedir "${basedir}"
-}
-
-stop() {
- ebegin "Stopping $(mysql_svcname)"
-
- local pidfile="$(get_options pidfile)"
- local basedir="$(get_options basedir)"
- local stop_timeout=${STOP_TIMEOUT:-120}
-
- start-stop-daemon \
- ${DEBUG:+"--verbose"} \
- --stop \
- --exec "${basedir}"/sbin/mysqld \
- --pidfile "${pidfile}" \
- --retry ${stop_timeout}
- eend $?
-}
-
-checkconfig() {
- local my_cnf="${MY_CNF:-/etc/${SVCNAME}/my.cnf}"
- local basedir=$(get_config "${my_cnf}" basedir | tail -n1)
- local svc_name=$(mysql_svcname)
- ebegin "Checking mysqld configuration for ${svc_name}"
-
- if [ ${RC_CMD} = "checkconfig" ] ; then
- # We are calling checkconfig specifically. Print warnings regardless.
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null
- else
- # Suppress output to check the return value
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null 2>&1
-
- # If the above command does not return 0,
- # then there is an error to echo to the user
- if [ $? -ne 0 ] ; then
- "${basedir}"/sbin/mysqld --defaults-file="${my_cnf}" --help --verbose > /dev/null
- fi
- fi
-
- eend $? "${svc_name} config check failed"
-}
-
-# vim: filetype=gentoo-init-d sw=2 ts=2 sts=2 noet:
-