使用rpmbuild创建RPM文件,但是拾取了错误的文件

时间:2012-03-28 16:59:01

标签: rpm rpmbuild

rpmbuild位于/xenv/OS/ia64/RH4.0AS_U4/x86_64/usr/bin/,brp-compress位于/xenv/OS/ia64/RH4.0AS_U4/x86_64/usr/lib/rpm/ ,但是当我跑:

/xenv/OS/ia64/RH4.0AS_U4/x86_64/usr/bin/rpmbuild --define '_topdir /build_location' -bb -vv package.spec

它失败了,因为它试图使用位于它们不存在的地方的brp-compress(和其他文件):

/var/tmp/rpm-tmp.93613: line 31: /usr/lib/rpm/brp-compress: No such file or directory

如何更正位置? (注意:我是RPM新手)

1 个答案:

答案 0 :(得分:2)

运行rpm --showrc将显示rpm正在使用的完整配置。如果您搜索此brp-compress,则会找到:

-14: __os_install_post  
    %{_rpmconfigdir}/brp-compress 
    %{_rpmconfigdir}/brp-strip %{__strip} 
    %{_rpmconfigdir}/brp-strip-static-archive %{__strip} 
    %{_rpmconfigdir}/brp-strip-comment-note %{__strip} %{__objdump} 
%{nil}

所以它看起来像%{_rpmconfigdir}。也许尝试明确定义该值,看看事情是如何运作的。

根据您尝试做的事情,也可以chroot进入/xenv/OS/ia64/RH4.0AS_U4/x86_64/并运行,而无需根据需要调整配置。