Author: glen                         Date: Mon Aug 15 16:39:20 2005 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- port changes fron php4.spec:
  - add conf.d support
  - minimize apache restarts
  - possibility to build both apache1/apache2 modules (unfinished due Obsolete 
not resolved)
- cut php 4.x changelog

---- Files affected:
SPECS:
   php.spec (1.459 -> 1.460) 

---- Diffs:

================================================================
Index: SPECS/php.spec
diff -u SPECS/php.spec:1.459 SPECS/php.spec:1.460
--- SPECS/php.spec:1.459        Sun Aug 14 17:21:34 2005
+++ SPECS/php.spec      Mon Aug 15 18:39:15 2005
@@ -1,5 +1,4 @@
 # $Revision$, $Date$
-#
 # TODO:
 # - php-shared is SERIOUSLY broken. Try compiling with --enable-versioning.
 # - think of including support for:
@@ -15,6 +14,12 @@
 # - make additional headers added by mail patch configurable
 # - apply -hardened patch by default ?
 # - ftp module needs to be linked with -lssl if openssl module is enabled
+# - finish apache1/apache2 package split. currently don't know how to resolve:
+#  apache1-mod_php4-4.4.0-4.44 obsoleted by apache-mod_php-5.0.4-8.3
+#  it's because apache1-mod_php4 Provides:   php = 
%{epoch}:%{version}-%{release}
+#  and new apache-mod_php:
+#  # Obsolete last version when apache module was in main package
+#  Obsoletes:  php < 4:5.0.4-8.1
 #
 # Conditional build:
 %bcond_with    db3             # use db3 packages instead of db (4.x) for 
Berkeley DB support
@@ -24,7 +29,6 @@
 %bcond_with    interbase_inst  # use InterBase install., not Firebird  (BR: 
proprietary libs)
 %bcond_with    oci8            # with Oracle oci8 extension module     (BR: 
proprietary libs)
 %bcond_with    oracle          # with oracle extension module          (BR: 
proprietary libs)
-%bcond_with    apache1         # build with apache1
 %bcond_without mysqli          # with mysqli support (Requires mysql > 4.1)
 %bcond_without cpdf            # without cpdf extension module
 %bcond_without curl            # without CURL extension module
@@ -51,24 +55,30 @@
 %bcond_without tidy            # without Tidy extension module
 %bcond_without wddx            # without WDDX extension module
 %bcond_without xmlrpc          # without XML-RPC extension module
+%bcond_with            apache1         # enable building apache 1.3.x module 
(disables apache2)
+%bcond_without apache2         # disable building apache 2.x module
 
-%define        _apache2        %{?with_apache1:0}%{!?with_apache1:1}
-%if %{_apache2}
-%define        apxs            /usr/sbin/apxs
-%else
-%define        apxs            /usr/sbin/apxs1
+%define apxs1          /usr/sbin/apxs1
+%define        apxs2           /usr/sbin/apxs
+
+%if %{with apache1}
+%undefine      with_apache2
 %endif
+
 # some problems with apache 2.x
-%if %{_apache2}
+%if %{with apache2}
 %undefine      with_mm
 %endif
+
 %ifnarch %{ix86} %{x8664} sparc sparcv9 alpha ppc
 %undefine      with_interbase
 %endif
+
 # x86-only lib
 %ifnarch %{ix86}
 %undefine      with_msession
 %endif
+
 %include       /usr/lib/rpm/macros.php
 Summary:       The PHP HTML-embedded scripting language for use with Apache
 Summary(fr):   Le langage de script embarque-HTML PHP pour Apache
@@ -78,7 +88,7 @@
 Summary(uk):   PHP ÷ĹŇÓŚ§ 5 - ÍĎ×Á ĐŇĹĐŇĎĂĹÓŐ×ÁÎÎŃ HTML-ĆÁĘĚŚ×, ×ÉËĎÎŐ×ÁÎÁ ÎÁ 
ÓĹŇ×ĹŇŚ
 Name:          php
 Version:       5.0.4
-Release:       9%{?with_hardening:hardened}
+Release:       9.21%{?with_hardening:hardened}
 Epoch:         4
 Group:         Libraries
 License:       PHP
@@ -125,6 +135,7 @@
 Patch28:       %{name}-cpdf-fix.patch
 Patch29:       %{name}-gcc4.patch
 Patch30:       %{name}-hardening-fix.patch
+Patch31:       %{name}-both-apxs.patch
 Icon:          php.gif
 URL:           http://www.php.net/
 %{?with_interbase:%{!?with_interbase_inst:BuildRequires:       Firebird-devel 
>= 1.0.2.908-2}}
@@ -181,7 +192,7 @@
 BuildRequires: readline-devel
 %{?with_recode:BuildRequires:  recode-devel >= 3.5d-3}
 BuildRequires: rpm-php-pearprov >= 4.0.2-100
-BuildRequires: rpmbuild(macros) >= 1.213
+BuildRequires: rpmbuild(macros) >= 1.230
 %{?with_sqlite:BuildRequires:  sqlite-devel}
 BuildRequires: t1lib-devel
 %{?with_tidy:BuildRequires:    tidy-devel}
@@ -189,32 +200,25 @@
 %{?with_odbc:BuildRequires:    unixODBC-devel}
 %{?with_xmlrpc:BuildRequires:  xmlrpc-epi-devel}
 BuildRequires: zlib-devel >= 1.0.9
-# apache 1.3 vs apache 2.0
-%if %{_apache2}
+%if %{with apache1}
+BuildRequires: apache1-devel
+PreReq:                %{name}-common = %{epoch}:%{version}-%{release}
+PreReq:                apache1(EAPI) >= 1.3.9
+Requires(post,preun):  %{apxs1}
+Requires(post,preun):  %{__perl}
+%endif
+%if %{with apache2}
 BuildRequires: apache-devel >= 2.0.52-2
 BuildRequires: apr-devel >= 1:1.0.0
 BuildRequires: apr-util-devel >= 1:1.0.0
+PreReq:                %{name}-common = %{epoch}:%{version}-%{release}
 PreReq:                apache >= 2.0.52-2
 Requires:      apache(modules-api) = %{apache_modules_api}
-%else
-BuildRequires: apache1-devel
-PreReq:                apache1(EAPI) >= 1.3.9
-Requires(post,preun):  %{apxs}
-Requires(post,preun):  %{__perl}
 %endif
-PreReq:                %{name}-common = %{epoch}:%{version}-%{release}
-Obsoletes:     phpfi
-Obsoletes:     apache-mod_php
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _sysconfdir     /etc/php
 %define                extensionsdir   %{_libdir}/php
-%define                httpdir         /home/services/httpd
-%if %{_apache2}
-%define                apachelib       %{_libdir}/apache
-%else
-%define                apachelib       %{_libdir}/apache1
-%endif
 
 %description
 PHP is an HTML-embedded scripting language. PHP attempts to make it
@@ -282,6 +286,48 @@
 ÍÁ¤ÔĹ ÔÁËĎÖ ×ÓÔÁÎĎ×ÉÔÉ ĐÁËĹÔ %{name}-common. ńËÝĎ ×ÁÍ ĐĎÔŇŚÂĹÎ
 ŚÎÔĹŇĐŇĹÔÁÔĎŇ PHP × ŃËĎÓÔŚ ÍĎÄŐĚŃ apache, ×ÓÔÁÎĎ׌ÔŘ ĐÁËĹÔ apache-php.
 
+%package -n apache1-mod_php
+Summary:       PHP DSO module for apache 1.3.x
+Summary(pl):   Moduł DSO (Dynamic Shared Object) php dla apache 1.3.x
+Group:         Development/Languages/PHP
+PreReq:                %{name}-common = %{epoch}:%{version}-%{release}
+Requires(post,preun):  %{apxs1}
+Requires(post,preun):  %{__perl}
+Requires:      apache1(EAPI) >= 1.3.33-2
+Requires:      apache1-mod_mime
+Provides:      %{name} = %{epoch}:%{version}-%{release}
+Provides:      php = %{epoch}:%{version}-%{release}
+Obsoletes:     phpfi
+Obsoletes:     apache-mod_php < 1:4.1.1
+# Obsolete last version when apache module was in main package
+Obsoletes:     php <= 4:5.0.4-9
+
+%description -n apache1-mod_php
+PHP as DSO module for apache 1.3.x.
+
+%description -n apache1-mod_php -l pl
+php jako moduł DSO (Dynamic Shared Object) dla apache 1.3.x.
+
+%package -n apache-mod_php
+Summary:       PHP DSO module for apache 2.x
+Summary(pl):   Moduł DSO (Dynamic Shared Object) php dla apache 2.x
+Group:         Development/Languages/PHP
+PreReq:                %{name}-common = %{epoch}:%{version}-%{release}
+Requires:      apache >= 2.0.52-2
+Requires:      apache(modules-api) = %{apache_modules_api}
+Provides:      %{name} = %{epoch}:%{version}-%{release}
+Provides:      php = %{epoch}:%{version}-%{release}
+Obsoletes:     phpfi
+Obsoletes:     apache-mod_php < 1:4.1.1
+# Obsolete last version when apache module was in main package
+Obsoletes:     php <= 4:5.0.4-9
+
+%description -n apache-mod_php
+PHP as DSO module for apache 2.x.
+
+%description -n apache-mod_php -l pl
+php jako moduł DSO (Dynamic Shared Object) dla apache 2.x.
+
 %package fcgi
 Summary:       php as FastCGI program
 Summary(pl):   php jako program FastCGI
@@ -1439,6 +1485,7 @@
 zcat %{SOURCE9} | patch -p1
 patch -p1 < %{PATCH30}
 %endif
+%patch31 -p1
 
 # conflict seems to be resolved by recode patches
 rm -f ext/recode/config9.m4
@@ -1452,29 +1499,59 @@
 sed -i -e 's#apr-config#apr-1-config#g' sapi/apache*/*.m4
 
 %build
-%if %{_apache2}
-CFLAGS="%{rpmcflags} -DEAPI=1 -I/usr/X11R6/include `%{_bindir}/apr-1-config 
--includes` `%{_bindir}/apu-1-config --includes`"
-%else
 CFLAGS="%{rpmcflags} -DEAPI=1 -I/usr/X11R6/include"
+%if %{with apache2}
+# Apache2 CFLAGS. harmless for other SAPIs.
+CFLAGS="$CFLAGS $(%{_bindir}/apr-1-config --includes) 
$(%{_bindir}/apu-1-config --includes)"
 %endif
+
 EXTENSION_DIR="%{extensionsdir}"; export EXTENSION_DIR
-./buildconf --force
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
+if [ ! -f _built-conf ]; then # configure once (for faster debugging purposes)
+       ./buildconf --force
+       %{__libtoolize}
+       %{__aclocal}
+       %{__autoconf}
+       touch _built-conf
+fi
 PROG_SENDMAIL="/usr/lib/sendmail"; export PROG_SENDMAIL
-for i in fcgi cgi cli apxs ; do
-%configure \
-       `[ $i = cgi ] && echo --enable-discard-path` \
-       `[ $i = cli ] && echo --disable-cgi` \
-       `[ $i = fcgi ] && echo --enable-fastcgi --with-fastcgi=/usr` \
-%if %{_apache2}
-       `[ $i = apxs ] && echo --with-apxs2=%{apxs}` \
-       --enable-maintainer-zts \
-%else
-       `[ $i = apxs ] && echo --with-apxs=%{apxs}` \
-%endif
+
+sapis="
+fcgi cgi cli
+%if %{with apache1}
+apxs1
+%endif
+%if %{with apache2}
+apxs2
+%endif
+"
+for sapi in $sapis; do
+       [ -f Makefile.$sapi ] && continue # skip if already configured (for 
faster debugging purposes)
+
+       %configure \
+       `
+       case $sapi in
+       cgi)
+               echo --enable-discard-path
+       ;;
+       cli)
+               echo --disable-cgi
+       ;;
+       fcgi)
+               echo --enable-fastcgi --with-fastcgi=/usr
+       ;;
+       apxs1)
+               ver=%(rpm -q --qf '%%{version}' apache1-apxs)
+               echo --with-apxs=%{apxs1} --with-apache-version=$ver
+       ;;
+       apxs2)
+               ver=%(rpm -q --qf '%%{version}' apache-apxs)
+               echo --with-apxs2=%{apxs2} --with-apache-version=$ver 
--enable-maintainer-zts
+       ;;
+       esac
+       ` \
+       --cache-file=config.cache \
        --with-config-file-path=%{_sysconfdir} \
+       --with-config-file-scan-dir=%{_sysconfdir}/conf.d \
        --with-exec-dir=%{_bindir} \
        --%{!?debug:dis}%{?debug:en}able-debug \
        --enable-memory-limit \
@@ -1571,25 +1648,38 @@
        --with-zlib=shared \
        --with-zlib-dir=shared,/usr
 
-cp -f Makefile Makefile.$i
-# left for debugging purposes
-cp -f main/php_config.h php_config.h.$i
+       cp -f Makefile Makefile.$sapi
+
+       # left for debugging purposes
+       cp -f main/php_config.h php_config.h.$sapi
 done
 
 # for now session_mm doesn't work with shared session module...
 # --enable-session=shared
 # %{!?with_mm:--with-mm=shared,no}%{?with_mm:--with-mm=shared}
 
-%{__make}
+%{__make} build-modules
 
+%{__make} libphp_common.la
 # fix install paths, avoid evil rpaths
-%{__perl} -pi -e "s|^libdir=.*|libdir='%{_libdir}'|" libphp_common.la
-%{__perl} -pi -e "s|^libdir=.*|libdir='%{apachelib}'|" libphp5.la
-%{__perl} -pi -e 's|^(relink_command=.* -rpath )[^ ]*/libs |$1%{apachelib} |' 
libphp5.la
+sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" libphp_common.la
 
 # for fcgi: -DDISCARD_PATH=0 -DENABLE_PATHINFO_CHECK=1 -DFORCE_CGI_REDIRECT=0
 # -DHAVE_FILENO_PROTO=1 -DHAVE_FPOS=1 -DHAVE_LIBNSL=1(die) -DHAVE_SYS_PARAM_H=1
 # -DPHP_FASTCGI=1 -DPHP_FCGI_STATIC=1 -DPHP_WRITE_STDOUT=1
+%if %{with apache1}
+%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache/libphp5.la -f Makefile.apxs1
+sed -i -e "
+s|^libdir=.*|libdir='%{_libdir}/apache1'|;
+s|^(relink_command=.* -rpath )[^ ]*/libs |$1%{_libdir}/apache1 |" 
sapi/apache/libphp5.la
+%endif
+
+%if %{with apache2}
+%{__make} libtool-sapi LIBTOOL_SAPI=sapi/apache2handler/libphp5.la -f 
Makefile.apxs2
+sed -i -e "
+s|^libdir=.*|libdir='%{_libdir}/apache'|;
+s|^(relink_command=.* -rpath )[^ ]*/libs |$1%{_libdir}/apache |" 
sapi/apache2handler/libphp5.la
+%endif
 
 %{__make} sapi/cgi/php -f Makefile.fcgi \
        CFLAGS_CLEAN="%{rpmcflags} -DDISCARD_PATH=0 -DENABLE_PATHINFO_CHECK=1 
-DFORCE_CGI_REDIRECT=0 -DHAVE_FILENO_PROTO=1 -DHAVE_FPOS=1 -DHAVE_LIBNSL=1 
-DHAVE_SYS_PARAM_H=1 -DPHP_FASTCGI=1 -DPHP_FCGI_STATIC=1 -DPHP_WRITE_STDOUT=1"
@@ -1603,644 +1693,803 @@
 %{__make} sapi/cgi/php -f Makefile.cgi \
        CFLAGS_CLEAN="%{rpmcflags} -DDISCARD_PATH=1 -DENABLE_PATHINFO_CHECK=1 
-DFORCE_CGI_REDIRECT=0 -DPHP_WRITE_STDOUT=1"
 
+# CLI
+%{__make} sapi/cli/php -f Makefile.cli
+
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d 
$RPM_BUILD_ROOT{%{_libdir}/php,%{apachelib},%{_sysconfdir}/{apache,cgi}} \
-       $RPM_BUILD_ROOT%{httpdir}/icons \
+install -d 
$RPM_BUILD_ROOT{%{_libdir}/{php,apache{,1}},%{_sysconfdir}/{apache,cgi}} \
+       $RPM_BUILD_ROOT/home/services/{httpd,apache}/icons \
        $RPM_BUILD_ROOT{%{_sbindir},%{_bindir}} \
        $RPM_BUILD_ROOT/var/run/php \
-%if %{_apache2}
-       $RPM_BUILD_ROOT/etc/httpd/httpd.conf
-%else
-       $RPM_BUILD_ROOT/etc/apache/apache.conf
+       $RPM_BUILD_ROOT{/etc/apache/conf.d,/etc/httpd/httpd.conf} \
+       $RPM_BUILD_ROOT%{_mandir}/man1
+
+# install apache1 DSO module
+%if %{with apache1}
+# TODO: use libtool here
+install sapi/apache/.libs/libphp5.so 
$RPM_BUILD_ROOT%{_libdir}/apache1/libphp5.so
+%endif
+
+# install apache2 DSO module
+%if %{with apache2}
+# TODO: use libtool here
+install sapi/apache2handler/.libs/libphp5.so 
$RPM_BUILD_ROOT%{_libdir}/apache/libphp5.so
 %endif
 
-%{__make} install \
-       INSTALL_ROOT=$RPM_BUILD_ROOT \
-       INSTALL_IT="\$(LIBTOOL) --mode=install install libphp_common.la 
$RPM_BUILD_ROOT%{_libdir} ; \$(LIBTOOL) --mode=install install libphp5.la 
$RPM_BUILD_ROOT%{apachelib}; \$(LIBTOOL) --mode=install install sapi/cgi/php 
$RPM_BUILD_ROOT%{_bindir}/php.cgi ; \$(LIBTOOL) --mode=install install 
sapi/fcgi/php $RPM_BUILD_ROOT%{_bindir}/php.fcgi" \
-       INSTALL_CLI="\$(LIBTOOL) --mode=install install sapi/cli/php 
$RPM_BUILD_ROOT%{_bindir}/php.cli"
+libtool --silent --mode=install install libphp_common.la 
$RPM_BUILD_ROOT%{_libdir}
+
+# install the apache modules' files
+make install-headers install-build install-modules install-programs \
+       INSTALL_ROOT=$RPM_BUILD_ROOT
+
+# install CGI
+libtool --silent --mode=install install sapi/cgi/php 
$RPM_BUILD_ROOT%{_bindir}/php.cgi
+
+# install FCGI
+libtool --silent --mode=install install sapi/fcgi/php 
$RPM_BUILD_ROOT%{_bindir}/php.fcgi
+
+# install CLI
+libtool --silent --mode=install install sapi/cli/php 
$RPM_BUILD_ROOT%{_bindir}/php.cli
+install sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1/php.1
 
 # TODO:
 # Why make install doesn't install libphp5.so ?
-install libs/libphp5.so $RPM_BUILD_ROOT%{apachelib}
+#install libs/libphp5.so $RPM_BUILD_ROOT%{apachelib}
 
 ln -sf php.cli $RPM_BUILD_ROOT%{_bindir}/php
 
 install php.ini        $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
-install %{SOURCE5} %{SOURCE6} %{SOURCE7} %{SOURCE8} 
$RPM_BUILD_ROOT%{_sysconfdir}
-install %{SOURCE2} php.gif $RPM_BUILD_ROOT%{httpdir}/icons
+install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cgi-fcgi.ini
+install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/php-cgi.ini
+install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache.ini
+install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache2handler.ini
+install %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini
+
+install %{SOURCE2} php.gif $RPM_BUILD_ROOT/home/services/httpd/icons
+install %{SOURCE2} php.gif $RPM_BUILD_ROOT/home/services/apache/icons
 install %{SOURCE3} $RPM_BUILD_ROOT%{_sbindir}
-%if %{_apache2}
+install %{SOURCE4} $RPM_BUILD_ROOT/etc/apache/conf.d/70_mod_php.conf
 install %{SOURCE4} $RPM_BUILD_ROOT/etc/httpd/httpd.conf/70_mod_php.conf
-mv $RPM_BUILD_ROOT%{_sysconfdir}/php-apache{,2handler}.ini
-%endif
 
 install %{SOURCE1} .
 
 cp -f Zend/LICENSE{,.Zend}
 
-rm -f $RPM_BUILD_ROOT%{apachelib}/libphp5.la
+# Generate stub .ini files for each subpackage
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/conf.d
+for so in modules/*.so; do
+       mod=$(basename $so .so)
+       cat > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/${mod}.ini <<EOF
+; Enable ${mod} extension module
+extension=${mod}.so
+EOF
+done
+
+# Not in all SAPI, so don't need the .ini fragments.
+rm -f $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/{ncurses,pcntl,readline}.ini
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%if %{_apache2}
-%triggerpostun -- php < 4:5.0.4-7.1
-# for fixed php-SAPI.ini, the poor php-apache.ini was never read for apache2
-if [ -f %{_sysconfdir}/php-apache.ini.rpmsave ]; then
-       cp -f %{_sysconfdir}/php-apache2handler.ini{,.rpmnew}
-       mv -f %{_sysconfdir}/php-apache.ini.rpmsave 
%{_sysconfdir}/php-apache2handler.ini
-fi
+%if %{with apache1}
+%triggerpostun -- %{name} < 4:5.0.4-9.11
+%{apxs1} -e -A -n php5 %{_pkglibdir}/libphp5.so 1>&2
+%{__perl} -pi -e \
+       's|^AddType application/x-httpd-php \.php|#AddType 
application/x-httpd-php .php|' \
+       /etc/apache/apache.conf
+%service -q apache restart
 %endif
 
 %post
-%if ! %{_apache2}
-%{__perl} -pi -e 's|^#AddType application/x-httpd-php \.php|AddType 
application/x-httpd-php .php|' \
-       /etc/apache/apache.conf
-%{apxs} -e -a -n php5 %{_pkglibdir}/libphp5.so 1>&2
-if [ -f /var/lock/subsys/apache ]; then
-       /etc/rc.d/init.d/apache restart 1>&2
-fi
-%else
-if [ -f /var/lock/subsys/httpd ]; then
-       /etc/rc.d/init.d/httpd restart 1>&2
-fi
+if [ "$1" = "1" ]; then
+%if %{with apache1}
+       %service -q apache restart
 %endif
+%if %{with apache2}
+       %service -q httpd restart
+%endif
+fi
 
-%if %{_apache2}
 %postun
 if [ "$1" = "0" ]; then
-       if [ -f /var/lock/subsys/httpd ]; then
-               /etc/rc.d/init.d/httpd restart 1>&2
-       fi
+%if %{with apache1}
+       %service -q apache restart
+%endif
+%if %{with apache2}
+       %service -q httpd restart
+%endif
 fi
-%else
-%preun
+
+%post -n apache1-mod_php
+if [ "$1" = "1" ]; then
+       %service -q apache restart
+fi
+
+%postun -n apache1-mod_php
 if [ "$1" = "0" ]; then
-       %{apxs} -e -A -n php5 %{_pkglibdir}/libphp5.so 1>&2
-       %{__perl} -pi -e \
-               's|^AddType application/x-httpd-php \.php|#AddType 
application/x-httpd-php .php|' \
-               /etc/apache/apache.conf
-       if [ -f /var/lock/subsys/apache ]; then
-               /etc/rc.d/init.d/apache restart 1>&2
-       fi
+       %service -q apache restart
+fi
+
+%post -n apache-mod_php
+if [ "$1" = "1" ]; then
+       %service -q httpd restart
+fi
+
+%postun -n apache-mod_php
+if [ "$1" = "0" ]; then
+       %service -q httpd restart
+fi
+
+# so tired of typing... so decided to create macros
+# macro called at extension post scriptlet
+%define        extension_post \
+if [ "$1" = "1" ]; then \
+       [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache 
restart \
+       [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd 
restart \
+fi
+
+# macro called at extension postun scriptlet
+%define        extension_postun \
+if [ "$1" = "0" ]; then \
+       [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache 
restart \
+       [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd 
restart \
 fi
-%endif
 
 %post  common -p /sbin/ldconfig
-%postun        common -p /sbin/ldconfig
+%postun        common
+/sbin/ldconfig
+# extension_post here is all correct.
+%extension_post
+
+# compensate missing restart of earlier -common package.
+%triggerpostun common -- %{name}-common < 4:5.0.4-9.1
+[ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
+[ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
 
-%post bcmath
-%{_sbindir}/php-module-install install bcmath %{_sysconfdir}/php.ini
+%if %{with apache2}
+%triggerpostun -- php < 4:5.0.4-7.1
+# for fixed php-SAPI.ini, the poor php-apache.ini was never read for apache2
+if [ -f %{_sysconfdir}/php-apache.ini.rpmsave ]; then
+       cp -f %{_sysconfdir}/php-apache2handler.ini{,.rpmnew}
+       mv -f %{_sysconfdir}/php-apache.ini.rpmsave 
%{_sysconfdir}/php-apache2handler.ini
+fi
 
-%preun bcmath
-if [ "$1" = "0" ]; then
-       %{_sbindir}/php-module-install remove bcmath %{_sysconfdir}/php.ini
+# extra trigger, if they did not upgrade to 4:5.0.4-7 but still had old 
php-apache.ini
+%triggerpostun -n apache-mod_php -- php < 4:5.0.4-7.1
+# for fixed php-SAPI.ini, the poor php-apache.ini was never read for apache2
+if [ -f %{_sysconfdir}/php-apache.ini.rpmsave ]; then
+       cp -f %{_sysconfdir}/php-apache2handler.ini{,.rpmnew}
+       mv -f %{_sysconfdir}/php-apache.ini.rpmsave 
%{_sysconfdir}/php-apache2handler.ini
 fi
+%endif
+
+%post bcmath
+%extension_post
+
+%postun bcmath
+%extension_postun
 
 %post bzip2
-%{_sbindir}/php-module-install install bz2 %{_sysconfdir}/php.ini
+%extension_post
 
-%preun bzip2
-if [ "$1" = "0" ]; then
-       %{_sbindir}/php-module-install remove bz2 %{_sysconfdir}/php.ini
-fi
+%postun bzip2
+%extension_postun
 
 %post calendar
-%{_sbindir}/php-module-install install calendar %{_sysconfdir}/php.ini
+%extension_post
 
-%preun calendar
-if [ "$1" = "0" ]; then
-       %{_sbindir}/php-module-install remove calendar %{_sysconfdir}/php.ini
-fi
+%postun calendar
+%extension_postun
 
 %post cpdf
-%{_sbindir}/php-module-install install cpdf %{_sysconfdir}/php.ini
+%extension_post
 
-%preun cpdf
-if [ "$1" = "0" ]; then
-       %{_sbindir}/php-module-install remove cpdf %{_sysconfdir}/php.ini
-fi
+%postun cpdf
+%extension_postun
 
 %post ctype
-%{_sbindir}/php-module-install install ctype %{_sysconfdir}/php.ini
+%extension_post
 
-%preun ctype
-if [ "$1" = "0" ]; then
-       %{_sbindir}/php-module-install remove ctype %{_sysconfdir}/php.ini
-fi
+%postun ctype
+%extension_postun
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/SPECS/php.spec?r1=1.459&r2=1.460&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to