我做了以下操作,但在运行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
答案 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