Bug 21115

Summary: Один объект по двум путям
Product: Sisyphus Reporter: Mikhail Efremov <sem>
Component: PolicyKit-gnomeAssignee: Alexey Shabalin <shaba>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: aen, aris, at, blake, damir, evyscr, ktirf, lav, msp, oddity, shaba, shrek, syatskevich, vinogradov.mail
Version: unstableKeywords: distro-blocker
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 19564    

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
Закрываю.