[devel] I: транзитивное вычисление зависимостей на пакет
Igor Vlasenko
vlasenko на imath.kiev.ua
Пн Янв 30 17:52:55 MSK 2012
Господа,
В пакете girar-nmu >= 1.01 в утилиту girar-nmu-sort-transaction
добавлена опция --whobuildreq, с помощоью которой можно вычислить
транзитивное вычисление сборочных зависимостей на указанные пакет(ы)
в заданном большом множестве пакетов и выделить из из большого множества
те пакеты, которые устанавливают в сборочное окружение указанные пакеты
при своей сборке.
Пример применения. Собрали обновление пакетов A, B, C и перед отправкой
их в Сизиф хотим устроить тестовую пересборку, чтобы узнать, не сломает ли
чего в Сизифе это обновление.
Для этого желательно составить список всех затрагиваемых изменением пакетов.
grep по BuildRequires: недостаточно, так как пакет может вытянуться
по непрямым зависимостям, а пересобирать все пакеты слишком накладно.
Утилита позволяет вычислить точный список для пересборки.
Пример заклинания для java подсистемы.
большое множество всех java пакетов укажем как
/ALT/Sisyphus/files/SRPMS/*-*-*jpp*.src.rpm \
/ALT/Sisyphus/files/noarch/RPMS/*-*-*jpp*.rpm \
/ALT/Sisyphus/files/x86_64/RPMS/*-*-*jpp*.rpm \
Заливаемые пакеты можно задать либо как список имен получающихся
rpm пакетов (опция --rpm-names "файл с rpm-names")
либо как список имен обновленных srpm пакетов.
(опция --srpm-names srpm-names).
girar-nmu-sort-transaction --whobuildreq \
--srpm-names file-with-srpm-names \
/ALT/Sisyphus/files/SRPMS/*-*-*jpp*.src.rpm \
/ALT/Sisyphus/files/noarch/RPMS/*-*-*jpp*.rpm \
/ALT/Sisyphus/files/x86_64/RPMS/*-*-*jpp*.rpm \
| girar-nmu-filter-name --list /ALT/Sisyphus/files/list/src.list --name2path > list
В файле list получаем список для тестовой пересборки.
Также, при желании, можно реализовать и другие применения
для транзитивного вычисления сборочных либо установочных зависимостей.
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
Подробная информация о списке рассылки Devel