commit:     0e8210cb39211c30ec8b02006d0e695bc8e6130f
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 10 22:30:04 2015 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Thu Dec 10 22:30:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/eselect-php.git/commit/?id=0e8210cb

Switch get_active_apache2() and set_apache2() to the new mod_php.so symlink.

 src/php.eselect.in | 38 ++++++++++++++++++++------------------
 1 file changed, 20 insertions(+), 18 deletions(-)

diff --git a/src/php.eselect.in b/src/php.eselect.in
index 14ba819..4bbc695 100644
--- a/src/php.eselect.in
+++ b/src/php.eselect.in
@@ -190,24 +190,22 @@ get_apache2_active_symlink_path() {
 # "php5.6" or "php7.0".
 #
 get_active_apache2() {
-       local libs target ver
-       libs="${EROOT}$(get_active_libdir)/apache2/modules/libphp[57].so"
+       local active_symlink target ver
+
+       # The symlink to our active module.
+       active_symlink="$(get_apache2_active_symlink_path)"
 
        # This sed expression finds the "display name" of the PHP version
        # corresponding to a copy of libphp. For example, it parses the
        # string "php5.6" out of "/usr/lib64/php5.6/apache2/libphp5.so".
        ver="s:.*/usr/.*/\(php[0-9]\.[0-9]\)/apache2/libphp[57].so:\1:p"
-       for lib in $libs; do
-               if [[ -L "${lib}" ]] ; then
-                       target=$(canonicalise "${lib}")
-                       if [[ -a "${target}" ]] ; then
-                               echo "${target}" | @SED@ -ne "${ver}"
-                               # Short-circuit here because we should never 
have more
-                               # than one active version.
-                               return
-                       fi
+
+       if [[ -L "${active_symlink}" ]] ; then
+               target=$(canonicalise "${active_symlink}")
+               if [[ -a "${target}" ]] ; then
+                       echo "${target}" | @SED@ -ne "${ver}"
                fi
-       done
+       fi
 }
 
 resolv_target() {
@@ -281,13 +279,17 @@ list_fpm() {
 }
 
 set_apache2() {
-       local libdir t=$(resolv_target apache2 $1)
-       [[ -z $t ]] && die -q "Bad target"
+       local active_symlink libdir t=$(resolv_target apache2 $1)
+       active_symlink="$(get_apache2_active_symlink_path)"
+
+       [[ -z $t ]] && die -q "invalid target"
        for libdir in $(get_libdirs); do
-               rm -f "${EROOT}${libdir}/apache2/modules/libphp[57].so"
-               @LN_S@ --force "../../$t/apache2/libphp${t:3:1}.so" \
-                       "${EROOT}${libdir}/apache2/modules/" || \
-                       die -q "Failed to set symlink for 
${EPREFIX}${libdir}/apache2/modules/libphp${t:3:1}.so"
+               rm --force "${active_symlink}" || \
+                       die "failed to remove active module symlink"
+
+               @LN_S@ --force "../../${t}/apache2/libphp${t:3:1}.so" \
+                       "${active_symlink}" || \
+                       die -q "failed to create active mod_php symlink"
        done
        echo "Please restart apache for the changes to take effect."
 }

Reply via email to