[CentOS] Rebuilding PHP: how do I manage updates?

Tue Jan 29 18:31:27 UTC 2008
Johnny Hughes <johnny at centos.org>

Niki Kovacs wrote:
> Hi,
> 
> Our public library management software (PMB) runs on Apache/PHP/MySQL. 
> It requires some additional PHP modules to run correctly, namely:
> 
> 1) php-gd
> 2) php-yaz
> 3) php-xslt
> 
> I've googled and fiddled around quite a bit, and come to the following 
> conclusions:
> 
> 1) php-gd can be installed from extra repos (rpmforge IIRC), so this 
> one's no problem.

There is a php-gd already in centos-5 ... so no RPMForge RPM is necessary.

> 
> 2) To install php-yaz, I have to install the yaz library first. To do 
> this, I download the FC6 SRPM for yaz from www.indexdata.dk, it builds 
> without any problem, and I install the resulting libyaz3 and 
> libyaz3-devel. Then, I can install the according PHP module with a 
> simple 'pecl install yaz'.

I do not recommend that ... it can get overwritten on php upgrades, 
instead, build a php-pecl RPM.  Use the SRPMS from c5 centosplus as an 
example ... like php-pecl-memcache-2.1.2-1.el5.centos.src.rpm or 
php-pecl-Fileinfo-1.0.4-3.el5.centos.src.rpm

> 
> 3) Apparently, there's no php-xslt module around. AFAIK, the only way to 
> have it is to build it into PHP. So I went and downloaded the PHP SRPM 
> from one of the CentOS mirrors. I edited php.spec and added the 
> following configure option in php.spec:
> 
> --with-xslt-sablot
> 
> After installing a myriad of build dependencies, I launched 'rpmbuild 
> -bb --clean php.spec', and after a while, I got my 
> /usr/src/redhat/RPMS/i386 directory chock-full with resulting PHP packages.
> 
> I uninstalled everything I already had PHP-wise, like this:
> 
> yum remove `rpm qa | grep php`
> 
> Then I simply installed my resulting RPMS like this:
> 
> rpm -ivh php-*.rpm
> 
> I checked the PHP information page (with phpinfo()), and every module 
> needed by my application was there.
> 
> Now I wonder: how will I manage security and/or bugfix updates for PHP 
> and its modules in the future? When simply issuing 'yum update', any 
> update to php will squash my rebuilt version, and PMB will become 
> dysfunctional. My first idea would be: see if there are available 
> updates, and in that case, download the according SRPM, rebuild and 
> reinstall the whole thing. But that sounds a bit tedious.
> 
> Or simply put a line in /etc/yum.conf:
> 
> exclude=php php-*



Thanks,
Johnny Hughes

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: <http://lists.centos.org/pipermail/centos/attachments/20080129/501fde43/attachment-0004.sig>