diff --git a/.cvsignore b/.cvsignore index e69de29..263f1c3 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1,2 @@ +manual.tar.gz +php-4.0.1pl2.tar.gz diff --git a/php.spec b/php.spec new file mode 100644 index 0000000..c50f329 --- /dev/null +++ b/php.spec @@ -0,0 +1,523 @@ +Summary: The PHP scripting language. +Name: php +Version: 4.0.1pl2 +Release: 9 +Group: Development/Languages +URL: http://www.php.net/ +Source0: http://www.php.net/distributions/php-%{version}.tar.gz +Source1: http://www.php.net/distributions/manual.tar.gz +#Icon: php3.gif +Patch1: php-4.0.1pl2-redhat.patch +Patch2: php-4.0.0-extensions.patch +Patch3: php-4.0.1pl2-pear.patch +Copyright: PHP +BuildRoot: %{_tmppath}/%{name}-root +Obsoletes: php3 +BuildPrereq: apache-devel +ExcludeArch: ia64 + +%define contentdir /var/www + +%description +PHP is an HTML-embeddable scripting language. PHP offers built-in database +integration for several commercial and non-commercial database management +systems, so writing a database-enabled script with PHP is fairly simple. The +most common use of PHP coding is probably as a replacement for CGI scripts. + +%package -n mod_php +Summary: The PHP HTML-embedded scripting language for use with Apache. +Group: System Environment/Daemons +URL: http://www.php.net/ +Prereq: webserver +Obsoletes: php3, phpfi +BuildPrereq: apache-devel +Requires: php = %{version} + +%description -n mod_php +PHP is an HTML-embedded scripting language. PHP attempts to make it +easy for developers to write dynamically generated web pages. PHP +also offers built-in database integration for several commercial and +non-commercial database management systems, so writing a +database-enabled web page with PHP is fairly simple. The most common +use of PHP coding is probably as a replacement for CGI scripts. The +mod_php module enables the Apache web server to understand and process +the embedded PHP language in web pages. + +This package contains PHP version 4.0. You'll also need to install the +Apache web server. + +%if 0 +%package devel +Group: Development/Libraries +Summary: Files needed for building PHP extensions. + +%description devel +The php-devel package contains the files needed when building PHP +extensions. If you need to compile your own PHP extensions, you will +need to install this package. +%endif + +%package imap +Group: Development/Languages +Prereq: php = %{version}, perl +Requires: krb5-libs, pam +Obsoletes: mod_php3-imap +Summary: A module for PHP applications that use IMAP. +BuildPrereq: imap-devel, krb5-devel + +%description imap +The php-imap package contains a dynamic shared object that will add IMAP +(Internet Message Access Protocol) support to PHP. IMAP is a protocol +for retrieving, uploading, and manipulating e-mail messages on mail servers. +PHP is an HTML-embeddable scripting language. If you need IMAP support +for PHP applications, you will need to install this package and the php or +mod_php package. + +%package ldap +Group: Development/Languages +Prereq: php = %{version}, perl +Obsoletes: mod_php3-ldap +Summary: A module for PHP applications that use LDAP. +BuildPrereq: openldap-devel +Requires: openldap + +%description ldap +The php-ldap package contains a dynamic shared object that will add LDAP +(Lightweight Directory Access Protocol) support to PHP. LDAP is a set +of protocols for accessing directory services over the Internet. +PHP is an HTML-embeddable scripting language. If you need LDAP support +for PHP applications, you will need to install this package and the php or +mod_php package. + +%package manual +Obsoletes: mod_php3-manual +Group: Documentation +Summary: The PHP manual, in HTML format. +Prereq: mod_php = %{version} + +%description manual +The php-manual package provides comprehensive documentation for the +PHP HTML-embedded scripting language, in HTML format. + +%package mysql +Group: Development/Languages +Prereq: php = %{version}, perl +Summary: A module for PHP applications that use MySQL databases. +Provides: php_database +Obsoletes: mod_php3-mysql +BuildPrereq: mysql-devel +Requires: mysql + +%description mysql +The php-mysql package contains a dynamic shared object that will add +MySQL database support to PHP. MySQL is an object-relational database +management system. PHP is an HTML-embeddable scripting language. If +you need MySQL support for PHP applications, you will need to install +this package and the php or mod_php package. + +%package pgsql +Group: Development/Languages +Prereq: php = %{version}, perl +Summary: A module for PHP applications that use PostgreSQL databases. +Provides: php_database +Obsoletes: mod_php3-pgsql +BuildPrereq: postgresql-devel +Requires: postgresql + +%description pgsql +The php-pgsql package contains a dynamic shared object that will add +PostgreSQL database support to PHP. PostgreSQL is an object-relational +database management system that supports almost all SQL constructs. +PHP is an HTML-embeddable scripting language. If you need PostgreSQL +support for PHP applications, you will need to install this package and +the php or mod_php package. + +%prep +%setup -q +%patch1 -p1 -b .redhat +%patch2 -p1 -b .extensions +%patch3 -p1 -b .pear + +mkdir manual +gzip -dc %{SOURCE1} | tar -xf - -C manual + +cp Zend/LICENSE Zend/ZEND_LICENSE + +# Set things up for IMAP. The library's named c-cliant.a, not libc-client.a, +# otherwise this wouldn't be necessary. +ln -s %{_includedir} ext/imap/ +mkdir ext/imap/lib +cp -fv %{_libdir}/c-client.a ext/imap/lib/libc-client.a + +autoconf + +%build +%{!?nokerberos:krb5libs="-L/usr/kerberos/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"} + +CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS + +compile() { +./configure \ + --target=%{_target_platform} \ + --prefix=%{_prefix} \ + --with-config-file-path=%{_sysconfdir} \ + --disable-debug \ + --enable-pic \ + --enable-inline-optimization \ + $* \ + --with-exec-dir=%{_bindir} \ + --with-regex=system \ + --with-gettext \ + --with-gd \ + --with-jpeg-dir=%{_prefix} \ + --with-png \ + --with-zlib \ + --with-db2 \ + --with-db3 \ + --with-gdbm \ + --enable-debugger \ + --enable-magic-quotes \ + --enable-safe-mode \ + --enable-sysvsem \ + --enable-sysvshm \ + --enable-track-vars \ + --enable-yp \ + --enable-ftp \ + --without-mysql \ + --with-xml +make +} + +# Build a standalone binary. +compile --enable-force-cgi-redirect +cp php php_standalone +make distclean + +# Build a module. +compile --with-apxs=%{_sbindir}/apxs --disable-static + +# Build PHP modules. +build_ext() { +%{__cc} -fPIC -shared $RPM_OPT_FLAGS -DHAVE_CONFIG_H \ + -DCOMPILE_DL_`echo $1 | tr '[a-z]' '[A-Z]'` \ + -DHAVE_`echo $1 | tr '[a-z]' '[A-Z]'` \ + -I. -I./main -I`%{_sbindir}/apxs -q INCLUDEDIR` -I./Zend \ + -I/usr/include/freetype -I/usr/include/$1 \ + -I./ext/$1 -I./ext/$1/lib$1 \ + -I./ext/xml/expat/xmltok -I./ext/xml/expat/xmlparse \ + `grep ^CPPFLAGS Zend/Makefile | cut -f2- -d=` \ + $4 $2 -o $1.so -L.libs $3 -lc +} +build_ext imap ext/imap/php_imap.c "%{_libdir}/c-client.a $krb5libs -lpam -ldl" +build_ext ldap ext/ldap/ldap.c "-lldap -llber" +build_ext pgsql ext/pgsql/pgsql.c "-lpq" -DHAVE_PQCMDTUPLES +build_ext mysql ext/mysql/php_mysql.c "-L/usr/lib/mysql -lmysqlclient" "-DHAVE_MYSQL_MYSQL_H -DHAVE_MYSQL_REAL_CONNECT" + +%install +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{_libdir}/{apache,php4} +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd +mkdir -p $RPM_BUILD_ROOT%{contentdir}/icons +mkdir -p $RPM_BUILD_ROOT%{_bindir} +install -m 755 php_standalone $RPM_BUILD_ROOT%{_bindir}/php +install -m 755 .libs/libphp4.so $RPM_BUILD_ROOT%{_libdir}/apache/ +strip -g $RPM_BUILD_ROOT%{_libdir}/apache/* +install -m 755 pgsql.so $RPM_BUILD_ROOT%{_libdir}/php4/ +install -m 755 imap.so $RPM_BUILD_ROOT%{_libdir}/php4/ +install -m 755 ldap.so $RPM_BUILD_ROOT%{_libdir}/php4/ +install -m 755 mysql.so $RPM_BUILD_ROOT%{_libdir}/php4/ +strip -g $RPM_BUILD_ROOT%{_libdir}/php4/* +install -m 644 php.ini-dist $RPM_BUILD_ROOT%{_sysconfdir}/php.ini +install -m 644 *.gif $RPM_BUILD_ROOT%{contentdir}/icons/ + +# manual +mkdir -p $RPM_BUILD_ROOT%{contentdir}/html/manual/mod/mod_php4 +cp manual/*.html $RPM_BUILD_ROOT%{contentdir}/html/manual/mod/mod_php4 +ln -s manual.html $RPM_BUILD_ROOT%{contentdir}/html/manual/mod/mod_php4/index.html + +# pear and development files +%{makeinstall} -C pear peardir=$RPM_BUILD_ROOT%{_datadir}/php +for file in php-config phpextdist phpize ; do + perl -pi -e "s|$RPM_BUILD_ROOT||g" $RPM_BUILD_ROOT%{_bindir}/${file} +done + +%clean +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT + +%triggerpostun -- php <= 3.0.15-1 +perl -pi -e 's|^#LoadModule php3_module|LoadModule php3_module|g' \ + /etc/httpd/conf/httpd.conf +perl -pi -e 's|^#AddModule mod_php3.c|AddModule mod_php3.c|g' \ + /etc/httpd/conf/httpd.conf + +%files -n mod_php +%defattr(-,root,root) +%{contentdir}/icons/* +%{_libdir}/apache/libphp4.so + +%files +%defattr(-,root,root) +%doc CODING_STANDARDS CREDITS FUNCTION_LIST.txt INSTALL LICENSE MAINTAINERS +%doc MODULES_STATUS NEWS README.* Zend/ZEND_* +%config %{_sysconfdir}/php.ini +%{_bindir}/php +%{_datadir}/php + + +%files pgsql +%defattr(-,root,root) +%{_libdir}/php4/pgsql.so + +%if 0 +%files devel +%defattr(-,root,root) +%{_bindir}/php-config +%{_bindir}/phpize +%{_bindir}/phpextdist +%{_includedir}/php +%{_libdir}/php4/build +%endif + +%post pgsql +%{__perl} -pi -e "s|^;extension=pgsql.so|extension=pgsql.so|" %{_sysconfdir}/php.ini + +%preun pgsql +if [ $1 = 0 ] ; then + %{__perl} -pi -e "s|^extension=pgsql.so|;extension=pgsql.so|" %{_sysconfdir}/php.ini +fi + +%files mysql +%defattr(-,root,root) +%{_libdir}/php4/mysql.so + +%post mysql +%{__perl} -pi -e "s|^;extension=mysql.so|extension=mysql.so|" %{_sysconfdir}/php.ini + +%preun mysql +if [ $1 = 0 ] ; then + %{__perl} -pi -e "s|^extension=mysql.so|;extension=mysql.so|" %{_sysconfdir}/php.ini +fi + +%files imap +%defattr(-,root,root) +%{_libdir}/php4/imap.so + +%post imap +%{__perl} -pi -e "s|^;extension=imap.so|extension=imap.so|" %{_sysconfdir}/php.ini + +%preun imap +if [ $1 = 0 -a -f %{_sysconfdir}/php.ini ] ; then + %{__perl} -pi -e "s|^extension=imap.so|;extension=imap.so|" %{_sysconfdir}/php.ini +fi + +%files ldap +%defattr(-,root,root) +%{_libdir}/php4/ldap.so + +%post ldap +%{__perl} -pi -e "s|^;extension=ldap.so|extension=ldap.so|" %{_sysconfdir}/php.ini + +%preun ldap +if [ $1 = 0 -a -f %{_sysconfdir}/php.ini ] ; then + %{__perl} -pi -e "s|^extension=ldap.so|;extension=ldap.so|" %{_sysconfdir}/php.ini +fi + +%files manual +%defattr(-,root,root) +%{contentdir}/html/manual/mod/mod_php4 + +%changelog +* Wed Aug 23 2000 Nalin Dahyabhai +- rebuild in new environment (new imap-devel) + +* Wed Aug 16 2000 Nalin Dahyabhai +- fix summary and descriptions to match the specspo package + +* Wed Aug 9 2000 Nalin Dahyabhai +- hard-code the path to apxs in build_ext() (#15799) + +* Tue Aug 1 2000 Nalin Dahyabhai +- add "." to the include path again, which is the default + +* Wed Jul 19 2000 Nalin Dahyabhai +- enable PEAR and add it to the include path +- add the beginnings of a -devel subpackage + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Fri Jul 7 2000 Nalin Dahyabhai +- tweaks to post and postun from Bill Peck + +* Thu Jul 6 2000 Nalin Dahyabhai +- fixes from Nils for building the MySQL client +- change back to requiring %{version} instead of %{version}-%{release} + +* Sat Jul 1 2000 Nalin Dahyabhai +- update to 4.0.1pl2 +- enable MySQL client +- move the php.ini file to %{_sysconfdir} + +* Fri Jun 30 2000 Nils Philippsen +- build_ext defines HAVE_PGSQL so pgsql.so in fact contains symbols +- post/un scripts tweak php.ini correctly now + +* Thu Jun 28 2000 Nalin Dahyabhai +- update to 4.0.1 +- refresh manual + +* Tue Jun 26 2000 Nalin Dahyabhai +- rebuild against new krb5 package + +* Mon Jun 19 2000 Nalin Dahyabhai +- rebuild against new db3 package + +* Sat Jun 17 2000 Nalin Dahyabhai +- Fix syntax error in post and preun scripts. +- Disable IMAP, LDAP, PgSql in the standalone version because it picks up + the extensions. + +* Fri Jun 16 2000 Nalin Dahyabhai +- Unexclude the Sparc arch. +- Exclude the ia64 arch until we get a working Postgres build. +- Stop stripping extensions as aggressively. +- Start linking the IMAP module to libpam again. +- Work around extension loading problems. +- Reintroduce file-editing post and preun scripts for the mod_php extensions + until we come up with a better way to do it. + +* Mon Jun 5 2000 Nalin Dahyabhai +- ExcludeArch: sparc for now + +* Sun Jun 4 2000 Nalin Dahyabhai +- add Obsoletes: phpfi, because their content handler names are the same +- add standalone binary, rename module packages to mod_php +- FHS fixes + +* Tue May 23 2000 Nalin Dahyabhai +- change license from "GPL" to "PHP" +- add URL: tag +- disable mysql support by default (license not specified) + +* Mon May 22 2000 Nalin Dahyabhai +- update to PHP 4.0.0 +- nuke the -mysql subpackage (php comes with a bundled mysql client lib now) + +* Tue May 16 2000 Nalin Dahyabhai +- link IMAP module against GSS-API and PAM to get dependencies right +- change most of the Requires to Prereqs, because the post edits config files +- move the PHP *Apache* module back to the right directory +- fix broken postun trigger that broke the post +- change most of the postuns to preuns in case php gets removed before subpkgs + +* Thu May 11 2000 Trond Eivind Glomsrød +- rebuilt against new postgres libraries + +* Tue May 09 2000 Preston Brown +- php3 .so modules moved to /usr/lib/php3 from /usr/lib/apache (was incorrect) + +* Mon Apr 10 2000 Nalin Dahyabhai +- make subpackages require php = %{version} (bug #10671) + +* Thu Apr 06 2000 Nalin Dahyabhai +- update to 3.0.16 + +* Fri Mar 03 2000 Cristian Gafton +- fixed the post script to work when upgrading a package +- add triggere to fix the older packages + +* Tue Feb 29 2000 Nalin Dahyabhai +- update to 3.0.15 +- add build-time dependency for openldap-devel +- enable db,ftp,shm,sem support to fix bug #9648 + +* Fri Feb 25 2000 Nalin Dahyabhai +- add dependency for imap subpackage +- rebuild against Apache 1.3.12 + +* Thu Feb 24 2000 Preston Brown +- don't include old, outdated manual. package one from the php distribution. + +* Tue Feb 01 2000 Cristian Gafton +- rebuild to fix dependency problem + +* Fri Jan 14 2000 Preston Brown +- added commented out mysql module, thanks to Jason Duerstock + (jason@sdi.cluephone.com). Uncomment to build if you have mysql installed. + +* Thu Jan 13 2000 Preston Brown +- rely on imap-devel, don't include imap in src.rpm (#5099). +- xml enabled (#5393) + +* Tue Nov 02 1999 Preston Brown +- added post/postun sections to modify httpd.conf (#5259) +- removed old obsolete faq and gif (#5260) +- updated manual.tar.gz package (#5261) + +* Thu Oct 07 1999 Matt Wilson +- rebuilt for sparc glibc brokenness + +* Fri Sep 24 1999 Preston Brown +- --with-apxs --> --with-apxs=/usr/sbin/apxs (# 5094) +- ldap support (# 5097) + +* Thu Sep 23 1999 Preston Brown +- fix cmdtuples for postgresql, I had it slightly wrong + +* Tue Aug 31 1999 Bill Nottingham +- subpackages must obsolete old stuff... + +* Sun Aug 29 1999 Preston Brown +- added -DHAVE_PGCMDTUPLES for postgresql module (bug # 4767) + +* Fri Aug 27 1999 Preston Brown +- name change to php to follow real name of package +- fix up references to php3 to refer to php +- upgrade to 3.0.12 +- fixed typo in pgsql postun script (bug # 4686) + +* Mon Jun 14 1999 Preston Brown +- upgraded to 3.0.9 +- fixed postgresql module and made separate package +- separated manual into separate documentation package + +* Mon May 24 1999 Preston Brown +- upgraded to 3.0.8, which fixes problems with glibc 2.1. +- took some ideas grom Gomez's RPM. + +* Tue May 04 1999 Preston Brown +- hacked in imap support in an ugly way until imap gets an official + shared library implementation + +* Fri Apr 16 1999 Preston Brown +- pick up php3.ini + +* Wed Mar 24 1999 Preston Brown +- build against apache 1.3.6 + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 2) + +* Mon Mar 08 1999 Preston Brown +- upgraded to 3.0.7. + +* Wed Feb 24 1999 Preston Brown +- Injected new description and group. + +* Sun Feb 07 1999 Preston Brown +- upgrade to php 3.0.6, built against apache 1.3.4 + +* Mon Oct 12 1998 Cristian Gafton +- rebuild for apache 1.3.3 + +* Thu Oct 08 1998 Preston Brown +- updated to 3.0.5, fixes nasty bugs in 3.0.4. + +* Sun Sep 27 1998 Cristian Gafton +- updated to 3.0.4 and recompiled for apache 1.3.2 + +* Thu Sep 03 1998 Preston Brown +- improvements; builds with apache-devel package installed. + +* Tue Sep 01 1998 Preston Brown +- Made initial cut for PHP3. diff --git a/sources b/sources index e69de29..67bda93 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +51be3bd15d9c851867757a6996df8581 manual.tar.gz +124ef02aa3304f8b0c883e83f60d17e5 php-4.0.1pl2.tar.gz