summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2014-08-21 03:08:13 +0000
committerBrian Evans <grknight@gentoo.org>2014-08-21 03:08:13 +0000
commita55b2568a94e61fce1db2530ae27f1455092be9c (patch)
tree7f0171687aecd14fa2312beb807a50d6ba22bf59 /dev-db/mysql-init-scripts
parentVersion bump. (diff)
downloadgentoo-2-a55b2568a94e61fce1db2530ae27f1455092be9c.tar.gz
gentoo-2-a55b2568a94e61fce1db2530ae27f1455092be9c.tar.bz2
gentoo-2-a55b2568a94e61fce1db2530ae27f1455092be9c.zip
Verision bump to 2.0 adding a simple checkconfig and support for chroot
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 67C78E1D)
Diffstat (limited to 'dev-db/mysql-init-scripts')
-rw-r--r--dev-db/mysql-init-scripts/ChangeLog11
-rw-r--r--dev-db/mysql-init-scripts/files/conf.d-2.079
-rw-r--r--dev-db/mysql-init-scripts/files/init.d-2.0 (renamed from dev-db/mysql-init-scripts/files/mysql-5.1.67-init.d-r1)30
-rw-r--r--dev-db/mysql-init-scripts/files/mysql.conf.d80
-rw-r--r--dev-db/mysql-init-scripts/files/mysql.rc6358
-rw-r--r--dev-db/mysql-init-scripts/files/mysqlmanager.conf.d28
-rw-r--r--dev-db/mysql-init-scripts/files/mysqlmanager.rc6230
-rw-r--r--dev-db/mysql-init-scripts/mysql-init-scripts-1.2.ebuild26
-rw-r--r--dev-db/mysql-init-scripts/mysql-init-scripts-2.0.ebuild (renamed from dev-db/mysql-init-scripts/mysql-init-scripts-2.0_pre1-r7.ebuild)6
9 files changed, 121 insertions, 727 deletions
diff --git a/dev-db/mysql-init-scripts/ChangeLog b/dev-db/mysql-init-scripts/ChangeLog
index 4edb5dfeba66..ca4b4d2a1026 100644
--- a/dev-db/mysql-init-scripts/ChangeLog
+++ b/dev-db/mysql-init-scripts/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for dev-db/mysql-init-scripts
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/ChangeLog,v 1.40 2014/08/10 20:01:21 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/ChangeLog,v 1.41 2014/08/21 03:08:13 grknight Exp $
+
+*mysql-init-scripts-2.0 (21 Aug 2014)
+
+ 21 Aug 2014; Brian Evans <grknight@gentoo.org> +files/conf.d-2.0,
+ +files/init.d-2.0, +mysql-init-scripts-2.0.ebuild,
+ -files/mysql-5.1.67-init.d-r1, -files/mysql.conf.d, -files/mysql.rc6,
+ -files/mysqlmanager.conf.d, -files/mysqlmanager.rc6,
+ -mysql-init-scripts-1.2.ebuild, -mysql-init-scripts-2.0_pre1-r7.ebuild:
+ Verision bump to 2.0 adding a simple checkconfig and support for chroot
10 Aug 2014; Sergei Trofimovich <slyfox@gentoo.org>
mysql-init-scripts-1.2.ebuild, mysql-init-scripts-2.0_pre1-r6.ebuild,
diff --git a/dev-db/mysql-init-scripts/files/conf.d-2.0 b/dev-db/mysql-init-scripts/files/conf.d-2.0
new file mode 100644
index 000000000000..953575b24766
--- /dev/null
+++ b/dev-db/mysql-init-scripts/files/conf.d-2.0
@@ -0,0 +1,79 @@
+# 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:
diff --git a/dev-db/mysql-init-scripts/files/mysql-5.1.67-init.d-r1 b/dev-db/mysql-init-scripts/files/init.d-2.0
index 5ff7c32aa108..c7e5eaf619d1 100644
--- a/dev-db/mysql-init-scripts/files/mysql-5.1.67-init.d-r1
+++ b/dev-db/mysql-init-scripts/files/init.d-2.0
@@ -1,7 +1,9 @@
#!/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/mysql-5.1.67-init.d-r1,v 1.1 2014/05/16 01:49:43 grknight Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/files/init.d-2.0,v 1.1 2014/08/21 03:08:13 grknight Exp $
+
+extra_commands="checkconfig"
depend() {
use net.lo
@@ -36,6 +38,9 @@ start() {
return 1
fi
+ # Check the config or die
+ checkconfig || return 1
+
# Now we can startup
ebegin "Starting $(mysql_svcname)"
@@ -51,6 +56,12 @@ start() {
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"
@@ -121,5 +132,22 @@ stop() {
--retry ${stop_timeout}
eend $?
}
+
+checkconfig() {
+ local basedir=$(get_config "${MY_CNF}" basedir | tail -n1)
+ ebegin "Checking mysqld configuration"
+
+ # Suppress output to check the return value
+ "${basedir}"/sbin/mysqld --help --verbose &> /dev/null
+
+ # 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 --help --verbose > /dev/null
+ fi
+
+ eend $? "MySQL config check failed"
+}
+
# vim: filetype=gentoo-init-d sw=2 ts=2 sts=2 noet:
diff --git a/dev-db/mysql-init-scripts/files/mysql.conf.d b/dev-db/mysql-init-scripts/files/mysql.conf.d
deleted file mode 100644
index 15ff170cc98a..000000000000
--- a/dev-db/mysql-init-scripts/files/mysql.conf.d
+++ /dev/null
@@ -1,80 +0,0 @@
-# Here is where we define which server(s) to start.
-# Additional parameters to be passed to mysqld at startup may be added here,
-# which will override the ones in "my.cnf".
-#
-# Below are described some suggested parameters to use.
-# The parameters not recognized will be passed through to the mysqld daemon
-# directly!
-# To avoid starting a server just comment it's definition.
-#
-# Last but not least, SPACES are NOT allowed inside the parameters!
-#
-# Parameter : description
-# ----------------+-----------------------------------------------------------
-# nice : integer [-20 .. 19 ] default 0
-# : change the priority of the server -20 (high) to 19 (low)
-# : see "man nice 1" for description
-# ----------------+-----------------------------------------------------------
-# mycnf : string [full path to my.cnf]
-# : specify the path to my.cnf file to be used
-# ----------------+-----------------------------------------------------------
-# startup_timeout : integer [seconds] default 15
-# : time to wait for mysqld up and running, after this it's
-# : marked as failed
-# ----------------+-----------------------------------------------------------
-#
-# Additional parameters
-# Parameter : description
-# ----------------+-----------------------------------------------------------
-# server-id : integer [1 .. 255]
-# : Uniquely identifies the server instance in the community
-# : of replication partners.
-# ----------------+-----------------------------------------------------------
-# port : integer [1025 .. 65535] default 3306
-# : Port number to use for connection.
-# : Looses any meaning if skip-networking is set.
-# ----------------+-----------------------------------------------------------
-# skip-networking : NULL
-# : Don't allow connection through TCP/IP.
-# ----------------+-----------------------------------------------------------
-# log-bin : string [name of the binlog files]
-# : Log update queries in binary format. Optional (but
-# : strongly recommended to avoid replication problems if
-# : server's hostname changes) argument should be the chosen
-# : location for the binary log files.
-# ----------------+-----------------------------------------------------------
-# Additionally the following variables are recognized:
-#
-# Be more verbose, accepts values from 1 to 4
-#DEBUG=4
-#
-# The default location for the "master" pid file
-#MYSQL_GLOB_PID_FILE="/var/run/svc-started-mysqld"
-#
-# The timeout for a failed attempt to stop a server
-#STOPTIMEOUT=120
-#
-
-# The parameters are passed in a bash array variable,
-# the variable name is mysql_slot_0_[server-num]
-# "server-num" is an optional number used to start multiple servers
-#
-# Examples:
-#
-# start a default server with default options:
-#mysql_slot_0=()
-#
-# start MySQL reniced, overriding some start parameters
-#mysql_slot_0=(
-# "nice=-5"
-# "server-id=123"
-# "log-bin="myhost"
-# "port=3307"
-#)
-#
-# start another server, different my.cnf
-#mysql_slot_0_1=(
-# "mycnf=/home/test/my.cnf"
-# "server-id=124"
-#)
-#
diff --git a/dev-db/mysql-init-scripts/files/mysql.rc6 b/dev-db/mysql-init-scripts/files/mysql.rc6
deleted file mode 100644
index e67c2ca1d13e..000000000000
--- a/dev-db/mysql-init-scripts/files/mysql.rc6
+++ /dev/null
@@ -1,358 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/files/mysql.rc6,v 1.2 2007/03/04 15:47:03 vivo Exp $
-
-# external binaries used: which, sed, tac
-
-# int in_list(char * elem, char * list)
-function in_list() {
- local elem=${1:-"none"}
- local list=${2:-","}
-
- [[ "${list}" == "${list/,${elem},/}" ]] \
- && return 1 \
- || return 0
-}
-
-function wdebug() {
- if [[ "${DEBUG}" -ge "${1}" ]] ; then
- shift
- echo "dbg: ${@}"
- fi
-}
-
-depend() {
- use dns net localmount netmount nfsmount
-}
-
-do_escape() {
- # Ihatethisreallyverymuch
- #echo "$1" | sed -e "s|'| |" -e "s|=|='|" -e "s|$|'|"
- echo "$1"
-}
-
-# int get_slot_config(srv_slot=0, srv_num)
-get_slot_config() {
- wdebug 4 ">>> get_slot_config()"
-
- local srv srv_slot srv_num
- srv_slot="${1:-"0"}"
- srv_num="${2}"
- MY_SUFFIX="-${srv_slot}"
- # srv=array(0 => [srv_slot], 1 => [srv_num] )
- srv=( ${srv_slot} ${srv_num} )
-
- local tmp_eval="mysql_slot_${srv_slot}${srv_num:+"_"}${srv_num}[@]"
- local conf_d_parameters="${!tmp_eval}"
- if [[ "${srv_slot}" == "0" ]] ; then
- MY_SUFFIX=''
- # try some other default for the default server
- [[ -z "${conf_d_parameters[@]}" ]] && conf_d_parameters=${mysql_slot[@]}
- fi
- [[ -z "${conf_d_parameters[@]}" ]] && conf_d_parameters=( )
- basedir="" datadir="" pidfile="" socket=""
- CHROOT="" NICE="" STARTUPTIMEOUT=5 STOPTIMEOUT=120
-
- wdebug 3 "srv ${srv[@]}"
- wdebug 3 "srv_slot ${srv_slot}"
- wdebug 3 "srv_num ${srv_num}"
- wdebug 3 "tmp_eval ${tmp_eval}"
- wdebug 3 "conf_d_parameters ${conf_d_parameters[@]}"
- wdebug 3 "MY_SUFFIX ${MY_SUFFIX}"
-
- local tmp_eval="mysql_slot_${srv_slot}${srv_num:+"_"}${srv_num}[@]"
- local conf_d_parameters="${!tmp_eval}"
- # collations need to be defined *after* the character sets,
- # so we will duplicate them
- local collations=""
- [[ ${conf_d_parameters[*]} == '()' ]] && conf_d_parameters=''
-
- MY_CNF="/etc/mysql${MY_SUFFIX}/my.cnf"
- # summa of unmanaged parameters
- # some parameters may be present multiple times
- unmanagedparams=""
-
- # grab the parameters from conf.d/mysql definition
- for my_default in ${conf_d_parameters[*]} ; do
- case "${my_default}" in
- nice=*)
- NICE="${my_default#nice=}"
- nice -n $NICE ls /tmp &>/dev/null || NICE=""
- ;;
- mycnf=*) MY_CNF="${my_default#mycnf=}" ;;
- startup_timeout=*)
- STARTUPTIMEOUT="${my_default#startup_timeout=}" ;;
- basedir=*) basedir="${my_default#basedir=}" ;;
- datadir=*) datadir="${my_default#datadir=}" ;;
- pid-file=*) pidfile="${my_default#pid-file=}" ;;
- socket=*) socket="${my_default#socket=}" ;;
- *collation*=)
- collations="${collations} --$( do_escape "${my_default}" )"
- ;;
- *=*)
- # list of parameters we already have
- # prepend "--" because my_print_defaults do it
- unmanagedparams="${unmanagedparams} --$( do_escape "${my_default}" )"
- ;;
- *)
- unmanagedparams="${unmanagedparams} --${my_default}"
- ;;
- esac
- done
-
- if [[ ! -r "${MY_CNF}" ]] ; then
- ewarn "Cannot access ${MY_CNF} !"
- MY_CNF=""
- my_defaults=""
- else
- local my_print_defaults="$(which my_print_defaults${MY_SUFFIX} 2>/dev/null)"
- if [[ ! -x "${my_print_defaults}" ]] ; then
- eerror "my_print_defaults NOT found or not executable"
- my_defaults=""
- else
- my_defaults=$( ${my_print_defaults} \
- --loose-verbose \
- --config-file="${MY_CNF}" \
- mysqld server )
- fi
- fi
-
- # grab needed parameters from my.cnf, don't override the ones from
- # conf.d/mysql
- for my_default in ${my_defaults} ; do
- case "${my_default}" in
- --basedir=*)
- [[ -z "${basedir}" ]] && basedir="${my_default#--basedir=}" ;;
- --datadir=*)
- [[ -z "${datadir}" ]] && datadir="${my_default#--datadir=}" ;;
- --pid-file=*)
- [[ -z "${pidfile}" ]] && pidfile="${my_default#--pid-file=}" ;;
- --socket=*)
- [[ -z "${socket}" ]] && socket="${my_default#--socket=}" ;;
- --*collation*=)
- # the order is inversed because we want the conf.d ones overriden
- collations="$( do_escape "${my_default}" ) ${collations}"
- ;;
- esac
- done
-
- # some parameters
- basedir="${basedir:-"/usr"}"
- datadir="${datadir:-"/var/lib/mysql${MY_SUFFIX}"}"
- pidfile="${pidfile:-"/var/run/mysqld/mysqld${MY_SUFFIX}.pid"}"
- socket="${socket:-"/var/run/mysqld/mysqld${MY_SUFFIX}.sock"}"
- unmanagedparams="${unmanagedparams} ${collations}"
-
- wdebug 3 "chroot dir => ${CHROOT}"
- wdebug 3 "niceness => ${NICE}"
- wdebug 3 "basedir => ${basedir}"
- wdebug 3 "datadir => ${datadir}"
- wdebug 3 "pidfile => ${pidfile}"
- wdebug 3 "socket => ${socket}"
- wdebug 3 "Unamanged => ${unmanagedparams}"
-
- # extension for sleep tenth of seconds, not very portable so check it before
- if sleep 0.01 ; then
- STARTUPTIMEOUT=$(( STARTUPTIMEOUT * 10 ))
- STOPTIMEOUT=$(( STOPTIMEOUT * 10 ))
- TIMEUNIT=0.1
- else
- TIMEUNIT=1
- fi
-
- # push these out to the script
- export MY_SUFFIX NICE MY_CNF pidfile datadir basedir socket CHROOT
- export unmanagedparams STARTUPTIMEOUT STOPTIMEOUT TIMEUNIT
- wdebug 4 "<<< get_slot_config() ok"
- return 0
-}
-
-checkconfig() {
- wdebug 4 ">>> checkconfig(\"${1}\")"
- local datadir="${1}" pidfile="${2}" socket="${3}"
-
- if [[ -n "${NOCHECK}" ]] ; then
- rm -f "${pidfile}" "${socket}"
- return 0
- fi
-
- if [[ ! -d "${datadir}" ]] ; then
- eerror "MySQL datadir is empty or invalid"
- eerror "Please check your my.cnf : ${MY_CNF}"
- wdebug 4 "<<< checkconfig() KO"
- return 1
- fi
-
- if [[ ! -d "${datadir}/mysql" ]] ; then
- eerror "You don't appear to have the mysql database installed yet."
- eerror "Please run /usr/bin/mysql_install_db to have this done..."
- wdebug 4 "<<< checkconfig() KO"
- return 1
- fi
-
- if [[ -f "${pidfile}" ]] ; then
- kill -15 $(< ${pidfile}) 2>/dev/null
- if [[ $? -eq 0 ]] ; then
- # the process exist, we have a problem
- eerror "\"${pidfile}\" is still present and the process is running."
- eerror "Please stop it \"kill $(< ${pidfile})\" maybe ?"
- wdebug 4 "<<< checkconfig() KO"
- return 1
- else
- rm -f "${pidfile}"
- fi
- fi
-
- if [[ -S "${socket}" ]] ; then
- ewarn "Strange, the socket file already exist in \"${socket}\""
- ewarn "it will be removed now and re-created by the MySQL server"
- ewarn "BUT please make your checks."
- rm -f "${socket}"
- fi
-
- wdebug 4 "<<< checkconfig() ok"
- return 0
-}
-
-start() {
- wdebug 4 ">>> start()"
-
- MYSQL_GLOB_PID_FILE=${MYSQL_GLOB_PID_FILE:-"/var/run/svc-started-${SVCNAME/mysql/mysqld}"}
- # servers are defined in /etc/conf.d/mysql
- local serverlist=${!mysql_slot_*}
- # provide default for empty conf.d/mysql
- if [[ -z "${serverlist}" ]] ; then
- serverlist=0
- export mysql_slot_0=( )
- fi
- local retstatus timeout
- local globretstatus=1
- local srv_slot srv_num
- # server MUST NOT share same location for these
- local pidfilelist=',' datadirlist=',' socketlist=','
- local ssd_thing=1
- local mysqld_thing tmpnice
-
- ebegin "Starting ${myservice}"
- # try to start each server
- for srv in ${serverlist[*]} ; do
-
- srv_slot="${srv#mysql_slot_}"
- if [[ "${srv_slot}" == "${srv_slot#*_}" ]] ; then
- srv_num=''
- else
- srv_num="${srv_slot#*_}"
- fi
- srv_slot="${srv_slot%%_*}"
-
- retstatus=0
- get_slot_config "${srv_slot}" "${srv_num}" || retstatus=1
-
- # checks
- if ! checkconfig "${datadir}" "${pidfile}" "${socket}" ; then
- retstatus=2 ; continue
- fi
- if in_list "${pidfile}" "${pidfilelist}" ; then
- eerror "Sorry, won't start with same pid-file: ${pidfile}"
- retstatus=3 ; continue
- fi
- if in_list "${datadir}" "${datadirlist}" ; then
- eerror "Sorry, won't start with same datadir: ${datadir}"
- retstatus=4 ; continue
- fi
- if in_list "${socket}" "${socketlist}" ; then
- eerror "Sorry, won't start with same socket: ${socket}"
- retstatus=5 ; continue
- fi
-
- einfo "Starting ${myservice} (${MY_CNF})"
-
- mysqld_thing="${MY_CNF:+"--defaults-file="}${MY_CNF}"
- mysqld_thing="${mysqld_thing} ${unmanagedparams}"
- mysqld_thing="${mysqld_thing} --basedir=${basedir}"
- mysqld_thing="${mysqld_thing} --datadir=${datadir}"
- mysqld_thing="${mysqld_thing} --pid-file=${pidfile}"
- mysqld_thing="${mysqld_thing} --socket=${socket}"
-
- wdebug 2 "starting mysqld with: ${mysqld_thing}"
-
- if [[ ${ssd_thing} -eq 1 ]] ; then
- tmpnice="${NICE:+"--nicelevel "}${NICE}"
- start-stop-daemon --quiet ${DEBUG/*/"--verbose"} --start \
- --background ${tmpnice} --pidfile ${pidfile} \
- --exec ${basedir}/sbin/mysqld${MY_SUFFIX} -- ${mysqld_thing} \
- && sleep ${TIMEUNIT}
- retstatus=$?
- else
- tmpnice="${NICE:+"nice -n "}${NICE}"
- ${tmpnice} ${basedir}/sbin/mysqld${MY_SUFFIX} ${mysqld_thing} &
- retstatus=0
- fi
-
- # only the first run is done by start-stop-daemon
- ssd_thing=""
-
- # wait for socket creation
- wdebug 1
- while ! [[ -S "${socket}" || "${STARTUPTIMEOUT}" -lt 1 || "${retstatus}" -ne 0 ]] ; do
- STARTUPTIMEOUT=$(( STARTUPTIMEOUT - 1 ))
- [[ ${DEBUG} -ge 1 ]] && echo -n "${STARTUPTIMEOUT},"
- sleep ${TIMEUNIT}
- done
- wdebug 1 ""
- if [[ ! -S "${socket}" ]] ; then
- eerror "MySQL${MY_SUFFIX} NOT started (${retstatus})"
- retstatus=1
- else
- globretstatus=0
- pidfilelist="${pidfilelist}${pidfile},"
- datadirlist="${datadirlist}${datadir},"
- socketlist="${socketlist}${socket},"
- echo "${srv_slot}${srv_num:+"_"}${srv_num}=${pidfile}" >> "${MYSQL_GLOB_PID_FILE}"
- fi
- done
- # successfull if at least one mysqld started
- wdebug 4 "<<< start()"
- eend $globretstatus
-}
-
-stop() {
- get_slot_config &> /dev/null
- MYSQL_GLOB_PID_FILE=${MYSQL_GLOB_PID_FILE:-"/var/run/svc-started-${SVCNAME/mysql/mysqld}"}
- local runwhat pidfile shutdown_elem
- local PID cnt timeout=${STOPTIMEOUT:-"120"}
- local retstatus=0
- local shutdown_list="$(< "${MYSQL_GLOB_PID_FILE}" )"
-
- ebegin "Stopping ${myservice}"
- wdebug 5 "MYSQL_GLOB_PID_FILE: ${MYSQL_GLOB_PID_FILE}"
- wdebug 5 "shutdown_list: ${shutdown_list}"
- for shutdown_elem in ${shutdown_list} ; do
- runwhat=${shutdown_elem%%=*}
- pidfile=${shutdown_elem#*=}
- timeout=${STOPTIMEOUT:-"120"}
- PID=$(< "${pidfile}" )
- wdebug 3 "runwhat ${runwhat}"
- wdebug 3 "pidfile ${pidfile}"
- wdebug 3 "timeout ${timeout}"
- wdebug 3 "PID ${PID}"
-
- einfo "Stopping mysqld (${runwhat})"
-
- start-stop-daemon --quiet ${DEBUG/*/"--verbose"} --stop --pidfile "${pidfile}" &
- wdebug 1 ""
- while [[ -n "$PID" ]] \
- && $( ps -Ao pid | grep -q "^ *$PID$" ) \
- && [[ "${timeout}" -ge 1 ]]
- do
- timeout=$(($timeout - 1))
- [[ ${DEBUG} -ge 1 ]] && echo -n "$(( $STOPTIMEOUT - $timeout )),"
- sleep ${TIMEUNIT}
- done
- [[ "${timeout}" -lt 1 ]] && retstatus=1
- done
- sleep ${TIMEUNIT}
- [[ "$retstatus" -eq 0 ]] && rm -f "$MYSQL_GLOB_PID_FILE"
- eend ${retstatus}
-}
diff --git a/dev-db/mysql-init-scripts/files/mysqlmanager.conf.d b/dev-db/mysql-init-scripts/files/mysqlmanager.conf.d
deleted file mode 100644
index 8666f71596cc..000000000000
--- a/dev-db/mysql-init-scripts/files/mysqlmanager.conf.d
+++ /dev/null
@@ -1,28 +0,0 @@
-# Here is where we define which server(s) to start.
-# Additional parameters to be passed to mysqlmanager at startup may be added here,
-# which will override the ones in "my.cnf".
-#
-# To avoid starting a server just comment it's definition
-# here or it will rant (no default start).
-# Last but not least, spaces are NOT allowed inside the parameters!
-#
-# Below are described some suggested parameters to use.
-# The parameters not recognized will be passed through to the mysqlmanager directly.
-#
-# Parameter : description
-
-# ----------------+-----------------------------------------------------------
-# mycnf : string [full path to my.cnf]
-# : specify the path to my.cnf file to be used
-# : may contain a [manager] section
-# ----------------+-----------------------------------------------------------
-#
-# Basic default
-#
-#mysqlmanager_slot_0=()
-#
-# Start MySQL 5.0.X overriding the my.cnf path
-#mysqlmanager_slot_500=(
-# "mycnf=/home/test/my.cnf"
-#)
-#
diff --git a/dev-db/mysql-init-scripts/files/mysqlmanager.rc6 b/dev-db/mysql-init-scripts/files/mysqlmanager.rc6
deleted file mode 100644
index dd8b703cd7d6..000000000000
--- a/dev-db/mysql-init-scripts/files/mysqlmanager.rc6
+++ /dev/null
@@ -1,230 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/files/mysqlmanager.rc6,v 1.1 2007/01/12 16:54:20 chtekk Exp $
-
-# external binaries used: which, sed, tac
-
-depend() {
- use dns net localmount netmount nfsmount
- #provide mysql
-}
-
-# int in_list(char * elem, char * list)
-function in_list() {
- local elem=${1:-"none"}
- local list=${2:-","}
-
- [[ "${list}" == "${list/,${elem},/}" ]] \
- && return 1 \
- || return 0
-}
-
-do_escape() {
- # Ihatethisreallyverymuch
- #echo "$1" | sed -e "s|'| |" -e "s|=|='|" -e "s|$|'|"
- echo "$1"
-}
-
-# int get_slot_config(srv_slot=0, srv_num)
-get_slot_config() {
- [[ ${DEBUG} -ge 4 ]] && einfo ">>> get_slot_config(\"${1}\", \"${2}\")"
-
- srv_slot="${1:-"0"}"
- srv_num="${2}"
- MY_SUFFIX="-${srv_slot}"
- [[ "${MY_SUFFIX}" == '-0' ]] && MY_SUFFIX=''
-
- basedir="" pidfile="" socket=""
-
- local tmp_eval="mysqlmanager_slot_${srv_slot}${srv_num:+"_"}${srv_num}[@]"
- local conf_d_parameters="${!tmp_eval}"
- [[ ${conf_d_parameters[*]} == '()' ]] && conf_d_parameters=''
-
- MY_CNF="/etc/mysql${MY_SUFFIX}/my.cnf"
- # summa of unmanaged parameters
- # some parameters may be present multiple times
- unmanagedparams=""
-
- # grab the parameters from conf.d/mysql definition
- for my_default in ${conf_d_parameters[*]} ; do
- case "${my_default}" in
- mycnf=*) MY_CNF="${my_default#mycnf=}" ;;
- basedir=*) basedir="${my_default#basedir=}" ;;
- pid-file=*) pidfile="${my_default#pid-file=}" ;;
- socket=*) socket="${my_default#socket=}" ;;
- *=*)
- # list of parameters we already have
- # prepend "--" because my_print_defaults do it
- unmanagedparams="${unmanagedparams} --$( do_escape "${my_default}" )"
- ;;
- *)
- unmanagedparams="${unmanagedparams} --${my_default}"
- ;;
- esac
- done
-
- if [[ ! -r "${MY_CNF}" ]] ; then
- ewarn "Cannot access ${MY_CNF} !"
- MY_CNF=""
- my_defaults=""
- else
- local my_print_defaults="$(which my_print_defaults${MY_SUFFIX} 2>/dev/null)"
- if [[ ! -x "${my_print_defaults}" ]] ; then
- eerror "my_print_defaults NOT found or not executable"
- my_defaults=""
- else
- my_defaults=$( ${my_print_defaults} \
- --loose-verbose \
- --config-file="${MY_CNF}" \
- manager )
- fi
- fi
-
- # grab needed parameters from my.cnf, don't override the ones from
- # conf.d/mysql
- for my_default in ${my_defaults} ; do
- case "${my_default}" in
- --pid-file=*)
- [[ -z "${pidfile}" ]] && pidfile="${my_default#--pid-file=}" ;;
- --socket=*)
- [[ -z "${socket}" ]] && socket="${my_default#--socket=}" ;;
- esac
- done
-
- # still empty, I'm in doubt if assign a default or break, will see
- basedir="${basedir:-"/usr"}"
- pidfile="${pidfile:-"/var/run/mysqld/mysqlmanager${MY_SUFFIX}.pid"}"
- socket="${socket:-"/var/run/mysqld/mysqlmanager${MY_SUFFIX}.sock"}"
-
- if [[ ${DEBUG} -ge 3 ]] ; then
- einfo "basedir => ${basedir}"
- einfo "pidfile => ${pidfile}"
- einfo "socket => ${socket}"
- einfo "Unamanged => ${unmanagedparams}"
- fi
-
- # push these out to the script
- export MY_SUFFIX MY_CNF pidfile basedir socket
- export unmanagedparams
- [[ ${DEBUG} -ge 4 ]] && einfo "<<< get_slot_config() ok"
- return 0
-}
-
-start() {
- [[ ${DEBUG} -ge 4 ]] && einfo ">>> start()"
- MYSQL_GLOB_PID_FILE=${MYSQL_GLOB_PID_FILE:-"/var/run/svc-started-${SVCNAME}"}
- # servers are defined in /etc/conf.d/mysql
- local serverlist=${!mysqlmanager_slot_*}
- # provide default for empty conf.d/mysql
- if [[ -z "${serverlist}" ]] ; then
- serverlist=0
- export mysqlmanager_slot_0=()
- fi
- local retstatus timeout
- local globretstatus=1
- local srv_slot srv_num
- # server MUST NOT share same location for these
- local pidfilelist=',' socketlist=','
-
- # additional security
- rm -f "${MYSQL_GLOB_PID_FILE}" ; touch "${MYSQL_GLOB_PID_FILE}"
- if [[ $? -ne 0 ]] ; then
- eerror "cannot create MYSQL_GLOB_PID_FILE: ${MYSQL_GLOB_PID_FILE}"
- [[ ${DEBUG} -ge 4 ]] && einfo "<<< start() KO"
- return 1
- fi
-
- ebegin
- # try to start each server
- for srv in ${serverlist[*]} ; do
- einfo "working on ${srv}"
-
- srv_slot="${srv#mysqlmanager_slot_}"
- if [[ "${srv_slot}" == "${srv_slot#*_}" ]] ; then
- srv_num=''
- else
- srv_num="${srv_slot#*_}"
- fi
- srv_slot="${srv_slot%%_*}"
-
- retstatus=0
- get_slot_config "${srv_slot}" "${srv_num}" || retstatus=1
-
- # timeout (seconds) before declaring the startup failed
-
- # pre_run checks
- if [[ "$retstatus" -eq 0 ]] ; then
- if in_list "${pidfile}" "${pidfilelist}" ; then
- retstatus=3
- eerror "Sorry, won't start with same pid-file: ${pidfile}"
- fi
- if in_list "${socket}" "${socketlist}" ; then
- retstatus=5
- eerror "Sorry, won't start with same socket: ${socket}"
- fi
- fi
-
- if [[ $retstatus -eq 0 ]] ; then
- # additional security
- rm -f ${pidfile} ${socket}
- einfo "Starting mysqlmanager${MY_SUFFIX:+"_"}${srv_slot}${srv_num:+"_"}${srv_num} (${MY_CNF})"
-
- [[ ${DEBUG} -ge 2 ]] && echo "starting mysqlmanager with: "${basedir}/sbin/mysqlmanager${MY_SUFFIX} ${unmanagedparams} --pid-file=${pidfile} --socket=${socket}
-
- start-stop-daemon --quiet --start --background \
- --pidfile "${pidfile}" \
- --exec ${basedir}/sbin/mysqlmanager${MY_SUFFIX} \
- -- \
- ${MY_CNF:+"--defaults-file="}${MY_CNF} \
- ${unmanagedparams} \
- --pid-file=${pidfile} \
- --socket=${socket}
-
- retstatus=$?
-
- if [[ "${retstatus}" -eq 0 ]] ; then
- pidfilelist="${pidfilelist}${pidfile},"
- socketlist="${socketlist}${socket},"
- globretstatus=0
- echo "${srv_slot}${srv_num:+"_"}${srv_num}=${pidfile}" >> "${MYSQL_GLOB_PID_FILE}"
- fi
- fi
- done
- # successfull if at least one mysqlmanager started
- [[ ${DEBUG} -ge 4 ]] && einfo "<<< start()"
- eend $globretstatus
-}
-
-stop () {
- MYSQL_GLOB_PID_FILE=${MYSQL_GLOB_PID_FILE:-"/var/run/svc-started-${SVCNAME}"}
- local runwhat pidfile shutdown_elem
- local PID cnt timeout
- local retstatus=0
- local shutdown_list="$(< "${MYSQL_GLOB_PID_FILE}" )"
-
- # shutdown in reverse order
- ebegin
- for shutdown_elem in $shutdown_list; do
- runwhat=${shutdown_elem%%=*}
- pidfile=${shutdown_elem#*=}
- timeout=${STOPTIMEOUT:-"10"}
-
- einfo "Stopping mysqlmanager (${runwhat})"
-
- PID=$(cat "${pidfile}" 2>/dev/null)
- start-stop-daemon --stop --quiet --pidfile="${pidfile}"
- [[ ${DEBUG} -ge 1 ]] && echo ""
- while [[ -n "$PID" && $( kill -0 $PID 2>/dev/null ) && "${timeout}" -ge 1 ]] ; do
- timeout=$(($timeout - 1))
- [[ ${DEBUG} -ge 1 ]] && echo -n $(( $STOPTIMEOUT - $timeout ))
- sleep 1
- done
- if [[ "${timeout}" -lt 1 ]] ; then
- retstatus=$(( $retstatus + 1 ))
- fi
- done
-
- [[ "$retstatus" -eq 0 ]] && rm -f "$MYSQL_GLOB_PID_FILE"
- eend $retstatus
-}
diff --git a/dev-db/mysql-init-scripts/mysql-init-scripts-1.2.ebuild b/dev-db/mysql-init-scripts/mysql-init-scripts-1.2.ebuild
deleted file mode 100644
index f75b30513475..000000000000
--- a/dev-db/mysql-init-scripts/mysql-init-scripts-1.2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# 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/mysql-init-scripts-1.2.ebuild,v 1.5 2014/08/10 20:01:21 slyfox Exp $
-
-DESCRIPTION="Gentoo MySQL init scripts"
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
-
-src_install() {
- newconfd "${FILESDIR}/mysql.conf.d" "mysql"
- newconfd "${FILESDIR}/mysqlmanager.conf.d" "mysqlmanager"
-
- newinitd "${FILESDIR}/mysql.rc6" "mysql"
- newinitd "${FILESDIR}/mysqlmanager.rc6" "mysqlmanager"
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/logrotate.mysql" "mysql"
-}
diff --git a/dev-db/mysql-init-scripts/mysql-init-scripts-2.0_pre1-r7.ebuild b/dev-db/mysql-init-scripts/mysql-init-scripts-2.0.ebuild
index 7149c0599d50..f0ca91e57048 100644
--- a/dev-db/mysql-init-scripts/mysql-init-scripts-2.0_pre1-r7.ebuild
+++ b/dev-db/mysql-init-scripts/mysql-init-scripts-2.0.ebuild
@@ -1,6 +1,6 @@
# 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/mysql-init-scripts-2.0_pre1-r7.ebuild,v 1.2 2014/08/10 20:01:21 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/mysql-init-scripts-2.0.ebuild,v 1.1 2014/08/21 03:08:13 grknight Exp $
EAPI=5
@@ -23,8 +23,8 @@ RDEPEND="!<dev-db/mysql-5.1"
S=${WORKDIR}
src_install() {
- newconfd "${FILESDIR}/mysql-5.1.53-conf.d" "mysql"
- newinitd "${FILESDIR}/mysql-5.1.67-init.d-r1" "mysql"
+ newconfd "${FILESDIR}/conf.d-${PV}" "mysql"
+ newinitd "${FILESDIR}/init.d-${PV}" "mysql"
# systemd unit installation
exeinto /usr/libexec