Карта зависимостей в Fedora

Одной из интересных задач, стоящих перед нашим коммьюнити, это разработка публично доступного механизма для бутстрапа системы. Во-1 периодически находятся энтузиасты, что переносят дистрибутив на новые платформы, а во-2 это интересно многим вендорам - полная пересборка RHEL. Важно отладить процесс до полностью автоматического режима, т.к. делать это вручную или самописными скриптами, это Dorogo & Glupo.

Для бутстрапа надо собрать не только дерево пакетов, но и инструменты для сборки дерева. А лучше потом собранными инструментами собрать инструменты еще раз. Эта работа тесно связана с еще одной задачей - ядро системы (Fedora Core) должно содержать как можно меньше пакетов, чтобы кросс-компиляция занимала меньше времени. Важно, что время уйдет в т.ч. на построение дерева зависимостей, и последующее распутывание получившегося постоянными пересборками. Смело скажем, не скрывая горькой правды, что Fedora тут сильно отстает от некоторых других дистрибутивов. Как говорят те, кто пробовал, пересобрать с нуля тот-же Debian или SUSE получится гораздо легче, чем пересобрать Fedora или RHEL. Но работа по исправлению этой ситуации ведется.

Наши коллеги, Harald Hoyer и Phil Knirsch решили построить граф зависимостей между пакетами ядра системы, и вот что у них получилось:

Self-Hosting kernel build requirements


Можно сказать, что это политическая карта пакетов Fedora.