6.1. Пакетный менеджер RPM
Все пакеты в Альт Платформа собираются в формате RPM.
RPM (RPM Package Manager) — это семейство пакетных менеджеров, применяемых в различных дистрибутивах GNU/Linux, в том числе и в проекте Sisyphus (Сизиф) и в дистрибутивах «Альт». Практически каждый крупный проект, использующий RPM, имеет свою версию пакетного менеджера, отличающуюся от остальных.
Между представителями семейства RPM могут иметься следующие различия:
наборы макросов, используемых в spec-файлах;
различное поведение RPM при сборке «по умолчанию» — при отсутствии каких-либо указаний в spec-файлах;
формат строк зависимостей;
мелкие отличия в семантике операций (например, в операциях сравнения версий пакетов);
мелкие отличия в формате файлов.
Для пользователя различия чаще всего заключаются в невозможности поставить «неродной» пакет из-за проблем с зависимостями или из-за формата пакета.
RPM в проекте Сизиф также не является исключением. Основные отличия RPM в «Альт» и Сизиф от RPM других крупных проектов:
обширный набор макросов для сборки различных типов пакетов;
отличающееся поведение «по умолчанию» для уменьшения количества шаблонного кода в spec-файлах;
наличие механизмов для автоматического поиска межпакетных зависимостей;
наличие так называемых set-version зависимостей (начиная с 4.0.4-alt98.46), обеспечивающих дополнительный контроль над изменением ABI-библиотек;
до p8 и выпусков 8.x включительно — очень древняя версия «базового» RPM (4.0.4), от которого началось развитие ветки RPM в Sisyphus (в Sisyphus и p9 осуществлен частичный переход на rpm 4.13).