Source

php-src / makerpm

#! /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}4 or ${PREFIX}4b2
EOH
fi
	
echo "Usage:"
echo "$0 <release>"
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

# write out the .spec file
sed -e "s/PVERSION/$VERSION/g" \
    -e "s/PRELEASE/$RELEASE/g" \
    -e "s/TARDIR/$TARDIR/g" \
    > $SPEC <<'EOF'
Summary: PHP4b1 - a powerful scripting language for HTML
Name: mod_php4
Version: PVERSION
Release: PRELEASE
Group: Networking/Daemons
Source0: http://www.php.net/distributions/php%{PACKAGE_VERSION}.tar.gz
#Source1: php3-manual.tar.gz
Copyright: GPL
BuildRoot: /tmp/php3-root
Requires: webserver

%description
PHP4 is a powerful apache module that adds scripting and database connection
capabilities to the apache server. This version includes the "php" 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
chown -R root.root .
./buildconf

%build
# first the standalone (why can't you build both at once?)
# need to run this under sh or it breaks
cd ext/wddx
ln -s /usr/src/redhat/BUILD/apache_1.3.9/src/lib/expat-lite ./xml
cd ../..

sh ./configure --prefix=/usr \
	--without-gd \
	--with-config-file-path=/usr/lib \
	--enable-force-cgi-redirect \
	--enable-debugger=yes \
	--enable-safe-mode \
	--with-exec-dir=/usr/bin \
	--with-mysql=/usr \
	--with-imap=/usr \
	--with-pdflib=/usr \
	--with-system-regex \
	--enable-track-vars \
	--with-ttf \
	--with-zlib \
	--with-xml=/usr/src/redhat/BUILD/apache_1.3.9/src/lib/expat-lite \
	--with-wddx \

# ldap don't work
#	--with-ldap=/usr \

# system regex conflicts with apache_ssl for some reason

make
mv php php.keepme

# then the apache module 
rm config.cache
sh ./configure --prefix=/usr \
	--without-gd \
	--with-apxs=/usr/sbin/apxs \
	--enable-versioning \
	--with-config-file-path=/usr/lib \
	--enable-debugger=yes \
	--enable-safe-mode \
	--with-exec-dir=/usr/bin \
	--with-mysql=/usr \
	--with-imap=/usr \
	--with-pdflib=/usr \
	--with-system-regex \
	--enable-track-vars \
	--with-ttf \
	--with-zlib \
	--with-xml=/usr/src/redhat/BUILD/apache_1.3.9/src/lib/expat-lite \
	--with-wddx \

# ldap don't work
#	--with-ldap=/usr \

# system regex conflicts with apache_ssl for some reason

make clean
make
# restore cgi version
mv php.keepme php

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/lib/apache
install -m 755 libphp4.so $RPM_BUILD_ROOT/usr/lib/apache
mkdir -p $RPM_BUILD_ROOT/usr/bin
install -m 755 php $RPM_BUILD_ROOT/usr/bin

%clean
rm -rf $RPM_BUILD_ROOT

%changelog
* 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
/usr/lib/apache/libphp4.so
/usr/bin/php
%doc TODO CODING_STANDARDS CREDITS ChangeLog LICENSE BUGS examples
%doc manual/*
EOF

RPMDIR=/usr/src/redhat/RPMS
SPECDIR=/usr/src/redhat/SPECS
SRCDIR=/usr/src/redhat/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
chown -R root.root ${TAR}
cd $SPECDIR
rpm -ba -v ${SPEC}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.