RPM: различия между версиями
Asy (обсуждение | вклад) (→Документация: + раздел "примечания") |
Asy (обсуждение | вклад) (ссылка на письмо с кратким описанием set-version) |
||
Строка 19: | Строка 19: | ||
* наличие механизмов для автоматического поиска межпакетных зависимостей, | * наличие механизмов для автоматического поиска межпакетных зависимостей, | ||
* очень древняя версия «базового» RPM, от которого началось развитие ветки RPM в Sisyphus (в дистрибутивах, основанных на ветках до p8 включительно), | * очень древняя версия «базового» RPM, от которого началось развитие ветки RPM в Sisyphus (в дистрибутивах, основанных на ветках до p8 включительно), | ||
* наличие так называемых set-version зависимостей (начиная с 4.0.4-alt98.46), обеспечивающих дополнительный контроль за изменением ABI библиотек. | * наличие так называемых set-version зависимостей (начиная с 4.0.4-alt98.46), обеспечивающих дополнительный контроль за изменением ABI библиотек<ref>[https://lists.altlinux.org/pipermail/devel/2010-October/185036.html сообщение at@ об изменениях в rpm, связанных с set-version]</ref>. | ||
== Документация == | == Документация == |
Версия от 17:54, 24 сентября 2018
RPM — это семейство пакетных менеджеров, применяемых в различных дистрибутивах GNU/Linux, в том числе и в проекте Sisyphus и в дистрибутивах ALT Linux. Практически каждый крупный проект, использующий RPM, имеет свою версию пакетного менеджера, отличающуюся от остальных.
Различия между представителями семейства RPM выражаются в
- наборе макросов, используемых в .spec-файлах,
- различном поведении RPM при сборке «по умолчанию» — при отсутствии каких-либо указаний в .spec-файлах,
- формате строк зависимостей,
- мелких отличиях в семантике операций (например, в операциях сравнения версий пакетов),
- мелких отличиях в формате файлов.
Для пользователя различия чаще всего заключаются в невозможности поставить «неродной» пакет из-за проблем с зависимостями или из-за формата пакета.
RPM в проекте Sisyphus также не является исключением. Основные особенности RPM в ALT Linux и Sisyphus от RPM других крупных проектов заключаются в следующем:
- обширный набор макросов для упаковки различных типов пакетов,
- отличающееся поведение «по умолчанию» для уменьшения количества шаблонного кода в .spec-файлах,
- наличие механизмов для автоматического поиска межпакетных зависимостей,
- очень древняя версия «базового» RPM, от которого началось развитие ветки RPM в Sisyphus (в дистрибутивах, основанных на ветках до p8 включительно),
- наличие так называемых set-version зависимостей (начиная с 4.0.4-alt98.46), обеспечивающих дополнительный контроль за изменением ABI библиотек[1].
Документация
На данный момент список макросов spec-файлов и их смысл исчерпывающе документирован только в самих файлах с определениями макросов (/usr/lib/rpm и /etc/rpm/macros.d).