我试图从REDHAT 6系统上的二进制文件构建RPM。我有%files
部分(find /path/to/fake/install -type f >> specfile
)中包含的所有文件
当我运行rpmbuild -bb specfile --target x86_64
时,
Checking for unpackaged file(s): /usr/lib/rpm/check-files /path/to/rpmbuild/BUILDROOT/Package-1.0.0-1.el6.x86_64
error: Installed (but unpackaged) file(s) found:
RPM build errors:
Installed (but unpackaged) file(s) found:
字符串
注意错误信息中没有列出任何文件。我不确定出了什么问题,有什么想法吗?
3条答案
按热度按时间izkcnapc1#
您可以使用以下命令忽略此类错误
字符串
See also
xfb7svmp2#
我猜你的/path/to/fake/install是不正确的。
%files
部分中的路径必须是最终安装文件的路径,例如/usr/local/bin/myprog
。在rpm构建期间,在%build
部分中,您需要确保将文件放置在与%files
部分中指定的位置相同的位置,或者使用rpmbuild
的buildroot
选项,并在spec文件中使用$RPM_BUILD_ROOT
变量,并使用与%files
列表匹配的子路径,在本例中为$RPM_BUILD_ROOT/usr/local/bin/myprog
。有关详细信息,请参阅http://ftp.rpm.org/max-rpm/ch-rpm-anywhere.html。vc9ivgsu3#
一个可能发生这种情况的例子:假设在
%post
部分有一个%install_info
,在%postun
部分有一个相关的%install_info_delete
。这需要在%install
部分使用rm -f %{buildroot}/%{_infodir}/dir
这样的命令显式删除信息文件的中间目录。