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
This commit is contained in:
Michael Orlitzky
2015-11-19 18:02:16 -05:00
parent 6f28314446
commit 79b8064e2e
2 changed files with 90 additions and 0 deletions

View File

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

View File

@@ -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 $?
}