天天看点

用rpmbuild打包php

Name:    php        

Version:    5.3.28    

Release:    1%{?dist}

Summary:    php

Group:        System Environment/Daemons

License:    GPL

URL:        http://rolin.com/

Source0:    http://aa.com/php/%{name}-%{version}.tar.gz

Source1:    php.ini

Source2:    php-fpm.conf

BuildRoot:    %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires:    openssl-devel,libmcrypt-devel,freetype-devel,mhash-devel

Requires:    openssl,libmcrypt,freetype,libtool-ltdl,mhash,bash

%description

php-fpm

%prep

%setup -q

%build

#export $RPM_BUILD_ROOT

export INSTALL_ROOT=%{buildroot}

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/data/sock/tmp/mysql.sock --with-gd --with-iconv --with-zlib --enable-xml --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --with-pdo-mysql --disable-cli

make ZEND_EXTRA_LIBS='-liconv' %{?_smp_mflags}

#make %{?_smp_mflags}

%install

rm -rf %{buildroot}

#cd /root/rpmbuild/BUILD/php-5.3.28

#make install

make install INSTALL_ROOT=%{buildroot}

#DESTDIR=%{buildroot}

#cd ../../BUILDROOT

#cp -rf ../SOURCES/php.ini ./php-5.3.28-1.x86_64/

cp $RPM_BUILD_DIR/%{name}-%{version}/sapi/fpm/init.d.php-fpm $RPM_BUILD_ROOT/usr/local/php

#mv %{buildroot}/usr/local/php/etc/php-fpm.conf %{buildroot}/usr/local/php/etc/php-fpm.conf.origin

%{__install} -p -D -m 0644 %{SOURCE1} %{buildroot}/usr/local/php/etc

#mv %{buildroot}/usr/local/php/etc/php.ini %{buildroot}/usr/local/php/etc/php.ini.origin

%{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}/usr/local/php/etc

cp %{_sourcedir}/php.ini $RPM_BUILD_ROOT/usr/local/php/etc

cp %{_sourcedir}/php-fpm.conf $RPM_BUILD_ROOT/usr/local/php/etc

#cp %{_sourcedir}/php.ini $RPM_BUILD_ROOT%{prefix}/etc

#cp %{_sourcedir}/php-fpm.conf $RPM_BUILD_ROOT%{prefix}/etc

%clean

rm -rf $RPM_BUILD_ROOT/*

%pre

mkdir /usr/local/php

#cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

ln -s /usr/lib64/libpng.* /usr/lib/

ln -s /usr/lib64/libjpeg.* /usr/lib

echo "/lib" >> /etc/ld.so.conf

echo "/usr/lib" >> /etc/ld.so.conf

echo "/usr/lib64" >> /etc/ld.so.conf

echo "/usr/local/lib" >> /etc/ld.so.conf

ldconfig

%post

a=`grep ZONE= /etc/sysconfig/clock |awk -F"=" '{print $NF}'|cut -d '"' -f2`

sed  -i "s#\;date.timezone\ =#date.timezone\ =\ ${a}#g" /usr/local/php/etc/php.ini

cp /usr/local/php/init.d.php-fpm /etc/rc.d/init.d/php-fpm

chmod a+x /etc/rc.d/init.d/php-fpm

chkconfig --add php-fpm 

chkconfig php-fpm on

%preun

#if [ -f %{_sysconfdir}/php.ini ];then

#mv %{_sysconfdir}/php.ini %{_sysconfdir}/php.ini.rpmold

#fi

#if [ -f %{_initddir}/php-fpm ];then

#mv %{_initddir}/php-fpm %{_initddir}/php-fpm.rpmold

%postun

rm -rf /usr/local/php

%files

%defattr(-,root,root,-)

/usr/local/php/

%doc

#%config(noreplace)      /usr/local/php/etc/php.ini

#%config(noreplace)      /usr/local/php/etc/php-fpm.conf

#%config(noreplace)      /usr/local/php/etc/php-fpm.conf.default

%changelog

本文转自 luoguo 51CTO博客,原文链接:http://blog.51cto.com/luoguoling/1639293