#! /bin/sh # Based slightly on an original by John H Terpstra but not much left of his. # S Liddicott 1999 sam@campbellsci.co.uk PREFIX="php" TARDIR="`basename \`pwd\``" RELEASE=${1:-1} VERSION=${2:-`echo $TARDIR | sed "s/$PREFIX-//g"`} if [ "$VERSION" = "" ] then cat <<"EOH" $PREFIX source needs to be installed in a folder that contains the version number, e.g. ${PREFIX}5 or ${PREFIX}5b2 EOH fi echo "Usage:" echo "$0 " echo echo "e.g.:" echo "$0 2" echo -n "Building RPM version $VERSION, release: $RELEASE " sleep 1 ; echo -n . ; sleep 1 ; echo -n . ; sleep 1 ; echo -n . echo TAR=php-$VERSION.tar.gz SPEC=php-$VERSION.spec PREQUIRES=`rpm -q --provides apache|grep "\(webserver\|httpd\)"` if [ "$PREQUIRES" = "" ] then PREQUIRES="webserver" fi # write out the .spec file sed -e "s/PVERSION/$VERSION/g" \ -e "s/PRELEASE/$RELEASE/g" \ -e "s/TARDIR/$TARDIR/g" \ -e "s/PREQUIRES/$PREQUIRES/g" \ > $SPEC <<'EOF' Summary: PHP 5 - A powerful scripting language Name: php5 Version: PVERSION Release: PRELEASE Group: Networking/Daemons Source0: http://www.php.net/distributions/php-%{PACKAGE_VERSION}.tar.gz Copyright: PHP License BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot Requires: PREQUIRES %description PHP 5 is a powerful apache module that adds scripting and database connection capabilities to the apache server. This version includes the "php_cgi" binary for suExec and stand alone php scripts too. %prep %setup -q -n TARDIR #mkdir manual; cd manual && tar xzf $RPM_SOURCE_DIR/php3-manual.tar.gz ./buildconf %build # first the standalone (why can't you build both at once?) # need to run this under sh or it breaks sh ./configure --prefix=/usr \ --with-config-file-path=%{_sysconfdir} \ --disable-cli \ --without-pear \ --enable-force-cgi-redirect \ --enable-safe-mode \ --with-exec-dir=/usr/bin \ --with-mysql \ --with-zlib \ --enable-xml \ --enable-wddx \ --with-gd \ --enable-shared \ make mv sapi/cgi/php php.keepme # then the apache module test -f config.cache && rm -f config.cache sh ./configure --prefix=/usr \ --with-apxs=/usr/sbin/apxs \ --enable-cli \ --with-config-file-path=%{_sysconfdir} \ --enable-safe-mode \ --with-exec-dir=/usr/bin \ --with-mysql \ --with-zlib \ --enable-xml \ --enable-wddx \ --with-gd \ --enable-shared \ # --with-pgsql=shared \ make clean make # restore cgi version mv php.keepme sapi/cgi/php %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_libdir}/apache install -m 0755 .libs/libphp5.so $RPM_BUILD_ROOT%{_libdir}/apache mkdir -p $RPM_BUILD_ROOT%{_bindir} install -m 0755 sapi/cli/php $RPM_BUILD_ROOT%{_bindir} install -m 0755 sapi/cgi/php $RPM_BUILD_ROOT%{_bindir}/php_cgi mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 install -m 0755 sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} install -m 0755 php.ini-recommended $RPM_BUILD_ROOT%{_sysconfdir}/php.ini mkdir -p $RPM_BUILD_ROOT%{_libdir}/php/extensions install -m 0755 modules/*.so $RPM_BUILD_ROOT%{_libdir}/php/extensions %clean rm -rf $RPM_BUILD_ROOT %changelog * Thu Nov 27 2003 Marcus Boerger - Fix requirements for older systems. - Fix rpm build directory for the major distributions. - Fix config dir. - Rename package to php. - Add gd extension. - Support building of shared extensions. - Build CLI only once. * Thu Oct 31 2003 Marcus Boerger - Update version to 5. - Remove unsure external requirements. - Remove non existing directories - Fix targets. - Install both CLI and CGI. - Install manpage. - Install ini. * Mon Mar 04 2002 Arjen Lentz - Fix path and remove --with-imap due to conflicts with kerberos. * Fri Jun 29 2001 Jani Taskinen - Removed some useless configure options. Made the tar names correct. * Sun Apr 30 2000 Joey Smith - Small fix: Description still referred to package as PHP3. * Wed Jul 21 1999 Sam Liddicott - added php4b1 and modified cgi building rules so it doesn't break module * Wed Mar 17 1999 Sam Liddicott - Stuffed in 3.0.7 source tar and added "php" as a build destination * 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. %files %defattr(-,root,root) %{_libdir}/apache/libphp5.so %{_bindir}/php %{_bindir}/php_cgi %{_mandir}/man1/php.1* %{_sysconfdir}/php.ini %{_libdir}/php/extensions/*.so %doc TODO CODING_STANDARDS CREDITS ChangeLog LICENSE NEWS EOF RPMBASE=/usr/src/redhat for i in /usr/src/redhat /usr/src/packages /usr/src/RPM; do if test -d $i; then RPMBASE=$i break fi done RPMDIR=${RPMBASE}/RPMS SPECDIR=${RPMBASE}/SPECS SRCDIR=${RPMBASE}/SOURCES ( make clean find . -name config.cache -exec rm -f '{}' \; cd .. tar czvf ${SRCDIR}/${TAR} $TARDIR ) cp -a $SPEC $SPECDIR/${SPEC} #cp -a *.patch $SRCDIR cd $SRCDIR cd $SPECDIR rpm -ba -v ${SPEC}