Bug 49020

Summary: at-spi2-core зависит от systemd
Product: Sisyphus Reporter: Антон Мидюков <antohami>
Component: at-spi2-coreAssignee: Yuri N. Sedunov <aris>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: aen, aris, arseny, bircoph, grenka, ldv, mike, rider, shaba, vkni, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on: 49024    
Bug Blocks: 33000    

Description Антон Мидюков 2024-01-09 14:36:22 MSK
У at-spi2-core 2.50.1-alt1 появилась зависимость на systemd.
В результате на системы с sysvinit нельзя установить gtk3 и gtk4.
Прошу убрать это недоразумение.
Comment 1 Yuri N. Sedunov 2024-01-09 16:54:08 MSK
Недоразумение в systemd, исправляйте его.
Comment 2 Антон Мидюков 2024-01-09 17:49:22 MSK
Зависимость на systemd возникает из-за busctl в %_xdgconfigdir/Xwayland-session.d/00-at-spi
Прошу отключить поиск зависимостей для этого файла, чтобы зависимость на systemd не возникала.
Comment 3 Yuri N. Sedunov 2024-01-09 17:58:11 MSK
(Ответ для Антон Мидюков на комментарий #2)
> Зависимость на systemd возникает из-за busctl в
> %_xdgconfigdir/Xwayland-session.d/00-at-spi
> Прошу отключить поиск зависимостей для этого файла, чтобы зависимость на
> systemd не возникала.

С какого перепуга? -- busctl нужен. Выносите /usr/bin/busctl, который даже не зависит от libsystemd, чтобы его можно было использовать независимо от systemd.
Comment 4 Антон Мидюков 2024-01-09 18:28:02 MSK
(Ответ для Yuri N. Sedunov на комментарий #3)
> (Ответ для Антон Мидюков на комментарий #2)
> > Зависимость на systemd возникает из-за busctl в
> > %_xdgconfigdir/Xwayland-session.d/00-at-spi
> > Прошу отключить поиск зависимостей для этого файла, чтобы зависимость на
> > systemd не возникала.
> 
> С какого перепуга? -- busctl нужен. Выносите /usr/bin/busctl, который даже
> не зависит от libsystemd, чтобы его можно было использовать независимо от
> systemd.

Зависит зато от либы в systemd.
ldd /usr/bin/busctl 
libsystemd-shared-254.so => /lib64/systemd/libsystemd-shared-254.so (0x00007f7bb2200000)

rpm -qf /lib64/systemd/libsystemd-shared-254.so 
systemd

Не уверен, что busctl можно вынести вместе с этой либой из systemd.
Comment 5 Yuri N. Sedunov 2024-01-09 18:37:59 MSK
(Ответ для Антон Мидюков на комментарий #4)

> Не уверен, что busctl можно вынести вместе с этой либой из systemd.

Очевидно, что можно, но ты можешь задать этот вопрос мантейнеру systemd.
Comment 6 Michael Shigorin 2024-01-11 13:23:57 MSK
(Ответ для Yuri N. Sedunov на комментарий #3)
> > Зависимость на systemd возникает из-за busctl в
> > %_xdgconfigdir/Xwayland-session.d/00-at-spi
> С какого перепуга? -- busctl нужен.
Юр, а он безусловно требуется at-spi или же применяется ровно при запуске xwayland?  Во втором случае я бы предложил вытащить в подпакет, скажем, busctl вместе с этим скриптиком (и добавил в списки пакетов для *wayland).

В целом прошу содействия в решении этой проблемы -- дистрибутивов с gnustep раз-два и обчёлся и их целевая аудитория слабо пересекается с любителями обмазываться wayland/systemd, насколько я с ней знаком (анонсировал в gnustep-ной рассылке, пообщались).

Антон, а что именно вытягивает at-spi -- firefox?  Возможно, стоит подумать в сторону варьирования браузера конкретно в этой сборке.
Comment 7 Антон Мидюков 2024-01-11 13:30:51 MSK
(Ответ для Michael Shigorin на комментарий #6)
> Антон, а что именно вытягивает at-spi -- firefox?  Возможно, стоит подумать
> в сторону варьирования браузера конкретно в этой сборке.

libgtk+3
Comment 8 Sergey V Turchin 2024-01-16 10:21:52 MSK
(Ответ для Michael Shigorin на комментарий #6)
> Юр, а он безусловно требуется at-spi или же применяется ровно при запуске
> xwayland?  Во втором случае я бы предложил вытащить в подпакет, скажем,
> busctl вместе с этим скриптиком (и добавил в списки пакетов для *wayland).
Не надо придумывать проблем другим людям.
Достаточно просто отфильтровать эту зависимость.
Comment 9 Dmitry V. Levin 2024-01-16 21:29:30 MSK
FYI, the python task doesn't pass install check because of this issue.
Comment 10 Arseny Maslennikov 2024-01-16 22:47:54 MSK
(In reply to Michael Shigorin from comment #6)
> (Ответ для Yuri N. Sedunov на комментарий #3)
> > > Зависимость на systemd возникает из-за busctl в
> > > %_xdgconfigdir/Xwayland-session.d/00-at-spi
> > С какого перепуга? -- busctl нужен.
> а он безусловно требуется at-spi или же применяется ровно при запуске
> xwayland?

% git clone https://gitlab.gnome.org/GNOME/at-spi2-core && cd at-spi2-core
Cloning into 'at-spi2-core'...
warning: redirecting to https://gitlab.gnome.org/GNOME/at-spi2-core.git/
remote: Enumerating objects: 36552, done.
remote: Counting objects: 100% (19937/19937), done.
remote: Compressing objects: 100% (4358/4358), done.
remote: Total 36552 (delta 15529), reused 19885 (delta 15495), pack-reused 16615
Receiving objects: 100% (36552/36552), 7.98 MiB | 326.00 KiB/s, done.
Resolving deltas: 100% (28288/28288), done.
% 
% git grep busctl
bus/00-at-spi:ADDR="$( busctl call --user org.a11y.Bus /org/a11y/bus org.a11y.Bus GetAddress )" || exit 0
% git log -- bus/00-at-spi
commit 8d514cc1b8456224fa687bc0e32d26c3b4b994c0
Author: Benjamin Berg <bberg@redhat.com>
Date:   Wed May 19 15:08:42 2021 +0200

    bus: Set X root property when Xwayland starts on-demand
    
    On wayland, the X11 server may not always be running so that
    at-spi-bus-launcher cannot set it when it is starting.
    
    This is usually not a big problem, as applications can retrieve the a11y
    bus address by querying the session bus. Unfortunately, there may be
    exceptions such as applications that are run as a different user.
    
    We can easily solve this problem by setting the X11 root property when
    the Xwayland server is started. To do so, install a simple script to
    /etc/xdg/Xwayland-session.d/ that queries the session bus and sets the
    root property.
    
    This script is only needed when Xwayland is started on-demand, which can
    only happen on systemd enabled sessions. However, it is always safe to
    install, and there will be no severe side effects should the script be
    running needlessly or failing.
    
    Closes: #34
% 

Исчерпывающе, я считаю. Не могу, правда, подтвердить, что Xwayland стартует по запросу только на systemd: как минимум wlroots умеет[1] выфоркивать его по запросу.

[1] https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/ce89f49b7aab281198fad64e9a825a24dbf72e3d/xwayland/server.c#L482
Comment 11 Arseny Maslennikov 2024-01-16 22:49:34 MSK
Если мы так не хотим отрывать зависимость на /usr/bin/busctl от at-spi2-core, то, может быть, заменить вызов busctl на dbus-send или что-то с другими зависимостями?
Comment 12 Yuri N. Sedunov 2024-01-17 11:09:43 MSK
task #333513: added #115100: build srpm at-spi2-core-2.50.1-alt1.1.src.rpm
$ GATR 333513
task run: task #333513 belongs to grenka
Comment 13 Michael Shigorin 2024-01-17 11:13:10 MSK
Спасибо!
Comment 14 vkni 2024-01-24 22:51:36 MSK
У меня всё работает, может быть закроем эту ошибку?
Comment 15 Sergey V Turchin 2024-04-05 16:57:12 MSK
Ошибку вернули. Проблемы со сборкой дистрибутивов.
Comment 16 AEN 2024-04-05 17:04:58 MSK
(Ответ для Sergey V Turchin на комментарий #15)
> Ошибку вернули. Проблемы со сборкой дистрибутивов.

Пожалуйста, опишите проблемы, связанные с этим пакетом.
Comment 17 Sergey V Turchin 2024-04-05 17:08:27 MSK
(Ответ для AEN на комментарий #16)
> Пожалуйста, опишите проблемы, связанные с этим пакетом.
При сборке образа apt не может решить проблему конфликта systemd и sysvinit.
Comment 18 Антон Мидюков 2024-04-05 17:09:44 MSK
(Ответ для Sergey V Turchin на комментарий #17)
> (Ответ для AEN на комментарий #16)
> > Пожалуйста, опишите проблемы, связанные с этим пакетом.
> При сборке образа apt не может решить проблему конфликта systemd и sysvinit.

Проблема в другом:
https://bugzilla.altlinux.org/49860
Comment 19 Sergey V Turchin 2024-04-05 17:15:19 MSK
(Ответ для Антон Мидюков на комментарий #18)
> Проблема в другом:
> https://bugzilla.altlinux.org/49860
В этом у меня проблемы нет, т.к. у меня systemd.
Comment 20 AEN 2024-04-05 17:22:30 MSK
(Ответ для Sergey V Turchin на комментарий #17)
> (Ответ для AEN на комментарий #16)
> > Пожалуйста, опишите проблемы, связанные с этим пакетом.
> При сборке образа apt не может решить проблему конфликта systemd и sysvinit.

Пожалуйста, подробнее.
Comment 21 Sergey V Turchin 2024-04-06 12:50:06 MSK
(Ответ для AEN на комментарий #20)
> Пожалуйста, подробнее.
Вчерашний лог я не сохранил, т.к. надеяться на исправление не собирался и экспериментировал с извращениями(успешно). Там начиналось с at-spi2-core, который тащил /usr/bin/busctl, который тащил systemd-utils-standalone, который тащил sysvinit, который конфликтовал с systemd.

Сегодня не получается воспроизвести. Видимо, пакеты в репозитории сложились по другому.

Спасибо Антону за новый mkimage-profiles, в котором можно выкинуть install-компонент(содержит sysvinit) и теперь я могу послать к чёртовой бабушке sysvinit, этот баг и всё к нему причастное!
Comment 22 Yuri N. Sedunov 2024-04-06 12:54:33 MSK
(Ответ для Sergey V Turchin на комментарий #21)
> Сегодня не получается воспроизвести. Видимо, пакеты в репозитории сложились
> по другому.
> 

Подчищать надо за собой.
Comment 23 AEN 2024-04-06 13:16:15 MSK
(Ответ для Sergey V Turchin на комментарий #21)
> (Ответ для AEN на комментарий #20)
> > Пожалуйста, подробнее.
> Вчерашний лог я не сохранил, т.к. надеяться на исправление не собирался и
> экспериментировал с извращениями(успешно). Там начиналось с at-spi2-core,
> который тащил /usr/bin/busctl, который тащил systemd-utils-standalone,
> который тащил sysvinit, который конфликтовал с systemd.
> 
> Сегодня не получается воспроизвести. Видимо, пакеты в репозитории сложились
> по другому.
> 
> Спасибо Антону за новый mkimage-profiles, в котором можно выкинуть
> install-компонент(содержит sysvinit) и теперь я могу послать к чёртовой
> бабушке sysvinit, этот баг и всё к нему причастное!

Очень прошу Вас быть корректным в общении, особенно в bugzilla

Спасибо.
Comment 24 Sergey V Turchin 2024-04-06 15:01:35 MSK
(Ответ для AEN на комментарий #23)
> Очень прошу Вас быть корректным в общении, особенно в bugzilla
Несмотря не то, что моё предложенное решение было реализовано сторонним мантейнером, а потом втихую похерено мантейнером пакета, я стараюсь, поэтому проявлял неуважение только к конкретно этому багу. ;-)
Comment 25 Sergey V Turchin 2024-04-06 15:04:17 MSK
(Ответ для Yuri N. Sedunov на комментарий #22)
> Подчищать надо за собой.
Извиняй, но пока приходится только за тобой. Я нашёл, как не обращать внимания на этот баг, поэтому он меня больше не интересует.
Comment 26 Sergey V Turchin 2024-04-07 12:48:57 MSK
> теперь я могу послать к чёртовой
> бабушке sysvinit, этот баг и всё к нему причастное!
Я добавил в Apt::Ignore sysvinit и systemd-utils-standalone, а вы что подумали? ;-)
Comment 27 Yuri N. Sedunov 2024-04-07 13:07:43 MSK
(Ответ для Sergey V Turchin на комментарий #26)
 а вы что
> подумали? ;-)

Мы ничего не думаем, просто наблюдаем, как ты уже не время от времени, а регулярно садишся в очередную лужу, меняешь штаны и прешь дальше. Красивое.
Comment 28 Антон Мидюков 2024-04-07 13:46:08 MSK
(Ответ для Sergey V Turchin на комментарий #21)
> (Ответ для AEN на комментарий #20)
> > Пожалуйста, подробнее.
> Вчерашний лог я не сохранил, т.к. надеяться на исправление не собирался и
> экспериментировал с извращениями(успешно). Там начиналось с at-spi2-core,
> который тащил /usr/bin/busctl, который тащил systemd-utils-standalone,
> который тащил sysvinit, который конфликтовал с systemd.
> 
> Сегодня не получается воспроизвести. Видимо, пакеты в репозитории сложились
> по другому.
> 
> Спасибо Антону за новый mkimage-profiles, в котором можно выкинуть
> install-компонент(содержит sysvinit) и теперь я могу послать к чёртовой
> бабушке sysvinit, этот баг и всё к нему причастное!

sysvinit компонент использовался и используется в дистрибутивах на systemd только в сквоше rescue. В altinst попадает systemd, но он там не используется, так как у инсталлятора свой init - install2-init.
Данный баг не мог вызывать проблем у дистрибутивов на systemd при условии, что в rescue не попадает gtk3. gtk3 в rescue попасть может разве что из-за timeshift.
А вот из-за бага https://bugzilla.altlinux.org/49860 сейчас невозможно собрать сквош rescue, который на sysvinit.
Comment 29 Sergey V Turchin 2024-04-08 12:58:25 MSK
(Ответ для Антон Мидюков на комментарий #28)
> из-за бага https://bugzilla.altlinux.org/49860
Но, это совсем другая история.
Comment 30 Sergey V Turchin 2024-04-08 12:59:32 MSK
(Ответ для Yuri N. Sedunov на комментарий #27)
> регулярно садишся в очередную лужу, меняешь штаны и прешь дальше.
Да. В этом случае я нашёл, как слить твою лужу в канализацию.