<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><font face="DejaVu Sans">Мы сначала и использовали SHA1, но
        перешли на новую схему хэшей, т.к. пошли коллизии из-за того,
        что не всегда при пересборке пакетов меняется SHA1 хэш, а нам
        нужен уникальный признак каждого пакета.<br>
      </font></p>
    <p><font face="DejaVu Sans">В базе загружены все репозитории начиная
        с осени 2012 года<br>
        <br>
        <font face="monospace">┌─pkgset_nodename──┬────min(pkgset_date)─┐<br>
          │ 4.0              │ 2012-08-09 00:00:00 │<br>
          │ 4.1              │ 2012-08-09 00:00:00 │<br>
          │ 5.0              │ 2012-08-09 00:00:00 │<br>
          │ 5.1              │ 2012-08-09 00:00:00 │<br>
          │ alt-education    │ 2016-09-05 16:10:25 │<br>
          │ alt-kworkstation │ 2016-11-22 16:11:19 │<br>
          │ alt-server       │ 2016-09-13 17:59:43 │<br>
          │ alt-server-v     │ 2019-12-13 17:03:27 │<br>
          │ alt-workstation  │ 2016-08-15 14:23:28 │<br>
          │ c6               │ 2013-06-28 00:00:00 │<br>
          │ c7               │ 2013-10-16 00:00:00 │<br>
          │ c7.1             │ 2018-01-25 00:00:00 │<br>
          │ c8               │ 2017-02-23 00:00:00 │<br>
          │ c8.1             │ 2018-01-26 00:00:00 │<br>
          │ c9f1             │ 2021-02-09 00:00:00 │<br>
          │ c9f2             │ 2021-04-12 00:00:00 │<br>
          │ c9m1             │ 2020-11-06 00:00:00 │<br>
          │ c9m2             │ 2021-04-07 00:00:00 │<br>
          │ cloud            │ 2021-08-13 01:54:11 │<br>
          │ p10              │ 2021-07-22 00:00:00 │<br>
          │ p10_e2k          │ 2021-12-14 00:00:00 │<br>
          │ p5               │ 2012-08-11 00:00:00 │<br>
          │ p6               │ 2012-08-09 00:00:00 │<br>
          │ p7               │ 2013-04-26 00:00:00 │<br>
          │ p8               │ 2016-04-14 00:00:00 │<br>
          │ p9               │ 2019-05-15 00:00:00 │<br>
          │ p9_e2k           │ 2021-11-19 00:00:00 │<br>
          │ p9_mipsel        │ 2021-11-16 00:00:00 │<br>
          │ sisyphus         │ 2012-08-09 00:00:00 │<br>
          │ sisyphus_e2k     │ 2021-11-22 00:00:00 │<br>
          │ sisyphus_mipsel  │ 2021-11-21 00:00:00 │<br>
          │ sisyphus_riscv64 │ 2021-11-21 00:00:00 │<br>
          │ slinux           │ 2017-07-07 18:12:01 │<br>
          │ t6               │ 2012-08-09 00:00:00 │<br>
          │ t7               │ 2013-10-16 00:00:00 │<br>
          └──────────────────┴─────────────────────┘</font><br>
        <br>
      </font></p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">01.05.2023 15:38, Vitaly Lipatov пишет:<br>
    </div>
    <blockquote type="cite"
      cite="mid:dcefb6478765118849ae970a531681ce@altlinux.ru">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p id="reply-intro">Danil Shein писал(а) 28.4.23 9:03:</p>
      <blockquote type="cite" style="padding: 0 0.4em; border-left:
        #1010ff 2px solid; margin: 0">
        <div id="replybody1">
          <div>
            <p><span style="font-family: DejaVu Sans;">В проекте
                ALTRepoDB, часятми которого являются rdb.altlinux,org и
                packages.altlinux.org мы используем в качестве
                уникального идентификатора пакета хэш подсчитанный  на
                основе метаданных из хэдеров RPM пакета.<br>
              </span></p>
            <p><span style="font-family: DejaVu Sans;">При подсчёте хэша
                используется SHA1, MD5, GPG и buildtime - таким образом
                хэш меняется при любой пересборке пакета.</span></p>
          </div>
        </div>
      </blockquote>
      <div id="replybody1">
        <div>
          <p><span style="font-family: DejaVu Sans;">А почему
              недостаточно было просто SHA1 взять и не добавлять новый
              хэш?</span></p>
        </div>
      </div>
      <blockquote type="cite" style="padding: 0 0.4em; border-left:
        #1010ff 2px solid; margin: 0">
        <div id="replybody1">
          <div>
            <p><span style="font-family: DejaVu Sans;"><br>
                Подсчитать хэши легко можно и для установленных в
                системе пакетов используя данные из БД rpm.</span></p>
            <p><span style="font-family: DejaVu Sans;">А получить
                информацию о пакете уже через АПИ rdb.altlinux.org.<br>
                При необходимости можно добавить специальный запрос для
                проверки списка хэшей пакетов на принадлежность
                дистрибутиву и конкретному бранчу.</span></p>
          </div>
        </div>
      </blockquote>
      <p>Идея интересная и выглядит рабочей. Наверняка только она не
        признает разные пакеты из старых репозиториев.</p>
      <p><br>
      </p>
      <div id="signature">-- <br>
        <div class="pre" style="margin: 0; padding: 0; font-family:
          monospace">С уважением,<br>
          Виталий Липатов,<br>
          ALT Linux Team</div>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Devel@lists.altlinux.org">Devel@lists.altlinux.org</a>
<a class="moz-txt-link-freetext" href="https://lists.altlinux.org/mailman/listinfo/devel">https://lists.altlinux.org/mailman/listinfo/devel</a></pre>
    </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>