Bug 39840

Summary: kernel images depend on the package "startup"
Product: Sisyphus Reporter: Arseny Maslennikov <arseny>
Component: kernel-image-std-defAssignee: Vitaly Chikunov <vt>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: antohami, jqt4, kernelbot, legion, shaba, vt
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Arseny Maslennikov 2021-03-26 01:25:48 MSK
Пакет startup — это ядро sysv-style инит-последовательности: /etc/inittab, /etc/rc.d/rc и прочее. В системах, не использующих этот механизм обеспечения инит-последовательности, этот пакет не должен быть обязательным, но все (или очень многие) наши kernel-image-* от него зачем-то паразитно зависят.
Comment 1 Dmitry V. Levin 2021-03-26 02:12:51 MSK
Историческая справка.

Зависимость на startup в пакетах kernel-image-* выглядит так:
Requires: startup >= 0.8.3-alt1

Эта зависимость появилась в ядре kernel-image-std26-up-2.6.6-alt3 в результате следующего изменения:
* Tue May 11 2004 Anton Farygin <rider@altlinux.ru> 2.6.6-alt3
- 2.6.6

  Ivan Zakharyaschev <imz@altlinux.ru>:
- Added kernel-feat-drivers-console-unicode:
  fixes the imperfectness of Linux VT/console Unicode support 
  (involves a change of the kernel interface used by loadkeys, 
  but mainly is compatible with old loadkeys).

В %changelog пакета startup про ту версию, на которую прописана зависимость,
написано следующее:
* Sat Feb 07 2004 Dmitry V. Levin <ldv@altlinux.org> 0.8.3-alt1
- Requires: filesystem >= 0:2.1.7-alt1 (due to /sys).
- rc.d/rc.sysinit:
  + mount /sys where appropriate;
  + use "swapon -a -e" to activate swap partitions (#3781);
  + removed support for obsolete /lib/modules/default;
  + removed support for obsolete /boot/System.map;
  + added evms support (#3647).
- init.d/halt:
  + added nut support (#3701).
- sysctl.conf:
  + removed net.ipv4.ip_always_defrag key.

Антон наверняка помнит, почему в зависимости указана именно эта версия пакета startup.
Comment 2 Anton Farygin 2021-03-26 09:20:14 MSK
Да, вовремя вы вспомнили про эту зависимость. Я уже начал забывать про то, для чего её добавил.

Она была нужна для того, что бы нормально собирались образы дистрибутивов и у нас никуда не попал старый startup. А делать зависимость у пакета startup на ядро было нельзя.

Изменения из него были важны в 2004 году, но сейчас уже эту зависимость можно и нужно убить, т.к. врятли найдётся конфигурация, в которой будет startup, не поддерживающий, например, монтирование /sys
Comment 3 Anton V. Boyarshinov 2021-03-29 12:35:13 MSK
(Ответ для Anton Farygin на комментарий #2)

> Изменения из него были важны в 2004 году, но сейчас уже эту зависимость
> можно и нужно убить, т.к. врятли найдётся конфигурация, в которой будет
> startup, не поддерживающий, например, монтирование /sys

Я, пожалуй, удалю её в следующих сборках.
Comment 4 Антон Мидюков 2021-07-06 20:15:55 MSK
В std-def и un-def зависимость уже убрана. Но в репозитории остались ядра с этой зависимостью:
kernel-image-rt vt@
kernel-image-rpi-def jqt4@
kernel-image-rpi-un jqt4@

Их нужно срочно исправить, так как systemd 248.3-alt2 конфликтует с startup.
Comment 5 Vitaly Chikunov 2021-07-07 00:08:02 MSK
(Ответ для Антон Мидюков на комментарий #4)
> В std-def и un-def зависимость уже убрана. Но в репозитории остались ядра с
> этой зависимостью: kernel-image-rt vt@ Их нужно срочно исправить, так как

Не знал, что это срочно.

> systemd 248.3-alt2 конфликтует с startup.

А как ядро на это влияет?
Comment 6 Антон Мидюков 2021-07-07 04:05:42 MSK
(In reply to Vitaly Chikunov from comment #5)
> (Ответ для Антон Мидюков на комментарий #4)
> > В std-def и un-def зависимость уже убрана. Но в репозитории остались ядра с
> > этой зависимостью: kernel-image-rt vt@ Их нужно срочно исправить, так как
> 
> Не знал, что это срочно.
> 

Я тоже не знал, пока Changelog systemd не прочитал :-)

> > systemd 248.3-alt2 конфликтует с startup.
> 
> А как ядро на это влияет?

В спеке ядра не нужная строка
Requires: startup >= 0.8.3-alt1

доставшаяся по наследству от спека std-def. Просто удалить и ядро собрать.
Comment 7 Alexey Gladkov 2021-07-07 12:09:54 MSK
А вы в курсе, что таким конфликтом при обновлении выносятся старые ядра ?

$ apt-get install systemd
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  libnss-myhostname pam_systemd systemd-boot-efi
Следующие пакеты будут ЗАМЕНЕНЫ:
  systemd-utils (by systemd)
Следующие пакеты будут УДАЛЕНЫ:
  kernel-image-std-def#1:5.4.22-alt1:sisyphus+246884.100.1.1@1582610084
  kernel-image-std-def#1:5.4.24-alt1:sisyphus+247423.140.2.1@1583496727 kernel-modules-alsa-lks-wks#4.15.0-alt4@1519307634
  kernel-modules-drm-std-def#1:5.4.22-alt1:sisyphus+246884.100.1.1@1582610084
  kernel-modules-drm-std-def#1:5.4.24-alt1:sisyphus+247423.140.2.1@1583496727 kernel-modules-staging-lks-wks#4.15.0-alt4@1519307634
  kernel-modules-staging-std-def#1:5.4.22-alt1:sisyphus+246884.100.1.1@1582610084
  kernel-modules-staging-std-def#1:5.4.24-alt1:sisyphus+247423.140.2.1@1583496727
  kernel-modules-v4l-std-def#1:5.4.22-alt1:sisyphus+246884.100.1.1@1582610084
  kernel-modules-v4l-std-def#1:5.4.24-alt1:sisyphus+247423.140.2.1@1583496727 startup
Следующие НОВЫЕ пакеты будут установлены:
  libnss-myhostname pam_systemd systemd systemd-boot-efi
Comment 8 Alexey Shabalin 2021-07-07 15:00:28 MSK
(Ответ для Alexey Gladkov на комментарий #7)
> А вы в курсе, что таким конфликтом при обновлении выносятся старые ядра ?
> 

Так это же хорошо. Не? :)
Comment 9 Vitaly Chikunov 2021-07-07 15:06:57 MSK
@shaba, зачем там Conflicts: startup?
Comment 10 Alexey Gladkov 2021-07-07 16:39:56 MSK
(Ответ для Alexey Shabalin на комментарий #8)
> (Ответ для Alexey Gladkov на комментарий #7)
> > А вы в курсе, что таким конфликтом при обновлении выносятся старые ядра ?
> > 
> 
> Так это же хорошо. Не? :)

Не. Потому у меня systemd вытеснил _все_ ядра. Я специально показал вывод команды и то, что apt предложил поставить. Ты видешь там хоть одно ядро ?
Comment 11 Dmitry V. Levin 2021-07-07 16:51:27 MSK
(In reply to Alexey Gladkov from comment #7)
> А вы в курсе, что таким конфликтом при обновлении выносятся старые ядра ?

Повесили баг: https://bugzilla.altlinux.org/40392
Comment 12 Alexey Gladkov 2021-07-07 16:54:23 MSK
Также хочу напомнить, что plymouth хочет systemd и получается, что после установки plymouth у меня на машине не остаётся ядер.
Comment 13 Vitaly Chikunov 2021-07-08 18:41:05 MSK
Сегодня после окончания тестирования закоммитил kernel-image-rt без startup в Сизиф.

ps. Кстати, одна из причин задержки - не прохождение почты.