Я создаю 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
заключается в том, что он исключает все, что делает невозможным увидеть, что что-то не было включено.
Есть ли лучший способ сделать пустые пакеты, которые включают только зависимости от других пакетов?
Если '% install' раздел ничего не делает, корень сборки должен быть пустым, так что просто оставьте '% файлов' пуст ....? –