Развитие репозитория бинарных пакетов

portage.png

Calculate Linux использует единый репозиторий бинарных пакетов, имеющих расширение “xpak”, например xcb-proto-1.13-10.xpak. Для сборки пакетов используется 6 профилей: CBB, CB1-4 и CBS. Благодаря нескольким сборочным окружениям, любой пакет может быть собран с разным сочетанием USE-флагов. Последнее время таких пакетов становится всё больше.

Очередное развитие репозиторий получил благодаря интерсной особенности портежей - возможности подбирать совместимые по USE-флагам бинарные пакеты, даже если для сборки этого пакета используются другие флаги. Эта замечательная особенность портежей позволяет исключить блокировки при просчёте зависимостей. Например, для работы kde-apps/akonadi требуется dev-qt/qtsql с флагом “postgres”. В профиле distros:CLD этот флаг установлен, но вы не встретите блокировок даже если попытаетесь установить этот пакет на другом десктопе! Для примера попробуйте выполнить:

emerge -p akonadi

После выполнения вы увидите, что пакет dev-qt/qtsql будет установлен с USE флагом “postgres” отмеченным зелёным цветом. Этим пакетный менеджер указывает на то, что пакет будет использоваться отличный от дефолтного, но тоже бинарный.

Портежи смогли просчитать зависимости и подобрать подходящий бинарный пакет. Если же вы попытаетесь установить непосредственно пакет dev-qt/qtsql, то последует блокировка, т.к. будут использоваться дефолтные USE-флаги в которых для этого пакета, в профилях отличных от CLD, USE флаг “postgres” не прописан. Т.е. в дальнейшем для корректного просчёта зависимостей желательно выполнять обновление мира (emerge -uDNa world), что как раз и делает утилита cl-upate и её графический аналог. По аналогии с dev-qt/qtsql собран dev-lang/python с USE “tk” и без, x11-base/xorg-drivers с USE “nvidia” для установки x11-misc/bumblebee и без него т.д. Пример:

emerge -p bumblebee

Таким образом, CL плавно эволюционирует к истокам, когда каждый дистрибутив был оптимизирован под свои задачи. При этом сохраняются преимущества использования бинарных пакетов, а так же используется единый репозиторий.