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