commit:     79b8064e2ee191fc3d63e716e6ab4245332fe5c9
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 19 23:02:16 2015 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Thu Nov 19 23:32:50 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79b8064e

app-eselect/eselect-php: new revision removing php-fpm init dependencies.

This new revision exists mainly to pull in a new version of the
php-fpm init script. Some minor ebuild cleanup was also done.

The first fix to the init script is to remove "need net" (bug
514872). The php-fpm daemon runs on 127.0.0.1 by default and should
not bring up any other interfaces. Users are encouraged to use
rc_need="net.eth0" or similar if they move the daemon to another
interface.

The second init script change removes the webserver dependencies (bug
471018). The web servers require php-fpm, not the other way around.

Finally, some other cosmetic changes were made to the init script.

Gentoo-Bug: 471018
Gentoo-Bug: 514872

Package-Manager: portage-2.2.20.1

 .../eselect-php/eselect-php-0.7.1-r5.ebuild        | 40 +++++++++++++++++
 app-eselect/eselect-php/files/php-fpm.init-r2      | 50 ++++++++++++++++++++++
 2 files changed, 90 insertions(+)

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 0000000..dc2fadc
--- /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 0000000..8ce81b9
--- /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 $?
+}

Reply via email to