2016-01-22 78 views
2

我正在將FFMPEG構建到一個RPM中,並且我定義了很多子包。每個子包是FFMPEG提供的共享庫,或共享庫的開發文件,即libavcodec-devel創建一個沒有文件和只有其他依賴的虛擬RPM包

我想提供一個名爲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

如果你的'%install'節什麼也不做,構建根應該是空的,所以才離開'%files'空白....? –

回答

0

我同意亞倫,你應該把%files部分放出來。

從中你做的一部分是正確的。這個元包是空的,所以沒有文件可以看到。

什麼你缺少與/斌/ RPM會檢查你的包問依賴關係:

rpm -qpR my-package.rpm 
相關問題