[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