Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: php-5.3.7
Fetching contributors…

Cannot retrieve contributors at this time

file 203 lines (169 sloc) 5.317 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
#! /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}
Something went wrong with that request. Please try again.