Bug 40396 - systemd commit 249.1-alt1~5 broke sysvinit
Summary: systemd commit 249.1-alt1~5 broke sysvinit
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: systemd-utils (show other bugs)
Version: unstable
Hardware: all Linux
: P5 blocker
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL: http://git.altlinux.org/gears/s/..git...
Keywords:
Depends on:
Blocks: 33000 27222
  Show dependency tree
 
Reported: 2021-07-07 21:38 MSK by Антон Мидюков
Modified: 2021-07-21 19:23 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2021-07-07 21:38:16 MSK
systemd-tmpfiles-standalone оказался обделён конфигами tmpfiles.d.
Предлагаю вынести из systemd или каталог /lib/tmpfiles.d/ целиком, либо отдельные конфиги в отдельный пакет, от которого будут зависеть systemd и systemd-tmpfiles-standalone.

Точно нужно вынести:
/lib/tmpfiles.d/legacy.conf
Возможно:
/lib/tmpfiles.d/tmp.conf
/lib/tmpfiles.d/var.conf
/lib/tmpfiles.d/x11.conf

И если это не добавит каких-то зависимостей, то можно и весь каталог.
Comment 1 Антон Мидюков 2021-07-21 10:47:06 MSK
В пришедшем в Сизиф задании эта проблема не исправлена:

[#278149] DONE (try 11) systemd.git=249.1-alt1

Также это задание принесло новые проблемы.
systemd поломал загрузку install и не только. На jeos-sysv происходит что-то волшебное. Диск извлекается при загрузке propagator.
С этим пока разбираюсь.
И shaba@ проигнорировал:
https://bugzilla.altlinux.org/40396

Из-за этого в системы sysvinit нужно, по-прежнему, устанавливать systemd-utils.

Также перестал грузиться mediacheck:
Spawning init ...FATAL ERROR IN INIT: can't find init on root fs

Добавил пакет systemd-utils в SYSTEM_PACKAGES профиля сборки. initrd удалось преодолеть. Инсталятор выдал критическую ошибку так как не смог скопировать:
/etc/nsswitch.conf
/etc/pam.d
/etc/issue
Comment 2 Антон Мидюков 2021-07-21 10:48:19 MSK
(In reply to Антон Мидюков from comment #1)
> Добавил пакет systemd-utils в SYSTEM_PACKAGES профиля сборки. initrd удалось
> преодолеть.

Это про jeos-sysv.
Comment 3 Антон Мидюков 2021-07-21 11:08:14 MSK
(In reply to Антон Мидюков from comment #1)
> Инсталятор выдал критическую ошибку так как не смог скопировать:
> /etc/nsswitch.conf
> /etc/pam.d
> /etc/issue

Не так прочитал, приведу полностью:
Failed to copy files to /etc/nsswitch.conf: No such file or directory
Failed to copy files to /etc/pam.d: No such file or directory
Failed to copy files to /etc/issue: No such file or directory
Comment 4 Антон Мидюков 2021-07-21 11:39:52 MSK
(In reply to Антон Мидюков from comment #3)
> Failed to copy files to /etc/nsswitch.conf: No such file or directory
> Failed to copy files to /etc/pam.d: No such file or directory
> Failed to copy files to /etc/issue: No such file or directory

Это в /usr/sbin/install2 валится команда:
systemd-tmpfiles --remove --create --boot --exclude-prefix=dev

если заменить на:
systemd-tmpfiles --remove --create --exclude-prefix=dev

то проходит успешно.

Проблема propagator проявляется, если загружать в virtualbox. В qemu не проявляется.

Добавление пакета systemd-utils в SYSTEM_PACKAGES профиля сборки в действительности ничего не изменило. Проблема загрузки mediacheck проявляется везде.
Comment 5 Антон Мидюков 2021-07-21 12:07:34 MSK
(In reply to Антон Мидюков from comment #4)
> (In reply to Антон Мидюков from comment #3)
> > Failed to copy files to /etc/nsswitch.conf: No such file or directory
> > Failed to copy files to /etc/pam.d: No such file or directory
> > Failed to copy files to /etc/issue: No such file or directory
> 
> Это в /usr/sbin/install2 валится команда:
> systemd-tmpfiles --remove --create --boot --exclude-prefix=dev
> 
> если заменить на:
> systemd-tmpfiles --remove --create --exclude-prefix=dev
> 
> то проходит успешно.
> 

Также помогает удаление /lib/tmpfiles.d/etc.conf

Там такое:
L /etc/os-release - - - - ../usr/lib/os-release
L+ /etc/mtab - - - - ../proc/self/mounts
L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf
C! /etc/nsswitch.conf - - - -
C! /etc/pam.d - - - -
C! /etc/issue - - - -
Comment 6 Антон Мидюков 2021-07-21 13:50:48 MSK
Теперь стало понятно в чём дело. В systemd-utils переехали из пакета systemd-stateless:
/lib/sysusers.d/basic.conf
/lib/sysusers.d/systemd.conf
/lib/tmpfiles.d/etc.conf

Последний конфиг оказался фатальным для инсталятора.
Так как systemd-utils остаётся у пользователей sysvinit, то это было диверсией против них, не говоря уже про наш инсталятор.
Comment 7 Антон Мидюков 2021-07-21 14:05:07 MSK
(In reply to Антон Мидюков from comment #1)
> На jeos-sysv происходит что-то
> волшебное. Диск извлекается при загрузке propagator.

Похоже, что это "волшебство" всё же вина virtualbox. Сейчас проблема перестала в нём воспроизводиться на тех же образах.
Comment 8 Dmitry V. Levin 2021-07-21 14:12:50 MSK
Виноват коммит 249.1-alt1~5:
http://git.altlinux.org/gears/s/..git?p=systemd.git;a=commitdiff;h=3d86aca9bd221900c16bd9b25b199157fe71ba85
Comment 9 Антон Мидюков 2021-07-21 14:29:20 MSK
(In reply to Dmitry V. Levin from comment #8)
> Виноват коммит 249.1-alt1~5:
> http://git.altlinux.org/gears/s/..git?p=systemd.git;a=commitdiff;
> h=3d86aca9bd221900c16bd9b25b199157fe71ba85

Да. Только заодно надо исправить и изначальную ошибку.
/lib/tmpfiles.d/legacy.conf точно должен быть доступен при установке только systemd-utils-standalone.

Так, в rescue сейчас не приезжает systemd-utils, и, если не исправить эту ошибку, придётся мне его туда добавить самому.
Comment 10 Антон Мидюков 2021-07-21 18:40:41 MSK
[#279897] TESTED systemd.git=249.1-alt2

проблемы исправляет.
Comment 11 Repository Robot 2021-07-21 19:08:52 MSK
systemd-1:249.1-alt2 -> sisyphus:

 Wed Jul 21 2021 Alexey Shabalin <shaba@altlinux> 1:249.1-alt2
 - Move sysusers configs to stateless package (ALT #40396).
 - Move common tmpfiles configs to new systemd-tmpfiles-common package (ALT #40396).
 - Package systemd-stateless as noarch.
 - Drop systemd-stateless requies in systemd-journal-remote.
Comment 12 AEN 2021-07-21 19:23:18 MSK
Спасибо!