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