Bug 52950 - python3-module-pycairo не имеет зависимости на python3-module-pygobject3
Summary: python3-module-pycairo не имеет зависимости на python3-module-pygobject3
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: python3-module-pycairo (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Yuri N. Sedunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on: 53405
Blocks:
  Show dependency tree
 
Reported: 2025-02-06 06:09 MSK by denis_osipov
Modified: 2025-04-20 16:46 MSK (History)
6 users (show)

See Also:


Attachments
скрин (1.30 MB, image/png)
2025-02-06 06:09 MSK, denis_osipov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description denis_osipov 2025-02-06 06:09:25 MSK
Created attachment 17688 [details]
скрин

Здравствуйте!
alt regular xfce
blueman не отображает список устройств
Подключиться можно только на ощупь (наугад выделить устройство ЛКМ, через ПКМ просмотреть информацию о нем, подключиться)
Подключенные устройства тоже не отображаются (но работают)
Скин приложил
Comment 1 Антон Мидюков 2025-02-06 07:54:46 MSK
А если тему у xfce поменять?
Comment 2 denis_osipov 2025-02-06 08:58:51 MSK
(Ответ для Антон Мидюков на комментарий #1)
> А если тему у xfce поменять?

Менял темы
Сразу из коробки и с родными темами так же
В StarterKit с P11 норм
Comment 3 Антон Мидюков 2025-02-06 09:40:21 MSK
Это оптимизаторы отделили от python3-module-pygobjet3 пакет python3-module-pygobjet3-nox. И теперь эта проблема, подозреваю, у многих пакетов.
Решение: установить пакет python3-module-pygobjet3.
Comment 4 Антон Мидюков 2025-02-06 10:04:17 MSK
(In reply to Антон Мидюков from comment #3)
> Это оптимизаторы отделили от python3-module-pygobjet3 пакет
> python3-module-pygobjet3-nox. И теперь эта проблема, подозреваю, у многих
> пакетов.
> Решение: установить пакет python3-module-pygobjet3.

Зависимость должна быть у пакета python3-module-pycairo, и пострадали все пакеты, которые от него зависят. Пробую ребилд python3-module-pycairo, вдруг зависимость у него появится. Если нет, надо её явно ему добавить.
Comment 5 Антон Мидюков 2025-02-06 10:22:08 MSK
(In reply to Антон Мидюков from comment #4)
> (In reply to Антон Мидюков from comment #3)
> > Это оптимизаторы отделили от python3-module-pygobjet3 пакет
> > python3-module-pygobjet3-nox. И теперь эта проблема, подозреваю, у многих
> > пакетов.
> > Решение: установить пакет python3-module-pygobjet3.
> 
> Зависимость должна быть у пакета python3-module-pycairo, и пострадали все
> пакеты, которые от него зависят. Пробую ребилд python3-module-pycairo, вдруг
> зависимость у него появится. Если нет, надо её явно ему добавить.

Чуда не произошло. Поэтому прошу мантейнера пакета python3-module-pycairo добавить зависимость на пакет python3-module-pygobjet3.
Comment 6 denis_osipov 2025-02-06 10:40:36 MSK
(Ответ для Антон Мидюков на комментарий #5)
> (In reply to Антон Мидюков from comment #4)
> > (In reply to Антон Мидюков from comment #3)
> > > Это оптимизаторы отделили от python3-module-pygobjet3 пакет
> > > python3-module-pygobjet3-nox. И теперь эта проблема, подозреваю, у многих
> > > пакетов.
> > > Решение: установить пакет python3-module-pygobjet3.
> > 
> > Зависимость должна быть у пакета python3-module-pycairo, и пострадали все
> > пакеты, которые от него зависят. Пробую ребилд python3-module-pycairo, вдруг
> > зависимость у него появится. Если нет, надо её явно ему добавить.
> 
> Чуда не произошло. Поэтому прошу мантейнера пакета python3-module-pycairo
> добавить зависимость на пакет python3-module-pygobjet3.

Ок, спасибо
Comment 7 Антон Мидюков 2025-02-07 09:25:28 MSK
(In reply to Антон Мидюков from comment #5)
> (In reply to Антон Мидюков from comment #4)
> > (In reply to Антон Мидюков from comment #3)
> > > Это оптимизаторы отделили от python3-module-pygobjet3 пакет
> > > python3-module-pygobjet3-nox. И теперь эта проблема, подозреваю, у многих
> > > пакетов.
> > > Решение: установить пакет python3-module-pygobjet3.
> > 
> > Зависимость должна быть у пакета python3-module-pycairo, и пострадали все
> > пакеты, которые от него зависят. Пробую ребилд python3-module-pycairo, вдруг
> > зависимость у него появится. Если нет, надо её явно ему добавить.
> 
> Чуда не произошло. Поэтому прошу мантейнера пакета python3-module-pycairo
> добавить зависимость на пакет python3-module-pygobjet3.

@aris, считаете иначе?
В python3-module-pygobjet3:
%python3_sitelibdir/gi/_gi_cairo.cpython-*.so

Так что кажется нормальным, чтобы python3-module-pycairo от него зависел.
Comment 8 Yuri N. Sedunov 2025-02-07 10:08:50 MSK
Никакой физической зависимости у pycairo от PyGobject нет.

Могу только предложить докинуть python3-module-pygobject3 во все сборочные профиля, кроме сервера.
Comment 9 Антон Мидюков 2025-02-08 20:40:28 MSK
(In reply to Yuri N. Sedunov from comment #8)
> Никакой физической зависимости у pycairo от PyGobject нет.
> 
> Могу только предложить докинуть python3-module-pygobject3 во все сборочные
> профиля, кроме сервера.

Придётся прописывать зависимость у порядка 70 пакетов по мере развешивания багов пользователями.
Comment 10 zvn 2025-02-14 14:06:02 MSK
(Ответ для Yuri N. Sedunov на комментарий #8)
> Никакой физической зависимости у pycairo от PyGobject нет.

формально Вы правы, но чтобы работало, м.б. и надо?
прошу прощения за сравнение с другим дистрибутивом:
https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-python/pygobject/pygobject-3.50.0.ebuild

IUSE="+cairo test"
RDEPEND="
....
	cairo? (
		>=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
		x11-libs/cairo[glib]
	)
"
DEPEND="
	${RDEPEND}
...

т.е. +cairo по умолчанию (если умышленно не выключить), но потом DEPEND содержит RDEPEND, т.е. pygobject и pycairo циклически связаны при USE="+cairo" для pygobject
Comment 11 zvn 2025-02-14 14:49:49 MSK
(Ответ для zvn на комментарий #10)
> т.е. +cairo по умолчанию (если умышленно не выключить), но потом DEPEND
> содержит RDEPEND, т.е. pygobject и pycairo циклически связаны при
> USE="+cairo" для pygobject

нет, неправильно, нет такой зависимости, это runtime dependencies, а не reverse
скажу честно: пишу только потому, что напрягают проблемы со связями пакетов.
Comment 12 Roman Alifanov 2025-03-11 15:41:50 MSK
(Ответ для Антон Мидюков на комментарий #9)
> Придётся прописывать зависимость у порядка 70 пакетов по мере развешивания
> багов пользователями.
Как-то не очень это вынглядит :(
Вручную ставить зависимость на pygobject3 какой-то ужас..

в другой баге описал проблему с пакетом system-monitoring-center.
Мне прописывать зависимость вручную или ждать решения?
Comment 13 Антон Мидюков 2025-03-11 15:48:21 MSK
(In reply to Roman Alifanov from comment #12)
> (Ответ для Антон Мидюков на комментарий #9)
> > Придётся прописывать зависимость у порядка 70 пакетов по мере развешивания
> > багов пользователями.
> Как-то не очень это вынглядит :(
> Вручную ставить зависимость на pygobject3 какой-то ужас..
> 
> в другой баге описал проблему с пакетом system-monitoring-center.
> Мне прописывать зависимость вручную или ждать решения?

Прописывать вручную. Не забудьте в спеке указать в комментарии этот баг.
Comment 14 Roman Alifanov 2025-03-11 16:07:58 MSK
(Ответ для Антон Мидюков на комментарий #13)
> Прописывать вручную. Не забудьте в спеке указать в комментарии этот баг.
Ок
Comment 15 Vitaly Lipatov 2025-03-11 17:07:49 MSK
Вообще пакет pygobject выглядит одинаково нелепо и у нас и в Fedora:

rpm -ql python3-module-pygobject3
/usr/lib64/python3/site-packages/gi/_gi_cairo.cpython-312.so

 $ rpm -ql python3-gobject
/usr/lib64/python3.13/site-packages/gi/_gi_cairo.cpython-313-x86_64-linux-gnu.so

Из определения на сайте https://wiki.gnome.org/PyGObject_ru
PyGObject - это внешний модуль, дающий прозрачный и достаточный доступ к платформе программной разработки GNOME через использование GObject Introspection.

таким образом, от пакета pygobject ожидается доступ к gi. Вместо этого почему-то в нём лежит gi для cairo, а весь gi вынесен в подпакет -nox.

Выглядит как то, что нужно вернуть gi в python3-module-pygobject3
А модуль gi_cairo удалить. Если же он нужен каким-то пакетам, то собрать его в 
python3-module-pycairo-gi

Тогда мантейнер python3-module-pycairo сможет добавить зависимость на python3-module-pycairo-gi и все будут счастливы.
Comment 16 zvn 2025-03-12 08:30:35 MSK
Кто-то привык (а где-то без этого не обойтись, иначе потом серьезно вылезет конфликт) делать autoremove (depclean и т.п.), чтобы потом при обновлениях не вылезали массово проблемы, в каких-то случаях пакетные менеждеры от этого избавляют. 

В нескольких дистрибутивах можно посмотреть зависимости через браузер без установки, у множества пакетов прописаны зависимости от pygobject, например:

https://pkgs.alpinelinux.org/package/edge/main/x86_64/py3-gobject3
слева зависимости Required by (213), в т.ч. для пакетов arandr, blueman, virt-manager, meld 
https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/meld/APKBUILD
depends="
	dconf
	gsettings-desktop-schemas
	gtksourceview4
	py3-cairo
	py3-gobject3
	python3
	"

https://archlinux.org/packages/extra/x86_64/python-gobject/
слева Required By (270), среди них есть meld, blueman, arandr и др.

https://packages.gentoo.org/packages/dev-python/pygobject/reverse-dependencies
в списке (колонки DEPEND, RDEPEND)

и в Сизифе так написано для mate-menu:
https://packages.altlinux.org/ru/sisyphus/srpms/mate-menu/specfiles/
Requires: python3-module-pygobject3
а для p11 это _не_ так https://packages.altlinux.org/ru/p11/srpms/mate-menu/specfiles/

для virt-manager и в Сизифе, и в p11 _нормально_ указано Requires: python3-module-pygobject3
https://packages.altlinux.org/ru/sisyphus/srpms/virt-manager/specfiles/ 
https://packages.altlinux.org/ru/p11/srpms/virt-manager/specfiles/

М.б. еще где-то есть такая возможность, у Debian, Fedora и др. бинарных не нашел