RPM/rpmvercmp: различия между версиями
< RPM
Vt (обсуждение | вклад) Нет описания правки |
Vt (обсуждение | вклад) Нет описания правки |
||
Строка 16: | Строка 16: | ||
* При локальной сборке DISTTAG отсутствует (его выставляет только сборочница). | * При локальной сборке DISTTAG отсутствует (его выставляет только сборочница). | ||
* В имени файла пакета и в имени пакета как его выводит <code>rpm -q</code> указана только VERSION-RELEASE, а эпоха отсутствует (так как идея в том что она нужна только маинтайнеру для внутренних нужд). | * В имени файла пакета и в имени пакета как его выводит <code>rpm -q</code> указана только VERSION-RELEASE, а эпоха отсутствует (так как идея в том что она нужна только маинтайнеру для внутренних нужд). | ||
* Так как VERSION и RELEASE не содержат дефисов их можно легко выделить из названия пакета отрезав два последних компонента строки | * Так как VERSION и RELEASE не содержат дефисов их можно легко выделить из названия пакета отрезав два последних компонента строки разделенных дефисами. | ||
= Сравнение версий пакетов = | = Сравнение версий пакетов = |
Версия от 01:47, 21 июня 2023
Полная версия для пакета kernel-image-std-def-debuginfo-6.1.33-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+322849.100.1.1
DISTTAG (бранч
+номер задания
.подзадание
.итерация
.попытка
). Эта строка доступна при сборке в макросе%disttag
.1686572661
BUILDTIME (в unixtime)- строка с эпохой, версией и релизом
2:6.1.33-alt1
так же называется EVR.
Эти параметры можно получить соответствующим запросом, например
$ rpmquery -p kernel-image-std-def-debuginfo-6.1.33-alt1.x86_64.rpm --qf '%{EVR}\n' 2:6.1.33-alt1
- При локальной сборке DISTTAG отсутствует (его выставляет только сборочница).
- В имени файла пакета и в имени пакета как его выводит
rpm -q
указана только VERSION-RELEASE, а эпоха отсутствует (так как идея в том что она нужна только маинтайнеру для внутренних нужд). - Так как VERSION и RELEASE не содержат дефисов их можно легко выделить из названия пакета отрезав два последних компонента строки разделенных дефисами.
Сравнение версий пакетов
rpmvercmp
Утилита rpmvercmp
сравнивает только версию
(VERSION) без релиза и пр.
rpmevrcmp
Утилита rpmevrcmp
сравнивает только эпоху:версию-релиз
(EVR) без дисттэга.