ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Новая схема ведения исходников ядра
@ 2021-12-03 19:41 Evgeny Sinelnikov
  2021-12-03 23:44 ` Andrey Savchenko
                   ` (2 more replies)
  0 siblings, 3 replies; 92+ messages in thread
From:  @ 2021-12-03 19:41 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-03 19:41 [devel] Новая схема ведения исходников ядра Evgeny Sinelnikov
@ 2021-12-03 23:44 ` Andrey Savchenko
  2021-12-05 23:22   ` Evgeny Sinelnikov
  2021-12-06  8:29   ` Alexey Sheplyakov
  2021-12-06  7:42 ` Anton V. Boyarshinov
  2021-12-06 12:35 ` Dmitry V. Levin
  2 siblings, 2 replies; 92+ messages in thread
From:  @ 2021-12-03 23:44 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-03 23:44 ` Andrey Savchenko
@ 2021-12-05 23:22   ` Evgeny Sinelnikov
  2021-12-06 13:36     ` Dmitry V. Levin
  2021-12-06 18:28     ` Andrey Savchenko
  2021-12-06  8:29   ` Alexey Sheplyakov
  1 sibling, 2 replies; 92+ messages in thread
From:  @ 2021-12-05 23:22 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-03 19:41 [devel] Новая схема ведения исходников ядра Evgeny Sinelnikov
  2021-12-03 23:44 ` Andrey Savchenko
@ 2021-12-06  7:42 ` Anton V. Boyarshinov
  2021-12-06  8:09   ` Alexey Sheplyakov
  2021-12-06 10:26   ` Alexey Sheplyakov
  2021-12-06 12:35 ` Dmitry V. Levin
  2 siblings, 2 replies; 92+ messages in thread
From:  @ 2021-12-06  7:42 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06  7:42 ` Anton V. Boyarshinov
@ 2021-12-06  8:09   ` Alexey Sheplyakov
  2021-12-06 10:29     ` Anton V. Boyarshinov
  2021-12-06 10:26   ` Alexey Sheplyakov
  1 sibling, 1 reply; 92+ messages in thread
From:  @ 2021-12-06  8:09 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-03 23:44 ` Andrey Savchenko
  2021-12-05 23:22   ` Evgeny Sinelnikov
@ 2021-12-06  8:29   ` Alexey Sheplyakov
  2021-12-06 17:32     ` Andrey Savchenko
  1 sibling, 1 reply; 92+ messages in thread
From:  @ 2021-12-06  8:29 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06  7:42 ` Anton V. Boyarshinov
  2021-12-06  8:09   ` Alexey Sheplyakov
@ 2021-12-06 10:26   ` Alexey Sheplyakov
  2021-12-06 10:31     ` Anton V. Boyarshinov
  2021-12-06 10:53     ` Anton V. Boyarshinov
  1 sibling, 2 replies; 92+ messages in thread
From:  @ 2021-12-06 10:26 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06  8:09   ` Alexey Sheplyakov
@ 2021-12-06 10:29     ` Anton V. Boyarshinov
  0 siblings, 0 replies; 92+ messages in thread
From:  @ 2021-12-06 10:29 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 10:26   ` Alexey Sheplyakov
@ 2021-12-06 10:31     ` Anton V. Boyarshinov
  2021-12-06 10:47       ` Evgeny Sinelnikov
    2021-12-06 10:53     ` Anton V. Boyarshinov
  1 sibling, 2 replies; 92+ messages in thread
From:  @ 2021-12-06 10:31 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 10:31     ` Anton V. Boyarshinov
@ 2021-12-06 10:47       ` Evgeny Sinelnikov
  2021-12-06 11:03         ` Anton V. Boyarshinov
    1 sibling, 1 reply; 92+ messages in thread
From:  @ 2021-12-06 10:47 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 10:26   ` Alexey Sheplyakov
  2021-12-06 10:31     ` Anton V. Boyarshinov
@ 2021-12-06 10:53     ` Anton V. Boyarshinov
  2021-12-06 11:27       ` Alexey Sheplyakov
  2021-12-06 11:54       ` Alexey Sheplyakov
  1 sibling, 2 replies; 92+ messages in thread
From:  @ 2021-12-06 10:53 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  @ 2021-12-06 10:55         ` Anton V. Boyarshinov
  2021-12-06 13:25         ` Dmitry V. Levin
  1 sibling, 0 replies; 92+ messages in thread
From:  @ 2021-12-06 10:55 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 10:47       ` Evgeny Sinelnikov
@ 2021-12-06 11:03         ` Anton V. Boyarshinov
  0 siblings, 0 replies; 92+ messages in thread
From:  @ 2021-12-06 11:03 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 10:53     ` Anton V. Boyarshinov
@ 2021-12-06 11:27       ` Alexey Sheplyakov
  2021-12-06 11:41         ` Anton V. Boyarshinov
  2021-12-06 11:54       ` Alexey Sheplyakov
  1 sibling, 1 reply; 92+ messages in thread
From:  @ 2021-12-06 11:27 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 11:27       ` Alexey Sheplyakov
@ 2021-12-06 11:41         ` Anton V. Boyarshinov
  2021-12-06 12:12           ` Anton Farygin
  0 siblings, 1 reply; 92+ messages in thread
From:  @ 2021-12-06 11:41 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 10:53     ` Anton V. Boyarshinov
  2021-12-06 11:27       ` Alexey Sheplyakov
@ 2021-12-06 11:54       ` Alexey Sheplyakov
  1 sibling, 0 replies; 92+ messages in thread
From:  @ 2021-12-06 11:54 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 11:41         ` Anton V. Boyarshinov
@ 2021-12-06 12:12           ` Anton Farygin
  2021-12-06 12:30             ` Alexey Sheplyakov
  2021-12-23  3:28             ` Mikhail Novosyolov
  0 siblings, 2 replies; 92+ messages in thread
From:  @ 2021-12-06 12:12 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 12:12           ` Anton Farygin
@ 2021-12-06 12:30             ` Alexey Sheplyakov
  2021-12-06 14:53               ` Anton Farygin
  2021-12-23  3:28             ` Mikhail Novosyolov
  1 sibling, 1 reply; 92+ messages in thread
From:  @ 2021-12-06 12:30 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-03 19:41 [devel] Новая схема ведения исходников ядра Evgeny Sinelnikov
  2021-12-03 23:44 ` Andrey Savchenko
  2021-12-06  7:42 ` Anton V. Boyarshinov
@ 2021-12-06 12:35 ` Dmitry V. Levin
  2021-12-06 13:29   ` Evgeny Sinelnikov
  2 siblings, 1 reply; 92+ messages in thread
From:  @ 2021-12-06 12:35 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
    2021-12-06 10:55         ` Anton V. Boyarshinov
@ 2021-12-06 13:25         ` Dmitry V. Levin
  2021-12-06 13:35           ` Evgeny Sinelnikov
  1 sibling, 1 reply; 92+ messages in thread
From:  @ 2021-12-06 13:25 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 12:35 ` Dmitry V. Levin
@ 2021-12-06 13:29   ` Evgeny Sinelnikov
  2021-12-06 13:48     ` Anton V. Boyarshinov
  2021-12-06 14:31     ` [devel] Новая схема ведения исходников ядра Dmitry V. Levin
  0 siblings, 2 replies; 92+ messages in thread
From:  @ 2021-12-06 13:29 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 13:25         ` Dmitry V. Levin
@ 2021-12-06 13:35           ` Evgeny Sinelnikov
  2021-12-06 13:41             ` Anton V. Boyarshinov
  2021-12-06 13:47             ` Dmitry V. Levin
  0 siblings, 2 replies; 92+ messages in thread
From:  @ 2021-12-06 13:35 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-05 23:22   ` Evgeny Sinelnikov
@ 2021-12-06 13:36     ` Dmitry V. Levin
  2021-12-06 18:28     ` Andrey Savchenko
  1 sibling, 0 replies; 92+ messages in thread
From:  @ 2021-12-06 13:36 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 13:35           ` Evgeny Sinelnikov
@ 2021-12-06 13:41             ` Anton V. Boyarshinov
  2021-12-06 13:48               ` Evgeny Sinelnikov
  2021-12-06 13:47             ` Dmitry V. Levin
  1 sibling, 1 reply; 92+ messages in thread
From:  @ 2021-12-06 13:41 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 13:35           ` Evgeny Sinelnikov
  2021-12-06 13:41             ` Anton V. Boyarshinov
@ 2021-12-06 13:47             ` Dmitry V. Levin
  2021-12-06 13:54               ` Evgeny Sinelnikov
  1 sibling, 1 reply; 92+ messages in thread
From:  @ 2021-12-06 13:47 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 13:41             ` Anton V. Boyarshinov
@ 2021-12-06 13:48               ` Evgeny Sinelnikov
  2021-12-06 13:51                 ` Anton V. Boyarshinov
  0 siblings, 1 reply; 92+ messages in thread
From:  @ 2021-12-06 13:48 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 13:29   ` Evgeny Sinelnikov
@ 2021-12-06 13:48     ` Anton V. Boyarshinov
  2021-12-08  8:07       ` [devel] Отделяя котлеты от мух (было Re: Новая схема ведения исходников ядра) Alexey Sheplyakov
  2021-12-06 14:31     ` [devel] Новая схема ведения исходников ядра Dmitry V. Levin
  1 sibling, 1 reply; 92+ messages in thread
From:  @ 2021-12-06 13:48 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 13:48               ` Evgeny Sinelnikov
@ 2021-12-06 13:51                 ` Anton V. Boyarshinov
  2021-12-06 13:57                   ` Dmitry V. Levin
  2021-12-06 14:04                   ` Evgeny Sinelnikov
  0 siblings, 2 replies; 92+ messages in thread
From:  @ 2021-12-06 13:51 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 13:47             ` Dmitry V. Levin
@ 2021-12-06 13:54               ` Evgeny Sinelnikov
  0 siblings, 0 replies; 92+ messages in thread
From:  @ 2021-12-06 13:54 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 13:51                 ` Anton V. Boyarshinov
@ 2021-12-06 13:57                   ` Dmitry V. Levin
  2021-12-06 14:04                   ` Evgeny Sinelnikov
  1 sibling, 0 replies; 92+ messages in thread
From:  @ 2021-12-06 13:57 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 13:51                 ` Anton V. Boyarshinov
  2021-12-06 13:57                   ` Dmitry V. Levin
@ 2021-12-06 14:04                   ` Evgeny Sinelnikov
  2021-12-06 14:08                     ` Dmitry V. Levin
                                       ` (2 more replies)
  1 sibling, 3 replies; 92+ messages in thread
From:  @ 2021-12-06 14:04 UTC (permalink / raw)




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 14:04                   ` Evgeny Sinelnikov
@ 2021-12-06 14:08                     ` Dmitry V. Levin
  2021-12-06 14:40                     ` Anton V. Boyarshinov
  2021-12-06 14:54                     ` Anton V. Boyarshinov
  2 siblings, 0 replies; 92+ messages in thread
From: Dmitry V. Levin @ 2021-12-06 14:08 UTC (permalink / raw)
  To: devel

On Mon, Dec 06, 2021 at 06:04:06PM +0400, Evgeny Sinelnikov wrote:
> пн, 6 дек. 2021 г. в 17:51, Anton V. Boyarshinov <boyarsh@altlinux.org>:
> >
> > В Mon, 6 Dec 2021 17:48:01 +0400
> > Evgeny Sinelnikov <sin@altlinux.org> пишет:
> >
> > > > Мы получаем от апстрима вполне очевидные релизные тэги, я не вижу тут
> > > > вопроса.
> > >
> > > А я вижу. Мы либо похожи на апстрим,либо сами апстрим. Но наши
> > > релизные ядра даже не ориентированы на то, чтобы быть апстримом для
> > > кого бы то ни было.
> >
> > Пакеты в дистрибутиве не ориентированы на то, чтобы быть апстримом для
> >  кого бы то ни было. Насколько я могу судить, это утверждение относится ко всем пакетам и всем дистрибутивам GNU/Linux.
> 
> Супер! Вот именно. Да. Но... ядро сейчас мы ведём совместно с разными
> разработчиками и вот эту коллизию я и предлагаю разрешить.
> 
> Всё правильно. Поскольку "пакеты в дистрибутиве не ориентированы на
> то, чтобы быть апстримом для  кого бы то ни было", заметьте, не я это
> сказал. Но это, как раз, и очевидно из контекста. Поэтому совершенно
> не важно какая история получится после git rebase -s ours. Она, всё
> равно, никому кроме нас не нужна.
> 
> Да, мы не можем вести исходники, как апстрим, и как дистрибутивеные
> одновременно без специальных усилий.
> 
> Разработка нового железа с нами и под нас, если мы хотим этого
> предполагает определённый компромисс с обеих сторон. Если мы на него
> не идём, то под нас сложнее разрабатывать. И, в дальнейшем,
> рассчитывать на поддержку со стороны разработчиков железа. Это же тоже
> должно быть очевидно. Или нет?

Нет, ни капли не очевидно.


-- 
ldv


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 13:29   ` Evgeny Sinelnikov
  2021-12-06 13:48     ` Anton V. Boyarshinov
@ 2021-12-06 14:31     ` Dmitry V. Levin
  2021-12-06 14:55       ` Anton Farygin
  2021-12-23  3:14       ` Mikhail Novosyolov
  1 sibling, 2 replies; 92+ messages in thread
From: Dmitry V. Levin @ 2021-12-06 14:31 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Mon, Dec 06, 2021 at 05:29:06PM +0400, Evgeny Sinelnikov wrote:
> пн, 6 дек. 2021 г. в 16:35, Dmitry V. Levin <ldv@altlinux.org>:
[...]
> > Я не понял, вы что, предлагаете внутри одной ветки ядра 5.15 делать rebase
> > для каждого обновления из апстримного 5.15?
> 
> В целом, да. Так и есть.
> 
> Даже если они разбросаны по отдельным веткам -fix и -feat, их всё
> равно время от времени нужно ребейзить.

Зачем?  Просто потому что можем?
Почти все -fix и -feat в пределах одной ветки ядра не нуждаются в изменении.

> Если код сильно не менялся, то
> он и ребейзится просто и мерджится просто. Если менялся сильнее, чем
> этого хочется, то мы получаем от "мерджа" немного больше удобства,
> которое картины, по сути не меняет.
> 
> Если делать не "ребейз", а "мердж", то хотелось бы понять:
> - как с этим работать сторонним разработчикам, от какого ядра отталкиваться?

Что значит "отталкиваться"?  Есть наше ядро, в котором написано, на каком
апстримном ядре оно основано и какие дополнительные ветки туда смержены.
Что ещё им надо знать?

> - какой подход к разработке ядра мы предлагаем другим участникам процесса?

А чем занимаются другие участники процесса?

> - где и как можно найти исходники нашего ядра только с продуктивными патчами?

Изменения в spec-файле по определению никому не мешают.

> - готовы ли вы выковыривать патчи размазанные мердж-коммитами в ветках
> других участников разработки?

А зачем?

Мне кажется, тут есть какая-то недосказанность, которая рождает непонимание.


-- 
ldv


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 14:04                   ` Evgeny Sinelnikov
  2021-12-06 14:08                     ` Dmitry V. Levin
@ 2021-12-06 14:40                     ` Anton V. Boyarshinov
  2021-12-06 14:54                     ` Anton V. Boyarshinov
  2 siblings, 0 replies; 92+ messages in thread
From: Anton V. Boyarshinov @ 2021-12-06 14:40 UTC (permalink / raw)
  To: Evgeny Sinelnikov; +Cc: ALT Linux Team development discussions

В Mon, 6 Dec 2021 18:04:06 +0400
Evgeny Sinelnikov <sin@altlinux.org> пишет:

>  Поэтому совершенно
> не важно какая история получится после git rebase -s ours. Она, всё
> равно, никому кроме нас не нужна.

Только вот она нужна НАМ.


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 12:30             ` Alexey Sheplyakov
@ 2021-12-06 14:53               ` Anton Farygin
  0 siblings, 0 replies; 92+ messages in thread
From: Anton Farygin @ 2021-12-06 14:53 UTC (permalink / raw)
  To: devel

On 06.12.2021 15:30, Alexey Sheplyakov wrote:
> Добрый день!
>
> On 06.12.2021 16:12, Anton Farygin wrote:
>   
>> Если мне гит при каждом merge ядра будет ругаться на unrelated history, то я буду громко и сильно ругаться на тех людей, которые так делают.
> Stephen Rothwell <sfr@canb.auug.org.au>
> Ругайтесь, сколько влезет.
>
У меня ещё не было прецендентов с нашим ядром. Зачем мне ругаться на 
Stephen Rothwell ?


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 14:04                   ` Evgeny Sinelnikov
  2021-12-06 14:08                     ` Dmitry V. Levin
  2021-12-06 14:40                     ` Anton V. Boyarshinov
@ 2021-12-06 14:54                     ` Anton V. Boyarshinov
  2021-12-06 15:02                       ` Dmitry V. Levin
  2 siblings, 1 reply; 92+ messages in thread
From: Anton V. Boyarshinov @ 2021-12-06 14:54 UTC (permalink / raw)
  To: Evgeny Sinelnikov; +Cc: ALT Linux Team development discussions

В Mon, 6 Dec 2021 18:04:06 +0400
Evgeny Sinelnikov <sin@altlinux.org> пишет:

> Да, мы не можем вести исходники, как апстрим, и как дистрибутивеные
> одновременно без специальных усилий.

На мой взгляд, эти специальные услилия должны состоять в то, что должен
быть upstream каждой alt-специфичной части ядра. А в пакет с ядром
должны вливаться эти изменения.

А использование пакетов в качестве upstream... У нас сейчас
поддерживаются 3 разных ветки ядра 5.10 в разных репозиториях. У них
как минимум разные конфигурации (и это правильно) и местами разные
исходники (и это тоже правильно по крайней мере в части случаев). Какое
из этих ядер считать "апстримом"? Мой ответ -- никакое.


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 14:31     ` [devel] Новая схема ведения исходников ядра Dmitry V. Levin
@ 2021-12-06 14:55       ` Anton Farygin
  2021-12-23  3:14       ` Mikhail Novosyolov
  1 sibling, 0 replies; 92+ messages in thread
From: Anton Farygin @ 2021-12-06 14:55 UTC (permalink / raw)
  To: devel

On 06.12.2021 17:31, Dmitry V. Levin wrote:
>> - готовы ли вы выковыривать патчи размазанные мердж-коммитами в ветках
>> других участников разработки?
> А зачем?

А какие с этим проблемы ? Я точно знаю что можно, при очень большом 
желании, конвертнуть одну схему в другую не очень сложным скриптом.

Вопрос А зачем ? - очень правильный.




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 14:54                     ` Anton V. Boyarshinov
@ 2021-12-06 15:02                       ` Dmitry V. Levin
  2021-12-06 15:26                         ` Anton V. Boyarshinov
  0 siblings, 1 reply; 92+ messages in thread
From: Dmitry V. Levin @ 2021-12-06 15:02 UTC (permalink / raw)
  To: ALT Devel discussion list

On Mon, Dec 06, 2021 at 05:54:49PM +0300, Anton V. Boyarshinov wrote:
> В Mon, 6 Dec 2021 18:04:06 +0400
> Evgeny Sinelnikov <sin@altlinux.org> пишет:
> 
> > Да, мы не можем вести исходники, как апстрим, и как дистрибутивеные
> > одновременно без специальных усилий.
> 
> На мой взгляд, эти специальные услилия должны состоять в то, что должен
> быть upstream каждой alt-специфичной части ядра. А в пакет с ядром
> должны вливаться эти изменения.

Да, конечно.  А разве это сейчас не так?


-- 
ldv


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 15:02                       ` Dmitry V. Levin
@ 2021-12-06 15:26                         ` Anton V. Boyarshinov
  2021-12-06 15:53                           ` Dmitry V. Levin
  0 siblings, 1 reply; 92+ messages in thread
From: Anton V. Boyarshinov @ 2021-12-06 15:26 UTC (permalink / raw)
  To: Dmitry V. Levin; +Cc: ALT Linux Team development discussions

В Mon, 6 Dec 2021 18:02:15 +0300
"Dmitry V. Levin" <ldv@altlinux.org> пишет:

> > > Да, мы не можем вести исходники, как апстрим, и как дистрибутивеные
> > > одновременно без специальных усилий.  
> > 
> > На мой взгляд, эти специальные услилия должны состоять в то, что должен
> > быть upstream каждой alt-специфичной части ядра. А в пакет с ядром
> > должны вливаться эти изменения.  
> 
> Да, конечно.  А разве это сейчас не так?

На мой взгляд, это именно так


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 15:26                         ` Anton V. Boyarshinov
@ 2021-12-06 15:53                           ` Dmitry V. Levin
  2021-12-06 22:58                             ` Evgeny Sinelnikov
  0 siblings, 1 reply; 92+ messages in thread
From: Dmitry V. Levin @ 2021-12-06 15:53 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Mon, Dec 06, 2021 at 06:26:08PM +0300, Anton V. Boyarshinov wrote:
> В Mon, 6 Dec 2021 18:02:15 +0300, Dmitry V. Levin пишет:
> 
> > > > Да, мы не можем вести исходники, как апстрим, и как дистрибутивеные
> > > > одновременно без специальных усилий.  
> > > 
> > > На мой взгляд, эти специальные услилия должны состоять в то, что должен
> > > быть upstream каждой alt-специфичной части ядра. А в пакет с ядром
> > > должны вливаться эти изменения.  
> > 
> > Да, конечно.  А разве это сейчас не так?
> 
> На мой взгляд, это именно так

Тогда в чём, собственно, проблема?


-- 
ldv


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06  8:29   ` Alexey Sheplyakov
@ 2021-12-06 17:32     ` Andrey Savchenko
  2021-12-06 20:08       ` Vladimir D. Seleznev
  0 siblings, 1 reply; 92+ messages in thread
From: Andrey Savchenko @ 2021-12-06 17:32 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 3635 bytes --]

On Mon, 6 Dec 2021 12:29:01 +0400 Alexey Sheplyakov wrote:
> Здравствуйте!
> 
> On 04.12.2021 03:44, Andrey Savchenko wrote:
> 
> >>  + для удобной работы над исходниками можно воспользоваться командой
> >> git worktree, позволяющей получить отдельную ветку в соседнем каталоге
> >> на одном и том же git-репозитории;
> > 
> > Так себе удобство, честно скажу; я пользуюсь этим когда
> > приходится, но именно как вынужденной мерой. Хотя бы потому, что
> > в git крайне не рекомендуется конкурентно коммитить из двух разных
> > worktree.
> 
> А можно подробнее - где, кем не рекомендуется?
> Прочитал man git-workspace - ничего такого не нашёл.

А где вы такой man нашли? Если man git-worktree, вот его и советую
почитать, хотя бы конец:

BUGS
	Multiple checkout in general is still experimental, and the
	support for submodules is incomplete. It is NOT recommended
	to make multiple checkouts of a superproject.

> Каждый день так делаю (уже года 2 как минимум), по 100 раз в день (считая rebase/amend).
> Конечно, может мне просто везёт.

Давайте уточню, во избежание недоразумения: вы делаете git commit
параллельно из разных worktree? Ну тогда я рад везучести ваших ног,
но не следует рекомендовать для критически важного компонента
системы рабочий процесс, который явно не рекомендуется апстримом. 

> >>  + перед сборкой необходимо обновить commitid в .gear/tags/list
> >> https://github.com/altlinux/linux-arm/commits/sisyphus-un-def
> > 
> > Вот эта головная боль тоже нежелательна. Потому что при отладке
> > где-нибудь на другой железке или в инсталляторе пакет приходится
> > часто пересобирать. Да, скриптуется, но сборка и так сложна из-за
> > specsubst и разных kflavour. 
> 
> При отладке на железке (особенно если эта железка не x86) сборка пакета
> (с ядром) - это всегда "так себе удобство". Городить $ARCH chroot и
> запускать компилятор в qemu-user - это ... (затрудняюсь сказать, оставаясь
> в рамках приличий).

Для моих задач qemu не нужен (да и нет его), просто собирается на
железке одной архитектуры, а запускается на другой. Кросс-сборка,
если так угодно.

> > Для этого используются ветка нужной версии из
> > git.alt:/people/kernelbot/packages/kernel-image.git
> 
> А где мне взять ветку для 5.16-rc3 и linux-next?

Подключить upstream remote и сделать git-checkout v5.16-rc3.

Best regards,
Andrew Savchenko

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-05 23:22   ` Evgeny Sinelnikov
  2021-12-06 13:36     ` Dmitry V. Levin
@ 2021-12-06 18:28     ` Andrey Savchenko
  2021-12-06 23:07       ` Evgeny Sinelnikov
  1 sibling, 1 reply; 92+ messages in thread
From: Andrey Savchenko @ 2021-12-06 18:28 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 4759 bytes --]

On Mon, 6 Dec 2021 03:22:24 +0400 Evgeny Sinelnikov wrote:
> сб, 4 дек. 2021 г. в 03:45, Andrey Savchenko <bircoph@altlinux.org>:
> > On Fri, 3 Dec 2021 23:41:56 +0400 Evgeny Sinelnikov wrote:
> > >  + перед сборкой необходимо обновить commitid в .gear/tags/list
> > > https://github.com/altlinux/linux-arm/commits/sisyphus-un-def
> >
> > Вот эта головная боль тоже нежелательна. Потому что при отладке
> > где-нибудь на другой железке или в инсталляторе пакет приходится
> > часто пересобирать. Да, скриптуется, но сборка и так сложна из-за
> > specsubst и разных kflavour.
> 
> А разработка, в ином случае, вообще невозможна. Как взаимодействовать
> с апстримом? Как взаимодействовать с теми, кто берёт апстримные
> исходники? Ответ: "Пока никак". Вести две параллельных истории. Не
> хотелось бы.

Так держите своей веткой (или ветками) нужные патчи и применяйте их
как к апстримному ядру, так и к нашим. Если патчи не зависят от
остальных альтовых изменений, то накладывать будут на оба варианта
без проблем, а если зависят, то придётся держать две версии — здесь
как ни крути, но по другому не получится.

> > > В целом, этот подход ничего не ломает, но очень много позволяет:
> > > - чётко отслеживать пачти;
> > > - всегда знать чем наше ядро отличается от апстримного не на уровне
> > > одного большого "дифа", доступного только git в консоли, но и на
> > > уровне полного списка патчей, доступного также через web-интерфейс в
> > > соответствующей ветке;
> >
> > А вы точно работали с нашим ядром? Я регулярно переношу все наши
> > патчи на e2k ядро (кроме патчей для других архитектур). Для этого
> > используются ветка нужной версии из
> > git.alt:/people/kernelbot/packages/kernel-image.git
> 
> Конечно, работали. Давайте посмотрим на ветку ядра, которую удалось получить:
> https://github.com/altlinux/linux-arm/commits/altlinux-5.15.y
> 
> Где иначе и как ещё можно найти и увидеть полный список наших патчей
> по-отдельности по сравнению с апстримом?

Ну например вот так:
$ git log --oneline --no-merges \
v5.4.163..kernel-image-std-def-5.4.163-alt1 -- \
. ':!/kernel-image.spec'

Правки конфига тут тоже будут (и обычно это важно), если не нужны,
то можно добавить ':!/config*'.

Как показывает опыт, требование держать всю историю коммитов в git
линейно в одной ветке обычно следует из недостаточности навыков
работы с git.

> > В общем-то, там все наши патчи легко видно по --first-parent;
> 
> Давайте посмотрим как. Вот есть коллеги из компании разработчика
> железа. Они хотя собрать ядро, как у нас, но они планируют апстримить
> свои патчи. Куда из прикладывать с нашим ядром? В ветку, где куча
> наших релизных коммитов? Зачем им это?

Либо их патч не зависит от наших изменений и тогда без разницы куда
прикладывать, либо зависит, и тогда им нужно будет два разных
варианта держать: для ванильного ядра и для нашего. Метод ведения
дерева git на это никак не влияет.

Best regards,
Andrew Savchenko

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 17:32     ` Andrey Savchenko
@ 2021-12-06 20:08       ` Vladimir D. Seleznev
  0 siblings, 0 replies; 92+ messages in thread
From: Vladimir D. Seleznev @ 2021-12-06 20:08 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Mon, Dec 06, 2021 at 08:32:22PM +0300, Andrey Savchenko wrote:
> On Mon, 6 Dec 2021 12:29:01 +0400 Alexey Sheplyakov wrote:
> > Здравствуйте!
> > 
> > On 04.12.2021 03:44, Andrey Savchenko wrote:
> > 
> > >>  + для удобной работы над исходниками можно воспользоваться командой
> > >> git worktree, позволяющей получить отдельную ветку в соседнем каталоге
> > >> на одном и том же git-репозитории;
> > > 
> > > Так себе удобство, честно скажу; я пользуюсь этим когда
> > > приходится, но именно как вынужденной мерой. Хотя бы потому, что
> > > в git крайне не рекомендуется конкурентно коммитить из двух разных
> > > worktree.
> > 
> > А можно подробнее - где, кем не рекомендуется?
> > Прочитал man git-workspace - ничего такого не нашёл.
> 
> А где вы такой man нашли? Если man git-worktree, вот его и советую
> почитать, хотя бы конец:
> 
> BUGS
> 	Multiple checkout in general is still experimental, and the
> 	support for submodules is incomplete. It is NOT recommended
> 	to make multiple checkouts of a superproject.

Это относится только с проектам с сабмодулями, что не является случаем
любого gear-репозитория: там явно написано of a superproject, что
является термином для головного репозитория с субмодулями.

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 15:53                           ` Dmitry V. Levin
@ 2021-12-06 22:58                             ` Evgeny Sinelnikov
  2021-12-07  7:47                               ` Anton V. Boyarshinov
  2021-12-07 16:54                               ` Andrey Savchenko
  0 siblings, 2 replies; 92+ messages in thread
From: Evgeny Sinelnikov @ 2021-12-06 22:58 UTC (permalink / raw)
  To: ALT Linux Team development discussions

пн, 6 дек. 2021 г. в 19:53, Dmitry V. Levin <ldv@altlinux.org>:
>
> On Mon, Dec 06, 2021 at 06:26:08PM +0300, Anton V. Boyarshinov wrote:
> > В Mon, 6 Dec 2021 18:02:15 +0300, Dmitry V. Levin пишет:
> >
> > > > > Да, мы не можем вести исходники, как апстрим, и как дистрибутивеные
> > > > > одновременно без специальных усилий.
> > > >
> > > > На мой взгляд, эти специальные услилия должны состоять в то, что должен
> > > > быть upstream каждой alt-специфичной части ядра. А в пакет с ядром
> > > > должны вливаться эти изменения.
> > >
> > > Да, конечно.  А разве это сейчас не так?
> >
> > На мой взгляд, это именно так
>
> Тогда в чём, собственно, проблема?

Проблема в том, как минимум, что это не документировано и неочевидно.

Если у нас есть upstream каждой alt-специфичной части ядра, то как его найти?
А если merge-commit'ы размазаны по репозиторию после первого merge с
минорным релизом, то как их потом искать?
Может быть тогда сделать соответствующие gear-rules с этими merge-commit'ами?
Как отслеживать какие fix'ы и features, которые приложены?

На деле же проблема в том, что у нас общий апстрим ядра для множества
разработчиков. Нужно подумать как нам вести разработку так, чтобы:
- это работа была взаимно удобна;
- позволяла в таком режиме вести разработку, чтобы схема сборки была прозрачна;
- позволяла при накатывании патчей сторонними разработчиками (в том
числе и нам самим в какой-то момент времени) не сталкиваться с
неопределенностью о том, поверх какого когда наиболее близкого к
нашему ядру стоит вести разработку;
- не отворачивала от нас разработчиков за счёт степени компетенции в
git, которую мы сами от себя почему-то не требуем для сборки
собственных ядер, и делаем как нам удобно.




--
Sin (Sinelnikov Evgeny)

^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 18:28     ` Andrey Savchenko
@ 2021-12-06 23:07       ` Evgeny Sinelnikov
  2021-12-07  7:38         ` Anton V. Boyarshinov
  0 siblings, 1 reply; 92+ messages in thread
From: Evgeny Sinelnikov @ 2021-12-06 23:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions

пн, 6 дек. 2021 г. в 22:28, Andrey Savchenko <bircoph@altlinux.org>:
>
> On Mon, 6 Dec 2021 03:22:24 +0400 Evgeny Sinelnikov wrote:
> > сб, 4 дек. 2021 г. в 03:45, Andrey Savchenko <bircoph@altlinux.org>:
> > > On Fri, 3 Dec 2021 23:41:56 +0400 Evgeny Sinelnikov wrote:
> > > >  + перед сборкой необходимо обновить commitid в .gear/tags/list
> > > > https://github.com/altlinux/linux-arm/commits/sisyphus-un-def
> > >
> > > Вот эта головная боль тоже нежелательна. Потому что при отладке
> > > где-нибудь на другой железке или в инсталляторе пакет приходится
> > > часто пересобирать. Да, скриптуется, но сборка и так сложна из-за
> > > specsubst и разных kflavour.
> >
> > А разработка, в ином случае, вообще невозможна. Как взаимодействовать
> > с апстримом? Как взаимодействовать с теми, кто берёт апстримные
> > исходники? Ответ: "Пока никак". Вести две параллельных истории. Не
> > хотелось бы.
>
> Так держите своей веткой (или ветками) нужные патчи и применяйте их
> как к апстримному ядру, так и к нашим. Если патчи не зависят от
> остальных альтовых изменений, то накладывать будут на оба варианта
> без проблем, а если зависят, то придётся держать две версии — здесь
> как ни крути, но по другому не получится.

Задача стоит так:
- есть разработчик железа, который хочет получить ядро наиболее
близкое к нашему, чтобы вести в дальнейшем разработку;
- ему не нужны в исходниках релизные коммиты и мешают дополнительные
merge-коммиты;
- ему нужно чётко понимать чем наше ядро отличается от апстримного;
- ему требуется проверить сборку сначала у себя, со своим конфигом;
- ему нужно минимизировать свои коллизии и регрессии;
- ему нужно иметь возможность взять завтра обновлённый вариант наших
исходников для дальнейшей разработки.

> > > > В целом, этот подход ничего не ломает, но очень много позволяет:
> > > > - чётко отслеживать пачти;
> > > > - всегда знать чем наше ядро отличается от апстримного не на уровне
> > > > одного большого "дифа", доступного только git в консоли, но и на
> > > > уровне полного списка патчей, доступного также через web-интерфейс в
> > > > соответствующей ветке;
> > >
> > > А вы точно работали с нашим ядром? Я регулярно переношу все наши
> > > патчи на e2k ядро (кроме патчей для других архитектур). Для этого
> > > используются ветка нужной версии из
> > > git.alt:/people/kernelbot/packages/kernel-image.git
> >
> > Конечно, работали. Давайте посмотрим на ветку ядра, которую удалось получить:
> > https://github.com/altlinux/linux-arm/commits/altlinux-5.15.y
> >
> > Где иначе и как ещё можно найти и увидеть полный список наших патчей
> > по-отдельности по сравнению с апстримом?
>
> Ну например вот так:
> $ git log --oneline --no-merges \
> v5.4.163..kernel-image-std-def-5.4.163-alt1 -- \
> . ':!/kernel-image.spec'
>
> Правки конфига тут тоже будут (и обычно это важно), если не нужны,
> то можно добавить ':!/config*'.
>
> Как показывает опыт, требование держать всю историю коммитов в git
> линейно в одной ветке обычно следует из недостаточности навыков
> работы с git.
>
> > > В общем-то, там все наши патчи легко видно по --first-parent;
> >
> > Давайте посмотрим как. Вот есть коллеги из компании разработчика
> > железа. Они хотя собрать ядро, как у нас, но они планируют апстримить
> > свои патчи. Куда из прикладывать с нашим ядром? В ветку, где куча
> > наших релизных коммитов? Зачем им это?
>
> Либо их патч не зависит от наших изменений и тогда без разницы куда
> прикладывать, либо зависит, и тогда им нужно будет два разных
> варианта держать: для ванильного ядра и для нашего. Метод ведения
> дерева git на это никак не влияет.
>
> Best regards,
> Andrew Savchenko
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel



-- 
Sin (Sinelnikov Evgeny)

^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 23:07       ` Evgeny Sinelnikov
@ 2021-12-07  7:38         ` Anton V. Boyarshinov
  0 siblings, 0 replies; 92+ messages in thread
From: Anton V. Boyarshinov @ 2021-12-07  7:38 UTC (permalink / raw)
  To: Evgeny Sinelnikov; +Cc: ALT Linux Team development discussions

 
> Задача стоит так:
> - есть разработчик железа, который хочет получить ядро наиболее
> близкое к нашему, чтобы вести в дальнейшем разработку;
> - ему не нужны в исходниках релизные коммиты и мешают дополнительные
> merge-коммиты;
> - ему нужно чётко понимать чем наше ядро отличается от апстримного;
> - ему требуется проверить сборку сначала у себя, со своим конфигом;
> - ему нужно минимизировать свои коллизии и регрессии;
> - ему нужно иметь возможность взять завтра обновлённый вариант наших
> исходников для дальнейшей разработки.

Ответ содержится в письме, на которое ты отвечаешь (см ниже). Я не вижу
зачем этим разработчикам железа нужны все наши патчи, не связанные с
этим железом. И я не вижу зачем в дистрибутивном ядре патчи, имеющие
экспериментальный характер (а разработчику железа они могут быть нужны).

> > Либо их патч не зависит от наших изменений и тогда без разницы куда
> > прикладывать, либо зависит, и тогда им нужно будет два разных
> > варианта держать: для ванильного ядра и для нашего. Метод ведения
> > дерева git на это никак не влияет.


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 22:58                             ` Evgeny Sinelnikov
@ 2021-12-07  7:47                               ` Anton V. Boyarshinov
  2021-12-07 16:54                               ` Andrey Savchenko
  1 sibling, 0 replies; 92+ messages in thread
From: Anton V. Boyarshinov @ 2021-12-07  7:47 UTC (permalink / raw)
  To: Evgeny Sinelnikov; +Cc: ALT Linux Team development discussions

В Tue, 7 Dec 2021 02:58:42 +0400
Evgeny Sinelnikov <sin@altlinux.org> пишет:

> пн, 6 дек. 2021 г. в 19:53, Dmitry V. Levin <ldv@altlinux.org>:
> >
> > On Mon, Dec 06, 2021 at 06:26:08PM +0300, Anton V. Boyarshinov wrote:  
> > > В Mon, 6 Dec 2021 18:02:15 +0300, Dmitry V. Levin пишет:
> > >  
> > > > > > Да, мы не можем вести исходники, как апстрим, и как дистрибутивеные
> > > > > > одновременно без специальных усилий.  
> > > > >
> > > > > На мой взгляд, эти специальные услилия должны состоять в то, что должен
> > > > > быть upstream каждой alt-специфичной части ядра. А в пакет с ядром
> > > > > должны вливаться эти изменения.  
> > > >
> > > > Да, конечно.  А разве это сейчас не так?  
> > >
> > > На мой взгляд, это именно так  
> >
> > Тогда в чём, собственно, проблема?  
> 
> Проблема в том, как минимум, что это не документировано и неочевидно.

Я пока так и не понял зачем разработчикам железа все наши feat- и fix-
если им надо взаимодействовать с одной единственной веткой --
железно-специфичной.

> 
> Если у нас есть upstream каждой alt-специфичной части ядра, то как его найти?
> Может быть тогда сделать соответствующие gear-rules с этими merge-commit'ами?
Кому надо? Зачем надо?


> Как отслеживать какие fix'ы и features, которые приложены?

git log --merges --grep=fix- --grep=feat- --author=altlinux

> 
> На деле же проблема в том, что у нас общий апстрим ядра для множества
> разработчиков. Нужно подумать как нам вести разработку так, чтобы:

Проблема в том, что дистрибутивное ядро рассматривается как upstream. А
это не так.

> - это работа была взаимно удобна;
> - позволяла в таком режиме вести разработку, чтобы схема сборки была прозрачна;
> - позволяла при накатывании патчей сторонними разработчиками (в том
> числе и нам самим в какой-то момент времени) не сталкиваться с
> неопределенностью о том, поверх какого когда наиболее близкого к
> нашему ядру стоит вести разработку;
> - не отворачивала от нас разработчиков за счёт степени компетенции в
> git, которую мы сами от себя почему-то не требуем для сборки
> собственных ядер, и делаем как нам удобно.
> 
> 
> 
> 
> --
> Sin (Sinelnikov Evgeny)
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 22:58                             ` Evgeny Sinelnikov
  2021-12-07  7:47                               ` Anton V. Boyarshinov
@ 2021-12-07 16:54                               ` Andrey Savchenko
  1 sibling, 0 replies; 92+ messages in thread
From: Andrey Savchenko @ 2021-12-07 16:54 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 860 bytes --]

On Tue, 7 Dec 2021 02:58:42 +0400 Evgeny Sinelnikov wrote:
> - не отворачивала от нас разработчиков за счёт степени компетенции в
> git, которую мы сами от себя почему-то не требуем для сборки
> собственных ядер, и делаем как нам удобно.

А в чём проблема с git? Ну сделайте вы на вики страничку с FAQ как
сделать те или иные вещи, которые сложны для наших партнёров. На
все практические вопросы «а как сделать то-то в git» в рамках
данного обсуждения уже ответили конкретными командами.

Best regards,
Andrew Savchenko

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 92+ messages in thread

* [devel] Отделяя котлеты от мух (было Re:  Новая схема ведения исходников ядра)
  2021-12-06 13:48     ` Anton V. Boyarshinov
@ 2021-12-08  8:07       ` Alexey Sheplyakov
  2021-12-08  8:54         ` Anton V. Boyarshinov
  0 siblings, 1 reply; 92+ messages in thread
From: Alexey Sheplyakov @ 2021-12-08  8:07 UTC (permalink / raw)
  To: devel

Здравствуйте!

On 06.12.2021 17:48, Anton V. Boyarshinov wrote:

>> - как с этим работать сторонним разработчикам, от какого ядра отталкиваться?
> 
> В первую очередь -- от mainline linux kernel. Разработка на базе старых
> longterm веток, да ещё и дистрибутивоспецифичных это тупик.

Ответ неправильный и бесполезный по нескольким причинам.

1) Разрабатывать поддержку СнК/платы на основе mainline невозможно.
   Потому что столько граблей не выдержит ни один лоб.
   Даже те (немногие) производители устройств, кто шлёт код в mainline,
   сначала "поднимают железо" на LTS, а потом уж портируют на более свежие ветки.
   (Поэтому Ваш ответ бесполезный)

2) Если цель - добавить поддержку аппаратуры в mainline, то надо глядеть в MAINTANERS,
   там написано - какой репозиторий/ветку брать за основу, и куда слать патчи.
   Как правило это не mainline. (Поэтому Ваш ответ неправильный).
   
3) Самое главное. Цель у разработчиков аппаратуры другая: добиться поддержки
   такой-то СнК/платы в нашем *дистрибутиве*, например p10 (и сертифицированном
   дистрибутиве на его основе). Ещё вчера. Рассказывать этой публике "шлите патчи
   в mainline" бесполезно. Они вежливо помашут нам рукой и найдут другой дистрибутив.

> В данном случае, есть ещё один апстрим: asheplyakov@. Он является
> апстримом для меня и точно также может являться им для этих неуказанных
> партнёров.

Отличный подход, мне очень нравится (без тени иронии). Но он не работает.
Например, в текущем un-def (5.15):

$ git diff altlinux-5.15.y..baikalm-5.15.y | diffstat -p1 | grep -E '\b(arm64)|(drivers)'

 arch/arm64/boot/dts/baikal/bm1000.dtsi                     |   65 
 drivers/clocksource/dw_apb_timer_of.c                      |    2 
 drivers/hwmon/bt1-pvt.c                                    |    2 
 drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c          |    4 
 drivers/usb/dwc3/Kconfig                                   |    9 
 drivers/usb/dwc3/Makefile                                  |    1 
 drivers/usb/dwc3/dwc3-baikal.c                             |  126 
 drivers/usb/dwc3/dwc3-of-simple.c                          |    1 



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Отделяя котлеты от мух (было Re: Новая схема ведения исходников ядра)
  2021-12-08  8:07       ` [devel] Отделяя котлеты от мух (было Re: Новая схема ведения исходников ядра) Alexey Sheplyakov
@ 2021-12-08  8:54         ` Anton V. Boyarshinov
  2021-12-08 10:32           ` Alexey Sheplyakov
  0 siblings, 1 reply; 92+ messages in thread
From: Anton V. Boyarshinov @ 2021-12-08  8:54 UTC (permalink / raw)
  To: Alexey Sheplyakov; +Cc: ALT Linux Team development discussions

В Wed, 8 Dec 2021 12:07:27 +0400
Alexey Sheplyakov <asheplyakov@basealt.ru> пишет:

> > В данном случае, есть ещё один апстрим: asheplyakov@. Он является
> > апстримом для меня и точно также может являться им для этих неуказанных
> > партнёров.  
> 
> Отличный подход, мне очень нравится (без тени иронии). Но он не работает.
> Например, в текущем un-def (5.15):

Тут я вижу как минимум 3 решения:
1) писать мне, когда в этой ветке появляется готовое для включения в
репозиторий (не в тестовом состоянии). Вчера такое письмо было и я про
него помню и собираюсь сегодня смержить эти изменения.
2) публиковать репозиторий со "стабильными" патчами на git.alt и я бы
подписался на уведомления об изменениях в них.
3) собрать ядро с этими изменениями (тут важно не столкнуться лбами, но
это решаемая проблема)


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Отделяя котлеты от мух (было Re: Новая схема ведения исходников ядра)
  2021-12-08  8:54         ` Anton V. Boyarshinov
@ 2021-12-08 10:32           ` Alexey Sheplyakov
  0 siblings, 0 replies; 92+ messages in thread
From: Alexey Sheplyakov @ 2021-12-08 10:32 UTC (permalink / raw)
  To: Anton V. Boyarshinov; +Cc: ALT Linux Team development discussions

On 08.12.2021 12:54, Anton V. Boyarshinov wrote:
> В Wed, 8 Dec 2021 12:07:27 +0400
> Alexey Sheplyakov <asheplyakov@basealt.ru> пишет:
> 
>>> В данном случае, есть ещё один апстрим: asheplyakov@. Он является
>>> апстримом для меня и точно также может являться им для этих неуказанных
>>> партнёров.  
>>
>> Отличный подход, мне очень нравится (без тени иронии). Но он не работает.
>> Например, в текущем un-def (5.15):
> 
> Тут я вижу как минимум 3 решения:
> 1) писать мне, когда в этой ветке появляется готовое для включения в
> репозиторий (не в тестовом состоянии). Вчера такое письмо было и я про
> него помню и собираюсь сегодня смержить эти изменения.> 2) публиковать репозиторий со "стабильными" патчами на git.alt и я бы
> подписался на уведомления об изменениях в них.> 3) собрать ядро с этими изменениями (тут важно не столкнуться лбами, но
> это решаемая проблема)
При отсутствии линейной истории я буду глядеть в diff altlinux-5.N.y..baikalm-5.N.y
и сортировать, что из этого - отличия между "нашим" ядром и upstream,
а что - изменения для поддержки "байкалов". И либо тратить на это уйму времени,
либо ошибаться.
diffstat -p1 | grep -E '\b(arm64)|(drivers)' - в общем случае не работает
(например, в нашем 5.10 есть патчи для Intel Gen 11).
Скоро (уже сейчас) надо будет поддерживать больше процессоров/плат.
И вероятность ошибок/затраты времени сильно возрастут.

Замечу, перекладывание проблемы на Вас ничего по сути не изменит (кроме того,
что тратить уйму времени и ошибаться будете Вы).


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 14:31     ` [devel] Новая схема ведения исходников ядра Dmitry V. Levin
  2021-12-06 14:55       ` Anton Farygin
@ 2021-12-23  3:14       ` Mikhail Novosyolov
  1 sibling, 0 replies; 92+ messages in thread
From: Mikhail Novosyolov @ 2021-12-23  3:14 UTC (permalink / raw)
  To: devel


06.12.2021 17:31, Dmitry V. Levin пишет:
> Что значит "отталкиваться"?  Есть наше ядро, в котором написано, на каком
> апстримном ядре оно основано и какие дополнительные ветки туда смержены.
> Что ещё им надо знать?
> <...>
> Мне кажется, тут есть какая-то недосказанность, которая рождает непонимание.

Мне кажется, речь идет о возможности передать сторонним людям набор готовых к git am патчей.

Пример:

Сначала было внесено изменение в ядро 5.10.x:
[1] https://git.altlinux.org/gears/k/kernel-image-std-def.git?p=kernel-image-std-def.git;a=commitdiff;h=480c33fd3f9fd3c46e9e605be117d49be98986df

Затем в каком-то релизе 5.10.(x+n), если правильно помню, это изменение продолжало накладываться на код, мержи, соответственно, проходили без конфликтов, но код перестал собираться/работать. Потребовалось его поправить:
[2] https://git.altlinux.org/gears/k/kernel-image-std-def.git?p=kernel-image-std-def.git;a=commitdiff;h=61a50e6f47fabdea107f9e94c43104347359e7d8

Очевидно, что для передачи сторонним разработчикам нужно соединить эти 2 диффа.

Поправьте, если не прав или что-то напутал.



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-06 12:12           ` Anton Farygin
  2021-12-06 12:30             ` Alexey Sheplyakov
@ 2021-12-23  3:28             ` Mikhail Novosyolov
  2021-12-23  6:07               ` Andrey Savchenko
  1 sibling, 1 reply; 92+ messages in thread
From: Mikhail Novosyolov @ 2021-12-23  3:28 UTC (permalink / raw)
  To: devel


06.12.2021 15:12, Anton Farygin пишет:
> On 06.12.2021 14:41, Anton V. Boyarshinov wrote:
>> В Mon, 6 Dec 2021 15:27:11 +0400
>> Alexey Sheplyakov <asheplyakov@basealt.ru> пишет:
>>
>>> 2) Некий логически монолитный кусок кода (например, LSM модуль AltHa, или
>>>     драйвер dwmac-baikal) оказывается размазанным тонким слоем по N коммитам.
>>>     При переносе на более свежее ядро из этих N коммитов всё равно надо сделать
>>>     один патч (а затем доработать его вслед за изменившимися API).
>> Да, эти "стабильные" патчи живут в отдельных ветках feat-* и fix-*
>>
>> И, если я правильно понимаю, упоминаемым партнёрам они не очень
>> интересны. Зачем их при каждой сборке вытаскивать наверх ценой
>> испорченной истории мне не ясно.
>
> Если мне гит при каждом merge ядра будет ругаться на unrelated history, то я буду громко и сильно ругаться на тех людей, которые так делают.
>
> Давайте ещё раз подумаем и придумаем удобное решение.
>
> А как ведёт ядро та же убунта ? Почему у них нет этой проблемы ?
> https://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-oem/+git/focal?h=oem-5.10
>
По моим наблюдениям примерно годичной давности, убунта регулярно форс-пушит в свой гит, который часто не соответствует ушедшим в репозиторий исходникам. С таким гитом работать невозможно. Точно не пример для подражания.


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-23  3:28             ` Mikhail Novosyolov
@ 2021-12-23  6:07               ` Andrey Savchenko
  2022-01-03  5:07                 ` Evgeny Sinelnikov
  0 siblings, 1 reply; 92+ messages in thread
From: Andrey Savchenko @ 2021-12-23  6:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 2465 bytes --]

On Thu, 23 Dec 2021 06:28:34 +0300 Mikhail Novosyolov wrote:
> 
> 06.12.2021 15:12, Anton Farygin пишет:
> > On 06.12.2021 14:41, Anton V. Boyarshinov wrote:
> >> В Mon, 6 Dec 2021 15:27:11 +0400
> >> Alexey Sheplyakov <asheplyakov@basealt.ru> пишет:
> >>
> >>> 2) Некий логически монолитный кусок кода (например, LSM модуль AltHa, или
> >>>     драйвер dwmac-baikal) оказывается размазанным тонким слоем по N коммитам.
> >>>     При переносе на более свежее ядро из этих N коммитов всё равно надо сделать
> >>>     один патч (а затем доработать его вслед за изменившимися API).
> >> Да, эти "стабильные" патчи живут в отдельных ветках feat-* и fix-*
> >>
> >> И, если я правильно понимаю, упоминаемым партнёрам они не очень
> >> интересны. Зачем их при каждой сборке вытаскивать наверх ценой
> >> испорченной истории мне не ясно.
> >
> > Если мне гит при каждом merge ядра будет ругаться на unrelated history, то я буду громко и сильно ругаться на тех людей, которые так делают.
> >
> > Давайте ещё раз подумаем и придумаем удобное решение.
> >
> > А как ведёт ядро та же убунта ? Почему у них нет этой проблемы ?
> > https://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-oem/+git/focal?h=oem-5.10
> >
> По моим наблюдениям примерно годичной давности, убунта регулярно форс-пушит в свой гит, который часто не соответствует ушедшим в репозиторий исходникам. С таким гитом работать невозможно. Точно не пример для подражания.

Согласен. За push --force в репозитории, которые в разработке
используются другими людьми, нужно руки отрывать.

Best regards,
Andrew Savchenko

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2021-12-23  6:07               ` Andrey Savchenko
@ 2022-01-03  5:07                 ` Evgeny Sinelnikov
  2022-01-03  5:33                   ` Evgeny Sinelnikov
    0 siblings, 2 replies; 92+ messages in thread
From: Evgeny Sinelnikov @ 2022-01-03  5:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions

С новым годом!

чт, 23 дек. 2021 г. в 10:08, Andrey Savchenko <bircoph@altlinux.org>:
>
> On Thu, 23 Dec 2021 06:28:34 +0300 Mikhail Novosyolov wrote:
> >
> > 06.12.2021 15:12, Anton Farygin пишет:
> > > On 06.12.2021 14:41, Anton V. Boyarshinov wrote:
> > >> В Mon, 6 Dec 2021 15:27:11 +0400
> > >> Alexey Sheplyakov <asheplyakov@basealt.ru> пишет:
> > >>
> > >>> 2) Некий логически монолитный кусок кода (например, LSM модуль AltHa, или
> > >>>     драйвер dwmac-baikal) оказывается размазанным тонким слоем по N коммитам.
> > >>>     При переносе на более свежее ядро из этих N коммитов всё равно надо сделать
> > >>>     один патч (а затем доработать его вслед за изменившимися API).
> > >> Да, эти "стабильные" патчи живут в отдельных ветках feat-* и fix-*

Где их искать?
Под какие мажорные релизы они поддерживаются?
Можно ли рассчитывать, что патчи из этих веток лягут без конфликтов на
более старшие минорые версии тех мажорных, под которые они ведутся?

Здесь я их не наблюдаю:
- http://git.altlinux.org/gears/k/kernel-image-std-def.git
- http://git.altlinux.org/gears/k/kernel-image-un-def.git

Наверное, это вычисляется. Но для этого потребуется:
- вытянуть гигабайт исходников;
- выяснить какой командой это вычисляется;
- то есть потратить кучу времени без гарантии, что не ошибся и всё
правильно сделал;
- без возможности быстро посмотреть через веб-интерфейс ту часть
истории, которая (казалось бы) должна быть доступна.


> > >> И, если я правильно понимаю, упоминаемым партнёрам они не очень
> > >> интересны. Зачем их при каждой сборке вытаскивать наверх ценой
> > >> испорченной истории мне не ясно.
> > >
> > > Если мне гит при каждом merge ядра будет ругаться на unrelated history, то я буду громко и сильно ругаться на тех людей, которые так делают.
> > >
> > > Давайте ещё раз подумаем и придумаем удобное решение.
> > >
> > > А как ведёт ядро та же убунта ? Почему у них нет этой проблемы ?
> > > https://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-oem/+git/focal?h=oem-5.10
> > >
> > По моим наблюдениям примерно годичной давности, убунта регулярно форс-пушит в свой гит, который часто не соответствует ушедшим в репозиторий исходникам. С таким гитом работать невозможно. Точно не пример для подражания.

Ну, наверное, убунта это делает из каких-то соображений. Не из прихоти
же? Субъективные предпочтения тоже бывают, но тут не тот случай, когда
всё к этому сводится.


> Согласен. За push --force в репозитории, которые в разработке
> используются другими людьми, нужно руки отрывать.

Не согласен. Смотря в каком контексте идёт речь о разработке. Пачка
запутанных merge-коммитов - это интересная история для пакета, но не
для разработки того исходного кода, который собирается в этом пакете.

О какой, вообще, разработке идёт речь? Что вы называете разработкой,
если отсутствует плановый сценарий передачи исходников в апстрим и не
заложен подход взаимодействия с другими разработчиками, которые тоже
взаимодействуют с апстримом и этот апстрим не мы?

"Плановый сценарий передачи исходников в апстрим" отсутствует, в
данном случае, потому, что "выковыривать" размазанные по истории патчи
- это антипродуктивный, нерабочий сценарий для любого разработчика,
кроме автора пакета, да и для него тоже неудобная;
"Подход взаимодействия с другими разработчиками, которые тоже
взаимодействуют с апстримом" не заложен, в данном случае, потому, что
сторонним разработчикам не менее нужны наши патчи в доступном виде,
чем апстриму, если мы хотим этой самой совместной разработки.

При работе с апстримом и попытках передать астриму исходники
приходится делать регулярный git rebase и git push --force. Это же
очевидно. Вариант - передать патч в электронном сообщении только
скрывает отсутствие этого --force, который, фактически, всё равно,
имеет место быть, поскольку этот патч равносилен цепочке git
cherry-pick && git rebase, после которой неизбежен --force или
параллельная история с кучей merge-коммитов, которая никому не
интересна для разработки, даже нам самим.

Не стоит называть любую сборку пакета в репозиторий участием в
разработке. Это иногда так, но очень и очень редко. Во многих случаях
авторы даже не в курсе, что мы их проект собираем. И разница тут
именно в том, что для передачи исходников и для совместного ведения
исходного кода приходится чем-то платить. В нашем случае, одним из
удачных вариантов является вариант с разделением веток:
- master - апстрим;
- altlinux - наши патчи;
- sisyphus/p10/p9/... - ветки с gear-правилами и нашим spec-файлом.

Если патчи не нужно отдавать и наш сборочный репозиторий никому не
нужен, то, всё равно, такая схема для разработки удобна, поскольку в
историю изменений исходников не входит ещё и история изменений нашего
spec-файла.

Всё это актуально только в том случае, если:
- мы рассматриваем не личный репозиторий, а репозиторий формата
git.altlinux.org/gears/p/package-name.git, как источник для
взаимодействия с другими разработчиками, включая нас самих;
- мы исходим из того, что у нас имеется общий апстрим (ветка master),
который, как первоисточник, используется всеми разработчиками;
- задача, которую мы совместно решаем, состоит в том, чтобы
максимально быстро передавать наши наработки, при необходимости, в
апстрим или друг другу;
- а длительная поддержка наших наработок предполагает, чтобы эта
возможность не утрачивалась в угоду мнимому или объективному, но
весьма условному, удобству.

Длительная поддержка наших изменений в апстримных проектах тоже, в
каком-то смысле - разработка. Но совершенно другая задача, если
взаимодействие планируется налаживать на регулярной основе. Если мы
ведём все исходники в git-репах, то неплохо бы его и использовать (ну,
хотелось бы). В том виде, в котором мы ведём сборку сейчас, во многих
случаях, нашими наработками воспользоваться, мягко говоря, довольно
затруднительно. Если мы не ставим себе такой задачи, то у меня нет
больше никаких вопросов.

PS: Кстати, у федоры тоже есть git-репы для своих пакетов:
- https://src.fedoraproject.org/rpms/kernel/
Пример, ядра не очень показателен, но даже в нём сразу понятно чем
отличается их ядро от апстримного. А про наше нужно ещё догадаться,
изучив и разобрав gear-правила, которые для каждого пакета свои. Стоит
отметить, что gear на другие дистрибутивы не портирован, хотя у меня
есть свой порт на centos.

PPS: Понятно, что предложенная схема имеет свои издержки. Но "отрывать
руки" - это уже как-то за гранью. Я если отрывать руки за то, что
сборка есть, а патчей нет? Ну, то есть они как бы есть, но передать их
в апстрим требует нетривиальной работы?


-- 
Sin (Sinelnikov Evgeny)

^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-03  5:07                 ` Evgeny Sinelnikov
@ 2022-01-03  5:33                   ` Evgeny Sinelnikov
  2022-01-10  8:53                     ` Anton V. Boyarshinov
  2022-01-11  8:01                     ` Anton V. Boyarshinov
    1 sibling, 2 replies; 92+ messages in thread
From: Evgeny Sinelnikov @ 2022-01-03  5:33 UTC (permalink / raw)
  To: ALT Linux Team development discussions

пн, 3 янв. 2022 г. в 09:07, Evgeny Sinelnikov <sin@altlinux.org>:
>
> С новым годом!
>
> чт, 23 дек. 2021 г. в 10:08, Andrey Savchenko <bircoph@altlinux.org>:
> >
> > On Thu, 23 Dec 2021 06:28:34 +0300 Mikhail Novosyolov wrote:
> > >
> > > 06.12.2021 15:12, Anton Farygin пишет:
> > > > On 06.12.2021 14:41, Anton V. Boyarshinov wrote:
> > > >> В Mon, 6 Dec 2021 15:27:11 +0400
> > > >> Alexey Sheplyakov <asheplyakov@basealt.ru> пишет:
> > > >>
> > > >>> 2) Некий логически монолитный кусок кода (например, LSM модуль AltHa, или
> > > >>>     драйвер dwmac-baikal) оказывается размазанным тонким слоем по N коммитам.
> > > >>>     При переносе на более свежее ядро из этих N коммитов всё равно надо сделать
> > > >>>     один патч (а затем доработать его вслед за изменившимися API).
> > > >> Да, эти "стабильные" патчи живут в отдельных ветках feat-* и fix-*
>
> Где их искать?
> Под какие мажорные релизы они поддерживаются?
> Можно ли рассчитывать, что патчи из этих веток лягут без конфликтов на
> более старшие минорые версии тех мажорных, под которые они ведутся?
>
> Здесь я их не наблюдаю:
> - http://git.altlinux.org/gears/k/kernel-image-std-def.git
> - http://git.altlinux.org/gears/k/kernel-image-un-def.git
>
> Наверное, это вычисляется. Но для этого потребуется:
> - вытянуть гигабайт исходников;
> - выяснить какой командой это вычисляется;
> - то есть потратить кучу времени без гарантии, что не ошибся и всё
> правильно сделал;
> - без возможности быстро посмотреть через веб-интерфейс ту часть
> истории, которая (казалось бы) должна быть доступна.
>

Я нашёл вот такой репозиторий:
http://git.altlinux.org/people/kernelbot/packages/kernel-image.git

Какие-то ветки там точно имеются.
Но вот какие, для какого ядра, в каком порядке нужно применять
совершенно непонятно.

Как это выяснить?

Я так полагаю, что предлагается такой вариант:
git log --merges --grep=fix- --grep=feat- --author=altlinux

Плохо и неудобно, что это не наглядно. Допустим.

Но как, взяв эти ветки, можно рассчитывать, что они лягут на то или
иное мажорное ядро.

Хорошо, что хоть эти ветки обновляются с --force, но тогда как найти
предыдущие варианты, которые "вмержены" в более старые, всем
интересные, актуальные LTS-ядра? И как потом можно рассчитывать, что
получившиеся исходники будут ровно теми, которые мы собираем? Мы ведь
и "начерипикать" можем (и делаем это регулярно)?

Таким образом наличие веток не спасает. Понять какие патчи имеются в
наших ядрах, не прилагая значительных усилий, времени и нетривиальных
знаний по git'у, не представляется возможным.

Именно эту проблему и предложено решить новой схемой ведения
исходников ядра. Может быть эту проблему можно решить и иначе. Для
начала, хотелось бы зафиксировать, что такая проблема есть (иначе
зачем её решать?)


[...]



-- 
Sin (Sinelnikov Evgeny)

^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  @ 2022-01-03  6:17                     ` Evgeny Sinelnikov
  2022-01-03  6:25                       ` Aleksey Novodvorsky
  0 siblings, 1 reply; 92+ messages in thread
From: Evgeny Sinelnikov @ 2022-01-03  6:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions

пн, 3 янв. 2022 г. в 09:41, Aleksey Novodvorsky <aen@basealt.ru>:
>
>
>
>
>
> пн, 3 янв. 2022 г., 08:08 Evgeny Sinelnikov <sin@altlinux.org>:
>>
>> С новым годом!
>
>
> И вас!
>>
>>
>> чт, 23 дек. 2021 г. в 10:08, Andrey Savchenko <bircoph@altlinux.org>:
>> >
>> > On Thu, 23 Dec 2021 06:28:34 +0300 Mikhail Novosyolov wrote:
>> > >
>> > > 06.12.2021 15:12, Anton Farygin пишет:
>> > > > On 06.12.2021 14:41, Anton V. Boyarshinov wrote:
>> > > >> В Mon, 6 Dec 2021 15:27:11 +0400
>> > > >> Alexey Sheplyakov <asheplyakov@basealt.ru> пишет:
>> > > >>
>> > > >>> 2) Некий логически монолитный кусок кода (например, LSM модуль AltHa, или
>> > > >>>     драйвер dwmac-baikal) оказывается размазанным тонким слоем по N коммитам.
>> > > >>>     При переносе на более свежее ядро из этих N коммитов всё равно надо сделать
>> > > >>>     один патч (а затем доработать его вслед за изменившимися API).
>> > > >> Да, эти "стабильные" патчи живут в отдельных ветках feat-* и fix-*
>>
>> Где их искать?
>> Под какие мажорные релизы они поддерживаются?
>> Можно ли рассчитывать, что патчи из этих веток лягут без конфликтов на
>> более старшие минорые версии тех мажорных, под которые они ведутся?
>>
>> Здесь я их не наблюдаю:
>> - http://git.altlinux.org/gears/k/kernel-image-std-def.git
>> - http://git.altlinux.org/gears/k/kernel-image-un-def.git
>>
>> Наверное, это вычисляется. Но для этого потребуется:
>> - вытянуть гигабайт исходников;
>> - выяснить какой командой это вычисляется;
>> - то есть потратить кучу времени без гарантии, что не ошибся и всё
>> правильно сделал;
>> - без возможности быстро посмотреть через веб-интерфейс ту часть
>> истории, которая (казалось бы) должна быть доступна.
>>
>>
>> > > >> И, если я правильно понимаю, упоминаемым партнёрам они не очень
>> > > >> интересны. Зачем их при каждой сборке вытаскивать наверх ценой
>> > > >> испорченной истории мне не ясно.
>> > > >
>> > > > Если мне гит при каждом merge ядра будет ругаться на unrelated history, то я буду громко и сильно ругаться на тех людей, которые так делают.
>> > > >
>> > > > Давайте ещё раз подумаем и придумаем удобное решение.
>> > > >
>> > > > А как ведёт ядро та же убунта ? Почему у них нет этой проблемы ?
>> > > > https://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-oem/+git/focal?h=oem-5.10
>> > > >
>> > > По моим наблюдениям примерно годичной давности, убунта регулярно форс-пушит в свой гит, который часто не соответствует ушедшим в репозиторий исходникам. С таким гитом работать невозможно. Точно не пример для подражания.
>>
>> Ну, наверное, убунта это делает из каких-то соображений. Не из прихоти
>> же? Субъективные предпочтения тоже бывают, но тут не тот случай, когда
>> всё к этому сводится.
>>
>>
>> > Согласен. За push --force в репозитории, которые в разработке
>> > используются другими людьми, нужно руки отрывать.
>>
>> Не согласен. Смотря в каком контексте идёт речь о разработке. Пачка
>> запутанных merge-коммитов - это интересная история для пакета, но не
>> для разработки того исходного кода, который собирается в этом пакете.
>>
>> О какой, вообще, разработке идёт речь? Что вы называете разработкой,
>> если отсутствует плановый сценарий передачи исходников в апстрим и не
>> заложен подход взаимодействия с другими разработчиками, которые тоже
>> взаимодействуют с апстримом и этот апстрим не мы?
>>
>> "Плановый сценарий передачи исходников в апстрим" отсутствует, в
>> данном случае, потому, что "выковыривать" размазанные по истории патчи
>> - это антипродуктивный, нерабочий сценарий для любого разработчика,
>> кроме автора пакета, да и для него тоже неудобная;
>> "Подход взаимодействия с другими разработчиками, которые тоже
>> взаимодействуют с апстримом" не заложен, в данном случае, потому, что
>> сторонним разработчикам не менее нужны наши патчи в доступном виде,
>> чем апстриму, если мы хотим этой самой совместной разработки.
>>
>> При работе с апстримом и попытках передать астриму исходники
>> приходится делать регулярный git rebase и git push --force. Это же
>> очевидно. Вариант - передать патч в электронном сообщении только
>> скрывает отсутствие этого --force, который, фактически, всё равно,
>> имеет место быть, поскольку этот патч равносилен цепочке git
>> cherry-pick && git rebase, после которой неизбежен --force или
>> параллельная история с кучей merge-коммитов, которая никому не
>> интересна для разработки, даже нам самим.
>>
>> Не стоит называть любую сборку пакета в репозиторий участием в
>> разработке. Это иногда так, но очень и очень редко. Во многих случаях
>> авторы даже не в курсе, что мы их проект собираем. И разница тут
>> именно в том, что для передачи исходников и для совместного ведения
>> исходного кода приходится чем-то платить. В нашем случае, одним из
>> удачных вариантов является вариант с разделением веток:
>> - master - апстрим;
>> - altlinux - наши патчи;
>> - sisyphus/p10/p9/... - ветки с gear-правилами и нашим spec-файлом.
>>
>> Если патчи не нужно отдавать и наш сборочный репозиторий никому не
>> нужен, то, всё равно, такая схема для разработки удобна, поскольку в
>> историю изменений исходников не входит ещё и история изменений нашего
>> spec-файла.
>>
>> Всё это актуально только в том случае, если:
>> - мы рассматриваем не личный репозиторий, а репозиторий формата
>> git.altlinux.org/gears/p/package-name.git, как источник для
>> взаимодействия с другими разработчиками, включая нас самих;
>> - мы исходим из того, что у нас имеется общий апстрим (ветка master),
>> который, как первоисточник, используется всеми разработчиками;
>> - задача, которую мы совместно решаем, состоит в том, чтобы
>> максимально быстро передавать наши наработки, при необходимости, в
>> апстрим или друг другу;
>> - а длительная поддержка наших наработок предполагает, чтобы эта
>> возможность не утрачивалась в угоду мнимому или объективному, но
>> весьма условному, удобству.
>>
>> Длительная поддержка наших изменений в апстримных проектах тоже, в
>> каком-то смысле - разработка. Но совершенно другая задача, если
>> взаимодействие планируется налаживать на регулярной основе. Если мы
>> ведём все исходники в git-репах, то неплохо бы его и использовать (ну,
>> хотелось бы). В том виде, в котором мы ведём сборку сейчас, во многих
>> случаях, нашими наработками воспользоваться, мягко говоря, довольно
>> затруднительно. Если мы не ставим себе такой задачи, то у меня нет
>> больше никаких вопросов.
>
>
> У нас есть по крайней мере две разные задачи: регулярная сборка ядра из единых исходников для основных платформ и разработка для апстрима и партнёров. И это две разные сферы ответственности.
> То есть задача не только техническая, но управленческая и кадровая. Тянуть одеяло на себя -- самое плохое дело в этой ситуации. Решение нужно комплексное и согласованное, простым оно не будет. Но сейчас есть время и, возможно, ресурсы, подумать над ней.

Именно с целью подумать и что-то придумать я и начал эту переписку.

Поскольку уже прошло некоторое время и были высказаны различные точки
зрения, хочу обобщить некоторые тезисы:
- в идеале нужен общий подход, подходящий для регулярной сборки ядра
из единых исходников для основных платформ и для разработки для
апстрима и партнёров;
- если это по каким-то причинам невозможно, то требуется
автоматизируемый сценарий получения исходников для разработки в
точности совпадающий с исходниками для регулярной сборки.

Честно говоря, я не очень понимаю как, и можно ли вообще, добиться
второго варианта. Кроме того, разработка для апстрима и партнёров в
равной (если не в большей) требует выявления регрессий на всех
основных платформах при разработке под какую-то одну.



> Rgrds, Алексей
>>
>>
>> PS: Кстати, у федоры тоже есть git-репы для своих пакетов:
>> - https://src.fedoraproject.org/rpms/kernel/
>> Пример, ядра не очень показателен, но даже в нём сразу понятно чем
>> отличается их ядро от апстримного. А про наше нужно ещё догадаться,
>> изучив и разобрав gear-правила, которые для каждого пакета свои. Стоит
>> отметить, что gear на другие дистрибутивы не портирован, хотя у меня
>> есть свой порт на centos.
>>
>> PPS: Понятно, что предложенная схема имеет свои издержки. Но "отрывать
>> руки" - это уже как-то за гранью. Я если отрывать руки за то, что
>> сборка есть, а патчей нет? Ну, то есть они как бы есть, но передать их
>> в апстрим требует нетривиальной работы?
>>
>>
>> --
>> Sin (Sinelnikov Evgeny)
>> _______________________________________________
>> 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



-- 
Sin (Sinelnikov Evgeny)

^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-03  6:17                     ` Evgeny Sinelnikov
@ 2022-01-03  6:25                       ` Aleksey Novodvorsky
  0 siblings, 0 replies; 92+ messages in thread
From: Aleksey Novodvorsky @ 2022-01-03  6:25 UTC (permalink / raw)
  To: ALT Linux Team development discussions

пн, 3 янв. 2022 г. в 09:18, Evgeny Sinelnikov <sin@altlinux.org>:
>
> пн, 3 янв. 2022 г. в 09:41, Aleksey Novodvorsky <aen@basealt.ru>:
> >
> >
> >
> >
> >
> > пн, 3 янв. 2022 г., 08:08 Evgeny Sinelnikov <sin@altlinux.org>:
> >>
> >> С новым годом!
> >
> >
> > И вас!
> >>
> >>
> >> чт, 23 дек. 2021 г. в 10:08, Andrey Savchenko <bircoph@altlinux.org>:
> >> >
> >> > On Thu, 23 Dec 2021 06:28:34 +0300 Mikhail Novosyolov wrote:
> >> > >
> >> > > 06.12.2021 15:12, Anton Farygin пишет:
> >> > > > On 06.12.2021 14:41, Anton V. Boyarshinov wrote:
> >> > > >> В Mon, 6 Dec 2021 15:27:11 +0400
> >> > > >> Alexey Sheplyakov <asheplyakov@basealt.ru> пишет:
> >> > > >>
> >> > > >>> 2) Некий логически монолитный кусок кода (например, LSM модуль AltHa, или
> >> > > >>>     драйвер dwmac-baikal) оказывается размазанным тонким слоем по N коммитам.
> >> > > >>>     При переносе на более свежее ядро из этих N коммитов всё равно надо сделать
> >> > > >>>     один патч (а затем доработать его вслед за изменившимися API).
> >> > > >> Да, эти "стабильные" патчи живут в отдельных ветках feat-* и fix-*
> >>
> >> Где их искать?
> >> Под какие мажорные релизы они поддерживаются?
> >> Можно ли рассчитывать, что патчи из этих веток лягут без конфликтов на
> >> более старшие минорые версии тех мажорных, под которые они ведутся?
> >>
> >> Здесь я их не наблюдаю:
> >> - http://git.altlinux.org/gears/k/kernel-image-std-def.git
> >> - http://git.altlinux.org/gears/k/kernel-image-un-def.git
> >>
> >> Наверное, это вычисляется. Но для этого потребуется:
> >> - вытянуть гигабайт исходников;
> >> - выяснить какой командой это вычисляется;
> >> - то есть потратить кучу времени без гарантии, что не ошибся и всё
> >> правильно сделал;
> >> - без возможности быстро посмотреть через веб-интерфейс ту часть
> >> истории, которая (казалось бы) должна быть доступна.
> >>
> >>
> >> > > >> И, если я правильно понимаю, упоминаемым партнёрам они не очень
> >> > > >> интересны. Зачем их при каждой сборке вытаскивать наверх ценой
> >> > > >> испорченной истории мне не ясно.
> >> > > >
> >> > > > Если мне гит при каждом merge ядра будет ругаться на unrelated history, то я буду громко и сильно ругаться на тех людей, которые так делают.
> >> > > >
> >> > > > Давайте ещё раз подумаем и придумаем удобное решение.
> >> > > >
> >> > > > А как ведёт ядро та же убунта ? Почему у них нет этой проблемы ?
> >> > > > https://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-oem/+git/focal?h=oem-5.10
> >> > > >
> >> > > По моим наблюдениям примерно годичной давности, убунта регулярно форс-пушит в свой гит, который часто не соответствует ушедшим в репозиторий исходникам. С таким гитом работать невозможно. Точно не пример для подражания.
> >>
> >> Ну, наверное, убунта это делает из каких-то соображений. Не из прихоти
> >> же? Субъективные предпочтения тоже бывают, но тут не тот случай, когда
> >> всё к этому сводится.
> >>
> >>
> >> > Согласен. За push --force в репозитории, которые в разработке
> >> > используются другими людьми, нужно руки отрывать.
> >>
> >> Не согласен. Смотря в каком контексте идёт речь о разработке. Пачка
> >> запутанных merge-коммитов - это интересная история для пакета, но не
> >> для разработки того исходного кода, который собирается в этом пакете.
> >>
> >> О какой, вообще, разработке идёт речь? Что вы называете разработкой,
> >> если отсутствует плановый сценарий передачи исходников в апстрим и не
> >> заложен подход взаимодействия с другими разработчиками, которые тоже
> >> взаимодействуют с апстримом и этот апстрим не мы?
> >>
> >> "Плановый сценарий передачи исходников в апстрим" отсутствует, в
> >> данном случае, потому, что "выковыривать" размазанные по истории патчи
> >> - это антипродуктивный, нерабочий сценарий для любого разработчика,
> >> кроме автора пакета, да и для него тоже неудобная;
> >> "Подход взаимодействия с другими разработчиками, которые тоже
> >> взаимодействуют с апстримом" не заложен, в данном случае, потому, что
> >> сторонним разработчикам не менее нужны наши патчи в доступном виде,
> >> чем апстриму, если мы хотим этой самой совместной разработки.
> >>
> >> При работе с апстримом и попытках передать астриму исходники
> >> приходится делать регулярный git rebase и git push --force. Это же
> >> очевидно. Вариант - передать патч в электронном сообщении только
> >> скрывает отсутствие этого --force, который, фактически, всё равно,
> >> имеет место быть, поскольку этот патч равносилен цепочке git
> >> cherry-pick && git rebase, после которой неизбежен --force или
> >> параллельная история с кучей merge-коммитов, которая никому не
> >> интересна для разработки, даже нам самим.
> >>
> >> Не стоит называть любую сборку пакета в репозиторий участием в
> >> разработке. Это иногда так, но очень и очень редко. Во многих случаях
> >> авторы даже не в курсе, что мы их проект собираем. И разница тут
> >> именно в том, что для передачи исходников и для совместного ведения
> >> исходного кода приходится чем-то платить. В нашем случае, одним из
> >> удачных вариантов является вариант с разделением веток:
> >> - master - апстрим;
> >> - altlinux - наши патчи;
> >> - sisyphus/p10/p9/... - ветки с gear-правилами и нашим spec-файлом.
> >>
> >> Если патчи не нужно отдавать и наш сборочный репозиторий никому не
> >> нужен, то, всё равно, такая схема для разработки удобна, поскольку в
> >> историю изменений исходников не входит ещё и история изменений нашего
> >> spec-файла.
> >>
> >> Всё это актуально только в том случае, если:
> >> - мы рассматриваем не личный репозиторий, а репозиторий формата
> >> git.altlinux.org/gears/p/package-name.git, как источник для
> >> взаимодействия с другими разработчиками, включая нас самих;
> >> - мы исходим из того, что у нас имеется общий апстрим (ветка master),
> >> который, как первоисточник, используется всеми разработчиками;
> >> - задача, которую мы совместно решаем, состоит в том, чтобы
> >> максимально быстро передавать наши наработки, при необходимости, в
> >> апстрим или друг другу;
> >> - а длительная поддержка наших наработок предполагает, чтобы эта
> >> возможность не утрачивалась в угоду мнимому или объективному, но
> >> весьма условному, удобству.
> >>
> >> Длительная поддержка наших изменений в апстримных проектах тоже, в
> >> каком-то смысле - разработка. Но совершенно другая задача, если
> >> взаимодействие планируется налаживать на регулярной основе. Если мы
> >> ведём все исходники в git-репах, то неплохо бы его и использовать (ну,
> >> хотелось бы). В том виде, в котором мы ведём сборку сейчас, во многих
> >> случаях, нашими наработками воспользоваться, мягко говоря, довольно
> >> затруднительно. Если мы не ставим себе такой задачи, то у меня нет
> >> больше никаких вопросов.
> >
> >
> > У нас есть по крайней мере две разные задачи: регулярная сборка ядра из единых исходников для основных платформ и разработка для апстрима и партнёров. И это две разные сферы ответственности.
> > То есть задача не только техническая, но управленческая и кадровая. Тянуть одеяло на себя -- самое плохое дело в этой ситуации. Решение нужно комплексное и согласованное, простым оно не будет. Но сейчас есть время и, возможно, ресурсы, подумать над ней.
>
> Именно с целью подумать и что-то придумать я и начал эту переписку.
>
> Поскольку уже прошло некоторое время и были высказаны различные точки
> зрения, хочу обобщить некоторые тезисы:
> - в идеале нужен общий подход, подходящий для регулярной сборки ядра
> из единых исходников для основных платформ и для разработки для
> апстрима и партнёров;
> - если это по каким-то причинам невозможно, то требуется
> автоматизируемый сценарий получения исходников для разработки в
> точности совпадающий с исходниками для регулярной сборки.

Да. И что дальше?
Какой следующий шаг, пусть небольшой, но согласованный?
Доверенного эксперта мы пока не нашли.

Rgrds, Алексей
>
> Честно говоря, я не очень понимаю как, и можно ли вообще, добиться
> второго варианта. Кроме того, разработка для апстрима и партнёров в
> равной (если не в большей) требует выявления регрессий на всех
> основных платформах при разработке под какую-то одну.
>
>
>
> > Rgrds, Алексей
> >>
> >>
> >> PS: Кстати, у федоры тоже есть git-репы для своих пакетов:
> >> - https://src.fedoraproject.org/rpms/kernel/
> >> Пример, ядра не очень показателен, но даже в нём сразу понятно чем
> >> отличается их ядро от апстримного. А про наше нужно ещё догадаться,
> >> изучив и разобрав gear-правила, которые для каждого пакета свои. Стоит
> >> отметить, что gear на другие дистрибутивы не портирован, хотя у меня
> >> есть свой порт на centos.
> >>
> >> PPS: Понятно, что предложенная схема имеет свои издержки. Но "отрывать
> >> руки" - это уже как-то за гранью. Я если отрывать руки за то, что
> >> сборка есть, а патчей нет? Ну, то есть они как бы есть, но передать их
> >> в апстрим требует нетривиальной работы?
> >>
> >>
> >> --
> >> Sin (Sinelnikov Evgeny)
> >> _______________________________________________
> >> 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
>
>
>
> --
> Sin (Sinelnikov Evgeny)
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel

^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-03  5:33                   ` Evgeny Sinelnikov
@ 2022-01-10  8:53                     ` Anton V. Boyarshinov
  2022-01-11  8:01                     ` Anton V. Boyarshinov
  1 sibling, 0 replies; 92+ messages in thread
From: Anton V. Boyarshinov @ 2022-01-10  8:53 UTC (permalink / raw)
  To: Evgeny Sinelnikov; +Cc: ALT Linux Team development discussions

Добрый день

> Но как, взяв эти ветки, можно рассчитывать, что они лягут на то или
> иное мажорное ядро.
> 
> Хорошо, что хоть эти ветки обновляются с --force,

Эти ветки как правило не обновляются с --force. За последнее время
такой случай был один и был связан с ошибкой при rebase.

> но тогда как найти
> предыдущие варианты, которые "вмержены" в более старые, всем
> интересные, актуальные LTS-ядра?

При возникновении значимых расхождений с новыми мажорными версиями
создаются новые ветки на основе более свежих ядер. Например:

feat-altha-kiosk
feat-altha-kiosk-5.8

В ядре 5.8 LSM сильно переделали и была создана такая новая ветка. Которая неизменной мержится во все ядра с 5.8 включительно (там возникают тривиальные конфликты в Makefile и Kconfig, но они действительно тривиальны)


> И как потом можно рассчитывать, что
> получившиеся исходники будут ровно теми, которые мы собираем? Мы ведь
> и "начерипикать" можем (и делаем это регулярно)?

Исходниками которые мы собираем будут только ровно те исходники,
которые мы собираем. И это в немалой степени касается и файлов не
входящих в апстримные исходники, как то конфигов и spec, в котором в
частности описано как из этих кусков конфигов создаётся итоговый конфиг.

> Таким образом наличие веток не спасает. Понять какие патчи имеются в
> наших ядрах, не прилагая значительных усилий, времени и нетривиальных
> знаний по git'у, не представляется возможным.

Требуемые знания git кажутся мне вполне тривиальными для человека,
занимающегося ядром.

> Именно эту проблему и предложено решить новой схемой ведения
> исходников ядра. Может быть эту проблему можно решить и иначе. Для
> начала, хотелось бы зафиксировать, что такая проблема есть (иначе
> зачем её решать?)

Я-таки не вполне понимаю, зачем железячникам "все наши патчи", с учётом
того, что существенная часть этих патчей полностью
архитектурно-независима.


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-03  5:33                   ` Evgeny Sinelnikov
  2022-01-10  8:53                     ` Anton V. Boyarshinov
@ 2022-01-11  8:01                     ` Anton V. Boyarshinov
  2022-01-11  8:12                       ` Anton V. Boyarshinov
  2022-01-11 12:18                       ` Anton V. Boyarshinov
  1 sibling, 2 replies; 92+ messages in thread
From: Anton V. Boyarshinov @ 2022-01-11  8:01 UTC (permalink / raw)
  To: Evgeny Sinelnikov; +Cc: ALT Linux Team development discussions


> Таким образом наличие веток не спасает. Понять какие патчи имеются в
> наших ядрах, не прилагая значительных усилий, времени и нетривиальных
> знаний по git'у, не представляется возможным.

Я полагаю, можно попробовать не мержить эти ветки в репозиторий ядра, а
описать их в правилах gear. Возможно, это будет нагляднее. Я попробую
сделать такую схему для ядра 5.16, посмотрим как оно будет.
 
> Именно эту проблему и предложено решить новой схемой ведения
> исходников ядра. Может быть эту проблему можно решить и иначе. Для
> начала, хотелось бы зафиксировать, что такая проблема есть (иначе
> зачем её решать?)
> 
> 
> [...]
> 
> 
> 



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-11  8:01                     ` Anton V. Boyarshinov
@ 2022-01-11  8:12                       ` Anton V. Boyarshinov
  2022-01-11  8:55                         ` Paul Wolneykien
  2022-01-11 12:18                       ` Anton V. Boyarshinov
  1 sibling, 1 reply; 92+ messages in thread
From: Anton V. Boyarshinov @ 2022-01-11  8:12 UTC (permalink / raw)
  To: Evgeny Sinelnikov; +Cc: ALT Linux Team development discussions

В Tue, 11 Jan 2022 11:01:25 +0300
"Anton V. Boyarshinov" <boyarsh@altlinux.org> пишет:

> > Таким образом наличие веток не спасает. Понять какие патчи имеются в
> > наших ядрах, не прилагая значительных усилий, времени и нетривиальных
> > знаний по git'у, не представляется возможным.  
> 
> Я полагаю, можно попробовать не мержить эти ветки в репозиторий ядра, а
> описать их в правилах gear. Возможно, это будет нагляднее. Я попробую
> сделать такую схему для ядра 5.16, посмотрим как оно будет.

Пока не очень. Я как-то забыл, что для использования в .gear/rules
надо чтоб коммиты были смержены, хотя бы с -s ours. А это путаница в
истории, а история у репозитория ядра и так непростая.

> > Именно эту проблему и предложено решить новой схемой ведения
> > исходников ядра. Может быть эту проблему можно решить и иначе. Для
> > начала, хотелось бы зафиксировать, что такая проблема есть (иначе
> > зачем её решать?)
> > 
> > 
> > [...]
> > 
> > 
> >   
> 
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-11  8:12                       ` Anton V. Boyarshinov
@ 2022-01-11  8:55                         ` Paul Wolneykien
  2022-01-11  9:10                           ` Sergey V Turchin
  2022-01-11 10:30                           ` [devel] " Vladimir D. Seleznev
  0 siblings, 2 replies; 92+ messages in thread
From: Paul Wolneykien @ 2022-01-11  8:55 UTC (permalink / raw)
  To: ALT Linux Team development discussions

11 января 2022 г. 11:12:09 GMT+03:00, "Anton V. Boyarshinov" <boyarsh@altlinux.org> пишет:
>В Tue, 11 Jan 2022 11:01:25 +0300
>"Anton V. Boyarshinov" <boyarsh@altlinux.org> пишет:
>
>> > Таким образом наличие веток не спасает. Понять какие патчи имеются
>в
>> > наших ядрах, не прилагая значительных усилий, времени и
>нетривиальных
>> > знаний по git'у, не представляется возможным.  
>> 
>> Я полагаю, можно попробовать не мержить эти ветки в репозиторий ядра,
>а
>> описать их в правилах gear. Возможно, это будет нагляднее. Я попробую
>> сделать такую схему для ядра 5.16, посмотрим как оно будет.
>
>Пока не очень. Я как-то забыл, что для использования в .gear/rules
>надо чтоб коммиты были смержены, хотя бы с -s ours. А это путаница в
>истории, а история у репозитория ядра и так непростая.

Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на внешние репозитории или подмодули.


>> > Именно эту проблему и предложено решить новой схемой ведения
>> > исходников ядра. Может быть эту проблему можно решить и иначе. Для
>> > начала, хотелось бы зафиксировать, что такая проблема есть (иначе
>> > зачем её решать?)
>> > 
>> > 
>> > [...]
>> > 
>> > 
>> >   
>> 
>> _______________________________________________
>> 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] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-11  8:55                         ` Paul Wolneykien
@ 2022-01-11  9:10                           ` Sergey V Turchin
  2022-01-11  9:33                             ` Anton Farygin
  2022-01-12  0:26                             ` [devel] PoC: gear-submodule-update Ex: " Vitaly Chikunov
  2022-01-11 10:30                           ` [devel] " Vladimir D. Seleznev
  1 sibling, 2 replies; 92+ messages in thread
From: Sergey V Turchin @ 2022-01-11  9:10 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:

[...]
> Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
> внешние репозитории или подмодули.
Возможно, с появлением gear все этого уже ждут. ;-)
https://bugs.altlinux.org/17914

[...]

-- 
Regards, Sergey.

^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-11  9:10                           ` Sergey V Turchin
@ 2022-01-11  9:33                             ` Anton Farygin
  2022-01-11  9:37                               ` Alexey V. Vissarionov
  2022-01-12  0:26                             ` [devel] PoC: gear-submodule-update Ex: " Vitaly Chikunov
  1 sibling, 1 reply; 92+ messages in thread
From: Anton Farygin @ 2022-01-11  9:33 UTC (permalink / raw)
  To: devel

On 11.01.2022 12:10, Sergey V Turchin wrote:
> On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:
>
> [...]
>> Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
>> внешние репозитории или подмодули.
> Возможно, с появлением gear все этого уже ждут. ;-)
> https://bugs.altlinux.org/17914
>
Основной фичей gear является то, что всё необходимое для сборки можно 
взять из сборочного тэга. Если это и ломать, то надо хорошенько подумать 
о том, как это ломать так, что бы всё равно всё необходимое для сборки 
было доступного из одного места.


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-11  9:33                             ` Anton Farygin
@ 2022-01-11  9:37                               ` Alexey V. Vissarionov
  0 siblings, 0 replies; 92+ messages in thread
From: Alexey V. Vissarionov @ 2022-01-11  9:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 2022-01-11 12:33:33 +0300, Anton Farygin wrote:

 >>> Возможно, это повод для FR к gear: чтобы он поддерживал
 >>> в rules ссылки на внешние репозитории или подмодули.
 >> Возможно, с появлением gear все этого уже ждут. ;-)
 >> https://bugs.altlinux.org/17914
 > Основной фичей gear является то, что всё необходимое для
 > сборки можно взять из сборочного тэга. Если это и ломать,
 > то надо хорошенько подумать о том, как это ломать так,
 > что бы всё равно всё необходимое для сборки было доступного
 > из одного места.

В простейшем случае можно требовать одинаковых тегов в основной
репе и в подмодулях.


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-11  8:55                         ` Paul Wolneykien
  2022-01-11  9:10                           ` Sergey V Turchin
@ 2022-01-11 10:30                           ` Vladimir D. Seleznev
  1 sibling, 0 replies; 92+ messages in thread
From: Vladimir D. Seleznev @ 2022-01-11 10:30 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Jan 11, 2022 at 11:55:20AM +0300, Paul Wolneykien wrote:
> 11 января 2022 г. 11:12:09 GMT+03:00, "Anton V. Boyarshinov" <boyarsh@altlinux.org> пишет:
> >В Tue, 11 Jan 2022 11:01:25 +0300
> >"Anton V. Boyarshinov" <boyarsh@altlinux.org> пишет:
> >
> >> > Таким образом наличие веток не спасает. Понять какие патчи имеются
> >в
> >> > наших ядрах, не прилагая значительных усилий, времени и
> >нетривиальных
> >> > знаний по git'у, не представляется возможным.  
> >> 
> >> Я полагаю, можно попробовать не мержить эти ветки в репозиторий ядра,
> >а
> >> описать их в правилах gear. Возможно, это будет нагляднее. Я попробую
> >> сделать такую схему для ядра 5.16, посмотрим как оно будет.
> >
> >Пока не очень. Я как-то забыл, что для использования в .gear/rules
> >надо чтоб коммиты были смержены, хотя бы с -s ours. А это путаница в
> >истории, а история у репозитория ядра и так непростая.
> 
> Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на внешние репозитории или подмодули.

Мне кажется, это противоречит основной концепции gear.

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-11  8:01                     ` Anton V. Boyarshinov
  2022-01-11  8:12                       ` Anton V. Boyarshinov
@ 2022-01-11 12:18                       ` Anton V. Boyarshinov
  2022-01-19  9:53                         ` Vladimir D. Seleznev
  1 sibling, 1 reply; 92+ messages in thread
From: Anton V. Boyarshinov @ 2022-01-11 12:18 UTC (permalink / raw)
  To: devel

В Tue, 11 Jan 2022 11:01:25 +0300
"Anton V. Boyarshinov" <boyarsh@altlinux.org> пишет:

> > Таким образом наличие веток не спасает. Понять какие патчи имеются в
> > наших ядрах, не прилагая значительных усилий, времени и нетривиальных
> > знаний по git'у, не представляется возможным.  
> 
> Я полагаю, можно попробовать не мержить эти ветки в репозиторий ядра, а
> описать их в правилах gear. Возможно, это будет нагляднее. Я попробую
> сделать такую схему для ядра 5.16, посмотрим как оно будет.

Ну, концептуально как-то так:
https://git.altlinux.org/tasks/293279/

И конкретно:
https://git.altlinux.org/tasks/293279/gears/100/git?p=git;a=blob;f=.gear/rules;h=e1ca2a1812b6998b561d9f108ae2b2e9ebf92233;hb=66ba93e78db964ba5c1947b8866c709d8d4c253c

Для восстановления бранчей и тэгов, если я правильно помню, надо выполнить в репозитории команду gear-restore-tags

С одной стороны, такая схема ощутимо более трудоёмка при сборке новой мажорной версии, но можно попробовать многое заскриптовать.
С другой стороны, есть и определённые удобства в плане поддержки ядер в разных репозиториях.
С третьей стороны, когда stable разъезжается с патчами, в старой схеме это видно на этапе мержа, а в новой -- на этапе сборки. Впрочем, тут есть и недостатки и достоинства.

В общем, надо посмотреть.


^ permalink raw reply	[flat|nested] 92+ messages in thread

* [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра
  2022-01-11  9:10                           ` Sergey V Turchin
  2022-01-11  9:33                             ` Anton Farygin
@ 2022-01-12  0:26                             ` Vitaly Chikunov
  2022-01-12  0:39                               ` Dmitry V. Levin
                                                 ` (2 more replies)
  1 sibling, 3 replies; 92+ messages in thread
From: Vitaly Chikunov @ 2022-01-12  0:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Hi,

On Tue, Jan 11, 2022 at 12:10:52PM +0300, Sergey V Turchin wrote:
> On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:
> 
> [...]
> > Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
> > внешние репозитории или подмодули.
> Возможно, с появлением gear все этого уже ждут. ;-)
> https://bugs.altlinux.org/17914

Возможны разные попытки решения этой проблемы.
Вот Proof of Concept code
  gitery:/people/vt/private/gear-submodule-update.git
который делает фиктивный merge всем submodules и меняет rules и spec
так чтоб они разтаривались при сборке.

Это решение чисто экспериментальное (as in no warranty), но, возможно,
оно вдохновит кого-то на более правильное решение.



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра
  2022-01-12  0:26                             ` [devel] PoC: gear-submodule-update Ex: " Vitaly Chikunov
@ 2022-01-12  0:39                               ` Dmitry V. Levin
  2022-01-12 12:20                                 ` Dmitry V. Levin
  2022-01-12  1:04                               ` [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра Vladislav Zavjalov
  2022-01-12  6:01                               ` Anton Farygin
  2 siblings, 1 reply; 92+ messages in thread
From: Dmitry V. Levin @ 2022-01-12  0:39 UTC (permalink / raw)
  To: devel

Hi,

On Wed, Jan 12, 2022 at 03:26:55AM +0300, Vitaly Chikunov wrote:
> On Tue, Jan 11, 2022 at 12:10:52PM +0300, Sergey V Turchin wrote:
> > On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:
> > 
> > [...]
> > > Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
> > > внешние репозитории или подмодули.
> > Возможно, с появлением gear все этого уже ждут. ;-)
> > https://bugs.altlinux.org/17914
> 
> Возможны разные попытки решения этой проблемы.
> Вот Proof of Concept code
>   gitery:/people/vt/private/gear-submodule-update.git
> который делает фиктивный merge всем submodules и меняет rules и spec
> так чтоб они разтаривались при сборке.
> 
> Это решение чисто экспериментальное (as in no warranty), но, возможно,
> оно вдохновит кого-то на более правильное решение.

Есть ещё
https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=refs/heads/legion/patchset/submodule-support/v5
но я его не смог дочитать.


-- 
ldv


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра
  2022-01-12  0:26                             ` [devel] PoC: gear-submodule-update Ex: " Vitaly Chikunov
  2022-01-12  0:39                               ` Dmitry V. Levin
@ 2022-01-12  1:04                               ` Vladislav Zavjalov
  2022-01-12  6:01                               ` Anton Farygin
  2 siblings, 0 replies; 92+ messages in thread
From: Vladislav Zavjalov @ 2022-01-12  1:04 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jan 12, 2022 at 03:26:55AM +0300, Vitaly Chikunov wrote:
> > https://bugs.altlinux.org/17914
> 
> Возможны разные попытки решения этой проблемы.

Я для себя это решал так:
У меня есть репозиторий, который я хочу подключать как submodule
к разным пакетам. В него я кладу минимальный spec и
минимальный gear-rules ("tar: . name=modules").
В основные репозитории кладу скрипт с "cd modules; gear --export-dir .."
При сборке новой версии запускаю скрипт и в коммит
добавляю обновленный tar (а в секции %build у меня стоит "tar -xvf modules.tar").

Получается вполне понятно и удобно. Победа над gear с помощью gear!

Наверное, можно сделать какой-то gear-update-submodules, который будет
делать то же самое, но без отдельного скрипта и без конфигурации в
submodule-репозитории.



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра
  2022-01-12  0:26                             ` [devel] PoC: gear-submodule-update Ex: " Vitaly Chikunov
  2022-01-12  0:39                               ` Dmitry V. Levin
  2022-01-12  1:04                               ` [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра Vladislav Zavjalov
@ 2022-01-12  6:01                               ` Anton Farygin
  2 siblings, 0 replies; 92+ messages in thread
From: Anton Farygin @ 2022-01-12  6:01 UTC (permalink / raw)
  To: devel

On 12.01.2022 03:26, Vitaly Chikunov wrote:
> Hi,
>
> On Tue, Jan 11, 2022 at 12:10:52PM +0300, Sergey V Turchin wrote:
>> On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:
>>
>> [...]
>>> Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
>>> внешние репозитории или подмодули.
>> Возможно, с появлением gear все этого уже ждут. ;-)
>> https://bugs.altlinux.org/17914
> Возможны разные попытки решения этой проблемы.
> Вот Proof of Concept code
>    gitery:/people/vt/private/gear-submodule-update.git
> который делает фиктивный merge всем submodules и меняет rules и spec
> так чтоб они разтаривались при сборке.
>
> Это решение чисто экспериментальное (as in no warranty), но, возможно,
> оно вдохновит кого-то на более правильное решение.
>
https://git.altlinux.org/gears/c/clickhouse.git?p=clickhouse.git;a=blob;f=.gear/update-submodules.sh;h=b17b42524a9d2a6b32632f13b6708972a66a3ca6;hb=77fb07c30b1550fb2f3fd87ea1536f068ec8fd5f

Вот тоже что-то вроде этого.



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра
  2022-01-12  0:39                               ` Dmitry V. Levin
@ 2022-01-12 12:20                                 ` Dmitry V. Levin
  2022-01-12 12:40                                   ` Alexey Gladkov
  2022-01-12 16:59                                   ` [devel] gear-store-submodules Dmitry V. Levin
  0 siblings, 2 replies; 92+ messages in thread
From: Dmitry V. Levin @ 2022-01-12 12:20 UTC (permalink / raw)
  To: devel

On Wed, Jan 12, 2022 at 03:39:20AM +0300, Dmitry V. Levin wrote:
> On Wed, Jan 12, 2022 at 03:26:55AM +0300, Vitaly Chikunov wrote:
> > On Tue, Jan 11, 2022 at 12:10:52PM +0300, Sergey V Turchin wrote:
> > > On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:
> > > 
> > > [...]
> > > > Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
> > > > внешние репозитории или подмодули.
> > > Возможно, с появлением gear все этого уже ждут. ;-)
> > > https://bugs.altlinux.org/17914
> > 
> > Возможны разные попытки решения этой проблемы.
> > Вот Proof of Concept code
> >   gitery:/people/vt/private/gear-submodule-update.git
> > который делает фиктивный merge всем submodules и меняет rules и spec
> > так чтоб они разтаривались при сборке.
> > 
> > Это решение чисто экспериментальное (as in no warranty), но, возможно,
> > оно вдохновит кого-то на более правильное решение.
> 
> Есть ещё
> https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=refs/heads/legion/patchset/submodule-support/v5
> но я его не смог дочитать.

Вроде бы дочитал, отредактировал, запушил в
https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=submodules
но всё равно у меня нет полной уверенности, что предпоследний коммит,
который обрабатывает .gear/submodules/list в gear, делает это совершенно
безопасно.


-- 
ldv


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра
  2022-01-12 12:20                                 ` Dmitry V. Levin
@ 2022-01-12 12:40                                   ` Alexey Gladkov
  2022-01-12 12:53                                     ` Alexey Gladkov
  2022-01-12 13:10                                     ` Alexey Gladkov
  2022-01-12 16:59                                   ` [devel] gear-store-submodules Dmitry V. Levin
  1 sibling, 2 replies; 92+ messages in thread
From: Alexey Gladkov @ 2022-01-12 12:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jan 12, 2022 at 03:20:51PM +0300, Dmitry V. Levin wrote:
> On Wed, Jan 12, 2022 at 03:39:20AM +0300, Dmitry V. Levin wrote:
> > On Wed, Jan 12, 2022 at 03:26:55AM +0300, Vitaly Chikunov wrote:
> > > On Tue, Jan 11, 2022 at 12:10:52PM +0300, Sergey V Turchin wrote:
> > > > On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:
> > > > 
> > > > [...]
> > > > > Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
> > > > > внешние репозитории или подмодули.
> > > > Возможно, с появлением gear все этого уже ждут. ;-)
> > > > https://bugs.altlinux.org/17914
> > > 
> > > Возможны разные попытки решения этой проблемы.
> > > Вот Proof of Concept code
> > >   gitery:/people/vt/private/gear-submodule-update.git
> > > который делает фиктивный merge всем submodules и меняет rules и spec
> > > так чтоб они разтаривались при сборке.
> > > 
> > > Это решение чисто экспериментальное (as in no warranty), но, возможно,
> > > оно вдохновит кого-то на более правильное решение.
> > 
> > Есть ещё
> > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=refs/heads/legion/patchset/submodule-support/v5
> > но я его не смог дочитать.
> 
> Вроде бы дочитал, отредактировал, запушил в
> https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=submodules

+       if [ -s "$workdir/listed_bundles" ]; then
+               sort -u -o "$workdir/listed_bundles"{,}
+               >> "$workdir/appended_bundles"

Кажется что-то пошло не так при редактировании.
Разве не должно быть 

sort -u -o "$workdir/listed_bundles"{,} \
 >> "$workdir/appended_bundles"

?

Отредактированные коммиты точно тесты проходят ? )))

+               sort -u -o "$workdir/appended_bundles"{,}
+               comm -23 "$workdir/listed_bundles" \
+                        "$workdir/appended_bundles" \
+                       > "$workdir/unused_submodules"
+               if [ -s "$workdir/unused_submodules" ]; then
+                       lineno=0
+                       local rules='.gear/submodules/list'
+                       local bundle sm_hash sm_path dummy
+                       while read -r bundle sm_hash sm_path dummy; do {
+                               lineno=$(($lineno + 1))
+                               grep -Fxqse "$lineno" "$workdir/unused_submodules" ||
+                                       continue
+                               rules_info "unused bundle: $sm_path"
+                       } < /dev/null; done < "$workdir/submodules_list"

Может лучше 

 grep -Fxqse "$lineno" "$workdir/unused_submodules" < /dev/null

а не этот ужасный блок ?

+               fi
+       fi

> но всё равно у меня нет полной уверенности, что предпоследний коммит,
> который обрабатывает .gear/submodules/list в gear, делает это совершенно
> безопасно.
> 
> 
> -- 
> ldv
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра
  2022-01-12 12:40                                   ` Alexey Gladkov
@ 2022-01-12 12:53                                     ` Alexey Gladkov
  2022-01-12 13:10                                     ` Alexey Gladkov
  1 sibling, 0 replies; 92+ messages in thread
From: Alexey Gladkov @ 2022-01-12 12:53 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jan 12, 2022 at 01:40:03PM +0100, Alexey Gladkov wrote:
> On Wed, Jan 12, 2022 at 03:20:51PM +0300, Dmitry V. Levin wrote:
> > On Wed, Jan 12, 2022 at 03:39:20AM +0300, Dmitry V. Levin wrote:
> > > On Wed, Jan 12, 2022 at 03:26:55AM +0300, Vitaly Chikunov wrote:
> > > > On Tue, Jan 11, 2022 at 12:10:52PM +0300, Sergey V Turchin wrote:
> > > > > On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:
> > > > > 
> > > > > [...]
> > > > > > Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
> > > > > > внешние репозитории или подмодули.
> > > > > Возможно, с появлением gear все этого уже ждут. ;-)
> > > > > https://bugs.altlinux.org/17914
> > > > 
> > > > Возможны разные попытки решения этой проблемы.
> > > > Вот Proof of Concept code
> > > >   gitery:/people/vt/private/gear-submodule-update.git
> > > > который делает фиктивный merge всем submodules и меняет rules и spec
> > > > так чтоб они разтаривались при сборке.
> > > > 
> > > > Это решение чисто экспериментальное (as in no warranty), но, возможно,
> > > > оно вдохновит кого-то на более правильное решение.
> > > 
> > > Есть ещё
> > > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=refs/heads/legion/patchset/submodule-support/v5
> > > но я его не смог дочитать.
> > 
> > Вроде бы дочитал, отредактировал, запушил в
> > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=submodules
> 
> +       if [ -s "$workdir/listed_bundles" ]; then
> +               sort -u -o "$workdir/listed_bundles"{,}
> +               >> "$workdir/appended_bundles"
> 
> Кажется что-то пошло не так при редактировании.
> Разве не должно быть 
> 
> sort -u -o "$workdir/listed_bundles"{,} \
>  >> "$workdir/appended_bundles"
> 
> ?
> 
> Отредактированные коммиты точно тесты проходят ? )))
> 
> +               sort -u -o "$workdir/appended_bundles"{,}
> +               comm -23 "$workdir/listed_bundles" \
> +                        "$workdir/appended_bundles" \
> +                       > "$workdir/unused_submodules"
> +               if [ -s "$workdir/unused_submodules" ]; then
> +                       lineno=0
> +                       local rules='.gear/submodules/list'
> +                       local bundle sm_hash sm_path dummy
> +                       while read -r bundle sm_hash sm_path dummy; do {
> +                               lineno=$(($lineno + 1))
> +                               grep -Fxqse "$lineno" "$workdir/unused_submodules" ||
> +                                       continue
> +                               rules_info "unused bundle: $sm_path"
> +                       } < /dev/null; done < "$workdir/submodules_list"
> 
> Может лучше 
> 
>  grep -Fxqse "$lineno" "$workdir/unused_submodules" < /dev/null
> 
> а не этот ужасный блок ?

В других местах я вижу ты тоже такую конструкцию добавил.

Я бы сделал:

exec 4</etc/passwd
while read -r line <&4; do
	echo "# $line"
done
exec 4<&-

хоть и придётся обрабатывать закрытие декриптора в некоторых случаях. Зато
выглядит более читабильно.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра
  2022-01-12 12:40                                   ` Alexey Gladkov
  2022-01-12 12:53                                     ` Alexey Gladkov
@ 2022-01-12 13:10                                     ` Alexey Gladkov
  2022-01-12 13:26                                       ` Dmitry V. Levin
  1 sibling, 1 reply; 92+ messages in thread
From: Alexey Gladkov @ 2022-01-12 13:10 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jan 12, 2022 at 01:40:03PM +0100, Alexey Gladkov wrote:
> On Wed, Jan 12, 2022 at 03:20:51PM +0300, Dmitry V. Levin wrote:
> > On Wed, Jan 12, 2022 at 03:39:20AM +0300, Dmitry V. Levin wrote:
> > > On Wed, Jan 12, 2022 at 03:26:55AM +0300, Vitaly Chikunov wrote:
> > > > On Tue, Jan 11, 2022 at 12:10:52PM +0300, Sergey V Turchin wrote:
> > > > > On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:
> > > > > 
> > > > > [...]
> > > > > > Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
> > > > > > внешние репозитории или подмодули.
> > > > > Возможно, с появлением gear все этого уже ждут. ;-)
> > > > > https://bugs.altlinux.org/17914
> > > > 
> > > > Возможны разные попытки решения этой проблемы.
> > > > Вот Proof of Concept code
> > > >   gitery:/people/vt/private/gear-submodule-update.git
> > > > который делает фиктивный merge всем submodules и меняет rules и spec
> > > > так чтоб они разтаривались при сборке.
> > > > 
> > > > Это решение чисто экспериментальное (as in no warranty), но, возможно,
> > > > оно вдохновит кого-то на более правильное решение.
> > > 
> > > Есть ещё
> > > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=refs/heads/legion/patchset/submodule-support/v5
> > > но я его не смог дочитать.
> > 
> > Вроде бы дочитал, отредактировал, запушил в
> > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=submodules
> 
> +       if [ -s "$workdir/listed_bundles" ]; then
> +               sort -u -o "$workdir/listed_bundles"{,}
> +               >> "$workdir/appended_bundles"
> 
> Кажется что-то пошло не так при редактировании.
> Разве не должно быть 
> 
> sort -u -o "$workdir/listed_bundles"{,} \
>  >> "$workdir/appended_bundles"
> 
> ?

Отвечу сам себе. Не должно. Тут всё верно.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра
  2022-01-12 13:10                                     ` Alexey Gladkov
@ 2022-01-12 13:26                                       ` Dmitry V. Levin
  0 siblings, 0 replies; 92+ messages in thread
From: Dmitry V. Levin @ 2022-01-12 13:26 UTC (permalink / raw)
  To: devel

On Wed, Jan 12, 2022 at 02:10:15PM +0100, Alexey Gladkov wrote:
> On Wed, Jan 12, 2022 at 01:40:03PM +0100, Alexey Gladkov wrote:
> > On Wed, Jan 12, 2022 at 03:20:51PM +0300, Dmitry V. Levin wrote:
> > > On Wed, Jan 12, 2022 at 03:39:20AM +0300, Dmitry V. Levin wrote:
> > > > On Wed, Jan 12, 2022 at 03:26:55AM +0300, Vitaly Chikunov wrote:
> > > > > On Tue, Jan 11, 2022 at 12:10:52PM +0300, Sergey V Turchin wrote:
> > > > > > On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:
> > > > > > 
> > > > > > [...]
> > > > > > > Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
> > > > > > > внешние репозитории или подмодули.
> > > > > > Возможно, с появлением gear все этого уже ждут. ;-)
> > > > > > https://bugs.altlinux.org/17914
> > > > > 
> > > > > Возможны разные попытки решения этой проблемы.
> > > > > Вот Proof of Concept code
> > > > >   gitery:/people/vt/private/gear-submodule-update.git
> > > > > который делает фиктивный merge всем submodules и меняет rules и spec
> > > > > так чтоб они разтаривались при сборке.
> > > > > 
> > > > > Это решение чисто экспериментальное (as in no warranty), но, возможно,
> > > > > оно вдохновит кого-то на более правильное решение.
> > > > 
> > > > Есть ещё
> > > > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=refs/heads/legion/patchset/submodule-support/v5
> > > > но я его не смог дочитать.
> > > 
> > > Вроде бы дочитал, отредактировал, запушил в
> > > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=submodules
> > 
> > +       if [ -s "$workdir/listed_bundles" ]; then
> > +               sort -u -o "$workdir/listed_bundles"{,}
> > +               >> "$workdir/appended_bundles"
> > 
> > Кажется что-то пошло не так при редактировании.
> > Разве не должно быть 
> > 
> > sort -u -o "$workdir/listed_bundles"{,} \
> >  >> "$workdir/appended_bundles"
> > 
> > ?
> 
> Отвечу сам себе. Не должно. Тут всё верно.

Но я на всякий случай переписал эту часть попроще.


-- 
ldv


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] gear-store-submodules
  2022-01-12 12:20                                 ` Dmitry V. Levin
  2022-01-12 12:40                                   ` Alexey Gladkov
@ 2022-01-12 16:59                                   ` Dmitry V. Levin
  2022-01-12 19:14                                     ` Alexey Gladkov
  1 sibling, 1 reply; 92+ messages in thread
From: Dmitry V. Levin @ 2022-01-12 16:59 UTC (permalink / raw)
  To: devel

On Wed, Jan 12, 2022 at 03:20:51PM +0300, Dmitry V. Levin wrote:
> On Wed, Jan 12, 2022 at 03:39:20AM +0300, Dmitry V. Levin wrote:
> > On Wed, Jan 12, 2022 at 03:26:55AM +0300, Vitaly Chikunov wrote:
> > > On Tue, Jan 11, 2022 at 12:10:52PM +0300, Sergey V Turchin wrote:
> > > > On Tuesday, 11 January 2022 11:55:20 MSK Paul Wolneykien wrote:
> > > > 
> > > > [...]
> > > > > Возможно, это повод для FR к gear: чтобы он поддерживал в rules ссылки на
> > > > > внешние репозитории или подмодули.
> > > > Возможно, с появлением gear все этого уже ждут. ;-)
> > > > https://bugs.altlinux.org/17914
> > > 
> > > Возможны разные попытки решения этой проблемы.
> > > Вот Proof of Concept code
> > >   gitery:/people/vt/private/gear-submodule-update.git
> > > который делает фиктивный merge всем submodules и меняет rules и spec
> > > так чтоб они разтаривались при сборке.
> > > 
> > > Это решение чисто экспериментальное (as in no warranty), но, возможно,
> > > оно вдохновит кого-то на более правильное решение.
> > 
> > Есть ещё
> > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=refs/heads/legion/patchset/submodule-support/v5
> > но я его не смог дочитать.
> 
> Вроде бы дочитал, отредактировал, запушил в
> https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=submodules
> но всё равно у меня нет полной уверенности, что предпоследний коммит,
> который обрабатывает .gear/submodules/list в gear, делает это совершенно
> безопасно.

Этот подход работает, но он подойдёт не всем.

Постановка задачи была, насколько я помню, примерно следующая:
- в некотором проекте используются submodules для сравнительно небольших
  внешних подпроектов;
- требуется собирать пакеты из этого проекта в Сизиф;
- требуется не засорять историю этого проекта историями внешних подпроектов;
- пользоваться этим должно быть не сложнее, чем gear-store-tags;
- за всё это удобство можно заплатить увеличением размера git-репозитория
  проекта.

В общих чертах реализация построена та том, что
- есть новый инструмент gear-store-submodules, похожий на gear-store-tags,
  который превращает submodules в бандлы с помощью git-bundle(1),
  а эти бандлы, в свою очередь, добавляются в репозиторий как обычные файлы;
- gear умеет автоматически конвертировать такие бандлы в архивы
  и добавлять такие архивы к основным архивам.


-- 
ldv


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] gear-store-submodules
  2022-01-12 16:59                                   ` [devel] gear-store-submodules Dmitry V. Levin
@ 2022-01-12 19:14                                     ` Alexey Gladkov
  2022-01-12 20:06                                       ` Dmitry V. Levin
  0 siblings, 1 reply; 92+ messages in thread
From: Alexey Gladkov @ 2022-01-12 19:14 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jan 12, 2022 at 07:59:07PM +0300, Dmitry V. Levin wrote:
> > Вроде бы дочитал, отредактировал, запушил в
> > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=submodules
> > но всё равно у меня нет полной уверенности, что предпоследний коммит,
> > который обрабатывает .gear/submodules/list в gear, делает это совершенно
> > безопасно.
> 
> Этот подход работает, но он подойдёт не всем.
> 
> Постановка задачи была, насколько я помню, примерно следующая:
> - в некотором проекте используются submodules для сравнительно небольших
>   внешних подпроектов;
> - требуется собирать пакеты из этого проекта в Сизиф;
> - требуется не засорять историю этого проекта историями внешних подпроектов;
> - пользоваться этим должно быть не сложнее, чем gear-store-tags;
> - за всё это удобство можно заплатить увеличением размера git-репозитория
>   проекта.
> 
> В общих чертах реализация построена та том, что
> - есть новый инструмент gear-store-submodules, похожий на gear-store-tags,
>   который превращает submodules в бандлы с помощью git-bundle(1),
>   а эти бандлы, в свою очередь, добавляются в репозиторий как обычные файлы;
> - gear умеет автоматически конвертировать такие бандлы в архивы
>   и добавлять такие архивы к основным архивам.

Эта реализация сделана с учётом основного критерия gear - все необходимые
объекты должны быть доступны по хэшу. При этом истории не должны
смешиваться иначе это уже не submodule, а subtree. Такую реализацию
поддержки submodules для gear я тоже делал, но это было совсем не то что
хотелось.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] gear-store-submodules
  2022-01-12 19:14                                     ` Alexey Gladkov
@ 2022-01-12 20:06                                       ` Dmitry V. Levin
  2022-01-12 21:14                                         ` Alexey Gladkov
  0 siblings, 1 reply; 92+ messages in thread
From: Dmitry V. Levin @ 2022-01-12 20:06 UTC (permalink / raw)
  To: ALT Devel discussion list

On Wed, Jan 12, 2022 at 08:14:34PM +0100, Alexey Gladkov wrote:
> On Wed, Jan 12, 2022 at 07:59:07PM +0300, Dmitry V. Levin wrote:
> > > Вроде бы дочитал, отредактировал, запушил в
> > > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=submodules
> > > но всё равно у меня нет полной уверенности, что предпоследний коммит,
> > > который обрабатывает .gear/submodules/list в gear, делает это совершенно
> > > безопасно.
> > 
> > Этот подход работает, но он подойдёт не всем.
> > 
> > Постановка задачи была, насколько я помню, примерно следующая:
> > - в некотором проекте используются submodules для сравнительно небольших
> >   внешних подпроектов;
> > - требуется собирать пакеты из этого проекта в Сизиф;
> > - требуется не засорять историю этого проекта историями внешних подпроектов;
> > - пользоваться этим должно быть не сложнее, чем gear-store-tags;
> > - за всё это удобство можно заплатить увеличением размера git-репозитория
> >   проекта.
> > 
> > В общих чертах реализация построена та том, что
> > - есть новый инструмент gear-store-submodules, похожий на gear-store-tags,
> >   который превращает submodules в бандлы с помощью git-bundle(1),
> >   а эти бандлы, в свою очередь, добавляются в репозиторий как обычные файлы;
> > - gear умеет автоматически конвертировать такие бандлы в архивы
> >   и добавлять такие архивы к основным архивам.
> 
> Эта реализация сделана с учётом основного критерия gear - все необходимые
> объекты должны быть доступны по хэшу. При этом истории не должны
> смешиваться иначе это уже не submodule, а subtree. Такую реализацию
> поддержки submodules для gear я тоже делал, но это было совсем не то что
> хотелось.

Может быть, кому-то конвертирование submodule в subtree подошло бы лучше,
чем конвертирование submodule в bundle.


-- 
ldv


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] gear-store-submodules
  2022-01-12 20:06                                       ` Dmitry V. Levin
@ 2022-01-12 21:14                                         ` Alexey Gladkov
  0 siblings, 0 replies; 92+ messages in thread
From: Alexey Gladkov @ 2022-01-12 21:14 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jan 12, 2022 at 11:06:23PM +0300, Dmitry V. Levin wrote:
> > Эта реализация сделана с учётом основного критерия gear - все необходимые
> > объекты должны быть доступны по хэшу. При этом истории не должны
> > смешиваться иначе это уже не submodule, а subtree. Такую реализацию
> > поддержки submodules для gear я тоже делал, но это было совсем не то что
> > хотелось.
> 
> Может быть, кому-то конвертирование submodule в subtree подошло бы лучше,
> чем конвертирование submodule в bundle.

В том-то и дело, что для этого не нужны дополнительные утилиты. Это
делается средствами git. Кому это нужно легко это могут сделать и
пользоваться gear.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-11 12:18                       ` Anton V. Boyarshinov
@ 2022-01-19  9:53                         ` Vladimir D. Seleznev
  2022-01-19  9:56                           ` Anton V. Boyarshinov
  0 siblings, 1 reply; 92+ messages in thread
From: Vladimir D. Seleznev @ 2022-01-19  9:53 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Jan 11, 2022 at 03:18:21PM +0300, Anton V. Boyarshinov wrote:
> В Tue, 11 Jan 2022 11:01:25 +0300
> "Anton V. Boyarshinov" <boyarsh@altlinux.org> пишет:
> 
> > > Таким образом наличие веток не спасает. Понять какие патчи имеются в
> > > наших ядрах, не прилагая значительных усилий, времени и нетривиальных
> > > знаний по git'у, не представляется возможным.  
> > 
> > Я полагаю, можно попробовать не мержить эти ветки в репозиторий ядра, а
> > описать их в правилах gear. Возможно, это будет нагляднее. Я попробую
> > сделать такую схему для ядра 5.16, посмотрим как оно будет.
> 
> Ну, концептуально как-то так:
> https://git.altlinux.org/tasks/293279/
> 
> И конкретно:
> https://git.altlinux.org/tasks/293279/gears/100/git?p=git;a=blob;f=.gear/rules;h=e1ca2a1812b6998b561d9f108ae2b2e9ebf92233;hb=66ba93e78db964ba5c1947b8866c709d8d4c253c
> 
> Для восстановления бранчей и тэгов, если я правильно помню, надо выполнить в репозитории команду gear-restore-tags
> 
> С одной стороны, такая схема ощутимо более трудоёмка при сборке новой мажорной версии, но можно попробовать многое заскриптовать.
> С другой стороны, есть и определённые удобства в плане поддержки ядер в разных репозиториях.
> С третьей стороны, когда stable разъезжается с патчами, в старой схеме это видно на этапе мержа, а в новой -- на этапе сборки. Впрочем, тут есть и недостатки и достоинства.
> 
> В общем, надо посмотреть.

Я напоминаю, что начиная с rpm-build-4.0.4-alt133 поддерживается
директива %autopatch. Её использование удобно тем, что нет необходимости
следить за соответствием декларации патча (PatchN: fix.patch) и наличием
его применением (%patchN -p1). Я думаю, она хорошо подходит к данной
схеме в т.ч..

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-19  9:53                         ` Vladimir D. Seleznev
@ 2022-01-19  9:56                           ` Anton V. Boyarshinov
  2022-01-19 10:15                             ` Anton V. Boyarshinov
                                               ` (2 more replies)
  0 siblings, 3 replies; 92+ messages in thread
From: Anton V. Boyarshinov @ 2022-01-19  9:56 UTC (permalink / raw)
  To: Vladimir D. Seleznev; +Cc: ALT Linux Team development discussions


> > С одной стороны, такая схема ощутимо более трудоёмка при сборке новой мажорной версии, но можно попробовать многое заскриптовать.
> > С другой стороны, есть и определённые удобства в плане поддержки ядер в разных репозиториях.
> > С третьей стороны, когда stable разъезжается с патчами, в старой схеме это видно на этапе мержа, а в новой -- на этапе сборки. Впрочем, тут есть и недостатки и достоинства.
> > 
> > В общем, надо посмотреть.  
> 
> Я напоминаю, что начиная с rpm-build-4.0.4-alt133 поддерживается
> директива %autopatch. Её использование удобно тем, что нет необходимости
> следить за соответствием декларации патча (PatchN: fix.patch) и наличием
> его применением (%patchN -p1). Я думаю, она хорошо подходит к данной
> схеме в т.ч..
> 

Вот хорошо бы было, если бы она не только следила за соответствием
декларации патча и его наложением, но могла бы также замечать, что
патчи в виде файлов есть, а ни декларации,  ни наложения нет.


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-19  9:56                           ` Anton V. Boyarshinov
@ 2022-01-19 10:15                             ` Anton V. Boyarshinov
  2022-01-19 10:24                               ` Alexey V. Vissarionov
  2022-01-19 10:31                             ` [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра) Vladimir D. Seleznev
  2022-01-19 10:52                             ` [devel] Новая схема ведения исходников ядра Anton V. Boyarshinov
  2 siblings, 1 reply; 92+ messages in thread
From: Anton V. Boyarshinov @ 2022-01-19 10:15 UTC (permalink / raw)
  To: Vladimir D. Seleznev; +Cc: ALT Linux Team development discussions

В Wed, 19 Jan 2022 12:56:52 +0300
"Anton V. Boyarshinov" <boyarsh@altlinux.org> пишет:

> > > С одной стороны, такая схема ощутимо более трудоёмка при сборке новой мажорной версии, но можно попробовать многое заскриптовать.
> > > С другой стороны, есть и определённые удобства в плане поддержки ядер в разных репозиториях.
> > > С третьей стороны, когда stable разъезжается с патчами, в старой схеме это видно на этапе мержа, а в новой -- на этапе сборки. Впрочем, тут есть и недостатки и достоинства.
> > > 
> > > В общем, надо посмотреть.    
> > 
> > Я напоминаю, что начиная с rpm-build-4.0.4-alt133 поддерживается
> > директива %autopatch. Её использование удобно тем, что нет необходимости
> > следить за соответствием декларации патча (PatchN: fix.patch) и наличием
> > его применением (%patchN -p1). Я думаю, она хорошо подходит к данной
> > схеме в т.ч..
> >   
> 
> Вот хорошо бы было, если бы она не только следила за соответствием
> декларации патча и его наложением, но могла бы также замечать, что
> патчи в виде файлов есть, а ни декларации,  ни наложения нет.

или хотя бы %unapplyed_patches_terminate_build


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-19 10:15                             ` Anton V. Boyarshinov
@ 2022-01-19 10:24                               ` Alexey V. Vissarionov
  2022-01-19 10:58                                 ` Anton V. Boyarshinov
  0 siblings, 1 reply; 92+ messages in thread
From: Alexey V. Vissarionov @ 2022-01-19 10:24 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 2022-01-19 13:15:13 +0300, Anton V. Boyarshinov wrote:

 >>> Я напоминаю, что начиная с rpm-build-4.0.4-alt133 поддерживается
 >>> директива %autopatch. Её использование удобно тем, что нет
 >>> необходимости следить за соответствием декларации патча
 >>> (PatchN: fix.patch) и наличием его применением (%patchN -p1).
 >> Вот хорошо бы было, если бы она не только следила за
 >> соответствием декларации патча и его наложением, но могла бы
 >> также замечать, что патчи в виде файлов есть, а ни декларации,
 >> ни наложения нет.
 > или хотя бы %unapplyed_patches_terminate_build

0. [GN] unapplied

1. Накатывание патчей может быть условным - как правило %ifarch,
но может быть и вообще любой %if


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


^ permalink raw reply	[flat|nested] 92+ messages in thread

* [devel] Автодекларация патчей в спеках (Was:  Новая схема ведения исходников ядра)
  2022-01-19  9:56                           ` Anton V. Boyarshinov
  2022-01-19 10:15                             ` Anton V. Boyarshinov
@ 2022-01-19 10:31                             ` Vladimir D. Seleznev
  2022-01-19 10:32                               ` Anton Farygin
                                                 ` (2 more replies)
  2022-01-19 10:52                             ` [devel] Новая схема ведения исходников ядра Anton V. Boyarshinov
  2 siblings, 3 replies; 92+ messages in thread
From: Vladimir D. Seleznev @ 2022-01-19 10:31 UTC (permalink / raw)
  To: Anton V. Boyarshinov
  Cc: ALT Linux Team development discussions, Vladimir D. Seleznev

On Wed, Jan 19, 2022 at 12:56:52PM +0300, Anton V. Boyarshinov wrote:
> 
> > > С одной стороны, такая схема ощутимо более трудоёмка при сборке новой мажорной версии, но можно попробовать многое заскриптовать.
> > > С другой стороны, есть и определённые удобства в плане поддержки ядер в разных репозиториях.
> > > С третьей стороны, когда stable разъезжается с патчами, в старой схеме это видно на этапе мержа, а в новой -- на этапе сборки. Впрочем, тут есть и недостатки и достоинства.
> > > 
> > > В общем, надо посмотреть.  
> > 
> > Я напоминаю, что начиная с rpm-build-4.0.4-alt133 поддерживается
> > директива %autopatch. Её использование удобно тем, что нет необходимости
> > следить за соответствием декларации патча (PatchN: fix.patch) и наличием
> > его применением (%patchN -p1). Я думаю, она хорошо подходит к данной
> > схеме в т.ч..
> > 
> 
> Вот хорошо бы было, если бы она не только следила за соответствием
> декларации патча и его наложением, но могла бы также замечать, что
> патчи в виде файлов есть, а ни декларации,  ни наложения нет.

Может быть сделать соответствующую поддержку в gear?

Например, можно реализовать директиву gear-rules declare-patches: yes,
при наличие которой при сборке пакета патчи последовательно, в порядке
следования diff'ов в gear-rules, подставляются в spec-файл (в таком
случае spec в gear является не чистым, а шаблоном для настоящего спека).

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра)
  2022-01-19 10:31                             ` [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра) Vladimir D. Seleznev
@ 2022-01-19 10:32                               ` Anton Farygin
  2022-01-19 10:48                                 ` Vladimir D. Seleznev
  2022-01-19 10:57                               ` Anton V. Boyarshinov
  2022-01-19 11:09                               ` Alexey V. Vissarionov
  2 siblings, 1 reply; 92+ messages in thread
From: Anton Farygin @ 2022-01-19 10:32 UTC (permalink / raw)
  To: devel

On 19.01.2022 13:31, Vladimir D. Seleznev wrote:
> On Wed, Jan 19, 2022 at 12:56:52PM +0300, Anton V. Boyarshinov wrote:
>>>> С одной стороны, такая схема ощутимо более трудоёмка при сборке новой мажорной версии, но можно попробовать многое заскриптовать.
>>>> С другой стороны, есть и определённые удобства в плане поддержки ядер в разных репозиториях.
>>>> С третьей стороны, когда stable разъезжается с патчами, в старой схеме это видно на этапе мержа, а в новой -- на этапе сборки. Впрочем, тут есть и недостатки и достоинства.
>>>>
>>>> В общем, надо посмотреть.
>>> Я напоминаю, что начиная с rpm-build-4.0.4-alt133 поддерживается
>>> директива %autopatch. Её использование удобно тем, что нет необходимости
>>> следить за соответствием декларации патча (PatchN: fix.patch) и наличием
>>> его применением (%patchN -p1). Я думаю, она хорошо подходит к данной
>>> схеме в т.ч..
>>>
>> Вот хорошо бы было, если бы она не только следила за соответствием
>> декларации патча и его наложением, но могла бы также замечать, что
>> патчи в виде файлов есть, а ни декларации,  ни наложения нет.
> Может быть сделать соответствующую поддержку в gear?
>
> Например, можно реализовать директиву gear-rules declare-patches: yes,
> при наличие которой при сборке пакета патчи последовательно, в порядке
> следования diff'ов в gear-rules, подставляются в spec-файл (в таком
> случае spec в gear является не чистым, а шаблоном для настоящего спека).
>
вот только у нас ещё остался архитектурно-независимый src.rpm.




^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра)
  2022-01-19 10:32                               ` Anton Farygin
@ 2022-01-19 10:48                                 ` Vladimir D. Seleznev
  2022-01-19 11:10                                   ` Anton Farygin
  0 siblings, 1 reply; 92+ messages in thread
From: Vladimir D. Seleznev @ 2022-01-19 10:48 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jan 19, 2022 at 01:32:50PM +0300, Anton Farygin wrote:
> On 19.01.2022 13:31, Vladimir D. Seleznev wrote:
> > On Wed, Jan 19, 2022 at 12:56:52PM +0300, Anton V. Boyarshinov wrote:
> >>>> С одной стороны, такая схема ощутимо более трудоёмка при сборке новой мажорной версии, но можно попробовать многое заскриптовать.
> >>>> С другой стороны, есть и определённые удобства в плане поддержки ядер в разных репозиториях.
> >>>> С третьей стороны, когда stable разъезжается с патчами, в старой схеме это видно на этапе мержа, а в новой -- на этапе сборки. Впрочем, тут есть и недостатки и достоинства.
> >>>>
> >>>> В общем, надо посмотреть.
> >>> Я напоминаю, что начиная с rpm-build-4.0.4-alt133 поддерживается
> >>> директива %autopatch. Её использование удобно тем, что нет необходимости
> >>> следить за соответствием декларации патча (PatchN: fix.patch) и наличием
> >>> его применением (%patchN -p1). Я думаю, она хорошо подходит к данной
> >>> схеме в т.ч..
> >>>
> >> Вот хорошо бы было, если бы она не только следила за соответствием
> >> декларации патча и его наложением, но могла бы также замечать, что
> >> патчи в виде файлов есть, а ни декларации,  ни наложения нет.
> > Может быть сделать соответствующую поддержку в gear?
> >
> > Например, можно реализовать директиву gear-rules declare-patches: yes,
> > при наличие которой при сборке пакета патчи последовательно, в порядке
> > следования diff'ов в gear-rules, подставляются в spec-файл (в таком
> > случае spec в gear является не чистым, а шаблоном для настоящего спека).
> >
> вот только у нас ещё остался архитектурно-независимый src.rpm.

Для них это не будет работать, а при сборке из gear в спеках сгенерённых
sourcerpms будут указаны все патчи.

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-19  9:56                           ` Anton V. Boyarshinov
  2022-01-19 10:15                             ` Anton V. Boyarshinov
  2022-01-19 10:31                             ` [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра) Vladimir D. Seleznev
@ 2022-01-19 10:52                             ` Anton V. Boyarshinov
  2 siblings, 0 replies; 92+ messages in thread
From: Anton V. Boyarshinov @ 2022-01-19 10:52 UTC (permalink / raw)
  To: Vladimir D. Seleznev; +Cc: ALT Linux Team development discussions


> > Я напоминаю, что начиная с rpm-build-4.0.4-alt133 поддерживается
> > директива %autopatch. Её использование удобно тем, что нет необходимости
> > следить за соответствием декларации патча (PatchN: fix.patch) и наличием
> > его применением (%patchN -p1). Я думаю, она хорошо подходит к данной
> > схеме в т.ч..
> >   
> 
> Вот хорошо бы было, если бы она не только следила за соответствием
> декларации патча и его наложением, но могла бы также замечать, что
> патчи в виде файлов есть, а ни декларации,  ни наложения нет.

Впрочем...

https://git.altlinux.org/people/kernelbot/packages/kernel-image.git?p=kernel-image.git;a=commitdiff;h=8a296f0cd123e2e75a3e5eef7a35a4d7bf3de3e9


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра)
  2022-01-19 10:31                             ` [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра) Vladimir D. Seleznev
  2022-01-19 10:32                               ` Anton Farygin
@ 2022-01-19 10:57                               ` Anton V. Boyarshinov
  2022-01-19 11:09                               ` Alexey V. Vissarionov
  2 siblings, 0 replies; 92+ messages in thread
From: Anton V. Boyarshinov @ 2022-01-19 10:57 UTC (permalink / raw)
  To: Vladimir D. Seleznev; +Cc: ALT Linux Team development discussions

В Wed, 19 Jan 2022 13:31:16 +0300
"Vladimir D. Seleznev" <vseleznv@altlinux.org> пишет:

> > Вот хорошо бы было, если бы она не только следила за соответствием
> > декларации патча и его наложением, но могла бы также замечать, что
> > патчи в виде файлов есть, а ни декларации,  ни наложения нет.  
> 
> Может быть сделать соответствующую поддержку в gear?
> 
> Например, можно реализовать директиву gear-rules declare-patches: yes,
> при наличие которой при сборке пакета патчи последовательно, в порядке
> следования diff'ов в gear-rules, подставляются в spec-файл (в таком
> случае spec в gear является не чистым, а шаблоном для настоящего спека).

Может быть, но как оказалось, это можно нахакать и без поддержки в gear.



^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Новая схема ведения исходников ядра
  2022-01-19 10:24                               ` Alexey V. Vissarionov
@ 2022-01-19 10:58                                 ` Anton V. Boyarshinov
  0 siblings, 0 replies; 92+ messages in thread
From: Anton V. Boyarshinov @ 2022-01-19 10:58 UTC (permalink / raw)
  To: Alexey V. Vissarionov; +Cc: ALT Linux Team development discussions

В Wed, 19 Jan 2022 13:24:48 +0300
"Alexey V. Vissarionov" <gremlin@altlinux.org> пишет:

> 1. Накатывание патчей может быть условным - как правило %ifarch,
> но может быть и вообще любой %if

Ну я же не говорю, что такое должно быть неотключаемым и даже
включённым по умолчанию. Мало ли зачем в исходном дереве могут патчи
лежать, может их там апстрим складирует.


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра)
  2022-01-19 10:31                             ` [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра) Vladimir D. Seleznev
  2022-01-19 10:32                               ` Anton Farygin
  2022-01-19 10:57                               ` Anton V. Boyarshinov
@ 2022-01-19 11:09                               ` Alexey V. Vissarionov
  2 siblings, 0 replies; 92+ messages in thread
From: Alexey V. Vissarionov @ 2022-01-19 11:09 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 2022-01-19 13:31:16 +0300, Vladimir D. Seleznev wrote:

 >> Вот хорошо бы было, если бы она не только следила за
 >> соответствием декларации патча и его наложением, но
 >> могла бы также замечать, что патчи в виде файлов есть,
 >> а ни декларации, ни наложения нет.
 > Может быть сделать соответствующую поддержку в gear?
 > Например, можно реализовать директиву gear-rules
 > declare-patches: yes, при наличие которой при сборке
 > пакета патчи последовательно, в порядке следования
 > diff'ов в gear-rules, подставляются в spec-файл (в таком
 > случае spec в gear является не чистым, а шаблоном для
 > настоящего спека).

Это могло бы быть оправданным, когда количество патчей
измеряется десятками, но такое количество изменений проще
(и правильнее) держать просто в гите.


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


^ permalink raw reply	[flat|nested] 92+ messages in thread

* Re: [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра)
  2022-01-19 10:48                                 ` Vladimir D. Seleznev
@ 2022-01-19 11:10                                   ` Anton Farygin
  0 siblings, 0 replies; 92+ messages in thread
From: Anton Farygin @ 2022-01-19 11:10 UTC (permalink / raw)
  To: devel

On 19.01.2022 13:48, Vladimir D. Seleznev wrote:
> On Wed, Jan 19, 2022 at 01:32:50PM +0300, Anton Farygin wrote:
>> On 19.01.2022 13:31, Vladimir D. Seleznev wrote:
>>> On Wed, Jan 19, 2022 at 12:56:52PM +0300, Anton V. Boyarshinov wrote:
>>>>>> С одной стороны, такая схема ощутимо более трудоёмка при сборке новой мажорной версии, но можно попробовать многое заскриптовать.
>>>>>> С другой стороны, есть и определённые удобства в плане поддержки ядер в разных репозиториях.
>>>>>> С третьей стороны, когда stable разъезжается с патчами, в старой схеме это видно на этапе мержа, а в новой -- на этапе сборки. Впрочем, тут есть и недостатки и достоинства.
>>>>>>
>>>>>> В общем, надо посмотреть.
>>>>> Я напоминаю, что начиная с rpm-build-4.0.4-alt133 поддерживается
>>>>> директива %autopatch. Её использование удобно тем, что нет необходимости
>>>>> следить за соответствием декларации патча (PatchN: fix.patch) и наличием
>>>>> его применением (%patchN -p1). Я думаю, она хорошо подходит к данной
>>>>> схеме в т.ч..
>>>>>
>>>> Вот хорошо бы было, если бы она не только следила за соответствием
>>>> декларации патча и его наложением, но могла бы также замечать, что
>>>> патчи в виде файлов есть, а ни декларации,  ни наложения нет.
>>> Может быть сделать соответствующую поддержку в gear?
>>>
>>> Например, можно реализовать директиву gear-rules declare-patches: yes,
>>> при наличие которой при сборке пакета патчи последовательно, в порядке
>>> следования diff'ов в gear-rules, подставляются в spec-файл (в таком
>>> случае spec в gear является не чистым, а шаблоном для настоящего спека).
>>>
>> вот только у нас ещё остался архитектурно-независимый src.rpm.
> Для них это не будет работать, а при сборке из gear в спеках сгенерённых
> sourcerpms будут указаны все патчи.
>
А как это поможет сделать %ifarch для патчей ?



^ permalink raw reply	[flat|nested] 92+ messages in thread

end of thread, other threads:[~2022-01-19 11:10 UTC | newest]

Thread overview: 92+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-03 19:41 [devel] Новая схема ведения исходников ядра Evgeny Sinelnikov
2021-12-03 23:44 ` Andrey Savchenko
2021-12-05 23:22   ` Evgeny Sinelnikov
2021-12-06 13:36     ` Dmitry V. Levin
2021-12-06 18:28     ` Andrey Savchenko
2021-12-06 23:07       ` Evgeny Sinelnikov
2021-12-07  7:38         ` Anton V. Boyarshinov
2021-12-06  8:29   ` Alexey Sheplyakov
2021-12-06 17:32     ` Andrey Savchenko
2021-12-06 20:08       ` Vladimir D. Seleznev
2021-12-06  7:42 ` Anton V. Boyarshinov
2021-12-06  8:09   ` Alexey Sheplyakov
2021-12-06 10:29     ` Anton V. Boyarshinov
2021-12-06 10:26   ` Alexey Sheplyakov
2021-12-06 10:31     ` Anton V. Boyarshinov
2021-12-06 10:47       ` Evgeny Sinelnikov
2021-12-06 11:03         ` Anton V. Boyarshinov
2021-12-06 10:55         ` Anton V. Boyarshinov
2021-12-06 13:25         ` Dmitry V. Levin
2021-12-06 13:35           ` Evgeny Sinelnikov
2021-12-06 13:41             ` Anton V. Boyarshinov
2021-12-06 13:48               ` Evgeny Sinelnikov
2021-12-06 13:51                 ` Anton V. Boyarshinov
2021-12-06 13:57                   ` Dmitry V. Levin
2021-12-06 14:04                   ` Evgeny Sinelnikov
2021-12-06 14:08                     ` Dmitry V. Levin
2021-12-06 14:40                     ` Anton V. Boyarshinov
2021-12-06 14:54                     ` Anton V. Boyarshinov
2021-12-06 15:02                       ` Dmitry V. Levin
2021-12-06 15:26                         ` Anton V. Boyarshinov
2021-12-06 15:53                           ` Dmitry V. Levin
2021-12-06 22:58                             ` Evgeny Sinelnikov
2021-12-07  7:47                               ` Anton V. Boyarshinov
2021-12-07 16:54                               ` Andrey Savchenko
2021-12-06 13:47             ` Dmitry V. Levin
2021-12-06 13:54               ` Evgeny Sinelnikov
2021-12-06 10:53     ` Anton V. Boyarshinov
2021-12-06 11:27       ` Alexey Sheplyakov
2021-12-06 11:41         ` Anton V. Boyarshinov
2021-12-06 12:12           ` Anton Farygin
2021-12-06 12:30             ` Alexey Sheplyakov
2021-12-06 14:53               ` Anton Farygin
2021-12-23  3:28             ` Mikhail Novosyolov
2021-12-23  6:07               ` Andrey Savchenko
2022-01-03  5:07                 ` Evgeny Sinelnikov
2022-01-03  5:33                   ` Evgeny Sinelnikov
2022-01-10  8:53                     ` Anton V. Boyarshinov
2022-01-11  8:01                     ` Anton V. Boyarshinov
2022-01-11  8:12                       ` Anton V. Boyarshinov
2022-01-11  8:55                         ` Paul Wolneykien
2022-01-11  9:10                           ` Sergey V Turchin
2022-01-11  9:33                             ` Anton Farygin
2022-01-11  9:37                               ` Alexey V. Vissarionov
2022-01-12  0:26                             ` [devel] PoC: gear-submodule-update Ex: " Vitaly Chikunov
2022-01-12  0:39                               ` Dmitry V. Levin
2022-01-12 12:20                                 ` Dmitry V. Levin
2022-01-12 12:40                                   ` Alexey Gladkov
2022-01-12 12:53                                     ` Alexey Gladkov
2022-01-12 13:10                                     ` Alexey Gladkov
2022-01-12 13:26                                       ` Dmitry V. Levin
2022-01-12 16:59                                   ` [devel] gear-store-submodules Dmitry V. Levin
2022-01-12 19:14                                     ` Alexey Gladkov
2022-01-12 20:06                                       ` Dmitry V. Levin
2022-01-12 21:14                                         ` Alexey Gladkov
2022-01-12  1:04                               ` [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра Vladislav Zavjalov
2022-01-12  6:01                               ` Anton Farygin
2022-01-11 10:30                           ` [devel] " Vladimir D. Seleznev
2022-01-11 12:18                       ` Anton V. Boyarshinov
2022-01-19  9:53                         ` Vladimir D. Seleznev
2022-01-19  9:56                           ` Anton V. Boyarshinov
2022-01-19 10:15                             ` Anton V. Boyarshinov
2022-01-19 10:24                               ` Alexey V. Vissarionov
2022-01-19 10:58                                 ` Anton V. Boyarshinov
2022-01-19 10:31                             ` [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра) Vladimir D. Seleznev
2022-01-19 10:32                               ` Anton Farygin
2022-01-19 10:48                                 ` Vladimir D. Seleznev
2022-01-19 11:10                                   ` Anton Farygin
2022-01-19 10:57                               ` Anton V. Boyarshinov
2022-01-19 11:09                               ` Alexey V. Vissarionov
2022-01-19 10:52                             ` [devel] Новая схема ведения исходников ядра Anton V. Boyarshinov
2022-01-03  6:17                     ` Evgeny Sinelnikov
2022-01-03  6:25                       ` Aleksey Novodvorsky
2021-12-06 11:54       ` Alexey Sheplyakov
2021-12-06 12:35 ` Dmitry V. Levin
2021-12-06 13:29   ` Evgeny Sinelnikov
2021-12-06 13:48     ` Anton V. Boyarshinov
2021-12-08  8:07       ` [devel] Отделяя котлеты от мух (было Re: Новая схема ведения исходников ядра) Alexey Sheplyakov
2021-12-08  8:54         ` Anton V. Boyarshinov
2021-12-08 10:32           ` Alexey Sheplyakov
2021-12-06 14:31     ` [devel] Новая схема ведения исходников ядра Dmitry V. Levin
2021-12-06 14:55       ` Anton Farygin
2021-12-23  3:14       ` Mikhail Novosyolov

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