about summary refs log tree commit diff
path: root/pkgs/development/libraries/consolekit
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/consolekit')
-rw-r--r--pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch28
-rw-r--r--pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch62
-rw-r--r--pkgs/development/libraries/consolekit/default.nix8
3 files changed, 95 insertions, 3 deletions
diff --git a/pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch b/pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch
new file mode 100644
index 0000000000000..30f3ab4907b06
--- /dev/null
+++ b/pkgs/development/libraries/consolekit/0001-Don-t-daemonize-when-activated.patch
@@ -0,0 +1,28 @@
+Upstream patch
+
+From fc2870a65f6b3ed3b71bcac69c5faf3a9c759c64 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Mon, 21 Dec 2009 11:13:23 -0500
+Subject: [PATCH 1/2] Don't daemonize when activated
+
+It confuses some versions of D-Bus and isn't needed
+(or wanted it).
+
+http://bugs.freedesktop.org/show_bug.cgi?id=25642
+---
+ data/org.freedesktop.ConsoleKit.service.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/data/org.freedesktop.ConsoleKit.service.in b/data/org.freedesktop.ConsoleKit.service.in
+index ec2128c..d716a36 100644
+--- a/data/org.freedesktop.ConsoleKit.service.in
++++ b/data/org.freedesktop.ConsoleKit.service.in
+@@ -1,4 +1,4 @@
+ [D-BUS Service]
+ Name=org.freedesktop.ConsoleKit
+-Exec=@sbindir@/console-kit-daemon
++Exec=@sbindir@/console-kit-daemon --no-daemon
+ User=root
+-- 
+1.7.1
+
diff --git a/pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch b/pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch
new file mode 100644
index 0000000000000..2af59ac8d1e58
--- /dev/null
+++ b/pkgs/development/libraries/consolekit/0002-Don-t-take-bus-name-until-ready.patch
@@ -0,0 +1,62 @@
+Upstream patch
+
+From 2418840248f07025ad0edc96ed17e03ce5e47f3e Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Mon, 21 Dec 2009 11:14:54 -0500
+Subject: [PATCH 2/2] Don't take bus name until ready
+
+Previously, we would take a bus name right away, but
+not register the manager object until later.  This
+causes a race when being activated by a method call
+on the manager object, where ConsoleKit gets started
+but the method call fails.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=25744
+---
+ src/main.c |   16 ++++++++--------
+ 1 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/main.c b/src/main.c
+index 809c6d6..b8f698f 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -294,11 +294,19 @@ main (int    argc,
+ 
+         setup_debug_log (debug);
+ 
++        g_debug ("initializing console-kit-daemon %s", VERSION);
++
+         connection = get_system_bus ();
+         if (connection == NULL) {
+                 goto out;
+         }
+ 
++        manager = ck_manager_new ();
++
++        if (manager == NULL) {
++                goto out;
++        }
++
+         bus_proxy = get_bus_proxy (connection);
+         if (bus_proxy == NULL) {
+                 g_warning ("Could not construct bus_proxy object; bailing out");
+@@ -310,16 +318,8 @@ main (int    argc,
+                 goto out;
+         }
+ 
+-        g_debug ("initializing console-kit-daemon %s", VERSION);
+-
+         create_pid_file ();
+ 
+-        manager = ck_manager_new ();
+-
+-        if (manager == NULL) {
+-                goto out;
+-        }
+-
+         loop = g_main_loop_new (NULL, FALSE);
+ 
+         g_signal_connect (bus_proxy,
+-- 
+1.7.1
+
diff --git a/pkgs/development/libraries/consolekit/default.nix b/pkgs/development/libraries/consolekit/default.nix
index 87f40d6e10b6f..5cebc5874bd7d 100644
--- a/pkgs/development/libraries/consolekit/default.nix
+++ b/pkgs/development/libraries/consolekit/default.nix
@@ -2,14 +2,16 @@
   libX11, polkit, expat }:
 
 stdenv.mkDerivation rec {
-  name = "ConsoleKit-0.4.4";
+  name = "consolekit-0.4.1";
   
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/ConsoleKit/dist/${name}.tar.bz2";
-    sha256 = "1bhnjwn7gakwfhqxrmwqwyjq46a11nn463qz0wlddrvgzdlhkh7h";
+    url = http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2;
+    sha256 = "0gj0airrgyi14a06w3d4407g62bs5a1cam2h64s50x3d2k3ascph";
   };
   
   buildInputs = [ pkgconfig dbus_glib zlib pam glib libX11 polkit expat ];
+  patches = [ ./0001-Don-t-daemonize-when-activated.patch
+    ./0002-Don-t-take-bus-name-until-ready.patch ];
 
   # For console-kit to get the rpath to libgcc_s, needed for pthread_cancel to work
   NIX_LDFLAGS = "-lgcc_s";