RPM: различия между версиями

Материал из ALT Linux Wiki
(ссылка на письмо с кратким описанием set-version)
Нет описания правки
 
(не показано 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
[[Категория:Sisyphus]]
[[Категория:Sisyphus]]
[[Категория:RPM]]
[[Категория:RPM]]
[[en:RPM]]
{{Stub}}
{{Stub}}


'''RPM''' — это ''семейство'' пакетных менеджеров, применяемых в различных дистрибутивах GNU/Linux, в том числе и в проекте [[Sisyphus]] и в дистрибутивах [[ALT Linux]]. Практически каждый крупный проект, использующий RPM, имеет свою версию пакетного менеджера, отличающуюся от остальных.
'''RPM''' — это ''семейство'' [http://www.linuxlib.ru/Linux/idealsa.htm пакетных менеджеров], применяемых в различных дистрибутивах GNU/Linux, в том числе и в проекте [[Sisyphus]] и в дистрибутивах [[ALT Linux]]. Практически каждый крупный проект, использующий RPM, имеет свою версию пакетного менеджера, отличающуюся от остальных.


Различия между представителями семейства RPM выражаются в
Различия между представителями семейства RPM выражаются в
Строка 18: Строка 19:
* отличающееся поведение «по умолчанию» для уменьшения количества шаблонного кода в <tt>.spec</tt>-файлах,
* отличающееся поведение «по умолчанию» для уменьшения количества шаблонного кода в <tt>.spec</tt>-файлах,
* наличие механизмов для автоматического поиска межпакетных зависимостей,
* наличие механизмов для автоматического поиска межпакетных зависимостей,
* очень древняя версия «базового» RPM, от которого началось развитие ветки RPM в Sisyphus (в дистрибутивах, основанных на ветках до p8 включительно),
* наличие так называемых set-version зависимостей (начиная с 4.0.4-alt98.46), обеспечивающих дополнительный контроль за изменением ABI библиотек<ref>[https://lists.altlinux.org/pipermail/devel/2010-October/185036.html сообщение at@ об изменениях в rpm, связанных с set-version]</ref>,
* наличие так называемых set-version зависимостей (начиная с 4.0.4-alt98.46), обеспечивающих дополнительный контроль за изменением ABI библиотек<ref>[https://lists.altlinux.org/pipermail/devel/2010-October/185036.html сообщение at@ об изменениях в rpm, связанных с set-version]</ref>.
* до p8 и выпусков 8.x включительно -- очень древняя версия «базового» RPM (4.0.4), от которого началось развитие ветки RPM в Sisyphus (в Sisyphus и p9 осуществлён частичный переход на rpm 4.13<ref>[https://lists.altlinux.org/pipermail/sisyphus/2016-December/365676.html сообщение glebfm@ о переходе на rpm 4.13]</ref><ref>[[Rpm-4.13|описание состояния портирования фич ALT в rpm 4.13]]</ref>).


== Документация ==
== Документация ==
Строка 25: Строка 26:


На данный момент список макросов [[spec]]-файлов и их смысл исчерпывающе документирован только в самих файлах с определениями макросов (<tt>/usr/lib/rpm</tt> и <tt>/etc/rpm/macros.d</tt>).
На данный момент список макросов [[spec]]-файлов и их смысл исчерпывающе документирован только в самих файлах с определениями макросов (<tt>/usr/lib/rpm</tt> и <tt>/etc/rpm/macros.d</tt>).
= Ссылки =
* [http://www.linuxlib.ru/Linux/idealsa.htm Идеальный сисадмин: RPM] (pilot@)
* лекции george@ на uneex.ru: [http://www.uneex.ru/static/AltDocs_linux_intro/Package.html Пакеты], [http://www.uneex.ru/LecturesCMC/PackageMaintaining2009 Сопровождение пакетов в Linux], [http://www.uneex.ru/LecturesCMC/Distro2016 Архитектура дистрибутивов Linux]


= Примечания =
= Примечания =

Текущая версия от 00:16, 3 июля 2024

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


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

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

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

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

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

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

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

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

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

Ссылки

Примечания