Сборочная среда ABF: сборка пакета с учётом его обратных зависимостей

Материал из Rosalab Wiki
Перейти к: навигация, поиск


Одной из особенностей ABF является возможность пересборки пакета вместе с его обратными зависимостями - в случае успешной сборки самого пакета, запускается пересборка всех пакетов, зависящих от него. Такой подход позволяет гарантировать, что репозиторий может в любой момент быть пересобран сам на себе. Например, автоматическая пересборка позволяет отследить влияние изменений в библиотеках на зависящие от них пакеты. Без пересборки, программы, собранные на старой версии библиотек, могут не работать либо работать неправильно с новыми версиями. При построении контейнера вычисляется дерево обратных зависимостей. Например, при сборке пакета «А» вычисляется, кому он нужен для сборки, например пакетам «Б» и «С», далее вычисляется кому нужны эти пакеты для сборки и тд.
Дерево строится уровнями

  1. gcc
  2. tar,kernel
  3. mc,firefox,mesa

Сборочный сервер собирает пакеты по уровням в несколько потоков, т.е сначала собирает 1 уровень, если сборка прошла успешно, то приступает к сборке 2 уровня и тд.
Если во время построения дерева были “петли” (пакету “А” нужен для сборки пакет “Б” , а пакету “Б” нужен “А”) то сборка будет происходить в 2 этапа: сначала соберутся все пакеты на все уровнях, далее они пересобирутся 2й раз, но с подключением результатов предыдущей сборки:

Bbdt.jpg
Документация по теме «Сборочная среда ABF»