自定制php7-fpm rpm安装包:
安装rpm-build
[root@linuxeye.com SOURCES]# yum -y install rpm-build
建立工作车间目录
[root@linuxeye.com SOURCES]#
vim ~/.rpmmacros
%_topdir /root/rpmbuild
[root@linuxeye.com SOURCES]#
mkdir -pv ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
在redhat下,rpm包的默认制作路径在/usr/src/redhat下,但CentOS并没有该目录,因此,我们不得不自定义工作目录,这其中包含了6个目录(要求全部大写)
BUILD:源代码解压以后放的位置
RPMS:制作完成后的rpm包存放目录,为特定平台指定子目录(x86_64)
SOURCES:收集的源文件,源材料,补丁文件等存放位置
SPECS:存放spec文件,作为制作rpm包的领岗文件,以rpm名.spec
SRPMS:src格式的rpm包位置 ,既然是src格式的包,就没有平台的概念了
BuiltRoot:假根,使用install临时安装到这个目录,把这个目录当作根来用的,所以在这个目录下的目录文件,才是真正的目录文件。当打包完成后,在清理阶段,这个目录将被删除
[root@linuxeye.com SOURCES]#
rpmbuild --showrc | grep topdir
#工作车间目录:_topdir /root/rpmbuild
-14: _builddir %{_topdir}/BUILD
-14: _buildrootdir %{_topdir}/BUILDROOT
-14: _rpmdir %{_topdir}/RPMS
-14: _sourcedir %{_topdir}/SOURCES
-14: _specdir %{_topdir}/SPECS
-14: _srcrpmdir %{_topdir}/SRPMS
-14: _topdir /root/rpmbuild
rpmbuild –showrc显示所有的宏,以下划线开头,一个下划线:定义环境的使用情况,二个下划线:通常定义的是命令,为什么要定义宏,因为不同的系统,命令的存放位置可能不同,所以通过宏的定义找到命令的真正存放位置
收集源码文件脚本文件
[root@linuxeye.com SOURCES]# pwd
/root/rpmbuild/SOURCES
[root@linuxeye.com SOURCES]# ls
php-7.1.5.tar.gz
[root@dongyaming rpmbuild]# cat /root/.rpmmacros
%_topdir /root/rpmbuild
[root@dongyaming rpmbuild]# pwd
/root/rpmbuild
[root@dongyaming rpmbuild]# ls
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS