Bug 21115 - Один объект по двум путям
Summary: Один объект по двум путям
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: PolicyKit-gnome (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords: distro-blocker
: 21108 (view as bug list)
Depends on:
Blocks: 19564
  Show dependency tree
 
Reported: 2009-08-18 20:20 MSD by Mikhail Efremov
Modified: 2009-08-28 17:06 MSD (History)
14 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Efremov 2009-08-18 20:20:19 MSD
Вешаю на PolicyKit-gnome т.к. баг все-таки изначально в нем.

> > > 2. Не дает сменить системное время через аплет часов,
> > > вываливаясь с ошибкой "Method "ShowDialog" with signature "su" on
> > > interface "org.gnome.PolicyKit.Manager" doesn't exist"  
> Разъехались интерфейс, предоставляемый PolicyKit-gnome, и интерфейс,
> который от него ожидает gnome-panel и конкретно апплет часов...  

Это выстрелил мой патч к PolicyKit-gnome.
Ситуация такая: PolicyKit-gnome пытается регистрировать один объект по
двум путям, "/org/gnome/PolicyKit/Manager" и "/". В dbus-glib 0.82
такое больше не позволяется:
    Also, warn and keep the first object path if the library user registers
    an object at two object paths (previously, this would fail silently, use
    the second object path, and leak memory).
(commit 6de1441865da2816c6bcd8cae842be93a8a96304)

Поэтому в PolicyKit-gnome была выкинута регистрация первого пути,
оставлен только второй, т.к. после обновления libdbus-glib по первому не
работал даже пример в самом PolicyKit-gnome. К тому же в коммите
утверждается, что раньше все равно использовался только второй путь.
На самом деле оно похоже все-таки как-то работало, со старым
libdbus-glib у меня получается использовать оба пути.
Получается, что одна часть софта использует первый путь, другая -
второй. При этом я подозреваю, что первый путь является тяжелым
наследием прошлого, как и сам ShowDialog:
  <!-- this interface is deprecated and will be removed in a future
release --> <interface name="org.gnome.PolicyKit.Manager">
    <method name="ShowDialog">

Надо либо приводить весь софт к одному знаменателю, т.е. использовать
какой-то один путь, либо откатывать libdbus-glib.
Comment 1 Valery Inozemtsev 2009-08-18 21:17:11 MSD
*** Bug 21108 has been marked as a duplicate of this bug. ***
Comment 2 Repository Robot 2009-08-19 00:16:44 MSD
PolicyKit-gnome-0.9.2-alt3 -> sisyphus:

* Tue Aug 18 2009 Valery Inozemtsev <shrek@altlinux> 0.9.2-alt3

- fixed previous change (closes: #21115)
Comment 3 AEN 2009-08-19 09:25:49 MSD
От пользователя:

"Пришли апдейты, но почти ничего не изменилость.
Теперь только диалог изменения времени появляется, но пароль рута не принимает."
Comment 4 Valery Inozemtsev 2009-08-19 09:32:41 MSD
reboot
Comment 5 Arc 2009-08-19 09:56:46 MSD
(В ответ на комментарий №4)
> reboot
Появляется только диалог. Возможности смены времени все еще нет. т.к. пароль рута оно не принимает.
PS Может лучше 21108 переоткрыть?
Comment 6 Mikhail Efremov 2009-08-28 17:05:13 MSD
> Появляется только диалог. Возможности смены времени все еще нет. т.к. пароль
> рута оно не принимает.

Вводите аккуратнее пароль, не воспроизводится. Конкретно это баг точно FIXED.
Comment 7 Mikhail Efremov 2009-08-28 17:06:15 MSD
Закрываю.