summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-eselect/eselect-php')
-rw-r--r--app-eselect/eselect-php/eselect-php-0.7.1-r5.ebuild40
-rw-r--r--app-eselect/eselect-php/files/php-fpm.init-r250
2 files changed, 90 insertions, 0 deletions
diff --git a/app-eselect/eselect-php/eselect-php-0.7.1-r5.ebuild b/app-eselect/eselect-php/eselect-php-0.7.1-r5.ebuild
new file mode 100644
index 000000000000..dc2fadc72ba8
--- /dev/null
+++ b/app-eselect/eselect-php/eselect-php-0.7.1-r5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit depend.apache systemd
+
+DESCRIPTION="PHP eselect module"
+HOMEPAGE="https://www.gentoo.org"
+SRC_URI="https://dev.gentoo.org/~olemarkus/eselect-php/eselect-php-${PV}.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="fpm apache2"
+
+RDEPEND="app-admin/eselect"
+S="${WORKDIR}"
+
+want_apache
+
+src_install() {
+ mv eselect-php-${PV} php.eselect
+ insinto /usr/share/eselect/modules/
+ doins php.eselect
+
+ if use apache2 ; then
+ insinto "${APACHE_MODULES_CONFDIR#${EPREFIX}}"
+ newins "${FILESDIR}/70_mod_php5.conf-apache2-r1" \
+ "70_mod_php5.conf"
+ fi
+
+ if use fpm ; then
+ newinitd "${FILESDIR}/php-fpm.init-r2" "php-fpm"
+ systemd_dotmpfilesd "${FILESDIR}/php-fpm.conf"
+ exeinto /usr/libexec
+ doexe "${FILESDIR}/php-fpm-launcher"
+ fi
+}
diff --git a/app-eselect/eselect-php/files/php-fpm.init-r2 b/app-eselect/eselect-php/files/php-fpm.init-r2
new file mode 100644
index 000000000000..8ce81b984bc4
--- /dev/null
+++ b/app-eselect/eselect-php/files/php-fpm.init-r2
@@ -0,0 +1,50 @@
+#!/sbin/openrc-run
+
+extra_started_commands="reload"
+
+set_phpvars() {
+ PHPSLOT="${SVCNAME#php-fpm-}"
+ PHP_FPM_PID="/run/php-fpm-${PHPSLOT}.pid"
+ if [ ${PHPSLOT} = 'php-fpm' ] ; then
+ PHPSLOT="$(eselect php show fpm)"
+ PHP_FPM_PID="/run/php-fpm.pid"
+ fi
+
+ PHP_FPM_CONF="/etc/php/fpm-${PHPSLOT}/php-fpm.conf"
+}
+
+start() {
+ ebegin "Starting PHP FastCGI Process Manager"
+ set_phpvars
+ start-stop-daemon --start --pidfile "${PHP_FPM_PID}" \
+ --exec "/usr/lib/${PHPSLOT}/bin/php-fpm" \
+ -- \
+ --fpm-config "${PHP_FPM_CONF}" \
+ --pid "${PHP_FPM_PID}"
+ local i=0
+ local timeout=5
+ while [ ! -f "${PHP_FPM_PID}" ] && [ $i -le $timeout ]; do
+ sleep 1
+ i=$(($i + 1))
+ done
+
+ [ $timeout -gt $i ]
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping PHP FastCGI Process Manager"
+ set_phpvars
+ start-stop-daemon --signal QUIT \
+ --stop \
+ --exec "/usr/lib/${PHPSLOT}/bin/php-fpm" \
+ --pidfile "${PHP_FPM_PID}"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading PHP FastCGI Process Manager"
+ set_phpvars
+ [ -f "${PHP_FPM_PID}" ] && kill -USR2 $(cat "${PHP_FPM_PID}")
+ eend $?
+}