Утилита обновления системы cl-update во время синхронизации оверлеев и портежей может выполнить исправления системы (ревизии), среди которых:
# перенастройка пакетов без переустановки
# разрешение проблем с блокировками пакетов
# миграция софта (более гибко, чем мета-пакеты и сеты)
# исправление всевозможных ошибок
# миграция путей и настроек
Вся логика ревизий описана в шаблонах. Для этого существует событие обновления портежей.
Существует два типа ревизий: общие ревизии и ревизии обновлений world-файла, определяющего состав пакетов системы. Для предотвращения повторного выполнения, оба типа ревизий имеют свою нумерацию, которая сохраняется в файле ‘/etc/calculate/ini.env’.
В Calculate Linux начиная с 14 версии для этого отведены две секции ‘update’ и ‘update-distros’:
[update]
revision = ..
world = ..
[update-distros]
revision = ..
world = ..
В секции ‘update’ хранят свои изменения ревизии оверлея Calculate, в секции ‘update-distros’ ревизии оверлея Distros. С момента внедрения системы и до выхода 14-й версии дистрибутива, ревизий вышло около 100 и около 60 исправлений world-файла. Начиная с Calculate Linux 14, из-за разделения ревизий на два оверлея, счётчики ревизий были обнулены.
Ревизии оверлея Calculate выполняются для всех официальных дистрибутивов и их производных. Ревизии оверлея Distros выходят только для дистрибутивов этого оверлея. Владельцы своих профилей на Github или любом другом хостинге, по аналогии могут использовать секцию секцию в ini.env-файле с именем ‘update-XXX’, где XXX - название оверлея.
Пример из тестового оверлея Github:Lautre76:
[update-lautre76]
world = 2
В профиле Desktop-X вносятся изменения в world-файл, добавляя пакеты games-util/steam-launcher и www-client/firefox-bin.