diff --git a/mod_php_install.sh b/mod_php_install.sh index f4ae045..197341c 100755 --- a/mod_php_install.sh +++ b/mod_php_install.sh @@ -6951,11 +6951,10 @@ if ([[ "$PHP_MAJOR_VERSION" -eq 8 ]] && [[ "$PHP_MINOR_VERSION" -ge 4 ]]) \ || [[ "$PHP_MAJOR_VERSION" -gt 8 ]] \ || ([[ "$os_dist" = "debian" ]] && [[ "$os_version" -ge 13 ]]) ; then - if ( dpkg -s libc-client-dev > /dev/null 2>&1 \ + if dpkg -s libc-client-dev > /dev/null 2>&1 \ || dpkg -s libc-client2007e-dev > /dev/null 2>&1 \ || dpkg -s libc-client2007f-dev > /dev/null 2>&1 \ - || dpkg -s uw-imap-dev >/dev/null 2>&1; ) \ - || [[ -f /usr/local/imap/lib/libc-client.a ]] ; then + || dpkg -s uw-imap-dev >/dev/null 2>&1; then printf "\n" | ${PREFIX_PHP}/bin/pecl install imap >> "${_logdir}/pecl_install.log" 2>&1 if [ "$?" = "0" ]; then @@ -6985,6 +6984,277 @@ if ([[ "$PHP_MAJOR_VERSION" -eq 8 ]] && [[ "$PHP_MINOR_VERSION" -ge 4 ]]) \ echo "" fi + elif [[ -f "/usr/local/imap/lib/libc-client.a" ]] ; then + + _failed=false + + echo_skipped + + echo -e "\tTry to install imap from source.." + cd /tmp + rm -rf /tmp/imap-* + + echo "" >> ${_logdir}/pecl_install.log + echo "# Try to install imap from source.." >> ${_logdir}/pecl_install.log + echo "cd /tmp" >> ${_logdir}/pecl_install.log + echo "rm -rf /tmp/imap-*" >> ${_logdir}/pecl_install.log + + # Download imap archive + echononl "\t Download imap source (pecl download imap).." + + echo "" >> ${_logdir}/pecl_install.log + echo "# Download imap source .." >> ${_logdir}/pecl_install.log + echo "pecl download imap" >> ${_logdir}/pecl_install.log + + pecl download imap > /dev/null 2>&1 + + if [[ $? -eq 0 ]]; then + echo_ok + else + echo_failed + + echo "" + echononl "continue anyway [yes/no]: " + read OK + OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" + while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do + echononl "Wrong entry! - repeat [yes/nno]: " + read OK + done + [[ $OK = "yes" ]] || fatal "Abbruch durch User" + echo "" + + _failed=true + fi + + # Unzip imap source archive + if ! ${_failed} ; then + + echononl "\t Unzip imap source archive .." + + echo "" >> ${_logdir}/pecl_install.log + echo "# Unzip imap source archiv .." >> ${_logdir}/pecl_install.log + echo "tar xzf imap-*.tgz " >> ${_logdir}/pecl_install.log + + tar xzf imap-*.tgz >> ${_logdir}/pecl_install.log + + if [[ $? -eq 0 ]]; then + echo_ok + + echo " cd imap-*/" >> ${_logdir}/pecl_install.log + cd imap-*/ >> ${_logdir}/pecl_install.log + + if [[ $? -gt 0 ]]; then + + error "Error changing directory.." + + echo "" + echo "command was: cd imap-*/" + echo "" + echononl "continue anyway [yes/no]: " + read OK + OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" + while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do + echononl "Wrong entry! - repeat [yes/nno]: " + read OK + done + [[ $OK = "yes" ]] || fatal "Abbruch durch User" + echo "" + + _failed=true + fi + + else + echo_failed + + echo "" + echo "command was: tar xzf imap-*.tgz" + echo "" + echononl "continue anyway [yes/no]: " + read OK + OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" + while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do + echononl "Wrong entry! - repeat [yes/nno]: " + read OK + done + [[ $OK = "yes" ]] || fatal "Abbruch durch User" + echo "" + + _failed=true + fi + + fi + + + # phpize + if ! ${_failed} ; then + + echononl "\t Prepare for building extension imap: phpize .." + + echo "" >> ${_logdir}/pecl_install.log + echo "# Prepare for building extension imap: phpize .." >> ${_logdir}/pecl_install.log + echo "/usr/local/php-${VERSION}/bin/phpize " >> ${_logdir}/pecl_install.log + + /usr/local/php-${VERSION}/bin/phpize >> ${_logdir}/pecl_install.log 2>&1 + + if [[ $? -eq 0 ]]; then + echo_ok + else + echo_failed + + echo "" + echo "command was: /usr/local/php-${VERSION}/bin/phpize" + echo "" + echononl "continue anyway [yes/no]: " + read OK + OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" + while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do + echononl "Wrong entry! - repeat [yes/nno]: " + read OK + done + [[ $OK = "yes" ]] || fatal "Abbruch durch User" + echo "" + + _failed=true + fi + + fi + + # Configure.. + if ! ${_failed} ; then + + echononl "\t Configure imap extension.. .." + + echo "" >> ${_logdir}/pecl_install.log + echo "# Configure imap extension .." >> ${_logdir}/pecl_install.log + cat <> ${_logdir}/pecl_install.log +export CPPFLAGS="-I/usr/local/imap/include" +export LDFLAGS="-L/usr/local/imap/lib" + +./configure \ + --with-php-config=/usr/local/php-${VERSION}/bin/php-config \ + --with-imap=/usr/local/imap \ + --with-kerberos \ + --with-imap-ssl +EOF + + export CPPFLAGS="-I/usr/local/imap/include" + export LDFLAGS="-L/usr/local/imap/lib" + + ./configure \ + --with-php-config=/usr/local/php-${VERSION}/bin/php-config \ + --with-imap=/usr/local/imap \ + --with-kerberos \ + --with-imap-ssl >> ${_logdir}/pecl_install.log 2>&1 + + if [[ $? -eq 0 ]]; then + echo_ok + else + echo_failed + + echo "" + echo "command was: ./configure .." + echo "" + echononl "continue anyway [yes/no]: " + read OK + OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" + while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do + echononl "Wrong entry! - repeat [yes/nno]: " + read OK + done + [[ $OK = "yes" ]] || fatal "Abbruch durch User" + echo "" + + _failed=true + fi + + fi + + if ! ${_failed} ; then + + echononl "\t make.." + + echo "" >> ${_logdir}/pecl_install.log + echo "# make .." >> ${_logdir}/pecl_install.log + echo "make -j\"$(nproc)\"" >> ${_logdir}/pecl_install.log + + make -j"$(nproc)" >> ${_logdir}/pecl_install.log 2>&1 + + if [[ $? -eq 0 ]]; then + echo_ok + else + echo_failed + + echo "" + echo "command was: make -j\"$(nproc)\"" + echo "" + echononl "continue anyway [yes/no]: " + read OK + OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" + while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do + echononl "Wrong entry! - repeat [yes/nno]: " + read OK + done + [[ $OK = "yes" ]] || fatal "Abbruch durch User" + echo "" + + _failed=true + fi + + fi + + if ! ${_failed} ; then + + echononl "\t make install.." + + echo "" >> ${_logdir}/pecl_install.log + echo "# make install .." >> ${_logdir}/pecl_install.log + echo "make install" >> ${_logdir}/pecl_install.log + + make install >> ${_logdir}/pecl_install.log 2>&1 + + if [[ $? -eq 0 ]]; then + echo_ok + else + echo_failed + + echo "" + echo "command was: make install" + echo "" + echononl "continue anyway [yes/no]: " + read OK + OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" + while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do + echononl "Wrong entry! - repeat [yes/nno]: " + read OK + done + [[ $OK = "yes" ]] || fatal "Abbruch durch User" + echo "" + + _failed=true + fi + + fi + + rm -rf /tmp/imap-* + if ! $_failed ; then + + echononl "\tphp.ini: extension=propro .." + _extension="imap.so" + + echo "" >> ${_logdir}/pecl_install.log + echo "# php.ini: extension=${_extension} .." >> ${_logdir}/pecl_install.log + echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log + + perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + fi + echo "" + fi + else echo_skipped @@ -7237,7 +7507,7 @@ else _extension="propro.so" echo "" >> ${_logdir}/pecl_install.log - echo "# php.ini: extension=memcsched .." >> ${_logdir}/pecl_install.log + echo "# php.ini: extension=${_extension} .." >> ${_logdir}/pecl_install.log echo "perl -i -n -p -e \"s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#\" $PHP_INI_FILE" >> ${_logdir}/pecl_install.log perl -i -n -p -e "s#^(\s*\[PHP\]\s*)#\1\nextension=${_extension}\n#" $PHP_INI_FILE