[devel] SharedLibsPolicy или хорошо что мы не Debian

Damir Shayhutdinov damir at altlinux.org
Fri Nov 13 12:18:50 UTC 2009


> я и обсуждать? я не сторонник демократии (у нас это просто пустой
> галдёшь), я сторонник тоталитаризма
И тоталитаризм, и демократия нуждаются в обсуждении... Не зря у нас
была страна Советов!

>>  Пока по представленному rpm -qa | grep lib/lib не понятно, из
>> чего следует это самое домашнее задание.
>
> из зависимостей между либами внутри пакета

А, то есть библиотеки с неизмененными сонеймами зависят от библиотеки
с измененным, а не наоборот?
Или что? Тогда и тут применим пункт о несмешении сонеймов в одном
адресном пространстве.

Что стоит обсудить - так это инструмент для обнаружения таких вот
затыков. Желательно в виде теста гирар-билдера, но можно и пост-тест
репокопа, если тест гирар-билдера будет невозможно сделать.

Для завтравки, если взять рекурсивный список NEEDED-зависимостей
любого бинарника (например, через ldd), отсеять дубликаты, после чего
от всех имен типа .so.N откусить все, что после .so (превратив
libcdio.so.10 в libcdio.so), то получившийся в результате список
должен содержать только уникальные имена.

То есть типа

ldd -r <бинарь> | grep -o '[A-Za-z0-9-]*\.so\.[a-z0-9.]*' -o | sort -u
| grep -o '[A-Za-z0-9-]*\.so'  | uniq -d
должно вернуть пустую строку.

Проверять это в принципе можно сразу после установки пакета в чрут.


More information about the Devel mailing list