rpmbuild在centos 5与centos 6用法的异同

之前是在centos 5上对软件进行rpm打包,今天需要在centos 6上打包,发现File not found: /root/rpmbuild/BUILDROOT/…的错误,看是centos 6中的rpmbuild topdir已经改变,为了能兼容centos 5的spec文件,需要对topdir进行修改:
打开/usr/lib/rpm/macros文件:

  1. %_topdir                %{getenv:HOME}/rpmbuild

更改为:

  1. %_topdir                %{_usrsrc}/redhat

另外还需要定义buildroot
在spec文件中的make install后面加上DESTDIR=%{buildroot},即:

  1. make install DESTDIR=%{buildroot}

DESTDIR是Makefile文件中定义的一个安装路径的变量,根据实际情况修改,比如mysql和nginx的是DESTDIR,而php的是INSTALL_ROOT。

标签:Centos 发布于:2019-11-23 09:12:32