我将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
虚拟软件包中的上述问题是它排除了所有内容,使我无法查看是否包含某些内容。
有没有更好的方法来制作只包含其他包依赖项的空包?
答案 0 :(得分:0)
我同意Aaron的意见,你应该留下%files部分。
你做得对的一部分。这个元数据包是空的,因此没有文件可供查看。
您缺少的是使用/ bin / rpm检查您的包要求的依赖项:
rpm -qpR my-package.rpm