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

Материал из ALT Linux Wiki
< RPM
Нет описания правки
Нет описания правки
Строка 16: Строка 16:
= Сравнение версий пакетов =
= Сравнение версий пакетов =
== rpmvercmp ==
== rpmvercmp ==
Утилита <code>rpmvercmp</code> сравнивает только <code>версию</code> (VERSION) без релиза и пр.
Утилита <code>rpmvercmp</code> сравнивает только <code>версию</code> ('''VERSION''') без релиза и пр.


== rpmevrcmp ==
== rpmevrcmp ==
Утилита <code>rpmevrcmp</code> сравнивает только <code>эпоху:версию-релиз</code> (EVR) без дисттэга.
Утилита <code>rpmevrcmp</code> сравнивает только <code>эпоху:версию-релиз</code> ('''EVR''') без дисттэга.

Версия от 22:34, 20 июня 2023

Полная версия для пакета kernel-image-std-def-debuginfo-6.1.34-alt1.x86_64.rpm может выглядеть так:

kernel-image-std-def-debuginfo#2:6.1.33-alt1:sisyphus+322849.100.1.1@1686572661
  • kernel-image-std-def-debuginfo NAME — имя пакета (может содержать дефисы) включающее компонент (тут debuginfo)
  • 2 EPOCH (эпоха — натуральное число, наиболее приоритетная часть версии, но при этом не входит в имя файла пакета, используется для того, чтоб пакет более новый пакет с меньшей версией был старше чем пакет с меньшей версией, например если апстрим поменял схему версионирования)
  • 6.1.33 VERSION (не содержит дефисов)
  • alt1 RELEASE (не содержит дефисов)
  • sisyphus+323018.100.1.1 DISTTAG (бранч+номер задания. подзадание.итерация.попытка). Эта строка доступна при сборке в макросе %disttag.
  • 1686572661 BUILDTIME (в unixtime)
  • строка с эпохой, версией и релизом 2:6.1.33-alt1 так же называется EVR.

Эти параметры можно получить соответствующим запросом, например

$ rpmquery -p kernel-image-std-def-debuginfo-6.1.34-alt1.x86_64.rpm --qf '%{EVR}\n'
2:6.1.34-alt1

Сравнение версий пакетов

rpmvercmp

Утилита rpmvercmp сравнивает только версию (VERSION) без релиза и пр.

rpmevrcmp

Утилита rpmevrcmp сравнивает только эпоху:версию-релиз (EVR) без дисттэга.