Bug 42568 - update-kernel не отрабатывает для пересобранных пакетов, но без обновления ядра
Summary: update-kernel не отрабатывает для пересобранных пакетов, но без обновления ядра
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: update-kernel (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Gleb F-Malinovskiy
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-04-25 11:07 MSK by ruslandh
Modified: 2022-04-25 22:48 MSK (History)
20 users (show)

See Also:


Attachments
log update-kernel-un-def, update-kernel-std-def (4.57 KB, text/x-log)
2022-04-25 11:07 MSK, ruslandh
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description ruslandh 2022-04-25 11:07:35 MSK
Created attachment 10648 [details]
log update-kernel-un-def, update-kernel-std-def

Конфликт с основным ядром как ы sts-def, так и un-def
Comment 1 Andrey Cherepanov 2022-04-25 11:43:21 MSK
При пересборке модуля ядра без обновления версии ядра update-kernel/apt не отрабатывает.

	file /lib/modules/5.16.20-un-def-alt1/net/wireless/realtek/rtlwifi/rtl8821ce.ko from install of kernel-modules-rtl8821ce-un-def-5.5.2-alt4.331796.1.x86_64 conflicts with file from package kernel-modules-rtl8821ce-un-def-5.5.2-alt4.331796.1.x86_64
Comment 2 ruslandh 2022-04-25 11:49:15 MSK
 Я не очень понял твой комментарий ;-)

Я проверял 
update-kernel
и
update-kernel -t std-def

Загружено было un-def
Comment 3 ruslandh 2022-04-25 11:52:16 MSK
Понял ;-)


Компонент: kernel-modules-rtl8821ce-std-def → update-kernel
Comment 4 Vitaly Chikunov 2022-04-25 22:11:52 MSK
Да при установленном kernel-modules-rtl8821ce-std-def#5.5.2-alt4.331554.2:sisyphus+298422.3400.1.2@1649941212 новый пакет kernel-modules-rtl8821ce-std-def#5.5.2-alt4.331554.2:sisyphus+298843.200.1.1@1650605445 не ставится, так как содержит те же файлы, что вызывает конфликт.

ps. Я попробовал добавить --reinstall к общей транзакции, но тогда возникает другой конфликт:

[root@3e546e832eb1 /]# apt-cache pkgnames kernel-modules-r8168-std-def
kernel-modules-r8168-std-def
kernel-modules-r8168-std-def#8.049.02-alt1.k.331554.2:sisyphus+298422.2600.1.2@1649941048

[root@3e546e832eb1 /]# apt-cache policy 'kernel-modules-r8168-std-def#8.049.02-alt1.k.331554.2:sisyphus+298422.2600.1.2@1649941048'
kernel-modules-r8168-std-def#8.049.02-alt1.k.331554.2:sisyphus+298422.2600.1.2@1649941048:
  Installed: 8.049.02-alt1.k.331554.2:sisyphus+298422.2600.1.2@1649941048
  Candidate: 8.049.02-alt1.k.331554.2:sisyphus+298422.2600.1.2@1649941048
  Version Table:
 *** 8.049.02-alt1.k.331554.2:sisyphus+298422.2600.1.2@1649941048 0
        500 http://ftp.altlinux.org x86_64/classic pkglist
        100 RPM Database

[root@3e546e832eb1 /]# apt-get install --reinstall 'kernel-modules-r8168-std-def#8.049.02-alt1.k.331554.2:sisyphus+298422.2600.1.2@1649941048'
Reading Package Lists... Done
Building Dependency Tree... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 removed and 91 not upgraded.
Need to get 0B/126kB of archives.
After unpacking 0B of additional disk space will be used.
Do you want to continue? [Y/n]
        kernel-modules-rtl8168-std-def conflicts with kernel-modules-r8168-std-def-8.049.02-alt1.k.331554.2.x86_64
        kernel-modules-rtl8168-std-def conflicts with (installed) kernel-modules-r8168-std-def-8.049.02-alt1.k.331554.2.x86_64
E: Transaction set check failed

Это для меня загадка.
Comment 5 Vitaly Chikunov 2022-04-25 22:48:05 MSK
Добавлю что такое поведение (conflict у rtl8821ce) наблюдается у и старого update-kernel-0.9.20 (до моих изменений) так что, вероятно, такой апгрейд (на rebuilt модуль) не работал никогда. А так как --reinstall не помогает, то, в таком случае, видимо, остается только ждать новой версии ядра.

ps. Да и заранее определить (чтоб вставить какую-то проверку в update-kernel), что kernel-modules-rtl8821ce-std-def будет конфликтовать нельзя. Так как конфликт возникает из-за того, что там общая версия ядра (соответственно, файлы попадают в одно место), а версию ядра для которой собран внешний модуль до его инсталляции определить невозможно. Есть только версия самого модуля, которая не влияет на конфликт.