[devel] Как узнать, что пакет установлен из репозитория?
Anton Farygin
rider на basealt.ru
Вт Май 2 11:30:08 MSK 2023
On 02.05.2023 11:25, Dmitry V. Levin wrote:
> On Tue, May 02, 2023 at 11:09:02AM +0300, Anton Farygin wrote:
>> On 02.05.2023 11:04, Anton Farygin wrote:
>>> On 02.05.2023 11:01, Dmitry V. Levin wrote:
>>>> On Tue, May 02, 2023 at 10:47:57AM +0300, Anton Farygin wrote:
>>>>> On 02.05.2023 10:46, Dmitry V. Levin wrote:
>>>>>> On Tue, May 02, 2023 at 08:31:43AM +0300, Danil Shein wrote:
>>>>>>> Мы сначала и использовали SHA1, но перешли на новую схему хэшей, т.к.
>>>>>>> пошли коллизии из-за того, что не всегда при пересборке пакетов
>>>>>>> меняется
>>>>>>> SHA1 хэш, а нам нужен уникальный признак каждого пакета.
>>>>>> Интересно, а что тогда меняется в пакете, если SHA1 в нём не меняется?
>>>>> sha1header только от заголовка. Насколько я помню подпись пакета не
>>>>> входит
>>>> Подпись, конечно, не входит, но какой смысл различать пакеты, у которых
>>>> sha1header совпадает? Даже сборочница считает такие пакеты
>>>> эквивалентными.
>>>>
>>> Они не могут быть эквивалентными, т.к. у них не совпадают контрольные
>>> суммы (md5sum и sha512)
>>>
>>> Когда мы перестаём их считать эквивалентными, то у нас начинают
>>> появляться дубли из-за изменённой sha512 и md5, которые используются в
>>> аптовых хешах и репозитории.
>>>
>> Непонятно написал. Если мы будем считать что пакеты с одинаковой
>> sha1header и разными md5sum/sha512 мы начинаем считать одинаковыми, то у
>> нас исчезает информация в базе о контрольной сумме файла с пакетом. А
> Пакеты эквивалентные, но файлы не совпадают.
>
> В теории, например, можно переподписать srpm (например, из-за смены ключа)
> и отправить его на сборку, сборочница будет обрабатывать это почти как
> rebuild, потому что пакеты эквивалентные, хоть файлы и не совпадают.
>
>
Ну да, и мы получим снова дубли, т.к. sha1header останется таким же, а
бинарные пакеты (разные) будут собраны из одного и того же src.rpm,
который на самом деле отличается, т.к. его переподписали.
В общем оказалось удобнее считать все пакеты разными (по всем
контрольным суммам) и соотвественно этому строить отношения src<->binary
Подробная информация о списке рассылки Devel