123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- #! /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 <release> <version>"
- 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 <helly@php.net>
- - 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 <helly@php.net>
- - 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 <agl@bitbike.com>
- - Fix path and remove --with-imap due to conflicts with kerberos.
- * Fri Jun 29 2001 Jani Taskinen <sniper@iki.fi>
- - Removed some useless configure options. Made the tar names correct.
- * Sun Apr 30 2000 Joey Smith <joey@samaritan.com>
- - Small fix: Description still referred to package as PHP3.
- * Wed Jul 21 1999 Sam Liddicott <sam@campbellsci.co.uk>
- - added php4b1 and modified cgi building rules so it doesn't break module
- * Wed Mar 17 1999 Sam Liddicott <sam@campbellsci.co.uk>
- - Stuffed in 3.0.7 source tar and added "php" as a build destination
- * Mon Oct 12 1998 Cristian Gafton <gafton@redhat.com>
- - rebuild for apache 1.3.3
- * Thu Oct 08 1998 Preston Brown <pbrown@redhat.com>
- - updated to 3.0.5, fixes nasty bugs in 3.0.4.
- * Sun Sep 27 1998 Cristian Gafton <gafton@redhat.com>
- - updated to 3.0.4 and recompiled for apache 1.3.2
- * Thu Sep 03 1998 Preston Brown <pbrown@redhat.com>
- - improvements; builds with apache-devel package installed.
- * Tue Sep 01 1998 Preston Brown <pbrown@redhat.com>
- - 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}
|