[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