summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2020-01-22 10:05:57 -0500
committerMichael Orlitzky <mjo@gentoo.org>2020-01-22 12:15:08 -0500
commit355d4102019daaafd9f803bf4435af127e315988 (patch)
tree14d845eef4d5e0555fd059048b8db9307375e8e0
parentconfigure.ac: use "ustar" format for the release tarballs. (diff)
downloadeselect-php-355d4102019daaafd9f803bf4435af127e315988.tar.gz
eselect-php-355d4102019daaafd9f803bf4435af127e315988.tar.bz2
eselect-php-355d4102019daaafd9f803bf4435af127e315988.zip
src/php-fpm-launcher.in: add php-fpm-launcher wrapper script.
While OpenRC services are powerful enough to compute the selected version of php-fpm, the corresponding systemd services are not and must use a fixed path. The executable at that fixed path must therefore decide which version of php-fpm to run before running it. This commit adds a script to do just that. This script is already present in the app-eselect/eselect-php package, tacked on from $FILESDIR. It's a better fit as part of the repository. Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
-rw-r--r--.gitignore1
-rw-r--r--Makefile.am10
-rw-r--r--src/php-fpm-launcher.in11
3 files changed, 20 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 97ae412..9bfa566 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ openrc/init.d/php-fpm
openrc/init.d/php-fpm.in
src/php.eselect
src/php.eselect.in
+src/php-fpm-launcher
diff --git a/Makefile.am b/Makefile.am
index f351b49..fbca127 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,7 +2,9 @@ eselectdir = $(datadir)/eselect/modules
nodist_eselect_DATA = $(srcdir)/src/php.eselect
# Without EXTRA_DIST, these files don't wind up in the tarball.
-EXTRA_DIST = $(srcdir)/src/70_mod_php.conf.in openrc
+EXTRA_DIST = $(srcdir)/openrc \
+ $(srcdir)/src/70_mod_php.conf.in \
+ $(srcdir)/src/php-fpm-launcher.in
if APACHE2
# Without these set, we won't try to install the conf file.
@@ -17,6 +19,8 @@ if FPM
confdir = $(sysconfdir)/conf.d
nodist_conf_DATA = $(srcdir)/openrc/conf.d/php-fpm
+
+ nodist_libexec_SCRIPTS = $(srcdir)/src/php-fpm-launcher
endif
# The next few rules allow us to replace bindir, libdir, etc.
@@ -29,7 +33,8 @@ edit = sed -e 's|@BINDIR[@]|$(bindir)|g' \
-e 's|@LOCALSTATEDIR[@]|$(localstatedir)|g' \
-e 's|@SYSCONFDIR[@]|$(sysconfdir)|g'
-$(nodist_eselect_DATA) $(nodist_apacheconf_DATA) $(nodist_init_SCRIPTS): Makefile
+
+$(nodist_eselect_DATA) $(nodist_apacheconf_DATA) $(nodist_init_SCRIPTS) $(nodist_libexec_SCRIPTS): Makefile
rm -f $@ $@.tmp
srcdir=''; \
test -f ./$@.in || srcdir=$(srcdir)/; \
@@ -37,5 +42,6 @@ $(nodist_eselect_DATA) $(nodist_apacheconf_DATA) $(nodist_init_SCRIPTS): Makefil
mv $@.tmp $@
$(srcdir)/src/php.eselect: $(srcdir)/src/php.eselect.in
+$(srcdir)/src/php-fpm-launcher: $(srcdir)/src/php-fpm-launcher.in
$(srcdir)/src/70_mod_php.conf: $(srcdir)/src/70_mod_php.conf.in
$(srcdir)/openrc/init.d/php-fpm: $(srcdir)/openrc/init.d/php-fpm.in
diff --git a/src/php-fpm-launcher.in b/src/php-fpm-launcher.in
new file mode 100644
index 0000000..940cec9
--- /dev/null
+++ b/src/php-fpm-launcher.in
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# If there are no arguments, then "shift" will fail (bug 626496).
+if [ $# -eq 0 ]; then
+ PHP_SLOT=$(eselect php show fpm)
+else
+ PHP_SLOT=$1
+ shift
+fi
+
+exec "@LIBDIR@/${PHP_SLOT}/bin/php-fpm" "${@}"