【发布时间】:2016-04-28 13:54:41
【问题描述】:
我正在将 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 虚拟包中的上述问题是它排除了所有内容,使我无法查看是否未包含某些内容。
有没有更好的方法来制作只包含对其他包的依赖的空包?
【问题讨论】:
-
如果您的
%install部分什么都不做,则构建根目录应该为空,所以只需将%files留空......?