[devel] lost soname dependencies
Aleksey Novodvorsky
aen на altlinux.ru
Вс Мар 27 21:23:08 UTC 2011
24 марта 2011 г. 23:52 пользователь Alexey Tourbin <at на altlinux.ru> написал:
> После исправления зависимостей у *-devel пакетов некоторые пакеты стали
> собираться в урезнной конфигурации. Большая часть таких пакетов может
> быть идентифицирована по результатам тестовой пересборки, после которой
> выполняется сравнение свежепересобранных пакетов с пакетами в репозитории.
> К письму приложен скрипт, который по логу сборки показывает "убывшие"
> имена библиотек - т.е. зависимости, которые присутствуют в репозитории,
> но отсутствуют после тестовой пересборки. Это не очень совершенный метод
> идентификации потерянных зависимостей, и это лучшее, что у нас сейчас есть.
> Тем не менее, большую часть урезанных пакетов таким образом определить удаётся.
>
> Скрипт работает так: он, очевидно, ищет в логе минус-строчки из диффа вида
> -Requires: lib*.so.*
> При этом если в логе есть плюс-строчки или контекст-строчки вида
> +Requires: lib*.so.*
> Requires: lib*.so.*
> то они отменяют соответствующие минус-строчки.
>
> Далее, если зависимость в пакете действительно "убыла", то это может
> случиться по двум причинам:
> 1) Зависимость соптимизировалась из-за того, что такая зависимость уже
> существует в базовом подпакете (оптимизация зависимостей между подпакетами
> была реализована не так давно), а у базового пакета зависимости не
> изменились. Но rpmbuild выводит в лог сборки зависимости собранных
> пакетов - эти строчки начинаются с Requires или PreReq. Тогда если
> в зависимостях имя библиотеки есть, значит просто сработала оптимизация
> между подпакетами. А иначе
> 2) Зависимость на имя библиотеки действительно исчезла.
>
> Скрипт заточен под x86_64.
> Вот полный вывод скрипта (179 пакетов).
Алексей, пожалуйста, актуализируйте список по состянию на понедельник.
Желательно с указанием ACL.
Rgrds, Алексей
Подробная информация о списке рассылки Devel