Skip to content

Commit

Permalink
dev-db/mysql-init-scripts: Version bump to update systemd units wrt b…
Browse files Browse the repository at this point in the history
…ug 572788

dev-db/mariadb has started shipping it's own Notify based units starting with 10.1.8
Set the conflict in mysqld.service to compensate
Also, set the binary to be /usr/sbin/mysqld so we are not monitoring a monitor

Package-Manager: portage-2.2.27
  • Loading branch information
Brian Evans committed Jan 30, 2016

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 0c8693f commit c3bf8ff
Showing 3 changed files with 111 additions and 0 deletions.
27 changes: 27 additions & 0 deletions dev-db/mysql-init-scripts/files/mysqld-v2.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[Unit]
Description=MySQL database server
After=syslog.target
After=network.target
Conflicts=mariadb.service

[Service]
Type=simple
User=mysql
Group=mysql

# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# https://bugzilla.redhat.com/show_bug.cgi?id=547485
ExecStart=/usr/sbin/mysqld --basedir=/usr
ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

# We rely on systemd, not mysqld_safe, to restart mysqld if it dies
Restart=always

# Place temp files in a secure directory, not /tmp
PrivateTmp=true

[Install]
WantedBy=multi-user.target
26 changes: 26 additions & 0 deletions dev-db/mysql-init-scripts/files/mysqld_at-v2.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[Unit]
Description=MySQL database server
ConditionPathExists=/etc/mysql/my%I.cnf
After=network.target

[Service]
Type=simple
User=mysql
Group=mysql

# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# https://bugzilla.redhat.com/show_bug.cgi?id=547485
ExecStart=/usr/sbin/mysqld --defaults-file=/etc/mysql/my%I.cnf --basedir=/usr
ExecStartPost=/usr/libexec/mysqld-wait-ready $MAINPID

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

# We rely on systemd, not mysqld_safe, to restart mysqld if it dies
Restart=always

# Place temp files in a secure directory, not /tmp
PrivateTmp=true

[Install]
WantedBy=multi-user.target
58 changes: 58 additions & 0 deletions dev-db/mysql-init-scripts/mysql-init-scripts-2.1_rc1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

inherit systemd s6

DESCRIPTION="Gentoo MySQL init scripts."
HOMEPAGE="https://www.gentoo.org/"
SRC_URI=""

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
IUSE=""

DEPEND=""
# This _will_ break with MySQL 5.0, 4.x, 3.x
# It also NEEDS openrc for the save_options/get_options builtins.
# The s6 support was added after openrc 0.16.2
RDEPEND="
!<dev-db/mysql-5.1
!<sys-apps/openrc-0.16.2
"
# Need to set S due to PMS saying we need it existing, but no SRC_URI
S=${WORKDIR}

src_install() {
newconfd "${FILESDIR}/conf.d-2.0" "mysql"

# s6 init scripts
if use amd64 || use x86 ; then
newconfd "${FILESDIR}/conf.d-2.0" "mysql-s6"
newinitd "${FILESDIR}/init.d-s6" "mysql-s6"
s6_install_service mysql "${FILESDIR}/run-s6"
s6_install_service mysql/log "${FILESDIR}/log-s6"
fi

newinitd "${FILESDIR}/init.d-2.0" "mysql"

# systemd unit installation
exeinto /usr/libexec
doexe "${FILESDIR}"/mysqld-wait-ready
systemd_newunit "${FILESDIR}/mysqld-v2.service" "mysqld.service"
systemd_newunit "${FILESDIR}/mysqld_at-v2.service" "[email protected]"
systemd_dotmpfilesd "${FILESDIR}/mysql.conf"

insinto /etc/logrotate.d
newins "${FILESDIR}/logrotate.mysql" "mysql"
}

pkg_postinst() {
if use amd64 || use x86 ; then
elog "To use the mysql-s6 script, you need to install the optional sys-apps/s6 package."
elog "If you wish to use s6 logging support, comment out the log-error setting in your my.cnf"
fi
}

0 comments on commit c3bf8ff

Please sign in to comment.