ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [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