diff options
3 files changed, 0 insertions, 500 deletions
diff --git a/meta-gnome/recipes-gnome/gconf/gconf/0001-Port-gconfd-2-to-GDBus.patch b/meta-gnome/recipes-gnome/gconf/gconf/0001-Port-gconfd-2-to-GDBus.patch deleted file mode 100644 index 01cbdbcf9e..0000000000 --- a/meta-gnome/recipes-gnome/gconf/gconf/0001-Port-gconfd-2-to-GDBus.patch +++ /dev/null | |||
| @@ -1,439 +0,0 @@ | |||
| 1 | From 979bfb2448c3895a303041c1d422daf7930f3a51 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Christian Persch <chpe@gnome.org> | ||
| 3 | Date: Sat, 8 May 2010 02:13:43 +0200 | ||
| 4 | Subject: [PATCH] Port gconfd-2 to GDBus | ||
| 5 | |||
| 6 | Bug #618039. | ||
| 7 | --- | ||
| 8 | gconf/gconfd.c | 328 +++++++++++++++++++++++++++++--------------------------- | ||
| 9 | 1 files changed, 170 insertions(+), 158 deletions(-) | ||
| 10 | |||
| 11 | diff --git a/gconf/gconfd.c b/gconf/gconfd.c | ||
| 12 | index b89e7a1..ee9d6ad 100644 | ||
| 13 | --- a/gconf/gconfd.c | ||
| 14 | +++ b/gconf/gconfd.c | ||
| 15 | @@ -55,7 +55,7 @@ | ||
| 16 | #endif | ||
| 17 | #include <locale.h> | ||
| 18 | |||
| 19 | -#include <dbus/dbus-glib-lowlevel.h> | ||
| 20 | +#include <gio/gio.h> | ||
| 21 | |||
| 22 | #ifdef G_OS_WIN32 | ||
| 23 | #include <io.h> | ||
| 24 | @@ -518,152 +518,144 @@ gconf_get_poa (void) | ||
| 25 | return the_poa; | ||
| 26 | } | ||
| 27 | |||
| 28 | -static const char * | ||
| 29 | -get_introspection_xml (void) | ||
| 30 | -{ | ||
| 31 | - return "<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n" | ||
| 32 | - "\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n" | ||
| 33 | - "<node>\n" | ||
| 34 | - " <interface name=\"org.freedesktop.DBus.Introspectable\">\n" | ||
| 35 | - " <method name=\"Introspect\">\n" | ||
| 36 | - " <arg name=\"introspection_xml\" direction=\"out\" type=\"s\"/>\n" | ||
| 37 | - " </method>\n" | ||
| 38 | - " </interface>\n" | ||
| 39 | - " <interface name=\"org.gnome.GConf\">\n" | ||
| 40 | - " <method name=\"GetIOR\">\n" | ||
| 41 | - " <arg name=\"ior\" direction=\"out\" type=\"s\"/>\n" | ||
| 42 | - " </method>\n" | ||
| 43 | - " </interface>\n" | ||
| 44 | - "</node>\n"; | ||
| 45 | -} | ||
| 46 | - | ||
| 47 | -static DBusHandlerResult | ||
| 48 | -bus_message_handler (DBusConnection *connection, | ||
| 49 | - DBusMessage *message, | ||
| 50 | - void *user_data) | ||
| 51 | +static void | ||
| 52 | +handle_method_call (GDBusConnection *connection, | ||
| 53 | + const gchar *sender, | ||
| 54 | + const gchar *object_path, | ||
| 55 | + const gchar *interface_name, | ||
| 56 | + const gchar *method_name, | ||
| 57 | + GVariant *parameters, | ||
| 58 | + GDBusMethodInvocation *invocation, | ||
| 59 | + gpointer user_data) | ||
| 60 | { | ||
| 61 | - DBusMessage *reply; | ||
| 62 | - | ||
| 63 | - reply = NULL; | ||
| 64 | - | ||
| 65 | - if (dbus_message_is_signal (message, | ||
| 66 | - DBUS_INTERFACE_LOCAL, | ||
| 67 | - "Disconnected")) | ||
| 68 | + if (g_strcmp0 (method_name, "GetIOR") == 0) | ||
| 69 | { | ||
| 70 | - gconf_main_quit (); | ||
| 71 | - return DBUS_HANDLER_RESULT_HANDLED; | ||
| 72 | + g_dbus_method_invocation_return_value (invocation, | ||
| 73 | + g_variant_new ("(s)", gconf_get_daemon_ior ())); | ||
| 74 | } | ||
| 75 | - else if (dbus_message_is_method_call (message, | ||
| 76 | - "org.freedesktop.DBus.Introspectable", | ||
| 77 | - "Introspect")) | ||
| 78 | - { | ||
| 79 | - const char *introspection_xml; | ||
| 80 | - | ||
| 81 | - introspection_xml = get_introspection_xml (); | ||
| 82 | - | ||
| 83 | - reply = dbus_message_new_method_return (message); | ||
| 84 | - dbus_message_append_args (reply, DBUS_TYPE_STRING, &introspection_xml, | ||
| 85 | - DBUS_TYPE_INVALID); | ||
| 86 | - | ||
| 87 | - } | ||
| 88 | - else if (dbus_message_is_method_call (message, | ||
| 89 | - "org.gnome.GConf", | ||
| 90 | - "GetIOR")) | ||
| 91 | - { | ||
| 92 | - const char *ior; | ||
| 93 | +} | ||
| 94 | |||
| 95 | - ior = gconf_get_daemon_ior (); | ||
| 96 | +static void | ||
| 97 | +on_name_acquired (GDBusConnection *connection, | ||
| 98 | + const gchar *name, | ||
| 99 | + gpointer user_data) | ||
| 100 | +{ | ||
| 101 | + * (gboolean *) user_data = TRUE; | ||
| 102 | + gconf_main_quit (); | ||
| 103 | +} | ||
| 104 | |||
| 105 | - reply = dbus_message_new_method_return (message); | ||
| 106 | - dbus_message_append_args (reply, DBUS_TYPE_STRING, &ior, DBUS_TYPE_INVALID); | ||
| 107 | - } | ||
| 108 | +static void | ||
| 109 | +on_name_lost (GDBusConnection *connection, | ||
| 110 | + const gchar *name, | ||
| 111 | + gpointer user_data) | ||
| 112 | +{ | ||
| 113 | + * (gboolean *) user_data = FALSE; | ||
| 114 | |||
| 115 | - if (reply != NULL) | ||
| 116 | - { | ||
| 117 | - dbus_connection_send (connection, reply, NULL); | ||
| 118 | - dbus_message_unref (reply); | ||
| 119 | - return DBUS_HANDLER_RESULT_HANDLED; | ||
| 120 | - } | ||
| 121 | + gconf_log (GCL_WARNING, | ||
| 122 | + _("Failed to get bus name for daemon, exiting.")); | ||
| 123 | |||
| 124 | - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; | ||
| 125 | + gconf_main_quit (); | ||
| 126 | } | ||
| 127 | |||
| 128 | -static DBusConnection * | ||
| 129 | -get_on_d_bus (void) | ||
| 130 | +static GDBusConnection * | ||
| 131 | +own_org_gnome_GConf (void) | ||
| 132 | { | ||
| 133 | - DBusConnection *connection; | ||
| 134 | - DBusError bus_error; | ||
| 135 | - int result; | ||
| 136 | - | ||
| 137 | - dbus_error_init (&bus_error); | ||
| 138 | - connection = dbus_bus_get (DBUS_BUS_SESSION, &bus_error); | ||
| 139 | - | ||
| 140 | - if (dbus_error_is_set (&bus_error)) | ||
| 141 | + static const char introspection_xml[] = | ||
| 142 | + "<node>" | ||
| 143 | + "<interface name='org.gnome.GConf'>" | ||
| 144 | + "<method name='GetIOR'>" | ||
| 145 | + "<arg name='ior' direction='out' type='s'/>" | ||
| 146 | + "</method>" | ||
| 147 | + "</interface>" | ||
| 148 | + "</node>"; | ||
| 149 | + static const GDBusInterfaceVTable interface_vtable = | ||
| 150 | + { | ||
| 151 | + handle_method_call, | ||
| 152 | + NULL, | ||
| 153 | + NULL | ||
| 154 | + }; | ||
| 155 | + | ||
| 156 | + GDBusConnection *connection; | ||
| 157 | + GDBusNodeInfo *introspection_data; | ||
| 158 | + guint registration_id; | ||
| 159 | + guint owner_id; | ||
| 160 | + gboolean *do_own_ptr; | ||
| 161 | + GError *error = NULL; | ||
| 162 | + | ||
| 163 | + connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error); | ||
| 164 | + if (connection == NULL) | ||
| 165 | { | ||
| 166 | - gconf_log (GCL_ERR, _("Could not connect to session bus: %s"), bus_error.message); | ||
| 167 | - dbus_error_free (&bus_error); | ||
| 168 | + gconf_log (GCL_ERR, _("Could not connect to session bus: %s"), error->message); | ||
| 169 | + g_error_free (error); | ||
| 170 | return NULL; | ||
| 171 | } | ||
| 172 | |||
| 173 | - dbus_connection_setup_with_g_main (connection, NULL); | ||
| 174 | + introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL); | ||
| 175 | + g_assert (introspection_data != NULL); | ||
| 176 | |||
| 177 | - if (!dbus_connection_add_filter (connection, (DBusHandleMessageFunction) | ||
| 178 | - bus_message_handler, NULL, NULL)) | ||
| 179 | + registration_id = g_dbus_connection_register_object (connection, | ||
| 180 | + "/org/gnome/GConf", | ||
| 181 | + introspection_data->interfaces[0], | ||
| 182 | + &interface_vtable, | ||
| 183 | + introspection_data, | ||
| 184 | + (GDestroyNotify) g_dbus_node_info_unref, | ||
| 185 | + &error); | ||
| 186 | + if (registration_id == 0) | ||
| 187 | { | ||
| 188 | - dbus_connection_unref (connection); | ||
| 189 | + gconf_log (GCL_ERR, "Failed to register object: %s", error->message); | ||
| 190 | + g_error_free (error); | ||
| 191 | + g_object_unref (connection); | ||
| 192 | return NULL; | ||
| 193 | } | ||
| 194 | |||
| 195 | - dbus_connection_set_exit_on_disconnect (connection, FALSE); | ||
| 196 | + g_dbus_connection_set_exit_on_close (connection, FALSE); | ||
| 197 | + g_signal_connect (connection, "closed", G_CALLBACK (gconf_main_quit), NULL); | ||
| 198 | |||
| 199 | - result = dbus_bus_request_name (connection, "org.gnome.GConf", | ||
| 200 | - 0, &bus_error); | ||
| 201 | + do_own_ptr = g_new (gboolean, 1); | ||
| 202 | + *do_own_ptr = FALSE; | ||
| 203 | |||
| 204 | - if (dbus_error_is_set (&bus_error)) | ||
| 205 | - { | ||
| 206 | - gconf_log (GCL_WARNING, | ||
| 207 | - _("Failed to get bus name for daemon, exiting: %s"), | ||
| 208 | - bus_error.message); | ||
| 209 | - dbus_error_free (&bus_error); | ||
| 210 | - } | ||
| 211 | + owner_id = g_bus_own_name_on_connection (connection, | ||
| 212 | + "org.gnome.GConf", | ||
| 213 | + G_BUS_NAME_OWNER_FLAGS_NONE, | ||
| 214 | + on_name_acquired, | ||
| 215 | + on_name_lost, | ||
| 216 | + do_own_ptr, (GDestroyNotify) g_free); | ||
| 217 | |||
| 218 | - if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) | ||
| 219 | - { | ||
| 220 | - dbus_connection_unref (connection); | ||
| 221 | - return NULL; | ||
| 222 | - } | ||
| 223 | + gconf_main (); | ||
| 224 | |||
| 225 | - return connection; | ||
| 226 | + if (*do_own_ptr) | ||
| 227 | + return connection; | ||
| 228 | + | ||
| 229 | + g_object_unref (connection); | ||
| 230 | + return NULL; | ||
| 231 | } | ||
| 232 | |||
| 233 | #ifdef ENABLE_DEFAULTS_SERVICE | ||
| 234 | /* listen on system bus for defaults changes */ | ||
| 235 | |||
| 236 | -static DBusHandlerResult | ||
| 237 | -system_bus_message_handler (DBusConnection *connection, | ||
| 238 | - DBusMessage *message, | ||
| 239 | - void *user_data) | ||
| 240 | -{ | ||
| 241 | - DBusMessage *reply; | ||
| 242 | - | ||
| 243 | - reply = NULL; | ||
| 244 | - | ||
| 245 | - if (dbus_message_is_signal (message, | ||
| 246 | - "org.gnome.GConf.Defaults", | ||
| 247 | - "SystemSet")) | ||
| 248 | - { | ||
| 249 | - DBusError bus_error; | ||
| 250 | - char **keys; | ||
| 251 | - int n_keys; | ||
| 252 | +typedef struct { | ||
| 253 | + guint watch_id; | ||
| 254 | + guint subscription_id; | ||
| 255 | +} DefaultsData; | ||
| 256 | |||
| 257 | - dbus_error_init (&bus_error); | ||
| 258 | - if (dbus_message_get_args (message, &bus_error, | ||
| 259 | - DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &keys, &n_keys, | ||
| 260 | - DBUS_TYPE_INVALID)) | ||
| 261 | +static void | ||
| 262 | +system_set_cb (GDBusConnection *connection, | ||
| 263 | + const gchar *sender_name, | ||
| 264 | + const gchar *object_path, | ||
| 265 | + const gchar *interface_name, | ||
| 266 | + const gchar *signal_name, | ||
| 267 | + GVariant *parameters, | ||
| 268 | + gpointer user_data) | ||
| 269 | +{ | ||
| 270 | + if (g_strcmp0 (interface_name, "org.gnome.GConf.Defaults") == 0 && | ||
| 271 | + g_strcmp0 (signal_name, "SystemSet") == 0) | ||
| 272 | + { | ||
| 273 | + if (g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(as)"))) | ||
| 274 | { | ||
| 275 | - char **key; | ||
| 276 | GConfSources *system_sources; | ||
| 277 | GSList addresses; | ||
| 278 | + GVariantIter *iter; | ||
| 279 | + const char *key; | ||
| 280 | |||
| 281 | gconf_log (GCL_DEBUG, "System defaults changed. Notifying."); | ||
| 282 | |||
| 283 | @@ -673,61 +665,72 @@ system_bus_message_handler (DBusConnection *connection, | ||
| 284 | |||
| 285 | gconfd_clear_cache_for_sources (system_sources); | ||
| 286 | |||
| 287 | - for (key = keys; *key; key++) | ||
| 288 | - gconfd_notify_other_listeners (NULL, system_sources, *key); | ||
| 289 | + g_variant_get (parameters, "(as)", &iter); | ||
| 290 | + while (g_variant_iter_loop (iter, "&s", &key)) | ||
| 291 | + gconfd_notify_other_listeners (NULL, system_sources, key); | ||
| 292 | + g_variant_iter_free (iter); | ||
| 293 | |||
| 294 | gconf_sources_free (system_sources); | ||
| 295 | - | ||
| 296 | - dbus_free_string_array (keys); | ||
| 297 | } | ||
| 298 | else | ||
| 299 | { | ||
| 300 | - gconf_log (GCL_DEBUG, "SystemSet signal received, but error getting message: %s", bus_error.message); | ||
| 301 | + gconf_log (GCL_DEBUG, "SystemSet signal received, but wrong paramters type '%s'", | ||
| 302 | + g_variant_get_type_string (parameters)); | ||
| 303 | } | ||
| 304 | - dbus_error_free (&bus_error); | ||
| 305 | - | ||
| 306 | - return DBUS_HANDLER_RESULT_HANDLED; | ||
| 307 | } | ||
| 308 | - | ||
| 309 | - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; | ||
| 310 | } | ||
| 311 | |||
| 312 | -static DBusConnection * | ||
| 313 | -get_on_system_bus (void) | ||
| 314 | +static void | ||
| 315 | +defaults_appeared_cb (GDBusConnection *connection, | ||
| 316 | + const gchar *name, | ||
| 317 | + const gchar *name_owner, | ||
| 318 | + gpointer user_data) | ||
| 319 | { | ||
| 320 | - DBusConnection *connection; | ||
| 321 | - DBusError bus_error; | ||
| 322 | + DefaultsData *data = (DefaultsData *) user_data; | ||
| 323 | |||
| 324 | - dbus_error_init (&bus_error); | ||
| 325 | - connection = dbus_bus_get (DBUS_BUS_SYSTEM, &bus_error); | ||
| 326 | + gconf_log (GCL_DEBUG, "Defaults service appeared with name '%s'", name_owner); | ||
| 327 | |||
| 328 | - if (dbus_error_is_set (&bus_error)) | ||
| 329 | - { | ||
| 330 | - gconf_log (GCL_ERR, _("Could not connect to system bus: %s"), bus_error.message); | ||
| 331 | - dbus_error_free (&bus_error); | ||
| 332 | - return NULL; | ||
| 333 | - } | ||
| 334 | + g_assert (data->subscription_id == 0); | ||
| 335 | + data->subscription_id = g_dbus_connection_signal_subscribe (connection, | ||
| 336 | + name_owner, | ||
| 337 | + "org.gnome.GConf.Defaults", | ||
| 338 | + "SystemSet", | ||
| 339 | + "/" /* really? */, | ||
| 340 | + NULL, | ||
| 341 | + G_DBUS_SIGNAL_FLAGS_NONE, | ||
| 342 | + system_set_cb, | ||
| 343 | + user_data, NULL); | ||
| 344 | +} | ||
| 345 | |||
| 346 | - dbus_connection_setup_with_g_main (connection, NULL); | ||
| 347 | +static void | ||
| 348 | +defaults_vanished_cb (GDBusConnection *connection, | ||
| 349 | + const gchar *name, | ||
| 350 | + gpointer user_data) | ||
| 351 | +{ | ||
| 352 | + DefaultsData *data = (DefaultsData *) user_data; | ||
| 353 | |||
| 354 | - dbus_bus_add_match (connection, "type='signal',interface='org.gnome.GConf.Defaults'", &bus_error); | ||
| 355 | - dbus_connection_flush(connection); | ||
| 356 | - if (dbus_error_is_set (&bus_error)) | ||
| 357 | - { | ||
| 358 | - gconf_log (GCL_DEBUG, "Failed to add signal match to system bus: %s", bus_error.message); | ||
| 359 | - dbus_connection_unref (connection); | ||
| 360 | - return NULL; | ||
| 361 | - } | ||
| 362 | + gconf_log (GCL_DEBUG, "Defaults service disappeared"); | ||
| 363 | |||
| 364 | - if (!dbus_connection_add_filter (connection, (DBusHandleMessageFunction) | ||
| 365 | - system_bus_message_handler, NULL, NULL)) | ||
| 366 | - { | ||
| 367 | - gconf_log (GCL_DEBUG, "Failed to add message filter to system bus."); | ||
| 368 | - dbus_connection_unref (connection); | ||
| 369 | - return NULL; | ||
| 370 | - } | ||
| 371 | + if (data->subscription_id != 0) { | ||
| 372 | + g_dbus_connection_signal_unsubscribe (connection , data->subscription_id); | ||
| 373 | + data->subscription_id = 0; | ||
| 374 | + } | ||
| 375 | +} | ||
| 376 | |||
| 377 | - return connection; | ||
| 378 | +static DefaultsData * | ||
| 379 | +get_on_system_bus (void) | ||
| 380 | +{ | ||
| 381 | + DefaultsData *data = g_new (DefaultsData, 1); | ||
| 382 | + | ||
| 383 | + data->subscription_id = 0; | ||
| 384 | + data->watch_id = g_bus_watch_name (G_BUS_TYPE_SYSTEM, | ||
| 385 | + "org.gnome.GConf.Defaults", | ||
| 386 | + G_BUS_NAME_WATCHER_FLAGS_NONE, | ||
| 387 | + defaults_appeared_cb, | ||
| 388 | + defaults_vanished_cb, | ||
| 389 | + data, NULL); | ||
| 390 | + | ||
| 391 | + return data; | ||
| 392 | } | ||
| 393 | #endif /* ENABLE_DEFAULTS_SERVICE */ | ||
| 394 | |||
| 395 | @@ -759,7 +762,8 @@ main(int argc, char** argv) | ||
| 396 | GError *err; | ||
| 397 | int dev_null_fd; | ||
| 398 | int write_byte_fd; | ||
| 399 | - DBusConnection *connection; | ||
| 400 | + GDBusConnection *connection; | ||
| 401 | + DefaultsData *defaults_data; | ||
| 402 | |||
| 403 | _gconf_init_i18n (); | ||
| 404 | setlocale (LC_ALL, ""); | ||
| 405 | @@ -896,8 +900,7 @@ main(int argc, char** argv) | ||
| 406 | gconf_set_daemon_ior (ior); | ||
| 407 | CORBA_free (ior); | ||
| 408 | |||
| 409 | - connection = get_on_d_bus (); | ||
| 410 | - | ||
| 411 | + connection = own_org_gnome_GConf (); | ||
| 412 | if (connection != NULL) | ||
| 413 | { | ||
| 414 | /* This loads backends and so on. It needs to be done before | ||
| 415 | @@ -934,11 +937,20 @@ main(int argc, char** argv) | ||
| 416 | logfile_read (); | ||
| 417 | |||
| 418 | #ifdef ENABLE_DEFAULTS_SERVICE | ||
| 419 | - get_on_system_bus (); | ||
| 420 | + defaults_data = get_on_system_bus (); | ||
| 421 | #endif | ||
| 422 | |||
| 423 | gconf_main (); | ||
| 424 | |||
| 425 | + g_object_unref (connection); | ||
| 426 | + connection = NULL; | ||
| 427 | + | ||
| 428 | + if (defaults_data->subscription_id != 0) { | ||
| 429 | + g_dbus_connection_signal_unsubscribe (connection , defaults_data->subscription_id); | ||
| 430 | + } | ||
| 431 | + g_bus_unwatch_name (defaults_data->watch_id); | ||
| 432 | + g_free (defaults_data); | ||
| 433 | + | ||
| 434 | if (in_shutdown) | ||
| 435 | exit_code = 1; /* means someone already called enter_shutdown() */ | ||
| 436 | |||
| 437 | -- | ||
| 438 | 1.6.6.1 | ||
| 439 | |||
diff --git a/meta-gnome/recipes-gnome/gconf/gconf/02_fix_wrong_return_value.patch b/meta-gnome/recipes-gnome/gconf/gconf/02_fix_wrong_return_value.patch deleted file mode 100644 index c7c0e7784c..0000000000 --- a/meta-gnome/recipes-gnome/gconf/gconf/02_fix_wrong_return_value.patch +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | Description: fix wrong return value | ||
| 2 | Bug: http://bugzilla.gnome.org/show_bug.cgi?id=582865 | ||
| 3 | Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=532119 | ||
| 4 | |||
| 5 | --- a/gconf/gconf-client.c | ||
| 6 | +++ b/gconf/gconf-client.c | ||
| 7 | @@ -2163,7 +2163,7 @@ | ||
| 8 | { | ||
| 9 | g_free (dir); | ||
| 10 | trace ("Negative cache hit on %s", key); | ||
| 11 | - return TRUE; | ||
| 12 | + return FALSE; | ||
| 13 | } | ||
| 14 | |||
| 15 | g_free (dir); | ||
diff --git a/meta-gnome/recipes-gnome/gconf/gconf_2.32.4.bb b/meta-gnome/recipes-gnome/gconf/gconf_2.32.4.bb deleted file mode 100644 index d9273272e1..0000000000 --- a/meta-gnome/recipes-gnome/gconf/gconf_2.32.4.bb +++ /dev/null | |||
| @@ -1,46 +0,0 @@ | |||
| 1 | DESCRIPTION = "GNOME configuration database system" | ||
| 2 | SECTION = "x11/gnome" | ||
| 3 | DEPENDS = "gobject-introspection-native gtk+ orbit2 glib-2.0 libxml2 polkit" | ||
| 4 | |||
| 5 | PR = "r5" | ||
| 6 | |||
| 7 | LICENSE = "LGPLv2+" | ||
| 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" | ||
| 9 | |||
| 10 | S = "${WORKDIR}/GConf-${PV}" | ||
| 11 | |||
| 12 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/GConf/2.32/GConf-${PV}.tar.bz2;name=archive \ | ||
| 13 | file://02_fix_wrong_return_value.patch \ | ||
| 14 | file://0001-Port-gconfd-2-to-GDBus.patch \ | ||
| 15 | " | ||
| 16 | SRC_URI[archive.md5sum] = "b4475bb58c51ca59c7781cd95b302c13" | ||
| 17 | SRC_URI[archive.sha256sum] = "46030c09422603dbb72f13b5dd592dcc01fbc13562b9e94dafb2b58982bc6b3a" | ||
| 18 | |||
| 19 | |||
| 20 | EXTRA_OECONF = " --without-openldap --disable-gtk-doc --enable-gtk --with-gtk=2.0 --enable-gsettings-backend=yes POLKIT_POLICY_FILE_VALIDATE=true" | ||
| 21 | ORBIT_IDL_SRC = "${STAGING_BINDIR_NATIVE}/orbit-idl-2" | ||
| 22 | |||
| 23 | inherit autotools gettext perlnative | ||
| 24 | |||
| 25 | EXTRA_OEMAKE = 'ORBIT_IDL="${ORBIT_IDL_SRC}"' | ||
| 26 | |||
| 27 | do_install_append() { | ||
| 28 | # this directory need to be created to avoid an Error 256 at gdm launch | ||
| 29 | install -d ${D}${sysconfdir}/gconf/gconf.xml.system | ||
| 30 | |||
| 31 | # this stuff is unusable | ||
| 32 | rm ${D}${libdir}/GConf/*/*.*a | ||
| 33 | rm ${D}${libdir}/gio/*/*.*a | ||
| 34 | } | ||
| 35 | |||
| 36 | RDEPENDS_${PN} += "dbus-x11" | ||
| 37 | FILES_${PN} += "${libdir}/GConf/* \ | ||
| 38 | ${libdir}/gio/*/*.so \ | ||
| 39 | ${datadir}/polkit* \ | ||
| 40 | ${datadir}/dbus-1/services/*.service \ | ||
| 41 | ${datadir}/dbus-1/system-services/*.service \ | ||
| 42 | " | ||
| 43 | |||
| 44 | FILES_${PN}-dbg += "${libdir}/*/*/.debug" | ||
| 45 | FILES_${PN}-dev += "${datadir}/sgml/gconf/gconf-1.0.dtd \ | ||
| 46 | ${libdir}/*/gio/*/*.la" | ||
