#
# 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?)
#
-# Automatic pear requirements finding:
-%include /usr/lib/rpm/macros.php
-
+# Conditional build:
+%bcond_with db3 # use db3 packages instead of db (4.x) for Berkeley DB support
+%bcond_with fdf # with FDF (PDF forms) module (BR: proprietary lib)
+%bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs)
+%bcond_with java # with Java extension module (BR: jdk)
+%bcond_with oci8 # with Oracle oci8 extension module (BR: proprietary libs)
+%bcond_with oracle # with oracle extension module (BR: proprietary libs)
+%bcond_without cpdf # without cpdf extension module
+%bcond_without curl # without CURL extension module
+%bcond_without domxslt # without DOM XSLT/EXSLT support in DOM XML extension module
+%bcond_without fribidi # without FriBiDi extension module
+%bcond_without gif # build GD extension module with gd library without GIF support
+%bcond_without imap # without IMAP extension module
+%bcond_without interbase # without InterBase extension module
+%bcond_without ldap # without LDAP extension module
+%bcond_without mhash # without mhash extension module
+%bcond_without ming # without ming extension module
+%bcond_without mm # without mm support for session storage
+%bcond_without mnogosearch # without mnogosearch extension module
+%bcond_without msession # without msession extension module
+%bcond_without mssql # without MS SQL extension module
+%bcond_without odbc # without ODBC extension module
+%bcond_without openssl # without OpenSSL support and OpenSSL extension (module)
+%bcond_without pcre # without PCRE extension module
+%bcond_without pdf # without PDF extension module
+%bcond_without pgsql # without PostgreSQL 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
+%bcond_without sybase # without Sybase and Sybase-CT extension modules
+%bcond_without wddx # without WDDX extension module
+%bcond_without xmlrpc # without XML-RPC extension module
+%bcond_without xml # without XML and DOMXML extension modules
+%bcond_without xslt # without XSLT extension module
+%bcond_without yaz # without YAZ extension module
+#
%define _apache2 %(rpm -q apache-devel 2> /dev/null | grep -Eq '\\-2\\.[0-9]+\\.' && echo 1 || echo 0)
%define apxs /usr/sbin/apxs
-
+# some problems with apache 2.x
%if %{_apache2}
-%define _without_recode 1
-%define _without_mm 1
+%undefine with_recode
+%undefine with_mm
%endif
-
+%ifnarch %{ix86} sparc sparcv9 ppc
+%undefine with_interbase
+%endif
+# x86-only lib
%ifnarch %{ix86}
-%define _without_interbase 1
-%define _without_msession 1
+%undefine with_msession
%endif
-
-# Conditional build:
-# _with_db3 - use db3 packages instead of db (4.x) for Berkeley DB support
-# _with_fdf - with FDF (PDF forms) module (BR: proprietary lib)
-# _with_interbase_inst - use InterBase install., not Firebird (BR: proprietary libs)
-# _with_java - with Java extension module (BR: jdk)
-# _with_oci8 - with Oracle oci8 extension module (BR: proprietary libs)
-# _with_oracle - with oracle extension module (BR: proprietary libs)
-# _without_cpdf - without cpdf extension module
-# _without_curl - without CURL extension module
-# _without_domxslt - without DOM XSLT/EXSLT support in DOM XML extension module
-# _without_fribidi - without FriBiDi extension module
-# _without_gif - build GD extension module with gd library without GIF support
-# _without_imap - without IMAP extension module
-# _without_interbase - without InterBase extension module
-# _without_ldap - without LDAP extension module
-# _without_mhash - without mhash extension module
-# _without_ming - without ming extension module
-# _without_mm - without mm support for session storage
-# _without_mnogosearch - without mnogosearch extension module
-# _without_msession - without msession extension module
-# _without_odbc - without ODBC extension module
-# _without_openssl - without OpenSSL support and OpenSSL extension (module)
-# _without_pcre - without PCRE extension module
-# _without_pdf - without PDF extension module
-# _without_pgsql - without PostgreSQL extension module
-# _without_aspell - without pspell extension module
-# _without_recode - without recode extension module
-# _without_qtdom - without QT DOM extension module
-# _without_snmp - without SNMP extension module
-# _without_sybase - without Sybase and Sybase-CT extension modules
-# _without_wddx - without WDDX extension module
-# _without_xmlrpc - without XML-RPC extension module
-# _without_xml - without XML and DOMXML extension modules
-# _without_xslt - without XSLT extension module
-# _without_yaz - without YAZ extension module
-
+%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
Summary(pl): Jêzyk skryptowy PHP -- u¿ywany wraz z serwerem Apache
Summary(ru): PHP ÷ÅÒÓÉÉ 4 -- ÑÚÙË ÐÒÅÐÒÏÃÅÓÓÉÒÏ×ÁÎÉÑ HTML-ÆÁÊÌÏ×, ×ÙÐÏÌÎÑÅÍÙÊ ÎÁ ÓÅÒ×ÅÒÅ
Summary(uk): PHP ÷ÅÒÓ¦§ 4 -- ÍÏ×Á ÐÒÅÐÒÏÃÅÓÕ×ÁÎÎÑ HTML-ÆÁÊ̦×, ×ÉËÏÎÕ×ÁÎÁ ÎÁ ÓÅÒ×ÅÒ¦
Name: php
-Version: 4.3.4
-%define _rc RC1
-Release: 0.%{_rc}
+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}%{_rc}.tar.bz2
-# Source0-md5: f7ff7bf763f917b9f955e19caf77c1f1
+# 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}-pear-install.patch
-Patch26: %{name}-no_pear_install.patch
-Patch27: %{name}-zlib.patch
-Patch28: %{name}-db-shared.patch
-Patch29: %{name}-sybase-fix.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/
-%{!?_without_interbase:%{!?_with_interbase_inst:BuildRequires: Firebird-devel}}
+%{?with_interbase:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}}
BuildRequires: apache-devel
-BuildRequires: apr-devel
+%{?with_pspell:BuildRequires: aspell-devel}
BuildRequires: autoconf >= 2.53
BuildRequires: automake >= 1.4d
BuildRequires: bison
BuildRequires: bzip2-devel
BuildRequires: cracklib-devel >= 2.7-15
-%{!?_without_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}
+%{?with_db3:BuildRequires: db3-devel >= 3.1}
+%{!?with_db3:BuildRequires: db-devel >= 4.0}
BuildRequires: elfutils-devel
-%if %(expr %{?_without_xml:0}%{!?_without_xml:1} + %{?_without_xmlrpc:0}%{!?_without_xmlrpc:1})
+%if %{with xml} || %{with xmlrpc}
BuildRequires: expat-devel
%endif
-%{?_with_fdf:BuildRequires: fdftk-devel}
+%{?with_fdf:BuildRequires: fdftk-devel}
BuildRequires: flex
-%{!?_without_sybase:BuildRequires: freetds-devel}
+%if %{with mssql} || %{with sybase}
+BuildRequires: freetds-devel
+%endif
BuildRequires: freetype-devel >= 2.0
-%{!?_without_fribidi:BuildRequires: fribidi-devel >= 0.10.4}
-BuildRequires: gd-devel >= 2.0.1
-%{!?_without_gif:BuildRequires: gd-devel(gif)}
-%{?_without_gif:BuildConflicts: gd-devel(gif)}
+%{?with_fribidi:BuildRequires: fribidi-devel >= 0.10.4}
+BuildRequires: gd-devel >= 2.0.20
+%{?with_gif:BuildRequires: gd-devel(gif)}
+%{!?with_gif:BuildConflicts: gd-devel(gif)}
BuildRequires: gdbm-devel
BuildRequires: gmp-devel
-%{!?_without_imap:BuildRequires: imap-devel >= 1:2001-0.BETA.200107022325.2 }
-%{?_with_java:BuildRequires: jdk >= 1.1}
-%{!?_without_cpdf:BuildRequires: libcpdf-devel >= 2.02r1-2}
+%{?with_imap:BuildRequires: imap-devel >= 1:2001-0.BETA.200107022325.2 }
+%{?with_java:BuildRequires: jdk >= 1.1}
+%{?with_cpdf:BuildRequires: libcpdf-devel >= 2.02r1-2}
BuildRequires: libjpeg-devel
BuildRequires: libltdl-devel >= 1.4
BuildRequires: libmcal-devel
BuildRequires: libmcrypt-devel >= 2.4.4
-BuildRequires: libpng >= 1.0.8
+BuildRequires: libpng-devel >= 1.0.8
BuildRequires: libtiff-devel
BuildRequires: libtool >= 1.4.3
-%{!?_without_xml:BuildRequires: libxml2-devel >= 2.2.7}
-%{!?_without_domxslt:BuildRequires: libxslt-devel >= 1.0.3}
-%{!?_without_mhash:BuildRequires: mhash-devel}
-%{!?_without_ming:BuildRequires: ming-devel >= 0.1.0}
-%{!?_without_mm:BuildRequires: mm-devel >= 1.3.0}
-%{!?_without_mnogosearch:BuildRequires: mnogosearch-devel >= 3.2.6}
+%{?with_xml:BuildRequires: libxml2-devel >= 2.2.7}
+%{?with_domxslt:BuildRequires: libxslt-devel >= 1.0.3}
+%{?with_mhash:BuildRequires: mhash-devel}
+%{?with_ming:BuildRequires: ming-devel >= 0.1.0}
+%{?with_mm:BuildRequires: mm-devel >= 1.3.0}
+%{?with_mnogosearch:BuildRequires: mnogosearch-devel >= 3.2.6}
BuildRequires: mysql-devel >= 3.23.32
BuildRequires: ncurses-devel
-%{!?_without_ldap:BuildRequires: openldap-devel >= 2.0}
-%if %(expr %{?_without_openssl:0}%{!?_without_openssl:1} + %{?_without_ldap:0}%{!?_without_ldap:1})
-BuildRequires: openssl-devel >= 0.9.7c
+%{?with_ldap:BuildRequires: openldap-devel >= 2.0}
+%if %{with openssl} || %{with ldap}
+BuildRequires: openssl-devel >= 0.9.7d
%endif
BuildRequires: pam-devel
-%{!?_without_pdf:BuildRequires: pdflib-devel >= 4.0.0}
+%{?with_pdf:BuildRequires: pdflib-devel >= 4.0.0}
BuildRequires: %{__perl}
-%{!?_without_msession:BuildRequires: phoenix-devel}
-%{!?_without_pgsql:BuildRequires: postgresql-devel}
-%{!?_without_pgsql:BuildRequires: postgresql-backend-devel >= 7.2}
-%{!?_without_pspell:BuildRequires: aspell-devel}
-%{!?_without_qtdom:BuildRequires: qt-devel >= 2.2.0}
+%{?with_msession:BuildRequires: phoenix-devel}
+%{?with_pgsql:BuildRequires: postgresql-devel}
+%{?with_pgsql:BuildRequires: postgresql-backend-devel >= 7.2}
+%{?with_qtdom:BuildRequires: qt-devel >= 2.2.0}
BuildRequires: readline-devel
-%{!?_without_recode:BuildRequires: recode-devel >= 3.5d-3}
+%{?with_recode:BuildRequires: recode-devel >= 3.5d-3}
BuildRequires: rpm-php-pearprov >= 4.0.2-100
BuildRequires: rpmbuild(macros) >= 1.120
-%{!?_without_xslt:BuildRequires: sablotron-devel >= 0.96}
+%{?with_xslt:BuildRequires: sablotron-devel >= 0.96}
BuildRequires: t1lib-devel
-%{!?_without_snmp:BuildRequires: net-snmp-devel >= 5.0.7}
-%{!?_without_odbc:BuildRequires: unixODBC-devel}
-%{!?_without_xmlrpc:BuildRequires: xmlrpc-epi-devel}
-%{!?_without_yaz:BuildRequires: yaz-devel >= 1.9}
+%{?with_snmp:BuildRequires: net-snmp-devel >= 5.0.7}
+%{?with_odbc:BuildRequires: unixODBC-devel}
+%{?with_xmlrpc:BuildRequires: xmlrpc-epi-devel}
+%{?with_yaz:BuildRequires: yaz-devel >= 1.9}
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
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}
-%{!?_without_gif:Requires: gd(gif)}
-%{!?_without_gif:Provides: %{name}-gd(gif) = %{epoch}:%{version}-%{release}}
+Requires: gd >= 2.0.20
+%{?with_gif:Requires: gd(gif)}
+%{?with_gif:Provides: %{name}-gd(gif) = %{epoch}:%{version}-%{release}}
%description gd
This is a dynamic shared object (DSO) for PHP that will add GD
Group: Libraries
Requires(post,preun): %{name}-common = %{epoch}:%{version}
Requires: %{name}-common = %{epoch}:%{version}
-%{?_with_interbase_inst:Autoreq: false}
+%{?with_interbase_inst:Autoreq: false}
%description interbase
This is a dynamic shared object (DSO) for PHP that will add InterBase
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.
innej maszynie. S³u¿y do zapewniania spójnej obs³ugi sesji dla farmy
serwerów.
+%package mssql
+Summary: MS SQL extension module for PHP
+Summary(pl): Modu³ MS SQL dla PHP
+Group: Libraries
+Requires(post,preun): %{name}-common = %{epoch}:%{version}
+Requires: %{name}-common = %{epoch}:%{version}
+
+%description mssql
+This is a dynamic shared object (DSO) for PHP that will add MS SQL
+databases support through FreeTDS library.
+
+%description mssql -l pl
+Modu³ PHP dodaj±cy obs³ugê baz danych MS SQL poprzez bibliotekê
+FreeTDS.
+
%package mysql
Summary: MySQL database module for PHP
Summary(pl): Modu³ bazy danych MySQL dla 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.
Please note that this package provides only basic directory structure.
-If you want to use base PEAR classes (PEAR.php, PEAR/*.php), please
-install php-pear-PEAR package.
+If you want to use base PEAR classes (PEAR.php, PEAR/*.php), that come
+with PHP, please install appropriate php-pear-* (php-pear-PEAR,
+php-PEAR-Archive_Tar, etc) packages.
%description pear -l pl
PEAR (PHP Extension and Application Repository) - Rozszerzenie PHP i
Pamiêtaj, ¿e ten pakiet dostarcza tylko podstawow± strukturê
katalogów. Je¶li chcesz u¿yæ podstawowych klas PEAR (PEAR.php
-PEAR/*.php), zainstaluj pakiet php-pear-PEAR.
+PEAR/*.php), dostarczanych z PHP, zainstaluj odpowiednie pakiety
+php-pear-* (php-pear-PEAR, php-pear-Archive_Tar, itp).
%prep
%setup -q -n %{name}-%{version}%{_rc}
%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
+%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
--enable-dio=shared \
--enable-exif=shared \
--enable-ftp=shared \
+ --enable-filepro=shared \
--enable-gd-native-ttf \
--enable-magic-quotes \
--enable-mbstring=shared,all --enable-mbregex \
--enable-safe-mode \
--enable-sockets=shared \
--enable-ucd-snmp-hack \
- %{!?_without_wddx:--enable-wddx=shared} \
- %{?_without_xml:--disable-xml}%{!?_without_xml:--enable-xml=shared} \
- %{!?_without_xslt:--enable-xslt=shared} \
+ %{?with_wddx:--enable-wddx=shared} \
+ %{!?with_xml:--disable-xml}%{?with_xml:--enable-xml=shared} \
+ %{?with_xslt:--enable-xslt=shared} \
--enable-yp=shared \
--with-bz2=shared \
- %{!?_without_cpdf:--with-cpdflib=shared} \
+ %{?with_cpdf:--with-cpdflib=shared} \
--with-crack=shared \
- %{?_without_curl:--without-curl}%{!?_without_curl:--with-curl=shared} \
+ %{!?with_curl:--without-curl}%{?with_curl:--with-curl=shared} \
--with-db=shared \
- %{?_with_db3:--with-db3}%{!?_with_db3:--with-db4} \
+ %{?with_db3:--with-db3}%{!?with_db3:--with-db4} \
--with-dbase=shared \
- %{!?_without_xml:--with-dom=shared} \
- %{!?_without_domxslt:--with-dom-xslt=shared --with-dom-exslt=shared} \
-%if %(expr %{?_without_xml:0}%{!?_without_xml:1} + %{?_without_xmlrpc:0}%{!?_without_xmlrpc:1})
+ %{?with_xml:--with-dom=shared} \
+ %{?with_domxslt:--with-dom-xslt=shared --with-dom-exslt=shared} \
+%if %{with xml} || %{with xmlrpc}
--with-expat-dir=shared,/usr \
%else
--without-expat-dir \
%endif
- %{?_with_fdf:--with-fdftk=shared} \
- %{!?_without_fribidi:--with-fribidi=shared} \
+ %{?with_fdf:--with-fdftk=shared} \
+ %{?with_fribidi:--with-fribidi=shared} \
--with-iconv=shared \
--with-filepro=shared \
--with-freetype-dir=shared \
--with-gdbm \
--with-gmp=shared \
--with-hyperwave=shared \
- %{!?_without_imap:--with-imap=shared --with-imap-ssl} \
- %{!?_without_interbase:--with-interbase=shared%{!?_with_interbase_inst:,/usr}} \
- %{?_with_java:--with-java=/usr/lib/java} \
+ %{?with_imap:--with-imap=shared --with-imap-ssl} \
+ %{?with_interbase:--with-interbase=shared%{!?with_interbase_inst:,/usr}} \
+ %{?with_java:--with-java=/usr/lib/java} \
--with-jpeg-dir=shared,/usr \
- %{!?_without_ldap:--with-ldap=shared} \
+ %{?with_ldap:--with-ldap=shared} \
--with-mcal=shared,/usr \
--with-mcrypt=shared \
- %{!?_without_mhash:--with-mhash=shared} \
+ %{?with_mhash:--with-mhash=shared} \
--with-mime-magic=shared,/usr/share/file/magic.mime \
- %{!?_without_ming:--with-ming=shared} \
- %{!?_without_mm:--with-mm} \
- %{?_without_mnogosearch:--without-mnogosearch}%{!?_without_mnogosearch:--with-mnogosearch=shared,/usr} \
- %{!?_without_msession:--with-msession=shared}%{?_without_msession:--without-msession} \
+ %{?with_ming:--with-ming=shared} \
+ %{?with_mm:--with-mm} \
+ %{!?with_mnogosearch:--without-mnogosearch}%{?with_mnogosearch:--with-mnogosearch=shared,/usr} \
+ %{?with_msession:--with-msession=shared}%{!?with_msession:--without-msession} \
+ %{?with_mssql:--with-mssql=shared} \
--with-mysql=shared,/usr \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-ncurses=shared \
- %{?_with_oci8:--with-oci8=shared} \
- %{!?_without_openssl:--with-openssl} \
- %{?_with_oracle:--with-oracle=shared} \
- %{?_without_pcre:--without-pcre-regex}%{!?_without_pcre:--with-pcre-regex=shared} \
- %{!?_without_pdf:--with-pdflib=shared} \
+ %{?with_oci8:--with-oci8=shared} \
+ %{?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-pear=%{php_pear_dir} \
- %{?_without_pgsql:--without-pgsql}%{!?_without_pgsql:--with-pgsql=shared,/usr} \
+ %{!?with_pgsql:--without-pgsql}%{?with_pgsql:--with-pgsql=shared,/usr} \
--with-png-dir=shared,/usr \
- %{!?_without_pspell:--with-pspell=shared} \
+ %{?with_pspell:--with-pspell=shared} \
--with-readline=shared \
- %{!?_without_recode:--with-recode=shared} \
+ %{?with_recode:--with-recode=shared} \
--with-regex=php \
- %{!?_without_qtdom:--with-qtdom=shared} \
+ %{?with_qtdom:--with-qtdom=shared} \
--without-sablot-js \
- %{!?_without_snmp:--with-snmp=shared} \
- %{!?_without_sybase:--with-sybase-ct=shared,/usr --with-sybase=shared,/usr} \
+ %{?with_snmp:--with-snmp=shared} \
+ %{?with_sybase:--with-sybase-ct=shared,/usr --with-sybase=shared,/usr} \
--with-t1lib=shared \
--with-tiff-dir=shared,/usr \
- %{!?_without_odbc:--with-unixODBC=shared} \
- %{?_without_xmlrpc:--without-xmlrpc}%{!?_without_xmlrpc:--with-xmlrpc=shared,/usr} \
- %{!?_without_xslt:--with-xslt-sablot=shared} \
- %{!?_without_yaz:--with-yaz=shared} \
+ %{?with_odbc:--with-unixODBC=shared} \
+ %{!?with_xmlrpc:--without-xmlrpc}%{?with_xmlrpc:--with-xmlrpc=shared,/usr} \
+ %{?with_xslt:--with-xslt-sablot=shared} \
+ %{?with_yaz:--with-yaz=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
# for now session_mm doesn't work with shared session module...
# --enable-session=shared
-# %{?_without_mm:--with-mm=shared,no}%{!?_without_mm:--with-mm=shared}
+# %{!?with_mm:--with-mm=shared,no}%{?with_mm:--with-mm=shared}
# TODO:
# --with-qtdom=shared
%{__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)
ln -sf php.cgi $RPM_BUILD_ROOT%{_bindir}/php
-%{?_with_java:install ext/java/php_java.jar $RPM_BUILD_ROOT%{extensionsdir}}
+%{?with_java:install ext/java/php_java.jar $RPM_BUILD_ROOT%{extensionsdir}}
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
%{_sbindir}/php-module-install remove msession %{_sysconfdir}/php.ini
fi
+%post mssql
+%{_sbindir}/php-module-install install mssql %{_sysconfdir}/php.ini
+
+%preun mssql
+if [ "$1" = "0" ]; then
+ %{_sbindir}/php-module-install remove mssql %{_sysconfdir}/php.ini
+fi
+
%post mysql
%{_sbindir}/php-module-install install mysql %{_sysconfdir}/php.ini
%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)
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/calendar.so
-%if 0%{!?_without_cpdf:1}
+%if %{with cpdf}
%files cpdf
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/cpdf.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/ctype.so
-%if 0%{!?_without_curl:1}
+%if %{with curl}
%files curl
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/curl.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/dio.so
-%if 0%{!?_without_xml:1}
+%if %{with xml}
%files domxml
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/domxml.so
%endif
-%if 0%{?_with_fdf:1}
+%if %{with fdf}
%files fdf
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/fdf.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/filepro.so
-%if 0%{!?_without_fribidi:1}
+%if %{with fribidi}
%files fribidi
%defattr(644,root,root,755)
%doc ext/fribidi/{CREDITS,README}
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/iconv.so
-%if 0%{!?_without_imap:1}
+%if %{with imap}
%files imap
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/imap.so
%endif
-%if 0%{!?_without_interbase:1}
+%if %{with interbase}
%files interbase
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/interbase.so
%endif
-%if 0%{?_with_java:1}
+%if %{with java}
%files java
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/java.so
%{extensionsdir}/php_java.jar
%endif
-%if 0%{!?_without_ldap:1}
+%if %{with ldap}
%files ldap
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/ldap.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/mcrypt.so
-%if 0%{!?_without_mhash:1}
+%if %{with mhash}
%files mhash
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/mhash.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/mime_magic.so
-%if %{!?_without_ming:1}%{?_without_ming:0}
+%if %{with ming}
%files ming
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/ming.so
%endif
-%if %{!?_without_mnogosearch:1}%{?_without_mnogosearch:0}
+%if %{with mnogosearch}
%files mnogosearch
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/mnogosearch.so
%endif
-%if %{?_without_msession:0}%{!?_without_msession:1}
+%if %{with msession}
%files msession
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/msession.so
%endif
+%if %{with mssql}
+%files mssql
+%defattr(644,root,root,755)
+%attr(755,root,root) %{extensionsdir}/mssql.so
+%endif
+
%files mysql
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/mysql.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/ncurses.so
-%if 0%{?_with_oci8:1}
+%if %{with oci8}
%files oci8
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/oci8.so
%endif
-%if 0%{!?_without_odbc:1}
+%if %{with odbc}
%files odbc
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/odbc.so
%endif
-# shared openssl module not supported in 4.3.2
-#%if 0%{!?_without_openssl:1}
-#%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 0%{?_with_oracle:1}
+%if %{with oracle}
%files oracle
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/oracle.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/pcntl.so
-%if 0%{!?_without_pcre:1}
+%if %{with pcre}
%files pcre
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/pcre.so
%endif
-%if 0%{!?_without_pdf:1}
+%if %{with pdf}
%files pdf
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/pdf.so
%endif
-%if 0%{!?_without_pgsql:1}
+%if %{with pgsql}
%files pgsql
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/pgsql.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/posix.so
-%if 0%{!?_without_pspell:1}
+%if %{with pspell}
%files pspell
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/pspell.so
%endif
-%if 0%{!?_without_qtdom:1}
+%if %{with qtdom}
%files qtdom
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/qtdom.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/readline.so
-%if 0%{!?_without_recode:1}
+%if %{with recode}
%files recode
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/recode.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/shmop.so
-%if 0%{!?_without_snmp:1}
+%if %{with snmp}
%files snmp
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/snmp.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/sockets.so
-%if 0%{!?_without_sybase:1}
+%if %{with sybase}
%files sybase
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/sybase.so
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/sysvshm.so
-%if 0%{!?_without_wddx:1}
+%if %{with wddx}
%files wddx
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/wddx.so
%endif
-%if 0%{!?_without_xml:1}
+%if %{with xml}
%files xml
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/xml.so
%endif
-%if 0%{!?_without_xmlrpc:1}
+%if %{with xmlrpc}
%files xmlrpc
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/xmlrpc.so
%endif
-%if 0%{!?_without_xslt:1}
+%if %{with xslt}
%files xslt
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/xslt.so
%endif
-%if 0%{!?_without_yaz:1}
+%if %{with yaz}
%files yaz
%defattr(644,root,root,755)
%attr(755,root,root) %{extensionsdir}/yaz.so