2c417cf616
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@2282 6952d904-891a-0410-993b-d76249ca496b
141 lines
4.3 KiB
Plaintext
141 lines
4.3 KiB
Plaintext
# Copyright 1999-2010 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/files/eblits/src_install-v1.eblit,v 1.4 2010/07/26 13:42:12 mabi Exp $
|
|
|
|
eblit-php-src_install() {
|
|
# Makefile forgets to create this before trying to write to it...
|
|
dodir "${PHP_DESTDIR}/bin"
|
|
|
|
# Install php environment (without any sapis)
|
|
emake INSTALL_ROOT="${D}" \
|
|
install-build install-headers install-programs \
|
|
|| die "emake install failed"
|
|
|
|
local extension_dir="$("${D}/${PHP_DESTDIR}/bin/php-config" --extension-dir)"
|
|
|
|
# And install the modules to it
|
|
if use sharedext ; then
|
|
insinto "${extension_dir}"
|
|
doins "${S}/modules/"*.so
|
|
fi
|
|
|
|
# Generate the USE file for PHP
|
|
phpconfutils_generate_usefile
|
|
|
|
# Create the directory where we'll put version-specific php scripts
|
|
keepdir /usr/share/php${PHP_MV}
|
|
|
|
local sapi="", file=""
|
|
local sapi_list=""
|
|
|
|
for sapi in ${SAPIS}; do
|
|
if use "${sapi}" ; then
|
|
einfo "Installing SAPI: ${sapi}"
|
|
# needed each time, php_install_ini would reset it
|
|
into "${PHP_DESTDIR}"
|
|
file=$(find "${SAPI_DIR}/${sapi}/" -type f | head -n 1)
|
|
|
|
if [[ "${file: -3}" == ".so" ]]; then
|
|
if [[ "${sapi}" == "apache2" ]]; then
|
|
insinto "${PHP_DESTDIR}/../apache2/modules/"
|
|
newins "${file}" "${file/*\/}"
|
|
else
|
|
dolib.so "${file}" || die "Unable to install ${sapi} sapi"
|
|
fi
|
|
else
|
|
dobin "${file}" || die "Unable to install ${sapi} sapi"
|
|
fi
|
|
|
|
php_install_ini "${sapi}"
|
|
|
|
# construct correct SAPI string for php-config
|
|
# thanks to ferringb for the bash voodoo
|
|
if [[ "${sapi}" == "apache2" ]]; then
|
|
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
|
else
|
|
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
# Install env.d files
|
|
newenvd "${FILESDIR}/20php${PHP_MV}-envd" \
|
|
"20php${PHP_MV}"
|
|
sed -e "s|/lib/|/$(get_libdir)/|g" -i \
|
|
"${D}/etc/env.d/20php${PHP_MV}"
|
|
|
|
# set php-config variable correctly (bug #278439)
|
|
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
|
"${D}/usr/$(get_libdir)/php5/bin/php-config"
|
|
}
|
|
|
|
php_install_ini() {
|
|
local phpsapi="${1}"
|
|
|
|
# work out where we are installing the ini file
|
|
php_set_ini_dir "${phpsapi}"
|
|
|
|
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
|
|
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}"
|
|
|
|
# default to expose_php=Off, bug 300695
|
|
sed -e 's|^expose_php .*|expose_php = Off|g' -i "${phpinisrc}"
|
|
|
|
# Set the extension dir
|
|
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}"
|
|
|
|
# Set the include path to point to where we want to find PEAR packages
|
|
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:/usr/share/php'${PHP_MV}':/usr/share/php"|' -i "${phpinisrc}"
|
|
|
|
dodir "${PHP_INI_DIR}"
|
|
insinto "${PHP_INI_DIR}"
|
|
newins "${phpinisrc}" "${PHP_INI_FILE}"
|
|
|
|
dodir "${PHP_EXT_INI_DIR}"
|
|
dodir "${PHP_EXT_INI_DIR_ACTIVE}"
|
|
|
|
# Install any extensions built as shared objects
|
|
if use sharedext ; then
|
|
insinto "${PHP_EXT_INI_DIR}"
|
|
for extension in "${D}/${extension_dir}/"*.so ; do
|
|
extension="${extension##*/}"
|
|
inifilename="${extension/.so/.ini}"
|
|
echo "extension=${extension}" > "${S}/modules/$inifilename"
|
|
doins "${S}/modules/$inifilename"
|
|
dosym "${PHP_EXT_INI_DIR}/${inifilename}" "${PHP_EXT_INI_DIR_ACTIVE}/${inifilename}"
|
|
done
|
|
fi
|
|
|
|
# SAPI-specific handling
|
|
if [[ "${sapi}" == "apache2" ]] ; then
|
|
if use concurrentmodphp ; then
|
|
einfo "Installing Apache2 config file 70_mod_php${PHP_MV}_concurr.conf"
|
|
insinto "${APACHE_MODULES_CONFDIR}"
|
|
newins "${FILESDIR}/70_mod_php${PHP_MV}_concurr.conf-apache2" \
|
|
"70_mod_php${PHP_MV}_concurr.conf"
|
|
|
|
# Put the ld version script in the right place so
|
|
# it's always accessible
|
|
insinto "/var/lib/php-pkg/${CATEGORY}/${PN}-${PVR}/"
|
|
doins "${FILESDIR}/php${PHP_MV}-ldvs"
|
|
else
|
|
einfo "Installing Apache2 config 70_mod_php${PHP_MV}.conf)"
|
|
insinto ${APACHE_MODULES_CONFDIR}
|
|
newins "${FILESDIR}/70_mod_php${PHP_MV}.conf-apache2" \
|
|
"70_mod_php${PHP_MV}.conf"
|
|
fi
|
|
fi
|
|
|
|
if [[ "${sapi}" == "fpm" ]] ; then
|
|
einfo "Installing FPM CGI config file php-fpm.conf"
|
|
epatch "${FILESDIR}/php-fpm-gentooified.patch"
|
|
insinto ${PHP_INI_DIR}
|
|
doins "${S}/sapi/fpm/php-fpm.conf"
|
|
dodir "/etc/init.d"
|
|
insinto "/etc/init.d"
|
|
newins "${FILESDIR}/php-fpm.init" "php-fpm"
|
|
fperms 755 "/etc/init.d/php-fpm"
|
|
dosym "${PHP_DESTDIR}/bin/php-fpm" "/usr/bin/php-fpm"
|
|
fi
|
|
}
|