From 7921fd78f7397fcffd7e6f48300c5698b2bfb8e5 Mon Sep 17 00:00:00 2001 From: Ole Markus With Date: Fri, 18 Nov 2011 08:41:13 +0000 Subject: [PATCH] Fixed init script for multislotting. Bug 390307. Thanks to Guillaume Castagnino and Piotr Karbowski for input Package-Manager: portage-2.2.0_alpha71/cvs/Linux x86_64 --- dev-lang/php/ChangeLog | 6 ++++- dev-lang/php/Manifest | 4 ++-- dev-lang/php/files/php-fpm.init | 41 ++++++++++++++++++++++++++------- 3 files changed, 40 insertions(+), 11 deletions(-) diff --git a/dev-lang/php/ChangeLog b/dev-lang/php/ChangeLog index eb4b5c8b7f36..184804eed306 100644 --- a/dev-lang/php/ChangeLog +++ b/dev-lang/php/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-lang/php # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.521 2011/11/11 13:18:38 olemarkus Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.522 2011/11/18 08:41:13 olemarkus Exp $ + + 18 Nov 2011; Ole Markus With files/php-fpm.init: + Fixed init script for multislotting. Bug 390307. Thanks to Guillaume + Castagnino and Piotr Karbowski for input 11 Nov 2011; Ole Markus With -php-5.4.0_beta2.ebuild: Removed beta of 5.4 diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index bedf208745d7..e5a321395e7e 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -18,7 +18,7 @@ AUX eblits/src_prepare-v4.eblit 2317 RMD160 22833c1caa6f7530230b0809e119eeb2dbba AUX eblits/src_test-v1.eblit 1530 RMD160 10031a5128dab729106c6fbfe4e899b1583818cb SHA1 0f1abf995913c2c381e2496b8670ea4f6e97964b SHA256 67501925cfdaf9043e4985d0f1c797e62fb42bf47e6863b5ffdecb104888e82c AUX php-fpm-r1.conf 12966 RMD160 2710840ccbd847f74af0486929b6b9af87bf2c51 SHA1 4f0cca8cf24936012c9ee5cb2eaa1a0b391e77b3 SHA256 c4308a92ade93812c6579b74a72cd1f3e1a35f7e63289722f461771d5702448c AUX php-fpm-r4.init 954 RMD160 19a097406bd82fec0a75175fa000c1f6c7757b0d SHA1 cfa42214e35e9abe8bfe099b5aec35ca2230b6ad SHA256 aba14f04126f474d5809b9a7976aca65c6ec895896de736b606c798c4aa04366 -AUX php-fpm.init 385 RMD160 0e266738ceb3853ce335db6375b5438bdea597db SHA1 bce556ebbd17e5192250f70ead99e8c70d9529c1 SHA256 baba8dab2cadc8bdf107e6fe5cede2f5faaabff1281781a0a30b3be79964c94e +AUX php-fpm.init 1157 RMD160 19b129c9254efcbba39d4bf3f77745681497a34d SHA1 0b4b5ba0f10ca1dedc2ea6143781b3bc6fa5915c SHA256 37e34461babfb5881169f9729fbdde7d4aba533f123e2c480fe25ac3b863d3e7 AUX php5-ldvs 22 RMD160 5846dab2745b68a88175dd4e72d0b8cf4756dd46 SHA1 592398c92575adb14ec972847ce2aca28a7b9c2c SHA256 b79d0e52b1b3b4543b31ad45525ae1c2814a27ea8e676772ab10bf6fb12dfe79 DIST php-5.2.17.tar.bz2 9092312 RMD160 567fa8d718b93fb83a89494c83a8bec224ac99e9 SHA1 d68f3b09f766990d815a3c4c63c157db8dab8095 SHA256 e81beb13ec242ab700e56f366e9da52fd6cf18961d155b23304ca870e53f116c DIST php-5.3.8.tar.bz2 11190060 RMD160 f18a18e2dfd7ea7885760eec2a05b3c4a15ad9db SHA1 8f29029e092f262876bfdd2ce56f6867e2b74b85 SHA256 a1dd06fd5593e97d9a5bd9818d6501d28d3ee8f09b83f0ec78f7cdfc060f3ea2 @@ -34,5 +34,5 @@ EBUILD php-5.2.17.ebuild 9357 RMD160 0b58506aa7df24546ecbcf8fce42a6ce7f5cc2f2 SH EBUILD php-5.3.8.ebuild 9601 RMD160 82879062916c7e796f872e8627bedf79bf912a0e SHA1 05d6bae0984a63b8e958cd2fae30b4dccc5e7664 SHA256 6a9dc8758b2b219d854c6af51d3245ffdfd6ed732f0a2f7e7c80b32fde09ca0d EBUILD php-5.3.9_rc1.ebuild 11665 RMD160 bd460ad19d1b84e6cc630c1e1410fb0dd925f788 SHA1 438bdd1d05f86d3d9eaef8ae6a0f97e9630b60f2 SHA256 4d1621135856512b6f426f8724cd32e4ad063bf0d1f5b8790dc5cb63b6fbac5a EBUILD php-5.4.0_rc1.ebuild 8579 RMD160 35d43804cf6af0af3b14c47824b08b98b25a4118 SHA1 3f32b99e456ef6577079f0b57d923dbf9de4481c SHA256 4ae41e327bc363abd7b9ffb4c869256b661fc4a21a8beb18015bec9150609267 -MISC ChangeLog 88915 RMD160 dfb96c1d8380ff6e7070c813134d179acc5c6b5f SHA1 c6b3394f600c21bdbce373f87592a8aa3888b5b3 SHA256 7c34c8056ad68d8617c1655d033dbfddf14f2250a39e2b935d286afe018ce5ff +MISC ChangeLog 89104 RMD160 4cb3ab31793d81ddd240737b5ec43f6e0a4b2f07 SHA1 35516dbbb8a50b35568511972df3bb287be61a72 SHA256 6651cb887b4e6e9a995393d7499b1af50bc6809c3e9e39a93285f831278eaf2d MISC metadata.xml 2075 RMD160 e2eb44e39169dc2ff8e099d670a222e7102b1aea SHA1 9cebbc373dc8441aa0374132a3b5d87df6d37ffc SHA256 3d8bc9305be300ef7ef92d18ba5476927ec90a5b6d43c2408936229590ff5ac5 diff --git a/dev-lang/php/files/php-fpm.init b/dev-lang/php/files/php-fpm.init index adcfd3275bbb..a186d83478c5 100755 --- a/dev-lang/php/files/php-fpm.init +++ b/dev-lang/php/files/php-fpm.init @@ -1,8 +1,15 @@ #!/sbin/runscript -PHP_FPM_CONF="/etc/php/fpm-php5/php-fpm.conf" +set_phpvars() { + PHPSLOT=${SVCNAME#php-fpm-} + [ ${PHPSLOT} = 'php-fpm' ] && PHPSLOT="$(eselect php show fpm)" -opts="depend start stop reload" + PHP_FPM_CONF="/etc/php/fpm-${PHPSLOT}/php-fpm.conf" + PHP_FPM_PID="/var/run/php-fpm-${PHPSLOT}.pid" +} + +extra_commands="depend" +extra_started_commands="reload" depend() { need net @@ -10,13 +17,31 @@ depend() { } start() { - ebegin "Starting PHP FastCGI server" - start-stop-daemon --start --exec /usr/bin/php-fpm -- -y "${PHP_FPM_CONF}" - eend $? + ebegin "Starting PHP FastCGI Process Manager" + set_phpvars + start-stop-daemon --start --pidfile ${PHP_FPM_PID} --exec \ + /usr/lib/${PHPSLOT}/bin/php-fpm -- -y "${PHP_FPM_CONF}" -g "${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 server" - start-stop-daemon --stop --name php-fpm - eend $? + 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 $? } -- 2.26.2