grknight    15/05/27 17:02:26

  Added:                log-s6 init.d-s6 run-s6
  Log:
  Add new version with s6 supervisor support
  
  (Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 
D1F781EFF9F4A3B6)

Revision  Changes    Path
1.1                  dev-db/mysql-init-scripts/files/log-s6

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/mysql-init-scripts/files/log-s6?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/mysql-init-scripts/files/log-s6?rev=1.1&content-type=text/plain

Index: log-s6
===================================================================
#!/bin/sh
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/files/log-s6,v 1.1 
2015/05/27 17:02:26 grknight Exp $

SVCNAME=$(cd `dirname $0` && pwd | awk -F/ '{ print $--NF }' )
mkdir -p "/var/log/mysql/${SVCNAME}"
if [ ${S6_LOG_OPTIONS} ] ; then
        exec s6-log ${S6_LOG_OPTIONS}
else
        exec s6-log -b n20 S15000000 !"gzip -nq9" "/var/log/mysql/${SVCNAME}"
fi



1.1                  dev-db/mysql-init-scripts/files/init.d-s6

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/mysql-init-scripts/files/init.d-s6?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/mysql-init-scripts/files/init.d-s6?rev=1.1&content-type=text/plain

Index: init.d-s6
===================================================================
#!/sbin/openrc-run
# Copyright 1999-2015 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-s6,v 
1.1 2015/05/27 17:02:26 grknight Exp $

depend() {
        use net.lo
        # localmount needed for $basedir
        need localmount s6-svscan
}

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}"
}

extra_commands="checkconfig"
supervisor=s6
name=$(mysql_svcname)
s6_service_timeout_stop="$((1000*${STOP_TIMEOUT:-120}))"
#s6_svwait_options_start="-U -t $((1000*${STARTUP_EARLY_TIMEOUT:-1000}))"

start_pre() {
        # Check the config or die
        checkconfig || return 1

        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 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
}

start_post() {
        local socket=$(get_config "${MY_CNF}" socket | tail -n1)
        local chroot=$(get_config "${MY_CNF}" chroot | tail -n1)
        local startup_timeout=${STARTUP_TIMEOUT:-900}

        if [ -n "${chroot}" ] ; then
                socket="${chroot}/${socket}"
        fi
        ewaitfile ${startup_timeout} "${socket}"
}

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:




1.1                  dev-db/mysql-init-scripts/files/run-s6

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/mysql-init-scripts/files/run-s6?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/mysql-init-scripts/files/run-s6?rev=1.1&content-type=text/plain

Index: run-s6
===================================================================
#!/bin/sh
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/files/run-s6,v 1.1 
2015/05/27 17:02:26 grknight Exp $

get_config() {
        my_print_defaults --config-file="$1" mysqld |
        sed -n -e "s/^--$2=//p"
}

SVCNAME=$(cd `dirname $0` && pwd | awk -F/ '{ print $NF }' )

source "${ROOT:-/}etc/conf.d/${SVCNAME}"

MY_CNF="${MY_CNF:-/etc/${SVCNAME}/my.cnf}"

basedir=$(get_config "${MY_CNF}" basedir | tail -n1)
exec "${basedir}"/sbin/mysqld --defaults-file="${MY_CNF}" ${MY_ARGS} 2>&1




Reply via email to