RPM

Материал из ALT Linux Wiki
Версия от 18:07, 24 сентября 2018; Asy (обсуждение | вклад) (добавлены ссылки про rpm 4.13)
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


RPM — это семейство пакетных менеджеров, применяемых в различных дистрибутивах GNU/Linux, в том числе и в проекте Sisyphus и в дистрибутивах ALT Linux. Практически каждый крупный проект, использующий RPM, имеет свою версию пакетного менеджера, отличающуюся от остальных.

Различия между представителями семейства RPM выражаются в

  • наборе макросов, используемых в .spec-файлах,
  • различном поведении RPM при сборке «по умолчанию» — при отсутствии каких-либо указаний в .spec-файлах,
  • формате строк зависимостей,
  • мелких отличиях в семантике операций (например, в операциях сравнения версий пакетов),
  • мелких отличиях в формате файлов.

Для пользователя различия чаще всего заключаются в невозможности поставить «неродной» пакет из-за проблем с зависимостями или из-за формата пакета.

RPM в проекте Sisyphus также не является исключением. Основные особенности RPM в ALT Linux и Sisyphus от RPM других крупных проектов заключаются в следующем:

  • обширный набор макросов для упаковки различных типов пакетов,
  • отличающееся поведение «по умолчанию» для уменьшения количества шаблонного кода в .spec-файлах,
  • наличие механизмов для автоматического поиска межпакетных зависимостей,
  • очень древняя версия «базового» RPM, от которого началось развитие ветки RPM в Sisyphus (в дистрибутивах, основанных на ветках до p8 включительно; в Sisyphus осуществлён частичный переход на rpm 4.13[1][2]),
  • наличие так называемых set-version зависимостей (начиная с 4.0.4-alt98.46), обеспечивающих дополнительный контроль за изменением ABI библиотек[3].

Документация

Логотип Википедии
В Википедии есть обзорная статья по теме «RPM».

На данный момент список макросов spec-файлов и их смысл исчерпывающе документирован только в самих файлах с определениями макросов (/usr/lib/rpm и /etc/rpm/macros.d).

Примечания