创建一个没有文件且只有其他依赖项的虚拟RPM包

时间:2016-01-22 03:51:04

标签: rpm rpmbuild

我将FFMPEG构建到RPM中,并且我定义了许多子包。每个子包都是FFMPEG提供的共享库,或共享库的开发文件,即libavcodec-devel

我想提供一个名为ffmpeg-devel的软件包,它只依赖于所有其他devel软件包。我目前正在做以下事情:

%package -n ffmpeg-devel
Summary: ffmpeg-devel
Requires: libavcodec-devel
Requires: libavdevice-devel
Requires: libavfilter-devel
Requires: libavformat-devel
Requires: libavresample-devel
Requires: libavutil-devel
Requires: libpostproc-devel
Requires: libswresample-devel
Requires: libswscale-devel
%description -n ffmpeg-devel
ffmpeg-devel
%files -n ffmpeg-devel
%exclude /*

现在,通常情况下,rpmbuild会在包的BUILDROOT中看到任何未打包的文件,如果没有包含或明确排除任何内容,则会失败。在我看来,这是一件好事,因为它可以防止包装商丢失东西。

我的ffmpeg-devel虚拟软件包中的上述问题是它排除了所有内容,使我无法查看是否包含某些内容。

有没有更好的方法来制作只包含其他包依赖项的空包?

1 个答案:

答案 0 :(得分:0)

我同意Aaron的意见,你应该留下%files部分。

你做得对的一部分。这个元数据包是空的,因此没有文件可供查看。

您缺少的是使用/ bin / rpm检查您的包要求的依赖项:

rpm -qpR my-package.rpm