Bug 45082 - file /etc/modprobe.d/blacklist-bcm2.conf from install of kernel-modules-bcmwl-std-def-6.30.223.271-alt12.331615.1.x86_64 conflicts with file from package kernel-modules-bcmwl-std-def-6.30.223.248-alt22.331592.1.x86_64
Summary: file /etc/modprobe.d/blacklist-bcm2.conf from install of kernel-modules-bcmwl...
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel-modules-bcmwl-un-def (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Konstantin A Lepikhov (L.A. Kostis)
QA Contact: qa-sisyphus
URL:
Keywords:
: 45381 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-01-31 15:35 MSK by ruslandh
Modified: 2023-06-16 19:43 MSK (History)
19 users (show)

See Also:


Attachments
Вид ошибки при обновления ядра командой update-kernel (159.32 KB, image/jpeg)
2023-01-31 15:35 MSK, ruslandh
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description ruslandh 2023-01-31 15:35:24 MSK
Created attachment 12389 [details]
Вид ошибки при обновления ядра командой update-kernel

Файл с blacklist конфликтует при обновлении пакета. 
Возможно в этом случае файлу надо было дать другое имя.
Извинте за фото.
Comment 1 Michael Shigorin 2023-01-31 23:14:59 MSK
(Ответ для ruslandh на комментарий #0)
> Файл с blacklist конфликтует при обновлении пакета. 
> Возможно в этом случае файлу надо было дать другое имя.
ЕМНИП конфликта бы не было, если бы _содержимое_ файла было одинаково
в обоих законфликтовавших пакетах; там действительно было важное изменение?
Comment 2 ruslandh 2023-01-31 23:24:42 MSK
Сравнивая спеки в p10 и sisyphus
https://packages.altlinux.org/ru/p10/srpms/kernel-modules-bcmwl-std-def/specfiles/

в файл добавлена строчка с модулуь ядра
 
blacklist brcmfmac
Comment 3 ruslandh 2023-02-01 13:50:03 MSK
Возможно в спеке достаточно убрать noreplace

"
%config(noreplace) %_sysconfdir/modprobe.d/blacklist-bcm.conf
%config(noreplace) %_sysconfdir/modprobe.d/blacklist-bcm2.conf
"
Comment 4 Anton Farygin 2023-02-01 14:18:38 MSK
в пакетах с модулями нельзя паковать ничего кроме модулей, т.к. у них allow duplicate стоит в true. всё остальное надо выносить в common пакеты.
Comment 5 Sergey V Turchin 2023-02-01 14:38:43 MSK
(In reply to Anton Farygin from comment #4)
> надо выносить в common пакеты.
Только, проблема у этих common-пакетов, что они потом остаются в системе, т.к. никем не выносятся. :-(
Comment 6 Dmitry V. Levin 2023-02-01 14:49:28 MSK
(In reply to Sergey V Turchin from comment #5)
> (In reply to Anton Farygin from comment #4)
> > надо выносить в common пакеты.
> Только, проблема у этих common-пакетов, что они потом остаются в системе,
> т.к. никем не выносятся. :-(

apt-get autoremove?
Comment 7 Sergey V Turchin 2023-02-01 14:53:47 MSK
(In reply to Dmitry V. Levin from comment #6)
> apt-get autoremove?
Ааа, ну да. Теперь так можно.

Если бы в bkacklist можно было указать конкретное ядро, можно было бы и в каждый blacklist-ядро.conf паковать.
Comment 8 Sergey V Turchin 2023-02-01 14:57:15 MSK
Или хотя бы иметь каталог /etc/modprobe-ядро.d/
Comment 9 Gleb F-Malinovskiy 2023-02-01 15:13:02 MSK
(In reply to Sergey V Turchin from comment #8)
> Или хотя бы иметь каталог /etc/modprobe-ядро.d/
Была такая идея и даже патчи, кстати:
https://lore.kernel.org/linux-modules/20200226133221.44342a57@table.localdomain/
Comment 10 Gleb F-Malinovskiy 2023-02-01 15:16:37 MSK
v3 тоже был, но без ответа.  Видимо, на этом всё и остановилось.
https://lore.kernel.org/linux-modules/20200227174635.5a2b13c9@boyarsh.office.basealt.ru/
Comment 11 Konstantin A Lepikhov (L.A. Kostis) 2023-02-01 23:10:04 MSK
(In reply to ruslandh from comment #0)
> Created attachment 12389 [details]
> Вид ошибки при обновления ядра командой update-kernel
> 
> Файл с blacklist конфликтует при обновлении пакета. 
> Возможно в этом случае файлу надо было дать другое имя.
> Извинте за фото.

Не извиню ) Что и с чем конфликтует? Из флуда далее я ничего не понял.
Comment 12 Vitaly Chikunov 2023-02-02 01:28:27 MSK
(In reply to Gleb F-Malinovskiy from comment #10)
> v3 тоже был, но без ответа.  Видимо, на этом всё и остановилось.
> https://lore.kernel.org/linux-modules/20200227174635.5a2b13c9@boyarsh.office.
> basealt.ru/

Да странно, Lucas De Marchi сначала говорит "I really like the idea of supporting this", а потом игнорирует v3. (ps. Хотя, commit message мог бы быть с обоснованием (примером), а не просто отсылкой, что оно где-то есть "In some cases it looks reasonable".)
Comment 13 ruslandh 2023-02-02 06:16:15 MSK
А не проще-ли тогда создавать блеклисты в %post и удалять в %preun ? 
Не очень красиво, но зато нет конфликта.

Но идея иметь  /etc/modprobe-ядро.d/ мне сама по себе нравится. Уже сталкивался с тем, что после обновлении ядра переставала работать сеть именно по этой причине. Старое ядро имело работало с одним модулем ядра , а в новом ядре использовался другой модуль. И блеклист от старого ядра блокировал работу модуля из нового ядра.
Comment 14 Vitaly Chikunov 2023-02-24 04:01:48 MSK
*** Bug 45381 has been marked as a duplicate of this bug. ***
Comment 15 hakerdefo 2023-02-27 20:23:53 MSK
So what does this mean to an end user? Will an update fix this bug? Or will the user have to manually intervene to fix this?

My knowledge of Russian language is нуль and I'm not a huge fan of translation services so please bear with my ignorance if the answers to my questions have already been discussed here.

Thanks.
Comment 16 Repository Robot 2023-04-20 17:52:46 MSK
kernel-source-bcmwl-6.30.223.271-alt6.g6adc981 -> sisyphus:

 Wed Apr 05 2023 L.A. Kostis <lakostis@altlinux.ru> 6.30.223.271-alt6.g6adc981
 - Add kernel-module configuration subpkg (closes #45082).
Comment 17 ruslandh 2023-04-20 19:17:42 MSK
Отлично ;-)
Comment 18 Vitaly Chikunov 2023-04-21 01:20:34 MSK
Спасибо. Нас сколько я понимаю, отдельный пакет для конфига решает проблему изменения конфига в будущем, но не конфликт, который создало прошлое изменение (актуальный для тех у кого был установлен старый пакет и они делают апдейт).
Comment 19 Антон Мидюков 2023-06-13 18:25:30 MSK
Проблема осталась. Конфликт переместился в bcmwl-kernel-conf, у которого не выставлены:
Conflicts: kernel-modules-bcmwl-std-def < 6.30.223.271-alt14
Conflicts: kernel-modules-bcmwl-un-def < 6.30.223.271-alt14
Conflicts: kernel-modules-bcmwl-centos < 6.30.223.271-alt14
Comment 20 Anton Farygin 2023-06-15 12:09:53 MSK
Выставление конфликтов не поможет, а только усугубит ситуацию.
Надо убрать зависимость на пакет с конфигами из модулей.
Comment 21 Repository Robot 2023-06-16 01:51:57 MSK
kernel-modules-bcmwl-un-def-6.30.223.271-alt15.393992.1 -> sisyphus:

 Thu Jun 15 2023 Anton Farygin <rider@altlinux> 6.30.223.271-alt15.393992.1
 - Build for kernel-image-un-def-6.3.8-alt1.
 Thu Jun 15 2023 Anton Farygin <rider@altlinux.ru> 6.30.223.271-alt15
 - remove kernel-modules-bcmwl-un-def-kernel-conf requires to avoid conflicting configuration with
   old bcmwl modules (closes: #45082)
Comment 22 Vitaly Chikunov 2023-06-16 01:55:56 MSK
(In reply to Anton Farygin from comment #20)
> Выставление конфликтов не поможет, а только усугубит ситуацию.

Почему? По идее удалит старый модуль и всё.
Comment 23 Konstantin A Lepikhov (L.A. Kostis) 2023-06-16 09:56:04 MSK
(In reply to Anton Farygin from comment #20)
> Выставление конфликтов не поможет, а только усугубит ситуацию.
> Надо убрать зависимость на пакет с конфигами из модулей.

Давайте сначала определимся, какую проблему мы пытаемся решить? Данное изменение сделает модуль неработоспособным "из коробки", т.к. необходимая конфигурация ядра будет отсутствовать.
Comment 24 Repository Robot 2023-06-16 10:50:10 MSK
kernel-modules-bcmwl-un-def-6.30.223.271-alt15.393504.1 -> p10:

 Thu Jun 15 2023 Anton Farygin <rider@altlinux> 6.30.223.271-alt15.393504.1
 - Build for kernel-image-un-def-6.1.32-alt1.
 Thu Jun 15 2023 Anton Farygin <rider@altlinux.ru> 6.30.223.271-alt15
 - remove kernel-modules-bcmwl-un-def-kernel-conf requires to avoid conflicting configuration with
   old bcmwl modules (closes: #45082)
Comment 25 Anton Farygin 2023-06-16 14:37:35 MSK
Сейчас мы решаем проблему обновляемости.

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

Я думаю что если очень хочется сделать конфиг, то оптимальный вариант - генерить его в post-скриптах пакета common и таскать в виде %ghost
Comment 26 Gleb F-Malinovskiy 2023-06-16 14:54:26 MSK
(In reply to Anton Farygin from comment #25)
> Я думаю что если очень хочется сделать конфиг, то оптимальный вариант -
> генерить его в post-скриптах пакета common и таскать в виде %ghost

По идее же можно добавить конфиг, который не будет пересекаться по именам с конфигами, которые были в предыдущих версиях модуля.
Comment 27 Anton Farygin 2023-06-16 15:06:35 MSK
Да, можно и так.
Но вообще конечно конфиг как по мне должен быть отдельно от модулей - кому надо тот включит. Но я не знаю, как себя ведёт модуль установленный в систему - там же blacklist идёт чему-то.

Поэтому чем хорош будеть filetrigger - конфиг можно генерить только точно зная, что железка в системе есть.
Comment 28 Ivan A. Melnikov 2023-06-16 15:17:11 MSK
(In reply to Anton Farygin from comment #27)
> Поэтому чем хорош будеть filetrigger - конфиг можно генерить только точно
> зная, что железка в системе есть.

WiFi от broadcom может быть в виде USB-шного донгла, не воткнутого в момент установки пакета.
Comment 29 Vitaly Chikunov 2023-06-16 19:36:54 MSK
(In reply to Anton Farygin from comment #25)
> Установленные конфликты могут привести к непредсказуемому поведению APT,
> который ориентируется на весовые алгоритмы при расчёте своего поведения -
> какой вес перевесит то и будет делать - или удалять старые пакеты или не
> устанавливать новые с ошибкой.

Может я и не прав, так как не имею такого богатого опыта. Но, на сколько я знаю (и сталкивался с этим) эта проблема с весами может быть при dist-upgrade, но так как модули не ставятся через dist-upgrade, то её не будет — при install (который делает update-kernel) Conflict сработает.
Comment 30 Vitaly Chikunov 2023-06-16 19:43:06 MSK
(In reply to Gleb F-Malinovskiy from comment #26)
> По идее же можно добавить конфиг, который не будет пересекаться по именам с
> конфигами, которые были в предыдущих версиях модуля.

Гениально!

ps. Есть еще вариант с %pretrans, но Глебу он не нравится, да и переименовать конфиг проще.