2016-01-22 5 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' раздел ничего не делает, корень сборки должен быть пустым, так что просто оставьте '% файлов' пуст ....? –

ответ

0

Я согласен с Aaron, вы должны оставить раздел% файлов.

Часть из того, что вы делаете это правильно. Этот мета-пакет пуст, поэтому файлов нет.

Что вам не хватает проверяет с/бен/мин, что зависимость будет ваш пакет спросить:

rpm -qpR my-package.rpm