我有一个简单的rpm构建,它刚刚工作 - 抱怨它认为不应该存在的文件(见下面的错误),因为我已经阅读了%{buildroot}所需的所有文件在%文件中指定我已经尝试了每种指定方式并仍然得到错误。
rpmbuild -ba test.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.D09NzA
+ umask 022
+ cd /home/test/rpmbuild/BUILD
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.ArCuJC
+ umask 022
+ cd /home/pure/rpmbuild/BUILD
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.ViZRTE
+ umask 022
+ cd /home/test/rpmbuild/BUILD
+ exit 0
Processing files: Test-7_14_9-1.noarch
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/test/rpmbuild/BUILDROOT/Test-7_14_9-1.x86_64
error: Installed (but unpackaged) file(s) found:
/pure
RPM build errors:
Installed (but unpackaged) file(s) found:
/pure
With config:
Summary: Test
Name:Test
Version: 7_14_9
Release: 1
Group: Pure
BuildArch: noarch
BuildRoot: %{buildroot}/pure
License: XXX
Vendor:XXX
Packager: xxxx@xxxx.com
Provides:Test
%description
Test
%prep
exit 0
%build
exit 0
%install
exit 0
%clean
exit 0
%files
%docdir /pure
有什么建议吗?
提前致谢
答案 0 :(得分:0)
%docdir
没有打包文件。它只是告诉rpm该目录中的任何打包文件都是文档。
来自Maximum RPM(陈旧但经常仍然相关):
问题是%docdir仅指示RPM将指定目录标记为保留文档。它不会指示RPM来打包目录中的任何文件。要做到这一点,我们需要提醒RPM,确保目录中有文件必须打包。
执行此操作的一种方法是将文件添加到%files列表中:
%docdir / usr / blather
的/ usr /喋喋不休/ INSTALL
当然,如果您在将每个文件添加到%文件列表时遇到麻烦,那么向每个文件添加%doc都不会有太多工作要做。因此,从%docdir获得最大收益的方法是在%文件列表中添加另一行:
%docdir / usr / blather
的/ usr /喋喋不休