[devel] Сборка ffmpeg в p8
Alexey V. Vissarionov
gremlin на altlinux.org
Пн Июл 24 10:41:33 MSK 2017
On 24-Jul-2017 10:14:51 +0300, Hihin Ruslan wrote:
> > Чтобы не просто не заметили, а даже случайно не наткнулись,
> > подобные библиотеки полагается либо вкомпилячивать статически,
> > либо делать общесистемными.
> Как это в общесистемные не наткнутся. Не понял ваши мысли.
Если динамические библиотеки бывают только общесистемными - все
пакеты будут использовать именно их. Единственная альтернатива,
позволяющая собрать один-два пакета с какой-нибудь экзотикой -
livexotics-devel-static.
> А если делать отдельный статический пакет, да ещё если ое будет
> провайдить динамический (т.е. вводить мантейнера других пакетов
> в заблуждение), то такая чехарда начнётся ...
Так... Кто сказал, что %name-devel - это обязательно динамические
библиотеки? И что мешает, например, собрать
%package devel-shared
Provides: %name-devel = %version
Conflicts: %name-devel-static
%package devel-static
Provides: %name-devel = %version
Conflicts: %name-devel-shared
А еще есть вариант, когда %name-devel требует %name-devel-headers
и %name-devel-libs, а %name-devel-libs обеспечивается либо пакетом
%name-devel-libs-shared, либо %name-devel-libs-static - это чуть
более трудоемко при сборке (многабукф в .spec), но сильно упрощает
жизнь людям, которые потом будут использовать библиотеку:
Requires: example-devel, example-devel-libs-shared
> А так. допустим пакет N-libs.rpm таскает в себе динамические
> библиотеки ffmpeg для пакета N (вариант N-libs и N один и
> тот-же пакет), которые лежат в /usr/libs/N-libs/ffmpeg, да ещё
> файлы *.so лежат в N-libs-devel и N-libs никак не провайдит
> ffmpeg. Что в этом страшного, кроме избыточности?
Простейший пример: в том же ffmpeg обнаруживается очередная дыра,
причем такая, что User Otus Vulgaris (усер ушастый обыкновенный)
перепугался и решил проверить, не затрагивает ли это его:
% rpm -q ffmpeg
ffmpeg-X.Y-...
Ура, он свежий! А смотреть, что там в N-libs, никто не будет, и в
результате у того усера останется дырявая софтина.
> Продолжаем. Про удаление избыточности:
> Если пакеты K, L и М хотят использовать ffmpeg из N-libs, а не
> использовать libav, то не является-ли достаточным условием, что
> в них стоял запрет на линковку с libav.
А почему именно из N-libs, а не просто ffmpeg-devel?
> Осталось понять как этот запрет можно реализовать в рамках
> существующей сборочной реальности.
> Пальцем в небо:
> Типа антидота-пустышки, который отвергал линковку с реальным
> libav. - я думаю нереализуемо.
> Какие-то сборочные зависимости - если есть N-lib, то в сборочнице
> не должен находится ffmpeg.
Теоретически можно разрулить на уровне зависимостей. А на практике
проще и правильнее будет просто избегать помойки.
--
Alexey V. Vissarionov
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 836 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20170724/3fea1964/attachment.bin>
Подробная информация о списке рассылки Devel