rpm包制作过程

1,下载源码包

2,安装rpm包制作工具:

# yum install rpmdevtools rpm-build gcc make wget openssl-devel krb5-devel pam-devel libX11-devel xmkmf libXt-devel initscripts imake

3,使用rpmdev-setuptree命令生成构建项目目录

# rpmdev-setuptree

会在用户家目录生成如下目录结构:

%title插图%num

4,将下载的源码包放到SOURCES目录中

5,建立”名称”.spec文件,制作rpm包全靠它,源码包里可以获取,或者自己手动编写.spec文件。

6,在rpmbuild目录执行rpmbuild -ba SPECS/名称.spec开始制作:

# rpmbuild -ba SPECS/名称.spec

如果没有报错会一直持续个几分钟各种编译,直到制作完成。

在rpmbuild -ba时,如果遇到如下错误:

*** ERROR: No build ID note found in /home/wuyang/rpmbuild/BUILDROOT/******

error: Bad exit status from /var/tmp/rpm-tmp.BPd1OI (%install)

解决方法是在.spec文件中任意位置添加如下参数:

%define __debug_install_post   \
   %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} “%{_builddir}/%{?buildsubdir}”\
%{nil}

在rpmbuild -ba时,如果遇到如下错误:

error: Installed (but unpackaged) file(s) found: ….

解决办法是找到 /usr/lib/rpm/macros 中
%__check_files         /usr/lib/rpm/check-files %{buildroot}  

找到后注释掉这行。

发表回复