这是我的理解,%dir
如果我有的话
%files
%dir /foo/bar
我现在不必单独列出/foo/bar
.然而,当我在 OBS 中构建 RPM 时,我得到了,
error: Installed (but unpackaged) file(s) found:
/foo/bar/baz
/foo/bar/quz
什么可能导致这种情况?
答案1
如果列表中指定了目录
%files
,则该目录的内容及其下每个目录的内容将自动包含在包中。虽然此功能很方便(假设您确定应该打包目录下的每个文件),但有时这可能会出现问题。解决这个问题的方法是使用指令
%dir
。通过将此指令添加到包含目录的行,RPM 将仅打包目录本身,而不管创建包时目录中有哪些文件。
您想要像添加文件一样添加目录,没有%dir
。