[Pkg-utopia-commits] r2958 - in /packages/unstable/consolekit/debian: ./ patches/
biebl at users.alioth.debian.org
biebl at users.alioth.debian.org
Tue Mar 10 10:55:16 UTC 2009
Author: biebl
Date: Tue Mar 10 10:55:16 2009
New Revision: 2958
URL: http://svn.debian.org/wsvn/pkg-utopia/?sc=1&rev=2958
Log:
* Merge patches from Ubuntu
- debian/patches/04-consolekit_park.patch (Closes: #489032)
- debian/patches/05-pam-add-nox11.patch
- debian/patches/08-fix-double-close.patch
- debian/patches/09-directory-handle-leak.patch (Closes: #516532)
- debian/patches/10-file_monitor_remove_watch_crash.patch
- debian/patches/11-unref-dbus-proxy.patch
- debian/patches/12-allow-get-sessions.patch
Added:
packages/unstable/consolekit/debian/patches/04-consolekit_park.patch
packages/unstable/consolekit/debian/patches/05-pam-add-nox11.patch
packages/unstable/consolekit/debian/patches/08-fix-double-close.patch
packages/unstable/consolekit/debian/patches/09-directory-handle-leak.patch
packages/unstable/consolekit/debian/patches/10-file_monitor_remove_watch_crash.patch
packages/unstable/consolekit/debian/patches/11-unref-dbus-proxy.patch
packages/unstable/consolekit/debian/patches/12-allow-get-sessions.patch
Modified:
packages/unstable/consolekit/debian/changelog
packages/unstable/consolekit/debian/patches/series
Modified: packages/unstable/consolekit/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/consolekit/debian/changelog?rev=2958&op=diff
==============================================================================
--- packages/unstable/consolekit/debian/changelog (original)
+++ packages/unstable/consolekit/debian/changelog Tue Mar 10 10:55:16 2009
@@ -13,6 +13,14 @@
A proper fix will be, to make ConsoleKit.xml actually valid XML.
* debian/consolekit.docs
- Update path to spec html file.
+ * Merge patches from Ubuntu
+ - debian/patches/04-consolekit_park.patch (Closes: #489032)
+ - debian/patches/05-pam-add-nox11.patch
+ - debian/patches/08-fix-double-close.patch
+ - debian/patches/09-directory-handle-leak.patch (Closes: #516532)
+ - debian/patches/10-file_monitor_remove_watch_crash.patch
+ - debian/patches/11-unref-dbus-proxy.patch
+ - debian/patches/12-allow-get-sessions.patch
-- Michael Biebl <biebl at debian.org> Tue, 03 Mar 2009 01:37:02 +0100
Added: packages/unstable/consolekit/debian/patches/04-consolekit_park.patch
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/consolekit/debian/patches/04-consolekit_park.patch?rev=2958&op=file
==============================================================================
--- packages/unstable/consolekit/debian/patches/04-consolekit_park.patch (added)
+++ packages/unstable/consolekit/debian/patches/04-consolekit_park.patch Tue Mar 10 10:55:16 2009
@@ -1,0 +1,192 @@
+#
+# Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=11786
+#
+Index: consolekit-0.3/src/ck-manager.c
+===================================================================
+--- consolekit-0.3.orig/src/ck-manager.c 2008-09-23 20:56:46.000000000 +0200
++++ consolekit-0.3/src/ck-manager.c 2008-09-23 21:23:47.000000000 +0200
+@@ -30,6 +30,13 @@
+ #include <sys/types.h>
+ #include <errno.h>
+ #include <pwd.h>
++ #ifdef HAVE_PATHS_H
++ #include <paths.h>
++ #endif /* HAVE_PATHS_H */
++
++ #ifndef _PATH_TTY
++ #define _PATH_TTY "/dev/tty"
++ #endif
+
+ #include <glib.h>
+ #include <glib/gi18n.h>
+@@ -2370,6 +2377,41 @@
+ CkManager *manager;
+ } RemoveLeaderData;
+
++gboolean
++ck_manager_set_x11_parking_place (CkManager *manager,
++ const char *x11display,
++ const char *x11displaydevice,
++ DBusGMethodInvocation *context)
++{
++ CkSeat *seat;
++ guint num;
++ gboolean res = FALSE;
++
++ g_debug ("x11display=%s device=%s", x11display, x11displaydevice);
++
++ seat = g_hash_table_lookup (manager->priv->seats,
++ CK_DBUS_PATH "/Seat1");
++ /* FIXME: this is rather unpleasantly hardcoded, but it
++ * mirrors the code in find_seat_for_session - iwj */
++ if (seat == NULL) {
++ g_debug ("no seat");
++ goto xit;
++ }
++
++ if (sscanf (x11displaydevice, _PATH_TTY "%u", &num) != 1) {
++ g_debug ("bad device");
++ goto xit;
++ }
++
++ ck_seat_set_park_vt (seat, num);
++ res = TRUE;
++
++xit:
++ dbus_g_method_return (context, res);
++
++ return TRUE;
++}
++
+ static gboolean
+ remove_leader_for_connection (const char *cookie,
+ CkSessionLeader *leader,
+Index: consolekit-0.3/src/ck-manager.h
+===================================================================
+--- consolekit-0.3.orig/src/ck-manager.h 2008-09-23 20:56:46.000000000 +0200
++++ consolekit-0.3/src/ck-manager.h 2008-09-23 21:23:47.000000000 +0200
+@@ -94,6 +94,10 @@
+ gboolean ck_manager_close_session (CkManager *manager,
+ const char *cookie,
+ DBusGMethodInvocation *context);
++gboolean ck_manager_set_x11_parking_place (CkManager *manager,
++ const char *x11display,
++ const char *x11displaydevice,
++ DBusGMethodInvocation *context);
+ gboolean ck_manager_get_current_session (CkManager *manager,
+ DBusGMethodInvocation *context);
+ gboolean ck_manager_get_session_for_cookie (CkManager *manager,
+Index: consolekit-0.3/src/ck-seat.c
+===================================================================
+--- consolekit-0.3.orig/src/ck-seat.c 2008-09-23 20:56:46.000000000 +0200
++++ consolekit-0.3/src/ck-seat.c 2008-09-23 21:23:47.000000000 +0200
+@@ -61,6 +61,8 @@
+ CkSession *active_session;
+
+ CkVtMonitor *vt_monitor;
++ guint vt_park_num;
++ gboolean vt_park_enable;
+
+ DBusGConnection *connection;
+ };
+@@ -498,9 +500,17 @@
+ g_object_ref (session);
+ ck_session_get_id (session, &ssid, NULL);
+ ck_session_set_active (session, TRUE, NULL);
++ g_debug ("Active session changed: %s", ssid);
++ } else if (seat->priv->vt_park_enable) {
++ ck_seat_park (seat);
++ g_debug ("Active session: none - parking");
++ } else {
++ g_debug ("Active session: none and no parking");
+ }
+
+- g_debug ("Active session changed: %s", ssid ? ssid : "(null)");
++ /* We park only once: enable is set when a session exits
++ * and cleared here when we choose a new session. */
++ seat->priv->vt_park_enable = FALSE;
+
+ g_signal_emit (seat, signals [ACTIVE_SESSION_CHANGED], 0, ssid);
+
+@@ -549,6 +559,33 @@
+ return TRUE;
+ }
+
++void
++ck_seat_park (CkSeat *seat)
++{
++ GError *vt_error;
++ guint num;
++ gboolean ret;
++
++ num = seat->priv->vt_park_num;
++ g_debug ("Parking on VT %u", num);
++ if (num < 0) return;
++
++ vt_error = NULL;
++ ret = ck_vt_monitor_set_active (seat->priv->vt_monitor, num, &vt_error);
++ if (! ret) {
++ g_debug ("Unable to park: %s", vt_error->message);
++ g_error_free (vt_error);
++ }
++}
++
++void
++ck_seat_set_park_vt (CkSeat *seat, guint num)
++{
++ g_debug ("Parking place is VT %u", num);
++
++ seat->priv->vt_park_num = num;
++}
++
+ gboolean
+ ck_seat_remove_session (CkSeat *seat,
+ CkSession *session,
+@@ -592,6 +629,7 @@
+ g_signal_emit (seat, signals [SESSION_REMOVED], 0, ssid);
+
+ /* try to change the active session */
++ seat->priv->vt_park_enable = TRUE;
+ maybe_update_active_session (seat);
+
+ if (orig_session != NULL) {
+@@ -988,6 +1026,8 @@
+ g_str_equal,
+ g_free,
+ (GDestroyNotify) g_object_unref);
++ seat->priv->vt_park_num = -1;
++ seat->priv->vt_park_enable = FALSE;
+ seat->priv->devices = g_ptr_array_new ();
+ }
+
+Index: consolekit-0.3/src/ck-seat.h
+===================================================================
+--- consolekit-0.3.orig/src/ck-seat.h 2008-09-23 20:56:46.000000000 +0200
++++ consolekit-0.3/src/ck-seat.h 2008-09-23 21:23:47.000000000 +0200
+@@ -133,6 +133,9 @@
+ gboolean ck_seat_activate_session (CkSeat *seat,
+ const char *ssid,
+ DBusGMethodInvocation *context);
++void ck_seat_park (CkSeat *seat);
++void ck_seat_set_park_vt (CkSeat *seat,
++ guint num);
+
+ G_END_DECLS
+
+Index: consolekit-0.3/src/org.freedesktop.ConsoleKit.Manager.xml
+===================================================================
+--- consolekit-0.3.orig/src/org.freedesktop.ConsoleKit.Manager.xml 2008-09-23 21:23:55.000000000 +0200
++++ consolekit-0.3/src/org.freedesktop.ConsoleKit.Manager.xml 2008-09-23 21:24:01.000000000 +0200
+@@ -133,6 +133,12 @@
+ </doc:doc>
+ </method>
+
++ <method name="SetX11ParkingPlace">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
++ <arg name="x11display" direction="in" type="s"/>
++ <arg name="x11displaydevice" direction="in" type="s"/>
++ </method>
++
+ <method name="GetSeats">
+ <arg name="seats" direction="out" type="ao">
+ <doc:doc>
Added: packages/unstable/consolekit/debian/patches/05-pam-add-nox11.patch
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/consolekit/debian/patches/05-pam-add-nox11.patch?rev=2958&op=file
==============================================================================
--- packages/unstable/consolekit/debian/patches/05-pam-add-nox11.patch (added)
+++ packages/unstable/consolekit/debian/patches/05-pam-add-nox11.patch Tue Mar 10 10:55:16 2009
@@ -1,0 +1,54 @@
+# Description: Add "nox11" option to the PAM module, which ignores PAM
+# sessions where PAM_TTY is an X11 display. This allows adding
+# pam_ck_connector to PAM's "common-session" without interfering
+# with the already existing ConsoleKit operations in gdm, the
+# Xsession script, etc.
+# Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=16746
+
+Index: consolekit-0.2.10/pam-ck-connector/pam-ck-connector.c
+===================================================================
+--- consolekit-0.2.10.orig/pam-ck-connector/pam-ck-connector.c 2008-08-04 18:23:37.000000000 +0200
++++ consolekit-0.2.10/pam-ck-connector/pam-ck-connector.c 2008-08-04 18:23:49.000000000 +0200
+@@ -63,6 +63,7 @@
+ #include "ck-connector.h"
+
+ static int opt_debug = FALSE;
++static int opt_nox11 = FALSE;
+
+ #ifndef HAVE_PAM_SYSLOG
+
+@@ -145,6 +146,8 @@
+ for (i = 0; i < argc && argv[i] != NULL; i++) {
+ if (strcmp (argv[i] , "debug") == 0) {
+ opt_debug = TRUE;
++ } else if (strcmp (argv[i] , "nox11") == 0) {
++ opt_nox11 = TRUE;
+ } else {
+ ck_pam_syslog (pamh, LOG_ERR, "unknown option: %s", argv[i]);
+ }
+@@ -276,6 +279,10 @@
+ x11_display = NULL;
+ /* interpret any tty with a colon as a DISPLAY */
+ if (strchr (display_device, ':') != NULL) {
++ if (opt_nox11) {
++ ck_pam_syslog (pamh, LOG_WARNING, "nox11 mode, ignoring PAM_TTY %s", display_device);
++ goto out;
++ }
+ x11_display = display_device;
+ display_device = "";
+ } else if (strncmp (_PATH_DEV, display_device, 5) != 0) {
+Index: consolekit-0.2.10/pam-ck-connector/pam_ck_connector.8
+===================================================================
+--- consolekit-0.2.10.orig/pam-ck-connector/pam_ck_connector.8 2008-08-04 18:23:44.000000000 +0200
++++ consolekit-0.2.10/pam-ck-connector/pam_ck_connector.8 2008-08-04 18:23:49.000000000 +0200
+@@ -66,6 +66,10 @@
+ .TP 3n
+ \fBdebug\fR
+ Print debug information.
++.TP 3n
++\fBnox11\fR
++Do not create a session if PAM specifies an X11 display instead of a
++/dev/tty terminal.
+ .fi
+ .RE
+ .sp
Added: packages/unstable/consolekit/debian/patches/08-fix-double-close.patch
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/consolekit/debian/patches/08-fix-double-close.patch?rev=2958&op=file
==============================================================================
--- packages/unstable/consolekit/debian/patches/08-fix-double-close.patch (added)
+++ packages/unstable/consolekit/debian/patches/08-fix-double-close.patch Tue Mar 10 10:55:16 2009
@@ -1,0 +1,31 @@
+# Description: Fix double close of the log file (->file is an fdopen(->priv), which occasionally causes segfaults.
+# Ubuntu: https://bugs.launchpad.net/bugs/263245
+# Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=17866
+# Upstream: http://gitweb.freedesktop.org/?p=ConsoleKit.git;a=commitdiff;h=a58a4bff451dcf8a6019aed1b2fb276e9836b0f4
+--- a/src/ck-event-logger.c
++++ b/src/ck-event-logger.c
+@@ -180,8 +180,10 @@ retry:
+ static void
+ reopen_file_stream (CkEventLogger *event_logger)
+ {
+- close (event_logger->priv->fd);
+- fclose (event_logger->priv->file);
++ /* fclose will also close the underlying fd */
++ if (event_logger->priv->file != NULL) {
++ fclose (event_logger->priv->file);
++ }
+
+ /* FIXME: retries */
+ open_log_file (event_logger);
+@@ -420,8 +422,8 @@ ck_event_logger_finalize (GObject *objec
+ g_async_queue_unref (event_logger->priv->event_queue);
+ }
+
+- if (event_logger->priv->fd != -1) {
+- close (event_logger->priv->fd);
++ if (event_logger->priv->file != NULL) {
++ fclose (event_logger->priv->file);
+ }
+
+ g_free (event_logger->priv->log_filename);
+
Added: packages/unstable/consolekit/debian/patches/09-directory-handle-leak.patch
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/consolekit/debian/patches/09-directory-handle-leak.patch?rev=2958&op=file
==============================================================================
--- packages/unstable/consolekit/debian/patches/09-directory-handle-leak.patch (added)
+++ packages/unstable/consolekit/debian/patches/09-directory-handle-leak.patch Tue Mar 10 10:55:16 2009
@@ -1,0 +1,15 @@
+# Description: Close the directory handle when we're done with it, so that we aren't leaking file descriptors.
+# Ubuntu: https://launchpad.net/bugs/276918
+# Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=17893
+Index: consolekit-0.2.10/src/ck-run-programs.c
+===================================================================
+--- consolekit-0.2.10.orig/src/ck-run-programs.c
++++ consolekit-0.2.10/src/ck-run-programs.c
+@@ -225,6 +225,7 @@
+ out_loop:
+ g_free (child_argv[0]);
+ }
++ g_dir_close (dir);
+ out:
+ g_strfreev (env_for_child);
+ }
Added: packages/unstable/consolekit/debian/patches/10-file_monitor_remove_watch_crash.patch
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/consolekit/debian/patches/10-file_monitor_remove_watch_crash.patch?rev=2958&op=file
==============================================================================
--- packages/unstable/consolekit/debian/patches/10-file_monitor_remove_watch_crash.patch (added)
+++ packages/unstable/consolekit/debian/patches/10-file_monitor_remove_watch_crash.patch Tue Mar 10 10:55:16 2009
@@ -1,0 +1,249 @@
+# Description: Fix common crash when trying to remove a NULL watch
+# Ubuntu: https://launchpad.net/bugs/269651
+# Upstream: http://bugs.freedesktop.org/show_bug.cgi?id=18046
+Index: consolekit-0.2.10/src/ck-file-monitor-inotify.c
+===================================================================
+--- consolekit-0.2.10.orig/src/ck-file-monitor-inotify.c 2008-10-20 14:41:37.000000000 +0100
++++ consolekit-0.2.10/src/ck-file-monitor-inotify.c 2008-10-20 14:56:02.000000000 +0100
+@@ -55,7 +55,7 @@
+
+ typedef struct
+ {
+- FileInotifyWatch *watch;
++ gint wd;
+ CkFileMonitorEvent event;
+ char *path;
+ } FileMonitorEventInfo;
+@@ -80,7 +80,9 @@
+ guchar *buffer;
+
+ guint events_idle_id;
++ guint remove_idle_id;
+ GQueue *notify_events;
++ GQueue *remove_events;
+ };
+
+ enum {
+@@ -242,6 +244,10 @@
+ file_monitor_remove_watch (CkFileMonitor *monitor,
+ FileInotifyWatch *watch)
+ {
++ if (watch->wd == -1) {
++ return;
++ }
++
+ g_hash_table_remove (monitor->priv->path_to_watch,
+ watch->path);
+ g_hash_table_remove (monitor->priv->wd_to_watch,
+@@ -296,6 +302,7 @@
+ emit_events_in_idle (CkFileMonitor *monitor)
+ {
+ FileMonitorEventInfo *event_info;
++ gchar *path, *freeme;
+
+ monitor->priv->events_idle_id = 0;
+
+@@ -303,29 +310,39 @@
+ GSList *l;
+ FileInotifyWatch *watch;
+
+- watch = event_info->watch;
+-
+- for (l = watch->notifies; l != NULL; l = l->next) {
+- FileMonitorNotify *notify;
++ watch = g_hash_table_lookup (monitor->priv->wd_to_watch,
++ GINT_TO_POINTER (event_info->wd));
+
+- notify = g_hash_table_lookup (monitor->priv->notifies,
+- GUINT_TO_POINTER (l->data));
+- if (notify == NULL) {
+- continue;
+- }
+-
+- if (! (notify->mask & event_info->event)) {
+- continue;
+- }
+-
+- if (notify->notify_func) {
+- notify->notify_func (monitor, event_info->event, event_info->path, notify->user_data);
+- }
++ if (watch) {
++ for (l = watch->notifies; l != NULL; l = l->next) {
++ FileMonitorNotify *notify;
++
++ notify = g_hash_table_lookup (monitor->priv->notifies,
++ GUINT_TO_POINTER (l->data));
++ if (notify == NULL) {
++ continue;
++ }
++
++ if (! (notify->mask & event_info->event)) {
++ continue;
++ }
++
++ if (notify->notify_func) {
++ freeme = NULL;
++ if (event_info->path) {
++ path = freeme = g_build_filename (watch->path, event_info->path, NULL);
++ } else {
++ path = watch->path;
++ }
++ notify->notify_func (monitor, event_info->event, path, notify->user_data);
++ if (freeme) {
++ g_free (freeme);
++ }
++ }
++ }
+ }
+
+- g_free (event_info->path);
+ event_info->path = NULL;
+-
+ event_info->event = CK_FILE_MONITOR_EVENT_NONE;
+
+ g_free (event_info);
+@@ -334,6 +351,37 @@
+ return FALSE;
+ }
+
++static gboolean
++emit_removals_in_idle (CkFileMonitor *monitor)
++{
++ gint wd;
++ FileInotifyWatch *watch;
++ GSList *l;
++
++ monitor->priv->remove_idle_id = 0;
++
++ while ((wd = g_queue_pop_head (monitor->priv->remove_events)) != NULL) {
++ watch = g_hash_table_lookup (monitor->priv->wd_to_watch,
++ GINT_TO_POINTER (wd));
++ if (watch && watch->wd != -1) {
++ for (l = watch->notifies; l != NULL; l = l->next) {
++ FileMonitorNotify *notify;
++
++ notify = g_hash_table_lookup (monitor->priv->notifies,
++ GUINT_TO_POINTER (l->data));
++ if (notify == NULL) {
++ continue;
++ }
++ notify->watch = NULL;
++ }
++ file_monitor_remove_watch (monitor, watch);
++ g_free (watch);
++ }
++ }
++
++ return FALSE;
++}
++
+ static void
+ file_monitor_queue_event (CkFileMonitor *monitor,
+ FileMonitorEventInfo *event_info)
+@@ -347,7 +395,7 @@
+
+ static void
+ queue_watch_event (CkFileMonitor *monitor,
+- FileInotifyWatch *watch,
++ gint wd,
+ CkFileMonitorEvent event,
+ const char *path)
+ {
+@@ -355,7 +403,7 @@
+
+ event_info = g_new0 (FileMonitorEventInfo, 1);
+
+- event_info->watch = watch;
++ event_info->wd = wd;
+ event_info->path = g_strdup (path);
+ event_info->event = event;
+
+@@ -363,8 +411,18 @@
+ }
+
+ static void
++queue_remove_event (CkFileMonitor *monitor,
++ gint wd)
++{
++ g_queue_push_tail (monitor->priv->remove_events, wd);
++
++ if (monitor->priv->remove_idle_id == 0) {
++ monitor->priv->remove_idle_id = g_idle_add ((GSourceFunc) emit_removals_in_idle, monitor);
++ }
++}
++
++static void
+ handle_inotify_event (CkFileMonitor *monitor,
+- FileInotifyWatch *watch,
+ struct inotify_event *ievent)
+ {
+ CkFileMonitorEvent event;
+@@ -375,9 +433,9 @@
+ freeme = NULL;
+
+ if (ievent->len > 0) {
+- path = freeme = g_build_filename (watch->path, ievent->name, NULL);
++ path = ievent->name;
+ } else {
+- path = watch->path;
++ path = NULL;
+ }
+
+ mask_str = imask_to_string (ievent->mask);
+@@ -397,11 +455,11 @@
+ }
+
+ if (event != CK_FILE_MONITOR_EVENT_NONE) {
+- queue_watch_event (monitor, watch, event, path);
++ queue_watch_event (monitor, ievent->wd, event, path);
+ }
+
+ if (ievent->mask & IN_IGNORED) {
+- file_monitor_remove_watch (monitor, watch);
++ queue_remove_event (monitor, ievent->wd);
+ }
+ }
+
+@@ -460,7 +518,7 @@
+ watch = g_hash_table_lookup (monitor->priv->wd_to_watch,
+ GINT_TO_POINTER (ievent->wd));
+ if (watch != NULL) {
+- handle_inotify_event (monitor, watch, ievent);
++ handle_inotify_event (monitor, ievent);
+ }
+
+ i += sizeof (struct inotify_event) + ievent->len;
+@@ -523,11 +581,13 @@
+ g_hash_table_steal (monitor->priv->notifies,
+ GUINT_TO_POINTER (id));
+
+- notify->watch->notifies = g_slist_remove (notify->watch->notifies, GUINT_TO_POINTER (id));
++ if (notify->watch) {
++ notify->watch->notifies = g_slist_remove (notify->watch->notifies, GUINT_TO_POINTER (id));
+
+- if (g_slist_length (notify->watch->notifies) == 0) {
+- file_monitor_remove_watch (monitor, notify->watch);
+- g_free (notify->watch);
++ if (g_slist_length (notify->watch->notifies) == 0) {
++ file_monitor_remove_watch (monitor, notify->watch);
++ g_free (notify->watch);
++ }
+ }
+
+ g_free (notify);
+@@ -629,6 +689,7 @@
+
+ monitor->priv->serial = 1;
+ monitor->priv->notify_events = g_queue_new ();
++ monitor->priv->remove_events = g_queue_new ();
+
+ setup_inotify (monitor);
+ }
+@@ -649,6 +710,7 @@
+
+ g_hash_table_destroy (monitor->priv->notifies);
+ g_queue_free (monitor->priv->notify_events);
++ g_queue_free (monitor->priv->remove_events);
+
+ G_OBJECT_CLASS (ck_file_monitor_parent_class)->finalize (object);
+ }
Added: packages/unstable/consolekit/debian/patches/11-unref-dbus-proxy.patch
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/consolekit/debian/patches/11-unref-dbus-proxy.patch?rev=2958&op=file
==============================================================================
--- packages/unstable/consolekit/debian/patches/11-unref-dbus-proxy.patch (added)
+++ packages/unstable/consolekit/debian/patches/11-unref-dbus-proxy.patch Tue Mar 10 10:55:16 2009
@@ -1,0 +1,16 @@
+# Unref the dbus proxy when finalizing the session object, so that they are not leaked
+# Ubuntu: https://launchpad.net/bugs/284229
+# Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=18330
+Index: consolekit-0.3/src/ck-session.c
+===================================================================
+--- consolekit-0.3.orig/src/ck-session.c 2008-11-23 16:51:26.000000000 +0000
++++ consolekit-0.3/src/ck-session.c 2008-11-23 16:51:41.000000000 +0000
+@@ -1100,6 +1100,8 @@
+
+ session_remove_activity_watch (session);
+
++ g_object_unref (session->priv->bus_proxy);
++
+ g_free (session->priv->id);
+ g_free (session->priv->cookie);
+ g_free (session->priv->seat_id);
Added: packages/unstable/consolekit/debian/patches/12-allow-get-sessions.patch
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/consolekit/debian/patches/12-allow-get-sessions.patch?rev=2958&op=file
==============================================================================
--- packages/unstable/consolekit/debian/patches/12-allow-get-sessions.patch (added)
+++ packages/unstable/consolekit/debian/patches/12-allow-get-sessions.patch Tue Mar 10 10:55:16 2009
@@ -1,0 +1,13 @@
+diff -ur ConsoleKit-0.3.0/data/ConsoleKit.conf ConsoleKit-ted/data/ConsoleKit.conf
+--- ConsoleKit-0.3.0/data/ConsoleKit.conf 2009-03-04 14:02:53.000000000 -0600
++++ ConsoleKit-ted/data/ConsoleKit.conf 2009-03-04 14:03:21.000000000 -0600
+@@ -41,6 +41,9 @@
+ send_member="GetSeats"/>
+ <allow send_destination="org.freedesktop.ConsoleKit"
+ send_interface="org.freedesktop.ConsoleKit.Manager"
++ send_member="GetSessions"/>
++ <allow send_destination="org.freedesktop.ConsoleKit"
++ send_interface="org.freedesktop.ConsoleKit.Manager"
+ send_member="GetSessionForCookie"/>
+ <allow send_destination="org.freedesktop.ConsoleKit"
+ send_interface="org.freedesktop.ConsoleKit.Manager"
Modified: packages/unstable/consolekit/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/consolekit/debian/patches/series?rev=2958&op=diff
==============================================================================
--- packages/unstable/consolekit/debian/patches/series (original)
+++ packages/unstable/consolekit/debian/patches/series Tue Mar 10 10:55:16 2009
@@ -1,4 +1,11 @@
03-cleanup_console_tags.patch
+04-consolekit_park.patch
04-defer_daemonizing.patch
05-dbus_policy.patch
+05-pam-add-nox11.patch
06-xmlto_skip_validation.patch
+08-fix-double-close.patch
+09-directory-handle-leak.patch
+10-file_monitor_remove_watch_crash.patch
+11-unref-dbus-proxy.patch
+12-allow-get-sessions.patch
More information about the Pkg-utopia-commits
mailing list