* [devel] Промежуточные сабтаски в сборочных заданиях
@ 2024-11-01 15:46 Ajrat Makhmutov
2024-11-01 16:01 ` Paul Wolneykien
2024-11-01 18:31 ` Ivan A. Melnikov
0 siblings, 2 replies; 19+ messages in thread
From: Ajrat Makhmutov @ 2024-11-01 15:46 UTC (permalink / raw)
To: devel
Привет всем! Предлагаю добавить новый формат сабтасков: промежуточные
сабтаски.
Промежуточные сабтаски- это сабтаски с пакетами более низких версий,
которые косвенно или прямо нужны для сборки этого же пакета более
высокой версии из этого же таска и которые при коммите задания не
попадают в репозиторий. Под "косвенно" имею ввиду при сборке кольцевых
зависимостей.
Такое изменение значительно упростит поддержание и отправку в стабильные
репозитории пакеты, которые зависят от себя же, и пакеты с кольцевыми
зависимостями.
Ответ от @glebfm: "Но мой пойнт в целом в том, что это большой хак,
который к тому же предполагает сильное переписывание сборочницы".
Как это будет работать на примере с rust: Сейчас в p10 версия 1.75.0, в
сизифе 1.82.0.Добавляем в задание: #100 - rust-1.76.0-alt1, #200 -
rust-1.77.0-alt1, #300 - rust-1.78.0-alt1, #400 - rust-1.79.0-alt1, #500
- rust-1.80.0-alt1, #600 - rust-1.81.0-alt1, #700 - rust-1.82.0-alt1.
Сабтаски с номерами 100-600 не попадают в репозиторий и являются
промежуточными, сабтаск #700 успешно отправляется в репозиторий.
Пример с кольцевой зависимостью модулей lua: у busted, фреймворка для
тестирования, есть runtime зависимость penlight, для тестирования
penlight нужен busted. Добавляем в задание: #100 - penlight-1.14.0-alt1
(без %check), #200 - busted-2.2.0-alt1, #300 - penlight-1.14.0-alt2.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-01 15:46 [devel] Промежуточные сабтаски в сборочных заданиях Ajrat Makhmutov
@ 2024-11-01 16:01 ` Paul Wolneykien
2024-11-01 18:31 ` Ivan A. Melnikov
1 sibling, 0 replies; 19+ messages in thread
From: Paul Wolneykien @ 2024-11-01 16:01 UTC (permalink / raw)
To: ALT Linux Team development discussions
В Fri, 1 Nov 2024 18:46:08 +0300
Ajrat Makhmutov <ajratma@basealt.ru> пишет:
> Привет всем! Предлагаю добавить новый формат сабтасков: промежуточные
> сабтаски.
>
> Промежуточные сабтаски- это сабтаски с пакетами более низких версий,
> которые косвенно или прямо нужны для сборки этого же пакета более
> высокой версии из этого же таска и которые при коммите задания не
> попадают в репозиторий. Под "косвенно" имею ввиду при сборке кольцевых
> зависимостей.
> Такое изменение значительно упростит поддержание и отправку в стабильные
> репозитории пакеты, которые зависят от себя же, и пакеты с кольцевыми
> зависимостями.
>
> Ответ от @glebfm: "Но мой пойнт в целом в том, что это большой хак,
> который к тому же предполагает сильное переписывание сборочницы".
Тут недавно прошла инфа о том, что у нас с <год>.<месяц> появилась
возможность запускать hasher внутри hasher. Если на сборочнице это
поддерживается то, возможно, удастся организовать что-то вроде
вложенной сборочницы в рамках одного сабтаска. Однако я не имею в виду,
что в примере ниже все версии rust следует упаковать в один SRPM. Тут,
конечно, нужен какой-то более гибкий подход, не оставляющий таких
чудовищных следов в истории сборок пакета.
> Как это будет работать на примере с rust: Сейчас в p10 версия 1.75.0, в
> сизифе 1.82.0.Добавляем в задание: #100 - rust-1.76.0-alt1, #200 -
> rust-1.77.0-alt1, #300 - rust-1.78.0-alt1, #400 - rust-1.79.0-alt1, #500
> - rust-1.80.0-alt1, #600 - rust-1.81.0-alt1, #700 - rust-1.82.0-alt1.
> Сабтаски с номерами 100-600 не попадают в репозиторий и являются
> промежуточными, сабтаск #700 успешно отправляется в репозиторий.
>
> Пример с кольцевой зависимостью модулей lua: у busted, фреймворка для
> тестирования, есть runtime зависимость penlight, для тестирования
> penlight нужен busted. Добавляем в задание: #100 - penlight-1.14.0-alt1
> (без %check), #200 - busted-2.2.0-alt1, #300 - penlight-1.14.0-alt2.
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-01 15:46 [devel] Промежуточные сабтаски в сборочных заданиях Ajrat Makhmutov
2024-11-01 16:01 ` Paul Wolneykien
@ 2024-11-01 18:31 ` Ivan A. Melnikov
2024-11-01 19:11 ` Paul Wolneykien
2024-11-02 8:55 ` Sergey V Turchin
1 sibling, 2 replies; 19+ messages in thread
From: Ivan A. Melnikov @ 2024-11-01 18:31 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Fri, Nov 01, 2024 at 06:46:08PM GMT, Ajrat Makhmutov wrote:
> Привет всем! Предлагаю добавить новый формат сабтасков: промежуточные
> сабтаски.
>
[...]
> Такое изменение значительно упростит поддержание и отправку в стабильные
> репозитории пакеты, которые зависят от себя же, и пакеты с кольцевыми
> зависимостями.
Действительно, тут есть некое противоречие: регламент обновления
стабильной ветки предполагает определённую целостность и ценность
результата сборки для каждой таски, а в случае бутстрапа это
не всегда так.
> Ответ от @glebfm: "Но мой пойнт в целом в том, что это большой хак, который
> к тому же предполагает сильное переписывание сборочницы".
Может, возможно подойти к вопросу с другой стороны: не запихивать
все промежуточные этапы в одну задачу, а выстраивать цепочки
зависимых задач, способных использовать результаты сборки
друг друга, и закоммититься только всей пачкой (т.е. либо
все задачи из такой цепочки, либо ниодной)?
Кстати, если дать таким цепочкам имена, возможно, мы получим
очередной подход к карманам.
--
wbr,
iv m.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-01 18:31 ` Ivan A. Melnikov
@ 2024-11-01 19:11 ` Paul Wolneykien
2024-11-01 19:26 ` Paul Wolneykien
2024-11-02 8:58 ` [devel] " Sergey V Turchin
2024-11-02 8:55 ` Sergey V Turchin
1 sibling, 2 replies; 19+ messages in thread
From: Paul Wolneykien @ 2024-11-01 19:11 UTC (permalink / raw)
To: devel
В Fri, 1 Nov 2024 22:31:59 +0400
"Ivan A. Melnikov" <iv@altlinux.org> пишет:
> On Fri, Nov 01, 2024 at 06:46:08PM GMT, Ajrat Makhmutov wrote:
> > Привет всем! Предлагаю добавить новый формат сабтасков: промежуточные
> > сабтаски.
> >
> [...]
> > Такое изменение значительно упростит поддержание и отправку в стабильные
> > репозитории пакеты, которые зависят от себя же, и пакеты с кольцевыми
> > зависимостями.
>
> Действительно, тут есть некое противоречие: регламент обновления
> стабильной ветки предполагает определённую целостность и ценность
> результата сборки для каждой таски, а в случае бутстрапа это
> не всегда так.
>
> > Ответ от @glebfm: "Но мой пойнт в целом в том, что это большой хак, который
> > к тому же предполагает сильное переписывание сборочницы".
>
> Может, возможно подойти к вопросу с другой стороны: не запихивать
> все промежуточные этапы в одну задачу, а выстраивать цепочки
> зависимых задач, способных использовать результаты сборки
> друг друга, и закоммититься только всей пачкой (т.е. либо
> все задачи из такой цепочки, либо ниодной)?
Насколько я понял, Айрат же как раз хочет только последний
результат, _без_ промежуточных. А цепочки тасков у нас и так есть,
только без возможности использования тасков в сборочных окружениях.
Если последнее реализовать, то тогда можно было бы сказать:
$ ssh girar task new
$ ssh girar task add N1 rust1
$ ssh girar task run N1 --temporary
$ ssh girar task new
$ ssh girar task add N2 rust2
$ ssh girar task uses N2 add N1
$ ssh girar task run N2 --commit
Причём, uses аналогично deps но дополнительно ещё и делает
репозиторий N1 доступным для задания N2. Опция --temporary
аналогична --test-only, но с той разницей, что после коммита
N2 в репозиторий, N1 автоматически удаляется.
Мне кажется, что доступность репозитория задания для другого
задания сделать, всё же, легче, чем доступность сабтасков друг
для друга.
> Кстати, если дать таким цепочкам имена, возможно, мы получим
> очередной подход к карманам.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-01 19:11 ` Paul Wolneykien
@ 2024-11-01 19:26 ` Paul Wolneykien
2024-11-01 20:56 ` ajratma
2024-11-02 8:58 ` [devel] " Sergey V Turchin
1 sibling, 1 reply; 19+ messages in thread
From: Paul Wolneykien @ 2024-11-01 19:26 UTC (permalink / raw)
To: devel
В Fri, 1 Nov 2024 22:11:17 +0300
Paul Wolneykien <manowar@altlinux.org> пишет:
> В Fri, 1 Nov 2024 22:31:59 +0400
> "Ivan A. Melnikov" <iv@altlinux.org> пишет:
>
> > On Fri, Nov 01, 2024 at 06:46:08PM GMT, Ajrat Makhmutov wrote:
> > > Привет всем! Предлагаю добавить новый формат сабтасков: промежуточные
> > > сабтаски.
> > >
> > [...]
> > > Такое изменение значительно упростит поддержание и отправку в стабильные
> > > репозитории пакеты, которые зависят от себя же, и пакеты с кольцевыми
> > > зависимостями.
> >
> > Действительно, тут есть некое противоречие: регламент обновления
> > стабильной ветки предполагает определённую целостность и ценность
> > результата сборки для каждой таски, а в случае бутстрапа это
> > не всегда так.
> >
> > > Ответ от @glebfm: "Но мой пойнт в целом в том, что это большой хак, который
> > > к тому же предполагает сильное переписывание сборочницы".
> >
> > Может, возможно подойти к вопросу с другой стороны: не запихивать
> > все промежуточные этапы в одну задачу, а выстраивать цепочки
> > зависимых задач, способных использовать результаты сборки
> > друг друга, и закоммититься только всей пачкой (т.е. либо
> > все задачи из такой цепочки, либо ниодной)?
>
> Насколько я понял, Айрат же как раз хочет только последний
> результат, _без_ промежуточных. А цепочки тасков у нас и так есть,
> только без возможности использования тасков в сборочных окружениях.
> Если последнее реализовать, то тогда можно было бы сказать:
>
> $ ssh girar task new
> $ ssh girar task add N1 rust1
> $ ssh girar task run N1 --temporary
>
> $ ssh girar task new
> $ ssh girar task add N2 rust2
> $ ssh girar task uses N2 add N1
> $ ssh girar task run N2 --commit
>
> Причём, uses аналогично deps но дополнительно ещё и делает
> репозиторий N1 доступным для задания N2.
Хотя нет, не только в этом. N2 должно начать собираться в этом
случае по достижению N1 состояния TESTED, а не DONE, как сейчас
для deps.
> Опция --temporary
> аналогична --test-only, но с той разницей, что после коммита
> N2 в репозиторий, N1 автоматически удаляется.
>
> Мне кажется, что доступность репозитория задания для другого
> задания сделать, всё же, легче, чем доступность сабтасков друг
> для друга.
>
>
> > Кстати, если дать таким цепочкам имена, возможно, мы получим
> > очередной подход к карманам.
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-01 19:26 ` Paul Wolneykien
@ 2024-11-01 20:56 ` ajratma
0 siblings, 0 replies; 19+ messages in thread
From: ajratma @ 2024-11-01 20:56 UTC (permalink / raw)
To: Paul Wolneykien, devel
01.11.2024 22:26, Paul Wolneykien пишет:
> В Fri, 1 Nov 2024 22:11:17 +0300
> Paul Wolneykien <manowar@altlinux.org> пишет:
>
>> В Fri, 1 Nov 2024 22:31:59 +0400
>> "Ivan A. Melnikov" <iv@altlinux.org> пишет:
>>
>>> On Fri, Nov 01, 2024 at 06:46:08PM GMT, Ajrat Makhmutov wrote:
>>>> Привет всем! Предлагаю добавить новый формат сабтасков: промежуточные
>>>> сабтаски.
>>>>
>>> [...]
>>>> Такое изменение значительно упростит поддержание и отправку в стабильные
>>>> репозитории пакеты, которые зависят от себя же, и пакеты с кольцевыми
>>>> зависимостями.
>>> Действительно, тут есть некое противоречие: регламент обновления
>>> стабильной ветки предполагает определённую целостность и ценность
>>> результата сборки для каждой таски, а в случае бутстрапа это
>>> не всегда так.
>>>
>>>> Ответ от @glebfm: "Но мой пойнт в целом в том, что это большой хак, который
>>>> к тому же предполагает сильное переписывание сборочницы".
>>> Может, возможно подойти к вопросу с другой стороны: не запихивать
>>> все промежуточные этапы в одну задачу, а выстраивать цепочки
>>> зависимых задач, способных использовать результаты сборки
>>> друг друга, и закоммититься только всей пачкой (т.е. либо
>>> все задачи из такой цепочки, либо ниодной)?
Промежуточные/временные задания не сделают переписывание сборочницы
проще или хак чище, чем промежуточные сабтаски.
>> Насколько я понял, Айрат же как раз хочет только последний
>> результат, _без_ промежуточных. А цепочки тасков у нас и так есть,
>> только без возможности использования тасков в сборочных окружениях.
Да, промежуточные результаты не интересны. Важен конечный.
>> Если последнее реализовать, то тогда можно было бы сказать:
>>
>> $ ssh girar task new
>> $ ssh girar task add N1 rust1
>> $ ssh girar task run N1 --temporary
>>
>> $ ssh girar task new
>> $ ssh girar task add N2 rust2
>> $ ssh girar task uses N2 add N1
>> $ ssh girar task run N2 --commit
>>
>> Причём, uses аналогично deps но дополнительно ещё и делает
>> репозиторий N1 доступным для задания N2.
> Хотя нет, не только в этом. N2 должно начать собираться в этом
> случае по достижению N1 состояния TESTED, а не DONE, как сейчас
> для deps.
>
>
>> Опция --temporary
>> аналогична --test-only, но с той разницей, что после коммита
>> N2 в репозиторий, N1 автоматически удаляется.
>>
>> Мне кажется, что доступность репозитория задания для другого
>> задания сделать, всё же, легче, чем доступность сабтасков друг
>> для друга.
Доступность сабтасков реализована уже сейчас: сабтаски более высокого
номера при наличии сборочной зависимости уже имеют в сборочном окружении
сабтаски более низкого номера. Я предлагаю вообще не добавлять новые
опции: все сабтаски пакета, которые по этому пакету не имеют
максимальный номер, будут являться промежуточными и не попадут в
репозиторий.
>>
>>> Кстати, если дать таким цепочкам имена, возможно, мы получим
>>> очередной подход к карманам.
>> _______________________________________________
>> Devel mailing list
>> Devel@lists.altlinux.org
>> https://lists.altlinux.org/mailman/listinfo/devel
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: Промежуточные сабтаски в сборочных заданиях
2024-11-01 18:31 ` Ivan A. Melnikov
2024-11-01 19:11 ` Paul Wolneykien
@ 2024-11-02 8:55 ` Sergey V Turchin
1 sibling, 0 replies; 19+ messages in thread
From: Sergey V Turchin @ 2024-11-02 8:55 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Friday, 1 November 2024 21:31:59 GMT+3 Ivan Melnikov wrote:
[...]
> Может, возможно подойти к вопросу с другой стороны: не запихивать
> все промежуточные этапы в одну задачу, а выстраивать цепочки
> зависимых задач, способных использовать результаты сборки
> друг друга, и закоммититься только всей пачкой (т.е. либо
> все задачи из такой цепочки, либо ниодной)?
С языка снял. ;-) https://bugzilla.altlinux.org/51923
[...]
--
Regards, Sergey.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: Промежуточные сабтаски в сборочных заданиях
2024-11-01 19:11 ` Paul Wolneykien
2024-11-01 19:26 ` Paul Wolneykien
@ 2024-11-02 8:58 ` Sergey V Turchin
2024-11-02 11:27 ` [devel] " Paul Wolneykien
1 sibling, 1 reply; 19+ messages in thread
From: Sergey V Turchin @ 2024-11-02 8:58 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Friday, 1 November 2024 22:11:17 GMT+3 Paul Wolneykien wrote:
[...]
> А цепочки тасков у нас и так есть,
Нету.
У нас есть только очередь абсолютно никак не связанных между собой сборочных
заданий. https://bugzilla.altlinux.org/51923
[...]
--
Regards, Sergey.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-02 8:58 ` [devel] " Sergey V Turchin
@ 2024-11-02 11:27 ` Paul Wolneykien
2024-11-02 12:18 ` Paul Wolneykien
2024-11-02 12:55 ` [devel] " Sergey V Turchin
0 siblings, 2 replies; 19+ messages in thread
From: Paul Wolneykien @ 2024-11-02 11:27 UTC (permalink / raw)
To: devel
В Sat, 02 Nov 2024 11:58:08 +0300
Sergey V Turchin <zerg@altlinux.org> пишет:
> On Friday, 1 November 2024 22:11:17 GMT+3 Paul Wolneykien wrote:
>
> [...]
> > А цепочки тасков у нас и так есть,
> Нету.
> У нас есть только очередь абсолютно никак не связанных между собой сборочных
> заданий. https://bugzilla.altlinux.org/51923
Связанных, есть deps. Я им часто пользуюсь. Это значит, что одно
задание может ссылаться на другое и это уже есть в сборочнице.
Также есть всем известный флаг test-only. Это значит, что есть
задания, которые проходят все тесты, формируют свой маленький
репозиторий, но не попадают в большой репозиторий.
Мне кажется, что осталось добавить всего одну штуку и тогда
станет возможно как то, что хочет Айрат, так и то, что хочешь
ты. Эта штука --- флаг для зависимости, по которому перед сборкой
зависимого задания к нему в apt sources подключается репозиторий
задания, от которого оно зависит. Если зависимостей несколько,
то подключается несколько репозиториев. Мне кажется, эта штука
не нарушит логику работы сборочницы.
Я предлагаю вместо слова "deps" использовать для этого слово
"uses":
ssh girar task uses N2 add N1
Тогда для того, чтобы получить бутстрап, N1 остаётся в состоянии
test-only, а N2 запускается с --commit. А для того, чтобы
финально собрать всю накопленную цепочку (группу), как хочешь ты, оба
задания --- N1 и N2 --- запускаются с --commit. В последнем случае
порядок сборки заданий по deps/uses также должен учитываться.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-02 11:27 ` [devel] " Paul Wolneykien
@ 2024-11-02 12:18 ` Paul Wolneykien
2024-11-02 12:46 ` Ivan A. Melnikov
2024-11-02 12:55 ` [devel] " Sergey V Turchin
1 sibling, 1 reply; 19+ messages in thread
From: Paul Wolneykien @ 2024-11-02 12:18 UTC (permalink / raw)
To: devel
В Sat, 2 Nov 2024 14:27:17 +0300
Paul Wolneykien <manowar@altlinux.org> пишет:
> В Sat, 02 Nov 2024 11:58:08 +0300
> Sergey V Turchin <zerg@altlinux.org> пишет:
>
> > On Friday, 1 November 2024 22:11:17 GMT+3 Paul Wolneykien wrote:
> >
> > [...]
> > > А цепочки тасков у нас и так есть,
> > Нету.
> > У нас есть только очередь абсолютно никак не связанных между собой сборочных
> > заданий. https://bugzilla.altlinux.org/51923
>
> Связанных, есть deps. Я им часто пользуюсь. Это значит, что одно
> задание может ссылаться на другое и это уже есть в сборочнице.
>
> Также есть всем известный флаг test-only. Это значит, что есть
> задания, которые проходят все тесты, формируют свой маленький
> репозиторий, но не попадают в большой репозиторий.
>
> Мне кажется, что осталось добавить всего одну штуку и тогда
> станет возможно как то, что хочет Айрат, так и то, что хочешь
> ты. Эта штука --- флаг для зависимости, по которому перед сборкой
> зависимого задания к нему в apt sources подключается репозиторий
> задания, от которого оно зависит. Если зависимостей несколько,
> то подключается несколько репозиториев. Мне кажется, эта штука
> не нарушит логику работы сборочницы.
>
> Я предлагаю вместо слова "deps" использовать для этого слово
> "uses":
>
> ssh girar task uses N2 add N1
>
> Тогда для того, чтобы получить бутстрап, N1 остаётся в состоянии
> test-only, а N2 запускается с --commit.
Даже не так. Чтобы убедиться в том, что бутстрап сработал, нужно
будет сделать
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 его можно удалять.
> А для того, чтобы
> финально собрать всю накопленную цепочку (группу), как хочешь ты, оба
> задания --- N1 и N2 --- запускаются с --commit. В последнем случае
> порядок сборки заданий по deps/uses также должен учитываться.
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-02 12:18 ` Paul Wolneykien
@ 2024-11-02 12:46 ` Ivan A. Melnikov
2024-11-02 13:03 ` [devel] " Sergey V Turchin
` (2 more replies)
0 siblings, 3 replies; 19+ messages in thread
From: Ivan A. Melnikov @ 2024-11-02 12:46 UTC (permalink / raw)
To: ALT Linux Team development discussions
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
является воспроизводимость, понимаемая как возможность
взять то же самое и сделать ещё раз.
Идея догоняющей сборки опирается на неё существенным образом.
Чтобы точно завершить бутстрап достаточно добавить
в цепочку таску с ребилдом.
--
wbr,
iv m.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: Промежуточные сабтаски в сборочных заданиях
2024-11-02 11:27 ` [devel] " Paul Wolneykien
2024-11-02 12:18 ` Paul Wolneykien
@ 2024-11-02 12:55 ` Sergey V Turchin
2024-11-02 13:29 ` [devel] " Paul Wolneykien
1 sibling, 1 reply; 19+ messages in thread
From: Sergey V Turchin @ 2024-11-02 12:55 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Saturday, 2 November 2024 14:27:17 GMT+3 Paul Wolneykien wrote:
> В Sat, 02 Nov 2024 11:58:08 +0300
>
> Sergey V Turchin <zerg@altlinux.org> пишет:
> > On Friday, 1 November 2024 22:11:17 GMT+3 Paul Wolneykien wrote:
> >
> > [...]
> >
> > > А цепочки тасков у нас и так есть,
> >
> > Нету.
> > У нас есть только очередь абсолютно никак не связанных между собой
> > сборочных заданий. https://bugzilla.altlinux.org/51923
> Связанных, есть deps.
Нет. Пакет из одного задания не может быть собран с devel-пакетом из другого.
Это можно сделать только в одном задании.
> Я им часто пользуюсь.
Я им постоянно пользуюсь.
task ls --user=zerg --state=POSTPONED
> Это значит, что одно задание может ссылаться на другое и это уже есть в
сборочнице.
Это просто очередь, лишь порядок определённ мантенйером.
--
Regards, Sergey.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: Промежуточные сабтаски в сборочных заданиях
2024-11-02 12:46 ` Ivan A. Melnikov
@ 2024-11-02 13:03 ` Sergey V Turchin
2024-11-02 13:38 ` [devel] " Paul Wolneykien
2024-11-02 14:22 ` Dmitry V. Levin
2 siblings, 0 replies; 19+ messages in thread
From: Sergey V Turchin @ 2024-11-02 13:03 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Saturday, 2 November 2024 15:46:14 GMT+3 Ivan Melnikov wrote:
[...]
> > Правда, для этого нужно, чтобы репозиторий try n был доступен
> > для try n+1. Но после сборки try n+1 его можно удалять.
>
> Так точно не надо.
>
> Одной из важных характеристик текущей модели girar
> является воспроизводимость, понимаемая как возможность
> взять то же самое и сделать ещё раз.
>
> Идея догоняющей сборки опирается на неё существенным образом.
>
> Чтобы точно завершить бутстрап достаточно добавить
> в цепочку таску с ребилдом.
Это в лучшем случае. Зачастую это может быть новый релиз того же пакета.
--
Regards, Sergey.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-02 12:55 ` [devel] " Sergey V Turchin
@ 2024-11-02 13:29 ` Paul Wolneykien
2024-11-02 13:47 ` [devel] " Sergey V Turchin
0 siblings, 1 reply; 19+ messages in thread
From: Paul Wolneykien @ 2024-11-02 13:29 UTC (permalink / raw)
To: devel
В Sat, 02 Nov 2024 15:55:58 +0300
Sergey V Turchin <zerg@altlinux.org> пишет:
> On Saturday, 2 November 2024 14:27:17 GMT+3 Paul Wolneykien wrote:
> > В Sat, 02 Nov 2024 11:58:08 +0300
> >
> > Sergey V Turchin <zerg@altlinux.org> пишет:
> > > On Friday, 1 November 2024 22:11:17 GMT+3 Paul Wolneykien wrote:
> > >
> > > [...]
> > >
> > > > А цепочки тасков у нас и так есть,
> > >
> > > Нету.
> > > У нас есть только очередь абсолютно никак не связанных между собой
> > > сборочных заданий. https://bugzilla.altlinux.org/51923
> > Связанных, есть deps.
> Нет. Пакет из одного задания не может быть собран с devel-пакетом из другого.
> Это можно сделать только в одном задании.
Вот и нужно сделать, чтобы мог! Кажется, это единственное, что нужно
сделать.
> > Я им часто пользуюсь.
> Я им постоянно пользуюсь.
> task ls --user=zerg --state=POSTPONED
>
> > Это значит, что одно задание может ссылаться на другое и это уже есть в
> сборочнице.
> Это просто очередь, лишь порядок определённ мантенйером.
Пока да. Разница в том, что в баге ты говоришь об общем репозитории
для очереди (группы), а я предлагаю подключать готовые репозитории
заданий в порядке следования очереди.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-02 12:46 ` Ivan A. Melnikov
2024-11-02 13:03 ` [devel] " Sergey V Turchin
@ 2024-11-02 13:38 ` Paul Wolneykien
2024-11-02 17:39 ` Artem Semenov
2024-11-02 14:22 ` Dmitry V. Levin
2 siblings, 1 reply; 19+ messages in thread
From: Paul Wolneykien @ 2024-11-02 13:38 UTC (permalink / raw)
To: devel
В 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. И вот
совершенно не похоже на "взять то же самое и сделать ещё раз". :)
> Идея догоняющей сборки опирается на неё существенным образом.
>
> Чтобы точно завершить бутстрап достаточно добавить
> в цепочку таску с ребилдом.
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* [devel] Re: Промежуточные сабтаски в сборочных заданиях
2024-11-02 13:29 ` [devel] " Paul Wolneykien
@ 2024-11-02 13:47 ` Sergey V Turchin
0 siblings, 0 replies; 19+ messages in thread
From: Sergey V Turchin @ 2024-11-02 13:47 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Saturday, 2 November 2024 16:29:21 GMT+3 Paul Wolneykien wrote:
[...]
> > > Это значит, что одно задание может ссылаться на другое и это уже есть
> > > в
> >
> > сборочнице.
> > Это просто очередь, лишь порядок определённ мантенйером.
>
> Пока да. Разница в том, что в баге ты говоришь об общем репозитории
> для очереди (группы), а я предлагаю подключать готовые репозитории
> заданий в порядке следования очереди.
Да, почти согласился, но только что подумал, что мой вариант лучше. У нас
"нельзя смешивать репозитории", из-за чего будут возникать коллизии. Например,
недавно я отправлял задание в p11, с которым не пересобирались 5 пакетов, но
они тут же стали пересобираться, как только задание прошло в репозиторий. Это
было только потому, что в момент проверки был подключен 2-й репозиторий со
старыми пакетами. Правда, у всех пяти(не мои) BuildRequires были некорректные.
--
Regards, Sergey.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-02 12:46 ` Ivan A. Melnikov
2024-11-02 13:03 ` [devel] " Sergey V Turchin
2024-11-02 13:38 ` [devel] " Paul Wolneykien
@ 2024-11-02 14:22 ` Dmitry V. Levin
2024-11-02 18:10 ` Paul Wolneykien
2 siblings, 1 reply; 19+ messages in thread
From: Dmitry V. Levin @ 2024-11-02 14:22 UTC (permalink / raw)
To: devel
On Sat, Nov 02, 2024 at 04:46:14PM +0400, Ivan A. Melnikov wrote:
[...]
> Одной из важных характеристик текущей модели girar
> является воспроизводимость, понимаемая как возможность
> взять то же самое и сделать ещё раз.
Это не просто важная характеристика, это принцип, на котором girar построен.
--
ldv
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-02 13:38 ` [devel] " Paul Wolneykien
@ 2024-11-02 17:39 ` Artem Semenov
0 siblings, 0 replies; 19+ messages in thread
From: Artem Semenov @ 2024-11-02 17:39 UTC (permalink / raw)
To: devel
02.11.2024 16:38, Paul Wolneykien пишет:
> В 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. И вот
> совершенно не похоже на "взять то же самое и сделать ещё раз". :)
Два чая этому джентельмену. 🤝
Надеюсь, я правильно отвечаю. В первый раз отвечаю в рассылке. )
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] Промежуточные сабтаски в сборочных заданиях
2024-11-02 14:22 ` Dmitry V. Levin
@ 2024-11-02 18:10 ` Paul Wolneykien
0 siblings, 0 replies; 19+ messages in thread
From: Paul Wolneykien @ 2024-11-02 18:10 UTC (permalink / raw)
To: devel
В Sat, 2 Nov 2024 16:22:54 +0200
"Dmitry V. Levin" <ldv@altlinux.org> пишет:
> On Sat, Nov 02, 2024 at 04:46:14PM +0400, Ivan A. Melnikov wrote:
> [...]
> > Одной из важных характеристик текущей модели girar
> > является воспроизводимость, понимаемая как возможность
> > взять то же самое и сделать ещё раз.
>
> Это не просто важная характеристика, это принцип, на котором girar построен.
Я понял, это про другую воспроизводимость. Поскольку я не занимаюсь
догоняющими сборками, то возможность и необходимость взять предыдущее
состояние репозитория (или аналогичное ему в другом репозитории) и
перейти от этого состояния к следующему --- пример экзотический.
Но вы безусловно правы, ломать это нельзя.
Тогда, получается, что изначальное предложение Айрата довольно точное:
всё сделать в одном задании, чтобы "накатывание" задания на репозиторий
оставалось бы однозначным переходом от известного состояния репозитория
к новому. При этом Айрат хотел каким-то особенным флагом помечать
промежуточные подзадания, "которые при коммите задания не попадают
в репозиторий". Если именно это место вызывает вопросы и сложности,
то нельзя ли поступить вот так?
$ ssh girar task new
$ ssh girar task add repo rust 1.76.0-alt1
$ ssh girar task add repo rust 1.77.0-alt1
...
$ ssh girar task add repo rust 1.81.0-alt1
$ ssh girar task add repo rust 1.82.0-alt1
$ ssh girar task add deloc rust 1.81.0-alt1
$ ssh girar task add deloc rust 1.80.0-alt1
...
$ ssh girar task add deloc rust 1.76.0-alt1
$ ssh girar task run --commit
Предполагается, что deloc в отличие от del, воздействует на репозиторий
данного задания ("карман"), а не на целевой репозиторий (Сизиф, p11).
Естественно, что для того, чтобы сработали множественные "add repo rust",
ограничение на совпадение имени пакета нужно будет снять.
Упрощение при таком подходе, как мне кажется, состоит в том, что если
задание успешно проходит все подзадания, то в "кармане" получается
вполне определённое, воспроизводимое (!) при новом try состояние,
определённый набор пакетов, который можно проверить на устанавливаемость,
анметы и пр. И если всё в порядке --- добавить в целевой репозиторий.
То есть в точности, как сейчас, без проверки новых условий.
А ещё появится возможность смешного:
$ ssh girar task new
$ ssh girar task add repo mypackage 1.0-alt1
$ ssh girar task add deloc mypackage 1.0-alt1
$ ssh girar task run --commit
Сборка такого задания могла бы завершаться весёлым
сообщением о том, что всё успешно собралось, но результат
оказался пустым.
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2024-11-02 18:10 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-01 15:46 [devel] Промежуточные сабтаски в сборочных заданиях Ajrat Makhmutov
2024-11-01 16:01 ` Paul Wolneykien
2024-11-01 18:31 ` Ivan A. Melnikov
2024-11-01 19:11 ` Paul Wolneykien
2024-11-01 19:26 ` Paul Wolneykien
2024-11-01 20:56 ` ajratma
2024-11-02 8:58 ` [devel] " Sergey V Turchin
2024-11-02 11:27 ` [devel] " Paul Wolneykien
2024-11-02 12:18 ` Paul Wolneykien
2024-11-02 12:46 ` Ivan A. Melnikov
2024-11-02 13:03 ` [devel] " Sergey V Turchin
2024-11-02 13:38 ` [devel] " Paul Wolneykien
2024-11-02 17:39 ` Artem Semenov
2024-11-02 14:22 ` Dmitry V. Levin
2024-11-02 18:10 ` Paul Wolneykien
2024-11-02 12:55 ` [devel] " Sergey V Turchin
2024-11-02 13:29 ` [devel] " Paul Wolneykien
2024-11-02 13:47 ` [devel] " Sergey V Turchin
2024-11-02 8:55 ` Sergey V Turchin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git