Bug 43806

Summary: Не обновляется
Product: Sisyphus Reporter: Олег Соловьев <mcpain>
Component: firmware-linuxAssignee: Vitaly Chikunov <vt>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: Sergei.Naumov, aen, antohami, boyarsh, ildar, ldv, nrbrtx, rider, viy, vt
Version: unstable   
Hardware: x86_64   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=36628
Bug Depends on: 34619    
Bug Blocks:    

Description Олег Соловьев 2022-09-16 11:20:40 MSK
Продолжить? [Y/n]
Совершаем изменения...
Подготовка...                                                                                                                                                      #################################################################################################### [100%]
        файл /lib/firmware/qcom/LENOVO/21BX из устанавливаемого пакета firmware-linux-20220912-alt1.noarch конфликтует с файлом из пакета firmware-linux-20220902-alt1.noarch
E: Ошибка во время исполнения транзакции
Comment 1 Антон Мидюков 2022-09-16 12:22:31 MSK
Пакет роботом собирается.

Превратился в апстриме каталог в симлинк:
https://git.altlinux.org/gears/f/firmware-linux.git?p=firmware-linux.git;a=commitdiff;h=edf9a2b4e1fb70ca7d6f04a0a0a3d95ebb64a3d7

У нас такие баги периодически появляются. Решать надо на уровне починки rpm, как я понимаю.
Comment 2 Anton Farygin 2022-09-16 12:25:26 MSK
Проблема в том, что починки в rpm не ожидается, а этот пакет установлен на всех машинах и обязателен к обновлению.
Comment 3 Anton Farygin 2022-09-16 12:26:08 MSK
Дима, я всё правильно написал про rpm ? Или есть шанс что эта ошибка будет исправлена в ближайшее время в sisyphus и, хотя-бы, в p10 ?
Comment 4 Антон Мидюков 2022-09-17 14:31:50 MSK
(Ответ для Anton Farygin на комментарий #2)
> Проблема в том, что починки в rpm не ожидается, а этот пакет установлен на
> всех машинах и обязателен к обновлению.

И тем не менее всё не так плохо, как могло быть.
Каталог /lib/firmware/qcom/LENOVO/21BX был добавлен 3 августа 2022 года:
https://git.altlinux.org/gears/f/firmware-linux.git?p=firmware-linux.git;a=commitdiff;h=4ae4ae88918928e15006eb129ad981aa58216b59

А в p10 firmware-linux 20220309. Так что обновление из p10 до Сизифа не ломает (проверил).
Comment 5 Антон Мидюков 2022-09-17 14:38:04 MSK
Предлагаю улучшить робота, собирающего firmware-linux, чтобы он проверял обновление пакета с предыдущей версии на новую. И коммитил только тогда, когда обновление проходит успешно.
Правда я не в курсе, где и как этот робот работает. Вроде viy@ им заведовал. Но может я ошибаюсь.
Comment 6 viy 2022-09-17 16:53:56 MSK
(Ответ для Антон Мидюков на комментарий #5)
> Предлагаю улучшить робота, собирающего firmware-linux, чтобы он проверял
> обновление пакета с предыдущей версии на новую. И коммитил только тогда,
> когда обновление проходит успешно.
> Правда я не в курсе, где и как этот робот работает. Вроде viy@ им заведовал.
> Но может я ошибаюсь.

а как это проверить? какой у такой проверки алгоритм?
Comment 7 Антон Мидюков 2022-09-17 17:58:20 MSK
(Ответ для viy на комментарий #6)
> (Ответ для Антон Мидюков на комментарий #5)
> > Предлагаю улучшить робота, собирающего firmware-linux, чтобы он проверял
> > обновление пакета с предыдущей версии на новую. И коммитил только тогда,
> > когда обновление проходит успешно.
> > Правда я не в курсе, где и как этот робот работает. Вроде viy@ им заведовал.
> > Но может я ошибаюсь.
> 
> а как это проверить? какой у такой проверки алгоритм?

Установить firmware-linux из репозитория. Обновить из задания. Если успешно, то закоммитить.
Comment 8 viy 2022-09-17 18:20:35 MSK
(Ответ для Антон Мидюков на комментарий #7)
> (Ответ для viy на комментарий #6)
> > (Ответ для Антон Мидюков на комментарий #5)
> > > Предлагаю улучшить робота, собирающего firmware-linux, чтобы он проверял
> > > обновление пакета с предыдущей версии на новую. И коммитил только тогда,
> > > когда обновление проходит успешно.
> > > Правда я не в курсе, где и как этот робот работает. Вроде viy@ им заведовал.
> > > Но может я ошибаюсь.
> > 
> > а как это проверить? какой у такой проверки алгоритм?
> 
> Установить firmware-linux из репозитория. Обновить из задания. Если успешно,
> то закоммитить.

такое вряд ли получится засунуть в скрипт обновления gear-cronbuild.
Надо что-то на уровне git. 
К примеру, есть листинг прошлого собранного коммита и есть листинг текущего.
проверяем, содержат ли эти листинги конфликт. Так как-то можно?
Comment 9 Антон Мидюков 2022-09-18 06:46:24 MSK
*** Bug 43814 has been marked as a duplicate of this bug. ***
Comment 10 Антон Мидюков 2022-09-23 14:21:25 MSK
Я добавил проверку, чтобы такого больше не случилось при обновлении cronbuild'ом. Но сразу возникает вопрос: вот случится, сборка кроном обломится, и чего с этим делать дальше?
Comment 11 Anton Farygin 2022-09-23 15:18:02 MSK
правильно было бы задать этот вопрос в #34619
Comment 12 viy 2022-09-24 19:09:45 MSK
(Ответ для Антон Мидюков на комментарий #10)
> Я добавил проверку, чтобы такого больше не случилось при обновлении
> cronbuild'ом. Но сразу возникает вопрос: вот случится, сборка кроном
> обломится, и чего с этим делать дальше?

Поправить проблему руками и руками починку отправить на сборку.
cronbuild продолжает работу с последней сборки, неважно, ручной или авто.
Comment 13 Антон Мидюков 2022-09-24 19:25:29 MSK
(Ответ для viy на комментарий #12)
> (Ответ для Антон Мидюков на комментарий #10)
> > Я добавил проверку, чтобы такого больше не случилось при обновлении
> > cronbuild'ом. Но сразу возникает вопрос: вот случится, сборка кроном
> > обломится, и чего с этим делать дальше?
> 
> Поправить проблему руками и руками починку отправить на сборку.
> cronbuild продолжает работу с последней сборки, неважно, ручной или авто.

Да, это понятно. Я мысль свою не развил. Править исходники? Суть правки будет состоять в том, чтобы вместо ссылки на каталог был каталог с ссылками на файлы. Но тогда это в форк со временем вырастет, который перестанет автоматически собираться всё чаще и чаще из-за конфликтов, как мне кажется.
Comment 14 Anton Farygin 2022-09-25 10:33:31 MSK
проблему надо чинить в #34619 - известного способа объезда этой ошибки не существует.
Comment 15 Антон Мидюков 2023-08-30 15:31:20 MSK
Я думаю, что все, кто мог, эту граблю уже поймали, а те, кто будет обновляться с p10, её не поймают (там более новая версия), поэтому можно не чинить.