即使文件在路径中,也找不到rpmbuild错误文件

时间:2016-02-08 21:29:21

标签: linux build redhat rpm rpmbuild

我做了以下操作,但在运行rpmbuild

时出错

路径中有文件

感谢任何帮助或暗示

由于

rpmbuild -vv --buildroot $PWD/root --target x86_64 -bb bin-show.spec
Building target platforms: x86_64
Building for target x86_64
Processing files: helloworld-1.0-1.x86_64
error: File not found: /nobackup/username/prod/packaging/redhat/bin-show/root/etc/testpackage.conf


RPM build errors:
    File not found: /nobackup/username/prod/packaging/redhat/bin-show/root/etc/testpackage.conf

其中bin-show.spec

#
# Hello World Spec File
#
Summary: Hello world!
Name: helloworld
Version: 1.0
Release: 1
License: Proprietary
Group: Applications/Utilities

%description
This is my first RPM test package!

%files
/etc/testpackage.conf

和文件结构

pwd
/nobackup/username/prod/packaging/redhat/bin-show

find . -name \*

./bin-show.spec
./root
./root/etc
./root/etc/testpackage.conf

2 个答案:

答案 0 :(得分:2)

来自rpmbuild的消息可能会模糊不清。它可能在抱怨

  • 您的文件系统缺少文件
  • 而不是 BUILDROOT目录下不存在相应的路径名。

通常希望您的spec文件在~/rpmbuild/BUILDROOT下构建一组文件和目录,它将收集到一个包中。您可以覆盖BUILDROOT目录的位置(并且似乎已完成此操作)。但是你的包需要

/etc/testpackage.conf

和(允许显示BUILDROOT目录的明显位置)

/root/etc/testpackage.conf

答案 1 :(得分:1)

托马斯对错误的起源几乎是正确的。

但是rpmbuild希望文件出现在

%{buildroot}/%{_sysconfdir}/testpackage.conf

您应该在%install部分创建它:

%install
echo some content > %{buildroot}/%{_sysconfdir}/testpackage.conf

或提供SourceX:

Source1:  testpackage.conf

%install
cp -a %{SOURCE1} %{buildroot}/%{_sysconfdir}/

%files
%{_sysconfdir}/testpackage.conf