<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><font face="DejaVu Sans">В проекте ALTRepoDB, часятми которого
являются rdb.altlinux,org и packages.altlinux.org мы используем
в качестве уникального идентификатора пакета хэш подсчитанный
на основе метаданных из хэдеров RPM пакета.<br>
</font></p>
<p><font face="DejaVu Sans">При подсчёте хэша используется SHA1,
MD5, GPG и buildtime - таким образом хэш меняется при любой
пересборке пакета.<br>
Подсчитать хэши легко можно и для установленных в системе
пакетов используя данные из БД rpm.<br>
А получить информацию о пакете уже через АПИ rdb.altlinux.org.<br>
При необходимости можно добавить специальный запрос для проверки
списка хэшей пакетов на принадлежность дистрибутиву и
конкретному бранчу.</font></p>
<p><br>
</p>
<div class="moz-cite-prefix">28.04.2023 01:15, Vitaly Lipatov пишет:<br>
</div>
<blockquote type="cite"
cite="mid:7dd370b087a8b0bcfc6cdc4530203e70@altlinux.ru">Хотелось
бы иметь способ узнать происхождение пакета: взят ли он из
репозитория (в том числе конкретного стабильного репозитория), а в
идеале бы ещё и знать, что пакет прошёл QA.
<br>
<br>
Наверное, можно принять допущение, что при этом пакет имеет
актуальную версию (последнюю, соответствующую версии в
репозитории) и установлен в систему из подписанного репозитория.
<br>
<br>
Вопрос возник из обсуждения
<br>
<a class="moz-txt-link-freetext" href="https://bugzilla.altlinux.org/show_bug.cgi?id=44314#c44">https://bugzilla.altlinux.org/show_bug.cgi?id=44314#c44</a>
<br>
<br>
Предварительно, пакет может быть
<br>
- из репозитория
<br>
- из какого-то другого репозитория
<br>
- установлен со стороны
<br>
- перепакован из чего-то с помощью epm repack
<br>
<br>
</blockquote>
<div class="moz-signature">-- <br>
<pre style="color:gray;"><b>Данил Шеин / Danil Shein</b>
<a class="moz-txt-link-abbreviated" href="mailto:dshein@altlinux.org">dshein@altlinux.org</a>
<a class="moz-txt-link-abbreviated" href="mailto:dshein@basealt.ru">dshein@basealt.ru</a>
</pre>
</div>
</body>
</html>