Сборочная среда ABF: сборка пакета с учётом его обратных зависимостей — различия между версиями
D uragan (обсуждение | вклад) (moved content from build bots page) |
D uragan (обсуждение | вклад) м (fix English url) |
||
Строка 13: | Строка 13: | ||
{{Навигационная полоса|Документация по теме "Сборочная среда ABF"|[[Краткое руководство по работе в сборочной среде ABF]] • [[Сборочная среда ABF]] • [[Сборочная среда ABF: сборка пакета с учётом его обратных зависимостей]] • [[Сборочный сервер: механизм работы]] • [[Создание собственных сборочных клиентов для АБФ]]}} | {{Навигационная полоса|Документация по теме "Сборочная среда ABF"|[[Краткое руководство по работе в сборочной среде ABF]] • [[Сборочная среда ABF]] • [[Сборочная среда ABF: сборка пакета с учётом его обратных зависимостей]] • [[Сборочный сервер: механизм работы]] • [[Создание собственных сборочных клиентов для АБФ]]}} | ||
− | [[En:Automatic rebuild of package reverse dependencies]] | + | [[En:ABF: Automatic rebuild of package reverse dependencies]] |
Версия 09:06, 20 апреля 2012
Одной из особенностей ABF является возможность пересборки пакета вместе с его обратными зависимостями - в случае успешной сборки самого пакета, запускается пересборка всех пакетов, зависящих от него. Такой подход позволяет гарантировать, что репозиторий может в любой момент быть пересобран сам на себе. Например, автоматическая пересборка позволяет отследить влияние изменений в библиотеках на зависящие от них пакеты. Без пересборки, программы, собранные на старой версии библиотек, могут не работать либо работать неправильно с новыми версиями. При построении контейнера вычисляется дерево обратных зависимостей. Например, при сборке пакета «А» вычисляется, кому он нужен для сборки, например пакетам «Б» и «С», далее вычисляется кому нужны эти пакеты для сборки и тд.
Дерево строится уровнями
- gcc
- tar,kernel
- mc,firefox,mesa
Сборочный сервер собирает пакеты по уровням в несколько потоков, т.е сначала собирает 1 уровень, если сборка прошла успешно, то приступает к сборке 2 уровня и тд.
Если во время построения дерева были “петли” (пакету “А” нужен для сборки пакет “Б” , а пакету “Б” нужен “А”) то сборка будет происходить в 2 этапа: сначала соберутся все пакеты на все уровнях, далее они пересобирутся 2й раз, но с подключением результатов предыдущей сборки: