[PATCH] Revert 5ce97e6f22fd25279793fbc75211d2e86413ae73 from ConsoleKit

Michael Biebl mbiebl at gmail.com
Wed Jan 30 20:17:43 PST 2008

2008/1/31, William Jon McCann <mccann at jhu.edu>:
> 2008/1/30 S.Çağlar Onur <caglar at pardus.org.tr>:
> > Hi;
> >
> > 31 Oca 2008 Per tarihinde, Danny Kukawka şunları yazmıştı:
> > > On Montag, 28. Januar 2008, S.Çağlar Onur wrote:
> > > > Hi;
> > > >
> > > > Following patch reverts 5ce97e6f22fd25279793fbc75211d2e86413ae73 (initial
> > > > stop/restart support) from ConsoleKit for [1]. I hope, you will apply or
> > > > will share your comments with us
> > >
> > > Unfortunatly since 0.2.7 is out: It doesn't look like this will (ever?)
> > > happen.
> >
> > Seems so, and i'm really having a hard time to understand William's silence :(.
> Because I'm busy and I don't like repeating myself.
> This is the last time I'm going to say this.  There is no circular
> dependency.  libpolkit does not depend on ConsoleKit.  If you package
> PolicyKit in a way that makes it depend on ConsoleKit then you should
> fix your package.
> Seriously, you are all blowing this way out of proportion.  Frankly,
> we have bigger fish to fry.

Hi William,

here is what happens when you install libpolkit only:

console-kit-daemon --debug --verbose
console-kit-daemon[14886]: DEBUG: Debugging enabled
console-kit-daemon[14886]: DEBUG: initializing console-kit-daemon 0.2.7
console-kit-daemon[14886]: CRITICAL: cannot initialize libpolkit
console-kit-daemon[14886]: GLib-CRITICAL: g_async_queue_unref:
assertion `queue->waiting_threads == 0' failed

I.e. the ConsoleKit package will require the complete PolicyKit
package to be installed in order to function properly.

Otoh, a package using PolicyKit (like gnome-system-tools) will fail to
function if the complete ConsoleKit package is not installed and
console-kit-daemon is not running:

[WARN 15877] polkit-session.c:285:polkit_session_get_ck_objref():
session != NULL
 Not built with -rdynamic so unable to print a backtrace
[WARN 15877] polkit-session.c:321:polkit_session_get_ck_is_local():
session != NULL
 Not built with -rdynamic so unable to print a backtrace
[WARN 15877] polkit-session.c:303:polkit_session_get_ck_is_active():
session != NULL
 Not built with -rdynamic so unable to print a backtrace

I hope you see the problem (the circular dependency) now. But I won't
beat this dead horse any longer and instead try to be constructive.

What do you think about moving the system stop/restart functionality
into a separate D-Bus system service, which claims
org.freedesktop.System and provides the Stop()/Restart() methods. This
daemon could use PolicyKit without any side-effects and would be
auto-started on-demand using D-Bus system activation.

This would be the cleanest approach imho. What's your take on this?
Would you accept a patch for this?



Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

More information about the hal mailing list