[devel] Промежуточные сабтаски в сборочных заданиях
Paul Wolneykien
manowar на altlinux.org
Сб Ноя 2 16:38:48 MSK 2024
В Sat, 2 Nov 2024 16:46:14 +0400
"Ivan A. Melnikov" <iv на altlinux.org> пишет:
> On Sat, Nov 02, 2024 at 03:18:01PM GMT, Paul Wolneykien wrote:
> > В Sat, 2 Nov 2024 14:27:17 +0300
> > Paul Wolneykien <manowar на altlinux.org> пишет:
> >
> > Даже не так. Чтобы убедиться в том, что бутстрап сработал, нужно
> > будет сделать
> >
> > ssh girar task uses N2 del N1
> > ssh girar task uses N2 add N2
> > ssh girar task run N2
> >
> > То есть собрать N2 в своём собственном окружении, уже без N1.
> > Правда, для этого нужно, чтобы репозиторий try n был доступен
> > для try n+1. Но после сборки try n+1 его можно удалять.
>
> Так точно не надо.
>
> Одной из важных характеристик текущей модели girar
> является воспроизводимость, понимаемая как возможность
> взять то же самое и сделать ещё раз.
Погоди, это же бутстрап --- он очень трудно воспроизводим по
определению. Сборка компилятора версии N+1 проходит с
использованием компилятора версии N. Но воспроизвести эту сборку
очень не просто. Во-первых, если в спеке не было явного Requires:
X == N, то после того, как N+1 прошёл в Сизиф, его rebuild будет
собираться тоже с N+1. Во-вторых, когда бутстрап действительно
завершён, версия N может быть удалена и, рано или поздно, будет
удалена. Отсюда понятно, что единственное стабильно воспроизводимое
состояние --- это rebuild пакета с самим собой. Или я что-то не
так понимаю?
Вон, ребята из соседнего цеха занимаются археологией Java. И вот
совершенно не похоже на "взять то же самое и сделать ещё раз". :)
> Идея догоняющей сборки опирается на неё существенным образом.
>
> Чтобы точно завершить бутстрап достаточно добавить
> в цепочку таску с ребилдом.
>
Подробная информация о списке рассылки Devel