Сборочная среда ABF: сборка пакета с учётом его обратных зависимостей — различия между версиями
Juliette (обсуждение | вклад) |
D uragan (обсуждение | вклад) (moved content from build bots page) |
||
Строка 1: | Строка 1: | ||
[[Категория:Сборочная среда ABF]] | [[Категория:Сборочная среда ABF]] | ||
+ | Одной из особенностей ABF является возможность пересборки пакета вместе с его обратными зависимостями - в случае успешной сборки самого пакета, запускается пересборка всех пакетов, зависящих от него. Такой подход позволяет гарантировать, что репозиторий может в любой момент быть пересобран сам на себе. Например, автоматическая пересборка позволяет отследить влияние изменений в библиотеках на зависящие от них пакеты. Без пересборки, программы, собранные на старой версии библиотек, могут не работать либо работать неправильно с новыми версиями. При построении контейнера вычисляется ''дерево обратных зависимостей''. Например, при сборке пакета «А» вычисляется, кому он нужен для сборки, например пакетам «Б» и «С», далее вычисляется кому нужны эти пакеты для сборки и тд.<br/> | ||
+ | '''Дерево строится уровнями''' | ||
+ | #gcc | ||
+ | #tar,kernel | ||
+ | #mc,firefox,mesa | ||
+ | |||
+ | Сборочный сервер собирает пакеты по уровням в несколько потоков, т.е сначала собирает 1 уровень, если сборка прошла успешно, то приступает к сборке 2 уровня и тд.<br/> | ||
+ | Если во время построения дерева были “петли” (пакету “А” нужен для сборки пакет “Б” , а пакету “Б” нужен “А”) то сборка будет происходить в 2 этапа: сначала соберутся все пакеты на все уровнях, далее они пересобирутся 2й раз, но с подключением результатов предыдущей сборки: | ||
+ | [[File:Bbdt.jpg|center|400px]] | ||
{{Навигационная полоса|Документация по теме "Сборочная среда ABF"|[[Краткое руководство по работе в сборочной среде ABF]] • [[Сборочная среда ABF]] • [[Сборочная среда ABF: сборка пакета с учётом его обратных зависимостей]] • [[Сборочный сервер: механизм работы]] • [[Создание собственных сборочных клиентов для АБФ]]}} | {{Навигационная полоса|Документация по теме "Сборочная среда ABF"|[[Краткое руководство по работе в сборочной среде ABF]] • [[Сборочная среда ABF]] • [[Сборочная среда ABF: сборка пакета с учётом его обратных зависимостей]] • [[Сборочный сервер: механизм работы]] • [[Создание собственных сборочных клиентов для АБФ]]}} | ||
+ | |||
+ | [[En:Automatic rebuild of package reverse dependencies]] |
Версия 15:33, 16 апреля 2012
Одной из особенностей ABF является возможность пересборки пакета вместе с его обратными зависимостями - в случае успешной сборки самого пакета, запускается пересборка всех пакетов, зависящих от него. Такой подход позволяет гарантировать, что репозиторий может в любой момент быть пересобран сам на себе. Например, автоматическая пересборка позволяет отследить влияние изменений в библиотеках на зависящие от них пакеты. Без пересборки, программы, собранные на старой версии библиотек, могут не работать либо работать неправильно с новыми версиями. При построении контейнера вычисляется дерево обратных зависимостей. Например, при сборке пакета «А» вычисляется, кому он нужен для сборки, например пакетам «Б» и «С», далее вычисляется кому нужны эти пакеты для сборки и тд.
Дерево строится уровнями
- gcc
- tar,kernel
- mc,firefox,mesa
Сборочный сервер собирает пакеты по уровням в несколько потоков, т.е сначала собирает 1 уровень, если сборка прошла успешно, то приступает к сборке 2 уровня и тд.
Если во время построения дерева были “петли” (пакету “А” нужен для сборки пакет “Б” , а пакету “Б” нужен “А”) то сборка будет происходить в 2 этапа: сначала соберутся все пакеты на все уровнях, далее они пересобирутся 2й раз, но с подключением результатов предыдущей сборки: