Bug 53179 - Не отображаются сервисы, для которых можно добавить учетные записи
Summary: Не отображаются сервисы, для которых можно добавить учетные записи
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: kaccounts-providers (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Sergey V Turchin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-20 19:12 MSK by Olga
Modified: 2025-12-02 18:20 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Olga 2025-02-20 19:12:51 MSK
Версия программы:
=================
kaccounts-providers-24.12.2-alt1

Стенд с ошибкой, обновлен. до Sisyphus:
========================================
Alt Education-kde 11

Шаги, приводящие к ошибке:
==========================
1. Установить пакет:
   # apt-get install kaccounts-providers
2. Параметры системы KDE -> Учетные записи в Интернете -> Добавить учетные записи 

Ожидаемый результат:
====================
Есть возможность добавить учетную запись для следующих сервисов: OpenDesktop, ownCloud, Nextcloud, Google

Фактический результат:
======================
Не отображается ни один сервис, для которого можно добавить учетную запись
Comment 1 Sergey V Turchin 2025-02-21 16:56:24 MSK
Попробуйте пакет kaccounts-providers .
Comment 2 Куницкий Дмитрий 2025-07-17 10:18:43 MSK
Ошибка воспроизводится в версии пакета kaccounts-providers-24.12.3-alt1
Comment 3 Artem Baleevskih 2025-12-01 14:05:06 MSK
@ Воспроизвёл проблему на kaccounts-providers-25.08.3-alt1.
Провёл детальную диагностику и нашёл точную причину.

КОРНЕВАЯ ПРИЧИНА
================
Пакет kaccounts-providers устанавливает файлы провайдеров в:
  /usr/share/accounts/providers/kde/
  /usr/share/accounts/services/kde/

Но libaccounts-qt6 (зависимость kaccounts-integration) ищет их в:
  /usr/share/accounts/providers/
  /usr/share/accounts/services/

Доказательство (strace):
  $ strace -e openat systemsettings kcm_kaccounts 2>&1 | grep "accounts/providers"
  openat("/usr/share/accounts/providers/kde:kde-wayland") = -1 ENOENT
  openat("/usr/share/accounts/providers") = 61  # открыт, но пуст

ВРЕМЕННОЕ РЕШЕНИЕ
=================
Создать симлинки:
  # ln -sf /usr/share/accounts/providers/kde/*.provider /usr/share/accounts/providers/
  # ln -sf /usr/share/accounts/services/kde/*.service /usr/share/accounts/services/

После этого провайдеры отображаются корректно.

ИСПРАВЛЕНИЕ В SPEC-ФАЙЛЕ
========================
В kaccounts-providers.spec строки 66-67:

Было:
  %_datadir/accounts/providers/kde/
  %_datadir/accounts/services/kde/

Должно быть:
  %_datadir/accounts/providers/
  %_datadir/accounts/services/

СИСТЕМНАЯ ИНФОРМАЦИЯ
=====================
Операционная система: ALT Linux 20250612
Версия KDE Plasma: 6.5.3
Версия KDE Frameworks: 6.20.0
Версия Qt: 6.9.3

Затронутые пакеты:
- kaccounts-providers-25.08.3-alt1
- kaccounts-integration-common-25.08.3-alt1
- libaccounts-qt6_1-1.17-alt1
- signon-8.61-alt1

Все зависимости установлены корректно, signond работает.

СРАВНЕНИЕ С ДРУГИМИ ДИСТРИБУТИВАМИ
===================================
На Manjaro Linux файлы установлены правильно:
  /usr/share/accounts/providers/ (без подкаталога kde/)

ЖУРНАЛЫ
=======
Могу приложить полный лог systemsettings с QT_LOGGING_RULES="*=true"
и strace, если необходимо.
Comment 4 Sergey V Turchin 2025-12-01 14:11:11 MSK
(Ответ для CatSema на комментарий #3)
>   openat("/usr/share/accounts/providers/kde:kde-wayland") = -1 ENOENT
Кривая обработка $XDG_CURRENT_DESKTOP .

Спасибо!
Comment 5 Sergey V Turchin 2025-12-01 14:19:37 MSK
(Ответ для Sergey V Turchin на комментарий #4)
> >   openat("/usr/share/accounts/providers/kde:kde-wayland") = -1 ENOENT
> Кривая обработка $XDG_CURRENT_DESKTOP .
Только, надо ещё найти, кто где её читает. Сходу не вышло.
Comment 6 Sergey V Turchin 2025-12-02 11:21:44 MSK
(Ответ для Sergey V Turchin на комментарий #5)
> надо ещё найти, кто где её читает. Сходу не вышло.
Пока нашёл кучу других мест с этим косяком. :-)
Comment 7 Artem Baleevskih 2025-12-02 13:52:12 MSK
(Ответ для Sergey V Turchin на комментарий #5)
> (Ответ для Sergey V Turchin на комментарий #4)
> > >   openat("/usr/share/accounts/providers/kde:kde-wayland") = -1 ENOENT
> > Кривая обработка $XDG_CURRENT_DESKTOP .
> Только, надо ещё найти, кто где её читает. Сходу не вышло.

Насколько понимаю (это лишь предположения), в данном случае виновник: libaccounts-glib-1.27-alt1

Проблемные файлы:
- libaccounts-glib/ag-manager.c:399-401
- libaccounts-glib/ag-util.c:602-604

КОД С ОБРАБОТКОЙ:
==============
env_dirname = g_getenv("XDG_CURRENT_DESKTOP");  // "KDE:KDE-Wayland"
if (env_dirname)
    desktop_override = g_ascii_strdown(env_dirname, -1);  // "kde:kde-wayland"

Результат: путь формируется как:
  /usr/share/accounts/providers/kde:kde-wayland/
Comment 8 Artem Baleevskih 2025-12-02 13:54:07 MSK
(Ответ для Sergey V Turchin на комментарий #6)
> (Ответ для Sergey V Turchin на комментарий #5)
> > надо ещё найти, кто где её читает. Сходу не вышло.
> Пока нашёл кучу других мест с этим косяком. :-)

Нас жду масштабные фиксы? :D
Comment 9 Sergey V Turchin 2025-12-02 15:01:47 MSK
(Ответ для Artem Baleevskih на комментарий #8)
> Нас жду масштабные фиксы? :D
Да. 2-й день патчу всё подряд.
Comment 10 Sergey V Turchin 2025-12-02 15:02:50 MSK
(Ответ для Artem Baleevskih на комментарий #7)
> Насколько понимаю (это лишь предположения), в данном случае виновник:
> libaccounts-glib-1.27-alt1
> 
> Проблемные файлы:
> - libaccounts-glib/ag-manager.c:399-401
> - libaccounts-glib/ag-util.c:602-604
> 
> КОД С ОБРАБОТКОЙ:
> ==============
> env_dirname = g_getenv("XDG_CURRENT_DESKTOP");  // "KDE:KDE-Wayland"
По любому он, т.к. свои пакеты уже почти все прошерстил.
Comment 11 Repository Robot 2025-12-02 18:20:07 MSK
libaccounts-glib-1.27-alt2 -> sisyphus:

Tue Dec 02 2025 Sergey V Turchin <zerg@altlinux> 1.27-alt2
- fix parse $XDG_CURRENT_DESKTOP (closes: 53179)
- clean build requires