#
# TODO:
-# - fastcgi option in cgi SAPI? or separate fcgi SAPI?
# - make sure that session-unregister patch is no longer needed
# (any crash reports related to session modules?)
#
%bcond_without pcre # without PCRE extension module
%bcond_without pdf # without PDF extension module
%bcond_without pgsql # without PostgreSQL extension module
-%bcond_without aspell # without pspell extension module
+%bcond_without pspell # without pspell extension module
%bcond_without recode # without recode extension module
%bcond_without qtdom # without QT DOM extension module
%bcond_without snmp # without SNMP extension module
%undefine with_recode
%undefine with_mm
%endif
-# x86-only libs
-%ifnarch %{ix86}
+%ifnarch %{ix86} sparc sparcv9 ppc
%undefine with_interbase
+%endif
+# x86-only lib
+%ifnarch %{ix86}
%undefine with_msession
%endif
%include /usr/lib/rpm/macros.php
Summary(ru): PHP ÷ÅÒÓÉÉ 4 -- ÑÚÙË ÐÒÅÐÒÏÃÅÓÓÉÒÏ×ÁÎÉÑ HTML-ÆÁÊÌÏ×, ×ÙÐÏÌÎÑÅÍÙÊ ÎÁ ÓÅÒ×ÅÒÅ
Summary(uk): PHP ÷ÅÒÓ¦§ 4 -- ÍÏ×Á ÐÒÅÐÒÏÃÅÓÕ×ÁÎÎÑ HTML-ÆÁÊ̦×, ×ÉËÏÎÕ×ÁÎÁ ÎÁ ÓÅÒ×ÅÒ¦
Name: php
-Version: 4.3.4
-Release: 3
+Version: 4.3.8
+%define _rc %{nil}
+Release: 1
Epoch: 3
Group: Libraries
License: PHP
-#Source0: http://www.php.net/distributions/%{name}-%{version}.tar.bz2
-Source0: http://downloads.php.net/ilia/%{name}-%{version}.tar.bz2
-# Source0-md5: b9dd601863e08e52e3c4d5e02c2627cf
+Source0: http://downloads.php.net/ilia/%{name}-%{version}%{_rc}.tar.bz2
+# Source0-md5: e8ab484fcb94cd2e0d7ecfd0762cfd33
Source1: FAQ.%{name}
Source2: zend.gif
Source4: %{name}-module-install
Patch12: %{name}-msession-shared-lib.patch
Patch13: %{name}-build_modules.patch
Patch14: %{name}-sapi-ini-file.patch
-Patch15: %{name}-ncurses.patch
-Patch16: %{name}-no-metaccld.patch
-Patch17: %{name}-session-unregister.patch
-Patch18: %{name}-ini.patch
-Patch19: %{name}-acam.patch
-Patch20: %{name}-xmlrpc-fix.patch
-Patch21: %{name}-libtool.patch
-Patch22: %{name}-allow-db31.patch
-Patch23: %{name}-threads-acfix.patch
-Patch24: %{name}-tsrmlsfetchgcc2.patch
-Patch25: %{name}-qt.patch
-Patch26: %{name}-no_pear_install.patch
-Patch27: %{name}-zlib.patch
-Patch28: %{name}-db-shared.patch
-Patch29: %{name}-sybase-fix.patch
-Patch30: %{name}-mssql-fix.patch
-Patch31: %{name}-phpize_fixes.patch
-Patch32: %{name}-db42.patch
+Patch15: %{name}-no-metaccld.patch
+Patch16: %{name}-session-unregister.patch
+Patch17: %{name}-ini.patch
+Patch18: %{name}-acam.patch
+Patch19: %{name}-xmlrpc-fix.patch
+Patch20: %{name}-libtool.patch
+Patch21: %{name}-allow-db31.patch
+Patch22: %{name}-threads-acfix.patch
+Patch23: %{name}-tsrmlsfetchgcc2.patch
+Patch24: %{name}-qt.patch
+Patch25: %{name}-no_pear_install.patch
+Patch26: %{name}-zlib.patch
+Patch27: %{name}-db-shared.patch
+Patch28: %{name}-sybase-fix.patch
+Patch29: %{name}-mssql-fix.patch
+Patch30: %{name}-lib64.patch
+Patch31: %{name}-mnogosearch-fix.patch
Icon: php4.gif
URL: http://www.php.net/
%{?with_interbase:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}}
BuildRequires: bison
BuildRequires: bzip2-devel
BuildRequires: cracklib-devel >= 2.7-15
-%{?with_curl:BuildRequires: curl-devel >= 7.9.8 }
+%{?with_curl:BuildRequires: curl-devel >= 7.12.0 }
BuildRequires: cyrus-sasl-devel
%{?with_db3:BuildRequires: db3-devel >= 3.1}
%{!?with_db3:BuildRequires: db-devel >= 4.0}
%endif
BuildRequires: freetype-devel >= 2.0
%{?with_fribidi:BuildRequires: fribidi-devel >= 0.10.4}
-BuildRequires: gd-devel >= 2.0.1
+BuildRequires: gd-devel >= 2.0.20
%{?with_gif:BuildRequires: gd-devel(gif)}
%{!?with_gif:BuildConflicts: gd-devel(gif)}
BuildRequires: gdbm-devel
BuildRequires: ncurses-devel
%{?with_ldap:BuildRequires: openldap-devel >= 2.0}
%if %{with openssl} || %{with ldap}
-BuildRequires: openssl-devel >= 0.9.7c
+BuildRequires: openssl-devel >= 0.9.7d
%endif
BuildRequires: pam-devel
%{?with_pdf:BuildRequires: pdflib-devel >= 4.0.0}
BuildRequires: zip
BuildRequires: zlib-devel >= 1.0.9
BuildRequires: zziplib-devel
-#BuildRequires: fcgi-devel
+BuildRequires: fcgi-devel
# apache 1.3 vs apache 2.0
%if %{_apache2}
-BuildRequires: apr-devel >= 1:0.9.4-1
+BuildRequires: apr-devel >= 1:0.9.4-1
PreReq: apache >= 2.0.40
Requires: apache(modules-api) = %{apache_modules_api}
%else
%define _sysconfdir /etc/php
%define extensionsdir %{_libdir}/php
%define httpdir /home/services/httpd
+%define _ulibdir %{_prefix}/lib
%description
PHP is an HTML-embedded scripting language. PHP attempts to make it
ÍÁ¤ÔÅ ÔÁËÏÖ ×ÓÔÁÎÏ×ÉÔÉ ÐÁËÅÔ %{name}-common. ñËÝÏ ×ÁÍ ÐÏÔÒ¦ÂÅÎ
¦ÎÔÅÒÐÒÅÔÁÔÏÒ PHP × ÑËÏÓÔ¦ ÍÏÄÕÌÑ apache, ×ÓÔÁÎÏצÔØ ÐÁËÅÔ apache-php.
+%package fcgi
+Summary: PHP as FastCGI program
+Summary(pl): PHP jako program FastCGI
+Group: Development/Languages/PHP
+PreReq: %{name}-common = %{epoch}:%{version}
+Provides: php-program = %{epoch}:%{version}-%{release}
+
+%description fcgi
+PHP as FastCGI program.
+
+%description fcgi -l pl
+PHP jako program FastCGI.
+
%package cgi
Summary: PHP as CGI program
Summary(pl): PHP jako program CGI
Summary(uk): â¦Â̦ÏÔÅËÉ ÓЦÌØÎÏÇÏ ×ÉËÏÒÉÓÔÁÎÎÑ ÄÌÑ php
Group: Libraries
Provides: %{name}-session = %{epoch}:%{version}-%{release}
-Provides: %{name}-openssl = %{epoch}:%{version}-%{release}
-Obsoletes: %{name}-session <= %{epoch}:%{version}-%{release}
-Obsoletes: %{name}-openssl <= %{epoch}:%{version}-%{release}
+Obsoletes: php-session <= %{epoch}:%{version}-%{release}
%description common
Common files needed by both apache module and CGI.
Summary(uk): ðÁËÅÔ ÒÏÚÒÏÂËÉ ÄÌÑ ÐÏÂÕÄÏ×É ÒÏÚÛÉÒÅÎØ PHP4
Group: Development/Languages/PHP
Requires: %{name}-common = %{epoch}:%{version}
-Obsoletes: %{name}-pear-devel
+Obsoletes: php-pear-devel
%description devel
The php-devel package lets you compile dynamic extensions to PHP.
Requires: %{name}-common = %{epoch}:%{version}
%description bzip2
-This is a dynamic shared object (DSO) for PHP that will add
-bzip2 compression support to PHP.
+This is a dynamic shared object (DSO) for PHP that will add bzip2
+compression support to PHP.
%description bzip2 -l pl
Modu³ PHP umo¿liwiaj±cy u¿ywanie kompresji bzip2.
Requires: %{name}-common = %{epoch}:%{version}
%description exif
-This is a dynamic shared object (DSO) for PHP that will add EXIF
-tags support in image files.
+This is a dynamic shared object (DSO) for PHP that will add EXIF tags
+support in image files.
%description exif -l pl
Modu³ PHP dodaj±cy obs³ugê znaczników EXIF w plikach obrazków.
Group: Libraries
Requires(post,preun): %{name}-common = %{epoch}:%{version}
Requires: %{name}-common = %{epoch}:%{version}
+Requires: gd >= 2.0.20
%{?with_gif:Requires: gd(gif)}
%{?with_gif:Provides: %{name}-gd(gif) = %{epoch}:%{version}-%{release}}
Requires: %{name}-common = %{epoch}:%{version}
%description mbstring
-This is a dynamic shared object (DSO) for PHP that will add
-multibyte string support.
+This is a dynamic shared object (DSO) for PHP that will add multibyte
+string support.
%description mbstring -l pl
Modu³ PHP dodaj±cy obs³ugê ci±gów znaków wielobajtowych.
databases support through FreeTDS library.
%description mssql -l pl
-Modu³ PHP dodaj±cy obs³ugê baz danych MS SQL poprzez bibliotekê FreeTDS.
+Modu³ PHP dodaj±cy obs³ugê baz danych MS SQL poprzez bibliotekê
+FreeTDS.
%package mysql
Summary: MySQL database module for PHP
%description xml -l pl
Modu³ PHP umo¿liwiaj±cy parsowanie plików XML i obs³ugê zdarzeñ
-zwi±zanych z tymi plikami. Pozwala on tworzyæ analizatory XML i
+zwi±zanych z tymi plikami. Pozwala on tworzyæ analizatory XML-a i
nastêpnie definiowaæ procedury obs³ugi dla ró¿nych zdarzeñ XML.
%package xmlrpc
Group: Development/Languages/PHP
Requires: %{name}-pcre = %{epoch}:%{version}
Requires: %{name}-xml = %{epoch}:%{version}
-Obsoletes: %{name}-pear-additional_classes
+Obsoletes: php-pear-additional_classes
%description pear
PEAR - PHP Extension and Application Repository.
php-pear-* (php-pear-PEAR, php-pear-Archive_Tar, itp).
%prep
-%setup -q
+%setup -q -n %{name}-%{version}%{_rc}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
-%patch9 -p1
+# Not really needed?
+#%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
-%patch17 -p1
cp php.ini-dist php.ini
-%patch18 -p1
+%patch17 -p1
# for ac2.53b/am1.6b - AC_LANG_CXX has AM_CONDITIONAL, so cannot be invoked
# conditionally...
+%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
+%ifarch amd64
%patch30 -p1
-%patch31 -p0
-%patch32 -p1
+%endif
+%patch31 -p1
%build
CFLAGS="%{rpmcflags} -DEAPI=1 -I/usr/X11R6/include"
%{__aclocal}
%{__autoconf}
PROG_SENDMAIL="/usr/lib/sendmail"; export PROG_SENDMAIL
-for i in cgi cli apxs ; do
+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-experimental-zts \
%else
`[ $i = apxs ] && echo --with-apxs=%{apxs}` \
%endif
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-ncurses=shared \
%{?with_oci8:--with-oci8=shared} \
- %{?with_openssl:--with-openssl} \
+ %{?with_openssl:--with-openssl=shared,/usr} \
%{?with_oracle:--with-oracle=shared} \
%{!?with_pcre:--without-pcre-regex}%{?with_pcre:--with-pcre-regex=shared} \
%{?with_pdf:--with-pdflib=shared} \
--with-zip=shared \
--with-zlib=shared \
--with-zlib-dir=shared,/usr
-# --with-openssl=shared not supported in 4.3.2
cp -f Makefile Makefile.$i
# left for debugging purposes
%{__perl} -pi -e "s|^libdir=.*|libdir='%{_libdir}/apache'|" libphp4.la
%{__perl} -pi -e 's|^(relink_command=.* -rpath )[^ ]*/libs |$1%{_libdir}/apache |' libphp4.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
+
+%{__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"
+cp -r sapi/cgi sapi/fcgi
+rm -rf sapi/cgi/.libs sapi/cgi/*.lo
+
# notes:
# -DENABLE_CHROOT_FUNC=1 (cgi,fcgi) is used in ext/standard/dir.c (libphp_common)
# -DPHP_WRITE_STDOUT is used also for cli, but not set by its config.m4
%{__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"
-# 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
-
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_libdir}/{php,apache},%{_sysconfdir}/{apache,cgi}} \
%{__make} install \
INSTALL_ROOT=$RPM_BUILD_ROOT \
- INSTALL_IT="\$(LIBTOOL) --mode=install install libphp_common.la $RPM_BUILD_ROOT%{_libdir} ; \$(LIBTOOL) --mode=install install libphp4.la $RPM_BUILD_ROOT%{_libdir}/apache ; \$(LIBTOOL) --mode=install install sapi/cgi/php $RPM_BUILD_ROOT%{_bindir}/php.cgi" \
+ INSTALL_IT="\$(LIBTOOL) --mode=install install libphp_common.la $RPM_BUILD_ROOT%{_libdir} ; \$(LIBTOOL) --mode=install install libphp4.la $RPM_BUILD_ROOT%{_libdir}/apache ; \$(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"
# compatibility (/usr/bin/php used to be CGI SAPI)
install php.ini $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
install %{SOURCE6} %{SOURCE7} %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}
+install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/php-cgi-fcgi.ini
install %{SOURCE2} php.gif $RPM_BUILD_ROOT%{httpdir}/icons
install %{SOURCE4} $RPM_BUILD_ROOT%{_sbindir}
install %{SOURCE5} $RPM_BUILD_ROOT/etc/httpd/httpd.conf/70_mod_php.conf
# Directories created for pear:
install -d $RPM_BUILD_ROOT%{php_pear_dir}/{Archive,Console,Crypt,HTML/Template,Image,Net,Science,XML}
+%ifarch amd64
+ln -sf ../../lib/%{name}/build $RPM_BUILD_ROOT%{_libdir}/%{name}/build
+%endif
+
rm -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp4.la
%clean
%preun mssql
if [ "$1" = "0" ]; then
- %{_sbindir}/php-module-install remove mssql %{_sysconfdir}/php.ini
+ %{_sbindir}/php-module-install remove mssql %{_sysconfdir}/php.ini
fi
%post mysql
%attr(755,root,root) %{_libdir}/apache/libphp4.so
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/php-apache.ini
+%files fcgi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/php.fcgi
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/php-cgi-fcgi.ini
+
%files cgi
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/php.cgi
%{_libdir}/libphp_common.la
%{_includedir}/php
%{_libdir}/php/build
+%ifarch amd64
+%{_ulibdir}/php/build
+%endif
%files bcmath
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/odbc.so
%endif
-# shared openssl module not supported in 4.3.2
-#%if %{with openssl}
-#%files openssl
-#%defattr(644,root,root,755)
-#%attr(755,root,root) %{extensionsdir}/openssl.so
-#%endif
+%if %{with openssl}
+%files openssl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{extensionsdir}/openssl.so
+%endif
%if %{with oracle}
%files oracle