mirror of
https://github.com/php/php-src.git
synced 2024-12-26 10:19:53 +08:00
204 lines
5.2 KiB
Bash
204 lines
5.2 KiB
Bash
#! /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}
|