构建错误:找到已安装(但未打包)的文件

时间:2014-11-12 19:53:34

标签: rpm

我有一个简单的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

有什么建议吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

%docdir没有打包文件。它只是告诉rpm该目录中的任何打包文件都是文档。

来自Maximum RPM(陈旧但经常仍然相关):

  

问题是%docdir仅指示RPM将指定目录标记为保留文档。它不会指示RPM来打包目录中的任何文件。要做到这一点,我们需要提醒RPM,确保目录中有文件必须打包。

     

执行此操作的一种方法是将文件添加到%files列表中:

     

%docdir / usr / blather

     

的/ usr /喋喋不休/ INSTALL

     

当然,如果您在将每个文件添加到%文件列表时遇到麻烦,那么向每个文件添加%doc都不会有太多工作要做。因此,从%docdir获得最大收益的方法是在%文件列表中添加另一行:

     

%docdir / usr / blather

     

的/ usr /喋喋不休