用rpmbuild打包php

科技小能手發表於2017-11-12
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 sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
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
#fi

%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



相關文章