[devel] Воспроизводимая сборка пакетов (Was: detect macro mismatches between old built packages and new ones? Re: hsh --query-repackage Re: ACL request for perl update to 5.30)
Ivan Zakharyaschev
imz на altlinux.org
Пт Дек 6 23:45:25 MSK 2019
On Fri, 6 Dec 2019, Vladimir D. Seleznev wrote:
> On Thu, Dec 05, 2019 at 11:10:02PM +0300, Ivan Zakharyaschev wrote:
> > On Thu, 5 Dec 2019, Dmitry V. Levin wrote:
> >
> > > On Thu, Dec 05, 2019 at 05:57:17PM +0300, Sergey Bolshakov wrote:
> > > > >>>>> "Ivan" == Ivan Zakharyaschev <imz-u2l5PoMzF/Vg9hUCZPvPmw на public.gmane.org> writes:
> > > > [skipped]
> > > >
> > > > >> Есть и другое мнение, которое сводится примерно к тому, что
> > > > >> опубликованное на ftp.a.o было бы хорошо содержать в виде, пригодном
> > > > >> для простого hsh path/to/src.rpm
> > > >
> > > > > Мнение, конечно, разумное. Но можно предлагать использовать просто:
> > > >
> > > > > hsh --query-repackage path/to/src.rpm
> > > > > Можно считать это способом по умолчанию. (Более вычислительно нагруженный,
> > > > > зато так, как теперь в girar по умолчанию.)
> > > >
> > > > Дело не в ключах вызова hsh, по большому счёту.
> > > > Сейчас в опубликованных src.rpm написано: собрано быть не может, simple as.
> > > > Впору спросить себя -- зачем мы их вообще выкладываем.
> > >
> > > Хороший вопрос. Вероятно, для тестовой пересборки, она их использует.
> > >
> > > Кстати, в сборочнице используется hsh-rebuild --query-repackage.
> > > Иначе бы тот пакет, о котором идёт речь, даже не собрался бы.
> >
> > Как тут в этом обсуждении говорили, как я понял, при пересборке этого
> > пакета в нынешней среде Sisyphus получается какой-то не очень разумный
> > результат. (Поправьте, если я неправильно понял.) Т.е. претензия даже не в
> > том, что результат другой, но и что плохой. Стал плохим после того, как
> > значение макроса изменилось.
> >
> > И вообще, это, конечно, не очень хорошая ситуация (даже если результат
> > другой, а не плохой). Потому что получается что на текущем состоянии
> > репозитория мы не можем (не важно с какой опцией hsh) воспроизвести сборку
> > некоторых пакетов, которые там лежат. Т.е. например, в дистрибутив попали
> > они в старом виде, а если нас просят для сертификации воспроизвести сборку
> > и доказать, что получается такой результат, это сделать не получается.
>
> О воспроизводимости сборки имеет смысл говорить только в том же
> сборочном окружении, в котором собирался пакет. Т.к. мы журналируем
Да, я говорил о воспроизводимости в другом смысле. Можно так сказать:
актуальны ли сохранённые в репозитории пакеты или при их пересборке в
текущем репозитории получится другой результат. (Если другой, то это может
противоречить задумке авторов изменения макросов и других сборочных
инструментов: они считают, что правильнее делать по-новому.) Говорю о
помощи в улучшении текущего репозитория и всех пакетов, а не о раскопках с
целью убедить, что в истории пакета нет обмана.
> Что касается сертифицикации, то, возможно, самым простым решением будет
> сразу после бранчевания делать пересборку всех тех пакетов, что пойдут
> на сертификацию, и после этого доказать (статистически)
> воспроизводимость уже этой сборки.
>
> Про воспроизводимость сборки можно почитать тут [3].
>
> > Можно было бы добавить механизм автоматического отслеживания значений
> > макросов, использованных при сборке пакета, так чтобы в случае изменения
> > значения возникало нечто аналогичное unmets сейчас. Т.е. пакет, меняющий
> > значение макроса, использованного для сборки других пакетов, нельзя
> > закоммитить, не пересобрав все пакеты, на которые он может повлиять.
> >
> > (Я такие механизмы уже некоторое время назад обдумывал.)
> >
> > С одной стороны, больше труда при сборке пакетов с макросами, с другой
> > стороны, мы приобретаем лучшую готовность к пересборке пакетов на текущем
> > состоянии репозитория (по тем или иным причнам: пресборка ради
> > сертификации; пересборка с патчем -- плохо, если неожиданно сборка с
> > патчем начнёт приводить совсем не к тому виду пакета, к которому
> > привыкли).
>
> Ссылки:
> [1] http://ftp.altlinux.org/pub/distributions/archive/sisyphus/index/src/
> [2] http://ftp.altlinux.org/pub/distributions/archive/sisyphus/task/archive/
> [3] https://reproducible-builds.org/
>
> --
> С уважением,
> Владимир Селезнев
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
Подробная информация о списке рассылки Devel