commit 90313a7f8bda746907b5fc2f468c8e118d6c429f Author: Adrian Schröter Date: Tue Sep 3 14:03:32 2024 +0200 Sync from SUSE:ALP:Source:Standard:1.0 glib2 revision fcad743cce373bce13fb266f8b161273 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/README.Gsettings-overrides b/README.Gsettings-overrides new file mode 100644 index 0000000..1244df3 --- /dev/null +++ b/README.Gsettings-overrides @@ -0,0 +1,19 @@ +Quoting the "Vendor overrides" section from [1]: + +Default values are defined in the schemas that get installed by an application. +Sometimes, it is necessary for a vendor or distributor to adjust these +defaults. Since patching the XML source for the schema is inconvenient and +error-prone, glib-compile-schemas reads so-called 'vendor override' files. +These are keyfiles in the same directory as the XML schema sources which can +override default values. The schema id serves as the group name in the key +file, and the values are expected in serialized GVariant form, as in the +following example: + + [org.gtk.Example] + key1='string' + key2=1.5 + +glib-compile-schemas expects schema files to have the extension +.gschema.override + +[1] http://developer.gnome.org/gio/stable/GSettings.html diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..2be6914 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + doc + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..8db2059 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,19 @@ +glib2-devel + requires -glib2- + requires "glib2-tools- = " + requires "libgio-2_0-0- = " + requires "libgmodule-2_0-0- = " + requires "libgobject-2_0-0- = " + requires "libgthread-2_0-0- = " + +^/usr/lib.*/glib-2.0/include/glibconfig.h + +^/usr/lib.*/pkgconfig/glib-2.0.pc +glib2-tools + +/usr/bin/gio-querymodules(-64)? +libglib-2_0-0 + obsoletes "glib2- <= " + provides "glib2- = " +libgmodule-2_0-0 +libgio-2_0-0 +libgthread-2_0-0 +libgobject-2_0-0 + diff --git a/glib-2.76.2.tar.xz b/glib-2.76.2.tar.xz new file mode 100644 index 0000000..6b88bfe --- /dev/null +++ b/glib-2.76.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24f3847857b1d8674cdb0389a36edec0f13c666cd3ce727ecd340eb9da8aca9e +size 5273836 diff --git a/glib2-CVE-2024-34397.patch b/glib2-CVE-2024-34397.patch new file mode 100644 index 0000000..0bc7edc --- /dev/null +++ b/glib2-CVE-2024-34397.patch @@ -0,0 +1,2556 @@ +diff -urpN glib-2.76.2.orig/gio/gdbusconnection.c glib-2.76.2/gio/gdbusconnection.c +--- glib-2.76.2.orig/gio/gdbusconnection.c 2023-04-21 09:46:05.000000000 -0500 ++++ glib-2.76.2/gio/gdbusconnection.c 2024-08-19 14:24:48.794374561 -0500 +@@ -284,6 +284,153 @@ call_destroy_notify (GMainContext *cont + + /* ---------------------------------------------------------------------------------------------------- */ + ++typedef struct ++{ ++ /* All fields are immutable after construction. */ ++ gatomicrefcount ref_count; ++ GDBusSignalCallback callback; ++ gpointer user_data; ++ GDestroyNotify user_data_free_func; ++ guint id; ++ GMainContext *context; ++} SignalSubscriber; ++ ++static SignalSubscriber * ++signal_subscriber_ref (SignalSubscriber *subscriber) ++{ ++ g_atomic_ref_count_inc (&subscriber->ref_count); ++ return subscriber; ++} ++ ++static void ++signal_subscriber_unref (SignalSubscriber *subscriber) ++{ ++ if (g_atomic_ref_count_dec (&subscriber->ref_count)) ++ { ++ /* Destroy the user data. It doesn’t matter which thread ++ * signal_subscriber_unref() is called in (or whether it’s called with a ++ * lock held), as call_destroy_notify() always defers to the next ++ * #GMainContext iteration. */ ++ call_destroy_notify (subscriber->context, ++ subscriber->user_data_free_func, ++ subscriber->user_data); ++ ++ g_main_context_unref (subscriber->context); ++ g_free (subscriber); ++ } ++} ++ ++typedef struct ++{ ++ /* ++ * 1 reference while waiting for GetNameOwner() to finish ++ * 1 reference for each SignalData that points to this one as its ++ * shared_name_watcher ++ */ ++ grefcount ref_count; ++ ++ gchar *owner; ++ guint32 get_name_owner_serial; ++} WatchedName; ++ ++static WatchedName * ++watched_name_new (void) ++{ ++ WatchedName *watched_name = g_new0 (WatchedName, 1); ++ ++ g_ref_count_init (&watched_name->ref_count); ++ watched_name->owner = NULL; ++ return g_steal_pointer (&watched_name); ++} ++ ++typedef struct SignalData SignalData; ++ ++struct SignalData ++{ ++ gchar *rule; ++ gchar *sender; ++ gchar *interface_name; ++ gchar *member; ++ gchar *object_path; ++ gchar *arg0; ++ GDBusSignalFlags flags; ++ GPtrArray *subscribers; /* (owned) (element-type SignalSubscriber) */ ++ ++ /* ++ * If the sender is a well-known name, this is an unowned SignalData ++ * representing the NameOwnerChanged signal that tracks its owner. ++ * NULL if sender is NULL. ++ * NULL if sender is its own owner (a unique name or DBUS_SERVICE_DBUS). ++ * ++ * Invariants: if not NULL, then ++ * shared_name_watcher->sender == DBUS_SERVICE_DBUS ++ * shared_name_watcher->interface_name == DBUS_INTERFACE_DBUS ++ * shared_name_watcher->member == "NameOwnerChanged" ++ * shared_name_watcher->object_path == DBUS_PATH_DBUS ++ * shared_name_watcher->arg0 == sender ++ * shared_name_watcher->flags == NONE ++ * shared_name_watcher->watched_name == NULL ++ */ ++ SignalData *shared_name_watcher; ++ ++ /* ++ * Non-NULL if this SignalData is another SignalData's shared_name_watcher. ++ * One reference for each SignalData that has this one as its ++ * shared_name_watcher. ++ * Otherwise NULL. ++ */ ++ WatchedName *watched_name; ++}; ++ ++static SignalData * ++signal_data_new_take (gchar *rule, ++ gchar *sender, ++ gchar *interface_name, ++ gchar *member, ++ gchar *object_path, ++ gchar *arg0, ++ GDBusSignalFlags flags) ++{ ++ SignalData *signal_data = g_new0 (SignalData, 1); ++ ++ signal_data->rule = rule; ++ signal_data->sender = sender; ++ signal_data->interface_name = interface_name; ++ signal_data->member = member; ++ signal_data->object_path = object_path; ++ signal_data->arg0 = arg0; ++ signal_data->flags = flags; ++ signal_data->subscribers = g_ptr_array_new_with_free_func ((GDestroyNotify) signal_subscriber_unref); ++ return g_steal_pointer (&signal_data); ++} ++ ++static void ++signal_data_free (SignalData *signal_data) ++{ ++ /* The SignalData should not be freed while it still has subscribers */ ++ g_assert (signal_data->subscribers->len == 0); ++ ++ /* The SignalData should not be freed while it is watching for ++ * NameOwnerChanged on behalf of another SignalData */ ++ g_assert (signal_data->watched_name == NULL); ++ ++ /* The SignalData should be detached from its name watcher, if any, ++ * before it is freed */ ++ g_assert (signal_data->shared_name_watcher == NULL); ++ ++ g_free (signal_data->rule); ++ g_free (signal_data->sender); ++ g_free (signal_data->interface_name); ++ g_free (signal_data->member); ++ g_free (signal_data->object_path); ++ g_free (signal_data->arg0); ++ g_ptr_array_unref (signal_data->subscribers); ++ ++ g_free (signal_data); ++} ++ ++/* ---------------------------------------------------------------------------------------------------- */ ++ + #ifdef G_OS_WIN32 + #define CONNECTION_ENSURE_LOCK(obj) do { ; } while (FALSE) + #else +@@ -410,6 +557,7 @@ struct _GDBusConnection + + /* Map used for managing method replies, protected by @lock */ + GHashTable *map_method_serial_to_task; /* guint32 -> GTask* */ ++ GHashTable *map_method_serial_to_name_watcher; /* guint32 -> unowned SignalData* */ + + /* Maps used for managing signal subscription, protected by @lock */ + GHashTable *map_rule_to_signal_data; /* match rule (gchar*) -> SignalData */ +@@ -658,6 +806,7 @@ g_dbus_connection_finalize (GObject *obj + g_error_free (connection->initialization_error); + + g_hash_table_unref (connection->map_method_serial_to_task); ++ g_hash_table_unref (connection->map_method_serial_to_name_watcher); + + g_hash_table_unref (connection->map_rule_to_signal_data); + g_hash_table_unref (connection->map_id_to_signal_data); +@@ -1062,6 +1211,7 @@ g_dbus_connection_init (GDBusConnection + g_mutex_init (&connection->init_lock); + + connection->map_method_serial_to_task = g_hash_table_new (g_direct_hash, g_direct_equal); ++ connection->map_method_serial_to_name_watcher = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, NULL); + + connection->map_rule_to_signal_data = g_hash_table_new (g_str_hash, + g_str_equal); +@@ -2188,6 +2338,191 @@ g_dbus_connection_send_message_with_repl + + /* ---------------------------------------------------------------------------------------------------- */ + ++/* ++ * Called in any thread. ++ * Must hold the connection lock when calling this, unless ++ * connection->finalizing is TRUE. ++ */ ++static void ++name_watcher_unref_watched_name (GDBusConnection *connection, ++ SignalData *name_watcher) ++{ ++ WatchedName *watched_name = name_watcher->watched_name; ++ ++ g_assert (watched_name != NULL); ++ ++ if (!g_ref_count_dec (&watched_name->ref_count)) ++ return; ++ ++ /* Removing watched_name from the name_watcher may result in ++ * name_watcher being freed, so we must make sure name_watcher is no ++ * longer in map_method_serial_to_name_watcher. ++ * ++ * If we stop watching the name while our GetNameOwner call was still ++ * in-flight, then when the reply eventually arrives, we will not find ++ * its serial number in the map and harmlessly ignore it as a result. */ ++ if (watched_name->get_name_owner_serial != 0) ++ g_hash_table_remove (connection->map_method_serial_to_name_watcher, ++ GUINT_TO_POINTER (watched_name->get_name_owner_serial)); ++ ++ name_watcher->watched_name = NULL; ++ g_free (watched_name->owner); ++ g_free (watched_name); ++} ++ ++/* called in GDBusWorker thread with lock held */ ++static void ++name_watcher_set_name_owner_unlocked (SignalData *name_watcher, ++ const char *new_owner) ++{ ++ if (new_owner != NULL && new_owner[0] == '\0') ++ new_owner = NULL; ++ ++ g_assert (name_watcher->watched_name != NULL); ++ g_set_str (&name_watcher->watched_name->owner, new_owner); ++} ++ ++/* called in GDBusWorker thread with lock held */ ++static void ++name_watcher_deliver_name_owner_changed_unlocked (SignalData *name_watcher, ++ GDBusMessage *message) ++{ ++ GVariant *body; ++ ++ body = g_dbus_message_get_body (message); ++ ++ if (G_LIKELY (body != NULL && g_variant_is_of_type (body, G_VARIANT_TYPE ("(sss)")))) ++ { ++ const char *name; ++ const char *new_owner; ++ ++ g_variant_get (body, "(&s&s&s)", &name, NULL, &new_owner); ++ ++ /* Our caller already checked this */ ++ g_assert (g_strcmp0 (name_watcher->arg0, name) == 0); ++ ++ if (G_LIKELY (new_owner[0] == '\0' || g_dbus_is_unique_name (new_owner))) ++ name_watcher_set_name_owner_unlocked (name_watcher, new_owner); ++ else ++ g_warning ("Received NameOwnerChanged signal with invalid owner \"%s\" for \"%s\"", ++ new_owner, name); ++ } ++ else ++ { ++ g_warning ("Received NameOwnerChanged signal with unexpected " ++ "signature %s", ++ body == NULL ? "()" : g_variant_get_type_string (body)); ++ ++ } ++} ++ ++/* called in GDBusWorker thread with lock held */ ++static void ++name_watcher_deliver_get_name_owner_reply_unlocked (SignalData *name_watcher, ++ GDBusConnection *connection, ++ GDBusMessage *message) ++{ ++ GDBusMessageType type; ++ GVariant *body; ++ WatchedName *watched_name; ++ ++ watched_name = name_watcher->watched_name; ++ g_assert (watched_name != NULL); ++ g_assert (watched_name->get_name_owner_serial != 0); ++ ++ type = g_dbus_message_get_message_type (message); ++ body = g_dbus_message_get_body (message); ++ ++ if (type == G_DBUS_MESSAGE_TYPE_ERROR) ++ { ++ if (g_strcmp0 (g_dbus_message_get_error_name (message), ++ "org.freedesktop.DBus.Error.NameHasNoOwner")) ++ name_watcher_set_name_owner_unlocked (name_watcher, NULL); ++ /* else it's something like NoReply or AccessDenied, which tells ++ * us nothing - leave the owner set to whatever we most recently ++ * learned from NameOwnerChanged, or NULL */ ++ } ++ else if (type != G_DBUS_MESSAGE_TYPE_METHOD_RETURN) ++ { ++ g_warning ("Received GetNameOwner reply with unexpected type %d", ++ type); ++ } ++ else if (G_LIKELY (body != NULL && g_variant_is_of_type (body, G_VARIANT_TYPE ("(s)")))) ++ { ++ const char *new_owner; ++ ++ g_variant_get (body, "(&s)", &new_owner); ++ ++ if (G_LIKELY (g_dbus_is_unique_name (new_owner))) ++ name_watcher_set_name_owner_unlocked (name_watcher, new_owner); ++ else ++ g_warning ("Received GetNameOwner reply with invalid owner \"%s\" for \"%s\"", ++ new_owner, name_watcher->arg0); ++ } ++ else ++ { ++ g_warning ("Received GetNameOwner reply with unexpected signature %s", ++ body == NULL ? "()" : g_variant_get_type_string (body)); ++ } ++ ++ g_hash_table_remove (connection->map_method_serial_to_name_watcher, ++ GUINT_TO_POINTER (watched_name->get_name_owner_serial)); ++ watched_name->get_name_owner_serial = 0; ++} ++ ++/* Called in a user thread, lock is held */ ++static void ++name_watcher_call_get_name_owner_unlocked (GDBusConnection *connection, ++ SignalData *name_watcher) ++{ ++ GDBusMessage *message; ++ GError *local_error = NULL; ++ WatchedName *watched_name; ++ ++ g_assert (g_strcmp0 (name_watcher->sender, DBUS_SERVICE_DBUS) == 0); ++ g_assert (g_strcmp0 (name_watcher->interface_name, DBUS_INTERFACE_DBUS) == 0); ++ g_assert (g_strcmp0 (name_watcher->member, "NameOwnerChanged") == 0); ++ g_assert (g_strcmp0 (name_watcher->object_path, DBUS_PATH_DBUS) == 0); ++ /* arg0 of the NameOwnerChanged message is the well-known name whose owner ++ * we are interested in */ ++ g_assert (g_dbus_is_name (name_watcher->arg0)); ++ g_assert (name_watcher->flags == G_DBUS_SIGNAL_FLAGS_NONE); ++ ++ watched_name = name_watcher->watched_name; ++ g_assert (watched_name != NULL); ++ g_assert (watched_name->owner == NULL); ++ g_assert (watched_name->get_name_owner_serial == 0); ++ g_assert (name_watcher->shared_name_watcher == NULL); ++ ++ message = g_dbus_message_new_method_call (DBUS_SERVICE_DBUS, ++ DBUS_PATH_DBUS, ++ DBUS_INTERFACE_DBUS, ++ "GetNameOwner"); ++ g_dbus_message_set_body (message, g_variant_new ("(s)", name_watcher->arg0)); ++ ++ if (g_dbus_connection_send_message_unlocked (connection, message, ++ G_DBUS_SEND_MESSAGE_FLAGS_NONE, ++ &watched_name->get_name_owner_serial, ++ &local_error)) ++ { ++ g_assert (watched_name->get_name_owner_serial != 0); ++ g_hash_table_insert (connection->map_method_serial_to_name_watcher, ++ GUINT_TO_POINTER (watched_name->get_name_owner_serial), ++ name_watcher); ++ } ++ else ++ { ++ g_critical ("Error while sending GetNameOwner() message: %s", ++ local_error->message); ++ g_clear_error (&local_error); ++ g_assert (watched_name->get_name_owner_serial == 0); ++ } ++ ++ g_object_unref (message); ++} ++ ++/* ---------------------------------------------------------------------------------------------------- */ ++ + typedef struct + { + guint id; +@@ -2311,6 +2646,7 @@ on_worker_message_received (GDBusWorker + { + guint32 reply_serial; + GTask *task; ++ SignalData *name_watcher; + + reply_serial = g_dbus_message_get_reply_serial (message); + CONNECTION_LOCK (connection); +@@ -2326,6 +2662,19 @@ on_worker_message_received (GDBusWorker + { + //g_debug ("message reply/error for serial %d but no SendMessageData found for %p", reply_serial, connection); + } ++ ++ name_watcher = g_hash_table_lookup (connection->map_method_serial_to_name_watcher, ++ GUINT_TO_POINTER (reply_serial)); ++ ++ if (name_watcher != NULL) ++ { ++ g_assert (name_watcher->watched_name != NULL); ++ g_assert (name_watcher->watched_name->get_name_owner_serial == reply_serial); ++ name_watcher_deliver_get_name_owner_reply_unlocked (name_watcher, ++ connection, ++ message); ++ } ++ + CONNECTION_UNLOCK (connection); + } + else if (message_type == G_DBUS_MESSAGE_TYPE_SIGNAL) +@@ -3249,69 +3598,6 @@ g_dbus_connection_remove_filter (GDBusCo + + /* ---------------------------------------------------------------------------------------------------- */ + +-typedef struct +-{ +- gchar *rule; +- gchar *sender; +- gchar *sender_unique_name; /* if sender is unique or org.freedesktop.DBus, then that name... otherwise blank */ +- gchar *interface_name; +- gchar *member; +- gchar *object_path; +- gchar *arg0; +- GDBusSignalFlags flags; +- GPtrArray *subscribers; /* (owned) (element-type SignalSubscriber) */ +-} SignalData; +- +-static void +-signal_data_free (SignalData *signal_data) +-{ +- g_free (signal_data->rule); +- g_free (signal_data->sender); +- g_free (signal_data->sender_unique_name); +- g_free (signal_data->interface_name); +- g_free (signal_data->member); +- g_free (signal_data->object_path); +- g_free (signal_data->arg0); +- g_ptr_array_unref (signal_data->subscribers); +- g_free (signal_data); +-} +- +-typedef struct +-{ +- /* All fields are immutable after construction. */ +- gatomicrefcount ref_count; +- GDBusSignalCallback callback; +- gpointer user_data; +- GDestroyNotify user_data_free_func; +- guint id; +- GMainContext *context; +-} SignalSubscriber; +- +-static SignalSubscriber * +-signal_subscriber_ref (SignalSubscriber *subscriber) +-{ +- g_atomic_ref_count_inc (&subscriber->ref_count); +- return subscriber; +-} +- +-static void +-signal_subscriber_unref (SignalSubscriber *subscriber) +-{ +- if (g_atomic_ref_count_dec (&subscriber->ref_count)) +- { +- /* Destroy the user data. It doesn’t matter which thread +- * signal_subscriber_unref() is called in (or whether it’s called with a +- * lock held), as call_destroy_notify() always defers to the next +- * #GMainContext iteration. */ +- call_destroy_notify (subscriber->context, +- subscriber->user_data_free_func, +- subscriber->user_data); +- +- g_main_context_unref (subscriber->context); +- g_free (subscriber); +- } +-} +- + static gchar * + args_to_rule (const gchar *sender, + const gchar *interface_name, +@@ -3423,7 +3709,7 @@ remove_match_rule (GDBusConnection *conn + static gboolean + is_signal_data_for_name_lost_or_acquired (SignalData *signal_data) + { +- return g_strcmp0 (signal_data->sender_unique_name, "org.freedesktop.DBus") == 0 && ++ return g_strcmp0 (signal_data->sender, "org.freedesktop.DBus") == 0 && + g_strcmp0 (signal_data->interface_name, "org.freedesktop.DBus") == 0 && + g_strcmp0 (signal_data->object_path, "/org/freedesktop/DBus") == 0 && + (g_strcmp0 (signal_data->member, "NameLost") == 0 || +@@ -3432,6 +3718,43 @@ is_signal_data_for_name_lost_or_acquired + + /* ---------------------------------------------------------------------------------------------------- */ + ++/* called in any thread, connection lock is held */ ++static void ++add_signal_data (GDBusConnection *connection, ++ SignalData *signal_data, ++ const char *sender_unique_name) ++{ ++ GPtrArray *signal_data_array; ++ ++ g_hash_table_insert (connection->map_rule_to_signal_data, ++ signal_data->rule, ++ signal_data); ++ ++ /* Add the match rule to the bus... ++ * ++ * Avoid adding match rules for NameLost and NameAcquired messages - the bus will ++ * always send such messages to us. ++ */ ++ if (connection->flags & G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION) ++ { ++ if (!is_signal_data_for_name_lost_or_acquired (signal_data)) ++ add_match_rule (connection, signal_data->rule); ++ } ++ ++ signal_data_array = g_hash_table_lookup (connection->map_sender_unique_name_to_signal_data_array, ++ sender_unique_name); ++ if (signal_data_array == NULL) ++ { ++ signal_data_array = g_ptr_array_new (); ++ g_hash_table_insert (connection->map_sender_unique_name_to_signal_data_array, ++ g_strdup (sender_unique_name), ++ signal_data_array); ++ } ++ g_ptr_array_add (signal_data_array, signal_data); ++} ++ ++/* ---------------------------------------------------------------------------------------------------- */ ++ + /** + * g_dbus_connection_signal_subscribe: + * @connection: a #GDBusConnection +@@ -3520,8 +3843,9 @@ g_dbus_connection_signal_subscribe (GDBu + { + gchar *rule; + SignalData *signal_data; ++ SignalData *name_watcher = NULL; + SignalSubscriber *subscriber; +- GPtrArray *signal_data_array; ++ gboolean sender_is_its_own_owner; + const gchar *sender_unique_name; + + /* Right now we abort if AddMatch() fails since it can only fail with the bus being in +@@ -3557,6 +3881,11 @@ g_dbus_connection_signal_subscribe (GDBu + rule = args_to_rule (sender, interface_name, member, object_path, arg0, flags); + + if (sender != NULL && (g_dbus_is_unique_name (sender) || g_strcmp0 (sender, "org.freedesktop.DBus") == 0)) ++ sender_is_its_own_owner = TRUE; ++ else ++ sender_is_its_own_owner = FALSE; ++ ++ if (sender_is_its_own_owner) + sender_unique_name = sender; + else + sender_unique_name = ""; +@@ -3578,43 +3907,62 @@ g_dbus_connection_signal_subscribe (GDBu + goto out; + } + +- signal_data = g_new0 (SignalData, 1); +- signal_data->rule = rule; +- signal_data->sender = g_strdup (sender); +- signal_data->sender_unique_name = g_strdup (sender_unique_name); +- signal_data->interface_name = g_strdup (interface_name); +- signal_data->member = g_strdup (member); +- signal_data->object_path = g_strdup (object_path); +- signal_data->arg0 = g_strdup (arg0); +- signal_data->flags = flags; +- signal_data->subscribers = g_ptr_array_new_with_free_func ((GDestroyNotify) signal_subscriber_unref); ++ signal_data = signal_data_new_take (g_steal_pointer (&rule), ++ g_strdup (sender), ++ g_strdup (interface_name), ++ g_strdup (member), ++ g_strdup (object_path), ++ g_strdup (arg0), ++ flags); + g_ptr_array_add (signal_data->subscribers, subscriber); + +- g_hash_table_insert (connection->map_rule_to_signal_data, +- signal_data->rule, +- signal_data); ++ /* If subscribing to a signal from a specific sender with a well-known ++ * name, we must first subscribe to NameOwnerChanged signals for that ++ * well-known name, so that we can match the current owner of the name ++ * against the sender of each signal. */ ++ if (sender != NULL && !sender_is_its_own_owner) ++ { ++ gchar *name_owner_rule = NULL; ++ ++ /* We already checked that sender != NULL implies MESSAGE_BUS_CONNECTION */ ++ g_assert (connection->flags & G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION); ++ ++ name_owner_rule = args_to_rule (DBUS_SERVICE_DBUS, ++ DBUS_INTERFACE_DBUS, ++ "NameOwnerChanged", ++ DBUS_PATH_DBUS, ++ sender, ++ G_DBUS_SIGNAL_FLAGS_NONE); ++ name_watcher = g_hash_table_lookup (connection->map_rule_to_signal_data, name_owner_rule); + +- /* Add the match rule to the bus... +- * +- * Avoid adding match rules for NameLost and NameAcquired messages - the bus will +- * always send such messages to us. +- */ +- if (connection->flags & G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION) +- { +- if (!is_signal_data_for_name_lost_or_acquired (signal_data)) +- add_match_rule (connection, signal_data->rule); +- } ++ if (name_watcher == NULL) ++ { ++ name_watcher = signal_data_new_take (g_steal_pointer (&name_owner_rule), ++ g_strdup (DBUS_SERVICE_DBUS), ++ g_strdup (DBUS_INTERFACE_DBUS), ++ g_strdup ("NameOwnerChanged"), ++ g_strdup (DBUS_PATH_DBUS), ++ g_strdup (sender), ++ G_DBUS_SIGNAL_FLAGS_NONE); ++ add_signal_data (connection, name_watcher, DBUS_SERVICE_DBUS); ++ } + +- signal_data_array = g_hash_table_lookup (connection->map_sender_unique_name_to_signal_data_array, +- signal_data->sender_unique_name); +- if (signal_data_array == NULL) +- { +- signal_data_array = g_ptr_array_new (); +- g_hash_table_insert (connection->map_sender_unique_name_to_signal_data_array, +- g_strdup (signal_data->sender_unique_name), +- signal_data_array); ++ if (name_watcher->watched_name == NULL) ++ { ++ name_watcher->watched_name = watched_name_new (); ++ name_watcher_call_get_name_owner_unlocked (connection, name_watcher); ++ } ++ else ++ { ++ g_ref_count_inc (&name_watcher->watched_name->ref_count); ++ } ++ ++ signal_data->shared_name_watcher = name_watcher; ++ ++ g_clear_pointer (&name_owner_rule, g_free); + } +- g_ptr_array_add (signal_data_array, signal_data); ++ ++ add_signal_data (connection, signal_data, sender_unique_name); + + out: + g_hash_table_insert (connection->map_id_to_signal_data, +@@ -3628,6 +3976,75 @@ g_dbus_connection_signal_subscribe (GDBu + + /* ---------------------------------------------------------------------------------------------------- */ + ++/* ++ * Called in any thread. ++ * Must hold the connection lock when calling this, unless ++ * connection->finalizing is TRUE. ++ * May free signal_data, so do not dereference it after this. ++ */ ++static void ++remove_signal_data_if_unused (GDBusConnection *connection, ++ SignalData *signal_data) ++{ ++ const gchar *sender_unique_name; ++ GPtrArray *signal_data_array; ++ ++ /* Cannot remove while there are still subscribers */ ++ if (signal_data->subscribers->len != 0) ++ return; ++ ++ /* Cannot remove while another SignalData is still using this one ++ * as its shared_name_watcher, which holds watched_name->ref_count > 0 */ ++ if (signal_data->watched_name != NULL) ++ return; ++ ++ /* Point of no return: we have committed to removing it */ ++ ++ if (signal_data->sender != NULL && signal_data->shared_name_watcher == NULL) ++ sender_unique_name = signal_data->sender; ++ else ++ sender_unique_name = ""; ++ ++ g_warn_if_fail (g_hash_table_remove (connection->map_rule_to_signal_data, signal_data->rule)); ++ ++ signal_data_array = g_hash_table_lookup (connection->map_sender_unique_name_to_signal_data_array, ++ sender_unique_name); ++ g_warn_if_fail (signal_data_array != NULL); ++ g_warn_if_fail (g_ptr_array_remove (signal_data_array, signal_data)); ++ ++ if (signal_data_array->len == 0) ++ { ++ g_warn_if_fail (g_hash_table_remove (connection->map_sender_unique_name_to_signal_data_array, ++ sender_unique_name)); ++ } ++ ++ /* remove the match rule from the bus unless NameLost or NameAcquired (see subscribe()) */ ++ if ((connection->flags & G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION) && ++ !is_signal_data_for_name_lost_or_acquired (signal_data) && ++ !g_dbus_connection_is_closed (connection) && ++ !connection->finalizing) ++ { ++ /* The check for g_dbus_connection_is_closed() means that ++ * sending the RemoveMatch message can't fail with ++ * G_IO_ERROR_CLOSED, because we're holding the lock, ++ * so on_worker_closed() can't happen between the check we just ++ * did, and releasing the lock later. ++ */ ++ remove_match_rule (connection, signal_data->rule); ++ } ++ ++ if (signal_data->shared_name_watcher != NULL) ++ { ++ SignalData *name_watcher = g_steal_pointer (&signal_data->shared_name_watcher); ++ ++ name_watcher_unref_watched_name (connection, name_watcher); ++ /* May free signal_data */ ++ remove_signal_data_if_unused (connection, name_watcher); ++ } ++ ++ signal_data_free (signal_data); ++} ++ + /* called in any thread */ + /* must hold lock when calling this (except if connection->finalizing is TRUE) + * returns the number of removed subscribers */ +@@ -3636,7 +4053,6 @@ unsubscribe_id_internal (GDBusConnection + guint subscription_id) + { + SignalData *signal_data; +- GPtrArray *signal_data_array; + guint n; + guint n_removed = 0; + +@@ -3663,40 +4079,8 @@ unsubscribe_id_internal (GDBusConnection + GUINT_TO_POINTER (subscription_id))); + n_removed++; + g_ptr_array_remove_index_fast (signal_data->subscribers, n); +- +- if (signal_data->subscribers->len == 0) +- { +- g_warn_if_fail (g_hash_table_remove (connection->map_rule_to_signal_data, signal_data->rule)); +- +- signal_data_array = g_hash_table_lookup (connection->map_sender_unique_name_to_signal_data_array, +- signal_data->sender_unique_name); +- g_warn_if_fail (signal_data_array != NULL); +- g_warn_if_fail (g_ptr_array_remove (signal_data_array, signal_data)); +- +- if (signal_data_array->len == 0) +- { +- g_warn_if_fail (g_hash_table_remove (connection->map_sender_unique_name_to_signal_data_array, +- signal_data->sender_unique_name)); +- } +- +- /* remove the match rule from the bus unless NameLost or NameAcquired (see subscribe()) */ +- if ((connection->flags & G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION) && +- !is_signal_data_for_name_lost_or_acquired (signal_data) && +- !g_dbus_connection_is_closed (connection) && +- !connection->finalizing) +- { +- /* The check for g_dbus_connection_is_closed() means that +- * sending the RemoveMatch message can't fail with +- * G_IO_ERROR_CLOSED, because we're holding the lock, +- * so on_worker_closed() can't happen between the check we just +- * did, and releasing the lock later. +- */ +- remove_match_rule (connection, signal_data->rule); +- } +- +- signal_data_free (signal_data); +- } +- ++ /* May free signal_data */ ++ remove_signal_data_if_unused (connection, signal_data); + goto out; + } + +@@ -3911,6 +4295,46 @@ schedule_callbacks (GDBusConnection *con + if (signal_data->object_path != NULL && g_strcmp0 (signal_data->object_path, path) != 0) + continue; + ++ if (signal_data->shared_name_watcher != NULL) ++ { ++ /* We want signals from a specified well-known name, which means ++ * the signal's sender needs to be the unique name that currently ++ * owns that well-known name, and we will have found this ++ * SignalData in ++ * connection->map_sender_unique_name_to_signal_data_array[""]. */ ++ const WatchedName *watched_name; ++ const char *current_owner; ++ ++ g_assert (signal_data->sender != NULL); ++ /* Invariant: We never need to watch for the owner of a unique ++ * name, or for the owner of DBUS_SERVICE_DBUS, either of which ++ * is always its own owner */ ++ g_assert (!g_dbus_is_unique_name (signal_data->sender)); ++ g_assert (g_strcmp0 (signal_data->sender, DBUS_SERVICE_DBUS) != 0); ++ ++ watched_name = signal_data->shared_name_watcher->watched_name; ++ g_assert (watched_name != NULL); ++ current_owner = watched_name->owner; ++ ++ /* Skip the signal if the actual sender is not known to own ++ * the required name */ ++ if (current_owner == NULL || g_strcmp0 (current_owner, sender) != 0) ++ continue; ++ } ++ else if (signal_data->sender != NULL) ++ { ++ /* We want signals from a unique name or o.fd.DBus... */ ++ g_assert (g_dbus_is_unique_name (signal_data->sender) ++ || g_str_equal (signal_data->sender, DBUS_SERVICE_DBUS)); ++ ++ /* ... which means we must have found this SignalData in ++ * connection->map_sender_unique_name_to_signal_data_array[signal_data->sender], ++ * therefore we would only have found it if the signal's ++ * actual sender matches the required signal_data->sender */ ++ g_assert (g_strcmp0 (signal_data->sender, sender) == 0); ++ } ++ /* else the sender is unspecified and we will accept anything */ ++ + if (signal_data->arg0 != NULL) + { + if (arg0 == NULL) +@@ -3930,6 +4354,17 @@ schedule_callbacks (GDBusConnection *con + continue; + } + ++ if (signal_data->watched_name != NULL) ++ { ++ /* Invariant: SignalData should only have a watched_name if it ++ * represents the NameOwnerChanged signal */ ++ g_assert (g_strcmp0 (sender, DBUS_SERVICE_DBUS) == 0); ++ g_assert (g_strcmp0 (interface, DBUS_INTERFACE_DBUS) == 0); ++ g_assert (g_strcmp0 (path, DBUS_PATH_DBUS) == 0); ++ g_assert (g_strcmp0 (member, "NameOwnerChanged") == 0); ++ name_watcher_deliver_name_owner_changed_unlocked (signal_data, message); ++ } ++ + for (m = 0; m < signal_data->subscribers->len; m++) + { + SignalSubscriber *subscriber = signal_data->subscribers->pdata[m]; +@@ -3991,7 +4426,7 @@ distribute_signals (GDBusConnection *con + schedule_callbacks (connection, signal_data_array, message, sender); + } + +- /* collect subscribers not matching on sender */ ++ /* collect subscribers not matching on sender, or matching a well-known name */ + signal_data_array = g_hash_table_lookup (connection->map_sender_unique_name_to_signal_data_array, ""); + if (signal_data_array != NULL) + schedule_callbacks (connection, signal_data_array, message, sender); +diff -urpN glib-2.76.2.orig/gio/gdbusmessage.c glib-2.76.2/gio/gdbusmessage.c +--- glib-2.76.2.orig/gio/gdbusmessage.c 2023-04-21 09:46:05.000000000 -0500 ++++ glib-2.76.2/gio/gdbusmessage.c 2024-08-19 14:21:36.927904554 -0500 +@@ -508,6 +508,7 @@ struct _GDBusMessage + guint32 serial; + GHashTable *headers; + GVariant *body; ++ GVariant *arg0_cache; /* (nullable) (owned) */ + #ifdef G_OS_UNIX + GUnixFDList *fd_list; + #endif +@@ -530,6 +531,7 @@ g_dbus_message_finalize (GObject *object + g_hash_table_unref (message->headers); + if (message->body != NULL) + g_variant_unref (message->body); ++ g_clear_pointer (&message->arg0_cache, g_variant_unref); + #ifdef G_OS_UNIX + if (message->fd_list != NULL) + g_object_unref (message->fd_list); +@@ -1168,6 +1170,7 @@ g_dbus_message_set_body (GDBusMessage * + if (body == NULL) + { + message->body = NULL; ++ message->arg0_cache = NULL; + g_dbus_message_set_signature (message, NULL); + } + else +@@ -1178,6 +1181,12 @@ g_dbus_message_set_body (GDBusMessage * + + message->body = g_variant_ref_sink (body); + ++ if (g_variant_is_of_type (message->body, G_VARIANT_TYPE_TUPLE) && ++ g_variant_n_children (message->body) > 0) ++ message->arg0_cache = g_variant_get_child_value (message->body, 0); ++ else ++ message->arg0_cache = NULL; ++ + type_string = g_variant_get_type_string (body); + type_string_len = strlen (type_string); + g_assert (type_string_len >= 2); +@@ -2330,6 +2339,14 @@ g_dbus_message_new_from_blob (guchar + 2, + &local_error); + g_variant_type_free (variant_type); ++ ++ if (message->body != NULL && ++ g_variant_is_of_type (message->body, G_VARIANT_TYPE_TUPLE) && ++ g_variant_n_children (message->body) > 0) ++ message->arg0_cache = g_variant_get_child_value (message->body, 0); ++ else ++ message->arg0_cache = NULL; ++ + if (message->body == NULL) + goto fail; + } +@@ -3369,22 +3386,13 @@ g_dbus_message_set_signature (GDBusMessa + const gchar * + g_dbus_message_get_arg0 (GDBusMessage *message) + { +- const gchar *ret; +- + g_return_val_if_fail (G_IS_DBUS_MESSAGE (message), NULL); + +- ret = NULL; ++ if (message->arg0_cache != NULL && ++ g_variant_is_of_type (message->arg0_cache, G_VARIANT_TYPE_STRING)) ++ return g_variant_get_string (message->arg0_cache, NULL); + +- if (message->body != NULL && g_variant_is_of_type (message->body, G_VARIANT_TYPE_TUPLE)) +- { +- GVariant *item; +- item = g_variant_get_child_value (message->body, 0); +- if (g_variant_is_of_type (item, G_VARIANT_TYPE_STRING)) +- ret = g_variant_get_string (item, NULL); +- g_variant_unref (item); +- } +- +- return ret; ++ return NULL; + } + + /* ---------------------------------------------------------------------------------------------------- */ +@@ -3827,6 +3835,7 @@ g_dbus_message_copy (GDBusMessage *mess + * to just ref (as opposed to deep-copying) the GVariant instances + */ + ret->body = message->body != NULL ? g_variant_ref (message->body) : NULL; ++ ret->arg0_cache = message->arg0_cache != NULL ? g_variant_ref (message->arg0_cache) : NULL; + g_hash_table_iter_init (&iter, message->headers); + while (g_hash_table_iter_next (&iter, &header_key, (gpointer) &header_value)) + g_hash_table_insert (ret->headers, header_key, g_variant_ref (header_value)); +diff -urpN glib-2.76.2.orig/gio/gdbusprivate.h glib-2.76.2/gio/gdbusprivate.h +--- glib-2.76.2.orig/gio/gdbusprivate.h 2023-04-21 09:46:05.000000000 -0500 ++++ glib-2.76.2/gio/gdbusprivate.h 2024-08-19 14:21:47.504744135 -0500 +@@ -27,6 +27,11 @@ + + G_BEGIN_DECLS + ++/* Bus name, interface and object path of the message bus itself */ ++#define DBUS_SERVICE_DBUS "org.freedesktop.DBus" ++#define DBUS_INTERFACE_DBUS DBUS_SERVICE_DBUS ++#define DBUS_PATH_DBUS "/org/freedesktop/DBus" ++ + /* ---------------------------------------------------------------------------------------------------- */ + + typedef struct GDBusWorker GDBusWorker; +diff -urpN glib-2.76.2.orig/gio/tests/gdbus-proxy.c glib-2.76.2/gio/tests/gdbus-proxy.c +--- glib-2.76.2.orig/gio/tests/gdbus-proxy.c 2023-04-21 09:46:05.000000000 -0500 ++++ glib-2.76.2/gio/tests/gdbus-proxy.c 2024-08-19 14:24:58.241195666 -0500 +@@ -780,6 +780,12 @@ kill_test_service (GDBusConnection *conn + while (!name_disappeared) + g_main_context_iteration (NULL, TRUE); + ++ /* GDBusConnection doesn't guarantee that different subscriptions to the ++ * same signal will get their callbacks scheduled in any particular order, ++ * so make sure they have all happened */ ++ while (g_main_context_iteration (NULL, FALSE)) ++ continue; ++ + g_bus_unwatch_name (watch_id); + #else + g_warning ("Can't kill com.example.TestService"); +diff -urpN glib-2.76.2.orig/gio/tests/gdbus-subscribe.c glib-2.76.2/gio/tests/gdbus-subscribe.c +--- glib-2.76.2.orig/gio/tests/gdbus-subscribe.c 1969-12-31 18:00:00.000000000 -0600 ++++ glib-2.76.2/gio/tests/gdbus-subscribe.c 2024-08-19 14:24:56.184495375 -0500 +@@ -0,0 +1,1342 @@ ++/* ++ * Copyright 2024 Collabora Ltd. ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ */ ++ ++#include ++ ++#include "gdbus-tests.h" ++ ++/* From the D-Bus Specification */ ++#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1 ++ ++#define DBUS_SERVICE_DBUS "org.freedesktop.DBus" ++#define DBUS_PATH_DBUS "/org/freedesktop/DBus" ++#define DBUS_INTERFACE_DBUS DBUS_SERVICE_DBUS ++#define NAME_OWNER_CHANGED "NameOwnerChanged" ++ ++/* A signal that each connection emits to indicate that it has finished ++ * emitting other signals */ ++#define FINISHED_PATH "/org/gtk/Test/Finished" ++#define FINISHED_INTERFACE "org.gtk.Test.Finished" ++#define FINISHED_SIGNAL "Finished" ++ ++/* A signal emitted during testing */ ++#define EXAMPLE_PATH "/org/gtk/GDBus/ExampleInterface" ++#define EXAMPLE_INTERFACE "org.gtk.GDBus.ExampleInterface" ++#define FOO_SIGNAL "Foo" ++ ++#define ALREADY_OWNED_NAME "org.gtk.Test.AlreadyOwned" ++#define OWNED_LATER_NAME "org.gtk.Test.OwnedLater" ++ ++/* Log @s in a debug message. */ ++static inline const char * ++nonnull (const char *s, ++ const char *if_null) ++{ ++ return (s == NULL) ? if_null : s; ++} ++ ++typedef enum ++{ ++ TEST_CONN_NONE, ++ TEST_CONN_FIRST, ++ /* A connection that subscribes to signals */ ++ TEST_CONN_SUBSCRIBER = TEST_CONN_FIRST, ++ /* A mockup of a legitimate service */ ++ TEST_CONN_SERVICE, ++ /* A mockup of a second legitimate service */ ++ TEST_CONN_SERVICE2, ++ /* A connection that tries to trick @subscriber into processing its signals ++ * as if they came from @service */ ++ TEST_CONN_ATTACKER, ++ NUM_TEST_CONNS ++} TestConn; ++ ++static const char * const test_conn_descriptions[NUM_TEST_CONNS] = ++{ ++ "(unused)", ++ "subscriber", ++ "service", ++ "service 2", ++ "attacker" ++}; ++ ++typedef enum ++{ ++ SUBSCRIPTION_MODE_CONN, ++ SUBSCRIPTION_MODE_PROXY, ++ SUBSCRIPTION_MODE_PARALLEL ++} SubscriptionMode; ++ ++typedef struct ++{ ++ GDBusProxy *received_by_proxy; ++ TestConn sender; ++ char *path; ++ char *iface; ++ char *member; ++ GVariant *parameters; ++ char *arg0; ++ guint32 step; ++} ReceivedMessage; ++ ++static void ++received_message_free (ReceivedMessage *self) ++{ ++ ++ g_clear_object (&self->received_by_proxy); ++ g_free (self->path); ++ g_free (self->iface); ++ g_free (self->member); ++ g_clear_pointer (&self->parameters, g_variant_unref); ++ g_free (self->arg0); ++ g_free (self); ++} ++ ++typedef struct ++{ ++ TestConn sender; ++ TestConn unicast_to; ++ const char *path; ++ const char *iface; ++ const char *member; ++ const char *arg0; ++ const char *args; ++ guint received_by_conn; ++ guint received_by_proxy; ++} TestEmitSignal; ++ ++typedef struct ++{ ++ const char *string_sender; ++ TestConn unique_sender; ++ const char *path; ++ const char *iface; ++ const char *member; ++ const char *arg0; ++ GDBusSignalFlags flags; ++ gboolean unsubscribe_immediately; ++} TestSubscribe; ++ ++typedef struct ++{ ++ const char *name; ++ TestConn owner; ++ guint received_by_conn; ++ guint received_by_proxy; ++} TestOwnName; ++ ++typedef enum ++{ ++ TEST_ACTION_NONE = 0, ++ TEST_ACTION_SUBSCRIBE, ++ TEST_ACTION_EMIT_SIGNAL, ++ TEST_ACTION_OWN_NAME, ++} TestAction; ++ ++typedef struct ++{ ++ TestAction action; ++ union { ++ TestEmitSignal signal; ++ TestSubscribe subscribe; ++ TestOwnName own_name; ++ guint unsubscribe_undo_step; ++ } u; ++} TestStep; ++ ++/* Arbitrary, extend as necessary to accommodate the longest test */ ++#define MAX_TEST_STEPS 10 ++ ++typedef struct ++{ ++ const char *description; ++ TestStep steps[MAX_TEST_STEPS]; ++} TestPlan; ++ ++static const TestPlan plan_simple = ++{ ++ .description = "A broadcast is only received after subscribing to it", ++ .steps = { ++ { ++ /* We don't receive a signal if we haven't subscribed yet */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 0, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ }, ++ }, ++ { ++ /* Now it works */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 1, ++ /* The proxy can't be used in this case, because it needs ++ * a bus name to subscribe to */ ++ .received_by_proxy = 0 ++ }, ++ }, ++ }, ++}; ++ ++static const TestPlan plan_broadcast_from_anyone = ++{ ++ .description = "A subscription with NULL sender accepts broadcast and unicast", ++ .steps = { ++ { ++ /* Subscriber wants to receive signals from anyone */ ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ }, ++ }, ++ { ++ /* First service sends a broadcast */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 1, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ /* Second service also sends a broadcast */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE2, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 1, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ /* First service sends a unicast signal */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE, ++ .unicast_to = TEST_CONN_SUBSCRIBER, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 1, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ /* Second service also sends a unicast signal */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE2, ++ .unicast_to = TEST_CONN_SUBSCRIBER, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 1, ++ .received_by_proxy = 0 ++ }, ++ }, ++ }, ++}; ++ ++static const TestPlan plan_match_twice = ++{ ++ .description = "A message matching more than one subscription is received " ++ "once per subscription", ++ .steps = { ++ { ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .unique_sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ }, ++ }, ++ { ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .path = EXAMPLE_PATH, ++ }, ++ }, ++ { ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .iface = EXAMPLE_INTERFACE, ++ }, ++ }, ++ { ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .unique_sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ }, ++ }, ++ { ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 4, ++ /* Only the first and last work with GDBusProxy */ ++ .received_by_proxy = 2 ++ }, ++ }, ++ }, ++}; ++ ++static const TestPlan plan_limit_by_unique_name = ++{ ++ .description = "A subscription via a unique name only accepts messages " ++ "sent by that same unique name", ++ .steps = { ++ { ++ /* Subscriber wants to receive signals from service */ ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .unique_sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ }, ++ }, ++ { ++ /* Attacker wants to trick subscriber into thinking that service ++ * sent a signal */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_ATTACKER, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 0, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ /* Attacker tries harder, by sending a signal unicast directly to ++ * the subscriber */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_ATTACKER, ++ .unicast_to = TEST_CONN_SUBSCRIBER, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 0, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ /* When the real service sends a signal, it should still get through */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 1, ++ .received_by_proxy = 1 ++ }, ++ }, ++ }, ++}; ++ ++static const TestPlan plan_nonexistent_unique_name = ++{ ++ .description = "A subscription via a unique name that doesn't exist " ++ "accepts no messages", ++ .steps = { ++ { ++ /* Subscriber wants to receive signals from service */ ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ /* This relies on the implementation detail that the dbus-daemon ++ * (and presumably other bus implementations) never actually generates ++ * a unique name in this format */ ++ .string_sender = ":0.this.had.better.not.exist", ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ }, ++ }, ++ { ++ /* Attacker wants to trick subscriber into thinking that service ++ * sent a signal */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_ATTACKER, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 0, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ /* Attacker tries harder, by sending a signal unicast directly to ++ * the subscriber */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_ATTACKER, ++ .unicast_to = TEST_CONN_SUBSCRIBER, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 0, ++ .received_by_proxy = 0 ++ }, ++ }, ++ }, ++}; ++ ++static const TestPlan plan_limit_by_well_known_name = ++{ ++ .description = "A subscription via a well-known name only accepts messages " ++ "sent by the owner of that well-known name", ++ .steps = { ++ { ++ /* Service already owns one name */ ++ .action = TEST_ACTION_OWN_NAME, ++ .u.own_name = { ++ .name = ALREADY_OWNED_NAME, ++ .owner = TEST_CONN_SERVICE ++ }, ++ }, ++ { ++ /* Subscriber wants to receive signals from service */ ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .string_sender = ALREADY_OWNED_NAME, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ }, ++ }, ++ { ++ /* Subscriber wants to receive signals from service by another name */ ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .string_sender = OWNED_LATER_NAME, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ }, ++ }, ++ { ++ /* Attacker wants to trick subscriber into thinking that service ++ * sent a signal */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_ATTACKER, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 0, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ /* Attacker tries harder, by sending a signal unicast directly to ++ * the subscriber */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_ATTACKER, ++ .unicast_to = TEST_CONN_SUBSCRIBER, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 0, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ /* When the service sends a signal with the name it already owns, ++ * it should get through */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 1, ++ .received_by_proxy = 1 ++ }, ++ }, ++ { ++ /* Service claims another name */ ++ .action = TEST_ACTION_OWN_NAME, ++ .u.own_name = { ++ .name = OWNED_LATER_NAME, ++ .owner = TEST_CONN_SERVICE ++ }, ++ }, ++ { ++ /* Now the subscriber gets this signal twice, once for each ++ * subscription; and similarly each of the two proxies gets this ++ * signal twice */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 2, ++ .received_by_proxy = 2 ++ }, ++ }, ++ }, ++}; ++ ++static const TestPlan plan_unsubscribe_immediately = ++{ ++ .description = "Unsubscribing before GetNameOwner can return doesn't result in a crash", ++ .steps = { ++ { ++ /* Service already owns one name */ ++ .action = TEST_ACTION_OWN_NAME, ++ .u.own_name = { ++ .name = ALREADY_OWNED_NAME, ++ .owner = TEST_CONN_SERVICE ++ }, ++ }, ++ { ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .string_sender = ALREADY_OWNED_NAME, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .unsubscribe_immediately = TRUE ++ }, ++ }, ++ { ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_SERVICE, ++ .path = EXAMPLE_PATH, ++ .iface = EXAMPLE_INTERFACE, ++ .member = FOO_SIGNAL, ++ .received_by_conn = 0, ++ /* The proxy can't unsubscribe, except by destroying the proxy ++ * completely, which we don't currently implement in this test */ ++ .received_by_proxy = 1 ++ }, ++ }, ++ }, ++}; ++ ++static const TestPlan plan_limit_to_message_bus = ++{ ++ .description = "A subscription to the message bus only accepts messages " ++ "from the message bus", ++ .steps = { ++ { ++ /* Subscriber wants to receive signals from the message bus itself */ ++ .action = TEST_ACTION_SUBSCRIBE, ++ .u.subscribe = { ++ .string_sender = DBUS_SERVICE_DBUS, ++ .path = DBUS_PATH_DBUS, ++ .iface = DBUS_INTERFACE_DBUS, ++ }, ++ }, ++ { ++ /* Attacker wants to trick subscriber into thinking that the message ++ * bus sent a signal */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .sender = TEST_CONN_ATTACKER, ++ .path = DBUS_PATH_DBUS, ++ .iface = DBUS_INTERFACE_DBUS, ++ .member = NAME_OWNER_CHANGED, ++ .arg0 = "would I lie to you?", ++ .received_by_conn = 0, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ /* Attacker tries harder, by sending a signal unicast directly to ++ * the subscriber, and using more realistic arguments */ ++ .action = TEST_ACTION_EMIT_SIGNAL, ++ .u.signal = { ++ .unicast_to = TEST_CONN_SUBSCRIBER, ++ .sender = TEST_CONN_ATTACKER, ++ .path = DBUS_PATH_DBUS, ++ .iface = DBUS_INTERFACE_DBUS, ++ .member = NAME_OWNER_CHANGED, ++ .args = "('com.example.Name', '', ':1.12')", ++ .received_by_conn = 0, ++ .received_by_proxy = 0 ++ }, ++ }, ++ { ++ /* When the message bus sends a signal (in this case triggered by ++ * owning a name), it should still get through */ ++ .action = TEST_ACTION_OWN_NAME, ++ .u.own_name = { ++ .name = OWNED_LATER_NAME, ++ .owner = TEST_CONN_SERVICE, ++ .received_by_conn = 1, ++ .received_by_proxy = 1 ++ }, ++ }, ++ }, ++}; ++ ++typedef struct ++{ ++ const TestPlan *plan; ++ SubscriptionMode mode; ++ GError *error; ++ /* (element-type ReceivedMessage) */ ++ GPtrArray *received; ++ /* conns[TEST_CONN_NONE] is unused and remains NULL */ ++ GDBusConnection *conns[NUM_TEST_CONNS]; ++ /* Proxies on conns[TEST_CONN_SUBSCRIBER] */ ++ GPtrArray *proxies; ++ /* unique_names[TEST_CONN_NONE] is unused and remains NULL */ ++ const char *unique_names[NUM_TEST_CONNS]; ++ /* finished[TEST_CONN_NONE] is unused and remains FALSE */ ++ gboolean finished[NUM_TEST_CONNS]; ++ /* Remains 0 for any step that is not a subscription */ ++ guint subscriptions[MAX_TEST_STEPS]; ++ /* Number of times the signal from step n was received */ ++ guint received_by_conn[MAX_TEST_STEPS]; ++ /* Number of times the signal from step n was received */ ++ guint received_by_proxy[MAX_TEST_STEPS]; ++ guint finished_subscription; ++} Fixture; ++ ++/* Wait for asynchronous messages from @conn to have been processed ++ * by the message bus, as a sequence point so that we can make ++ * "happens before" and "happens after" assertions relative to this. ++ * The easiest way to achieve this is to call a message bus method that has ++ * no arguments and wait for it to return: because the message bus processes ++ * messages in-order, anything we sent before this must have been processed ++ * by the time this call arrives. */ ++static void ++connection_wait_for_bus (GDBusConnection *conn) ++{ ++ GError *error = NULL; ++ GVariant *call_result; ++ ++ call_result = g_dbus_connection_call_sync (conn, ++ DBUS_SERVICE_DBUS, ++ DBUS_PATH_DBUS, ++ DBUS_INTERFACE_DBUS, ++ "GetId", ++ NULL, /* arguments */ ++ NULL, /* result type */ ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ &error); ++ g_assert_no_error (error); ++ g_assert_nonnull (call_result); ++ g_variant_unref (call_result); ++} ++ ++/* ++ * Called when the subscriber receives a message from any connection ++ * announcing that it has emitted all the signals that it plans to emit. ++ */ ++static void ++subscriber_finished_cb (GDBusConnection *conn, ++ const char *sender_name, ++ const char *path, ++ const char *iface, ++ const char *member, ++ GVariant *parameters, ++ void *user_data) ++{ ++ Fixture *f = user_data; ++ GDBusConnection *subscriber = f->conns[TEST_CONN_SUBSCRIBER]; ++ guint i; ++ ++ g_assert_true (conn == subscriber); ++ ++ for (i = TEST_CONN_FIRST; i < G_N_ELEMENTS (f->conns); i++) ++ { ++ if (g_str_equal (sender_name, f->unique_names[i])) ++ { ++ g_assert_false (f->finished[i]); ++ f->finished[i] = TRUE; ++ ++ g_test_message ("Received Finished signal from %s %s", ++ test_conn_descriptions[i], sender_name); ++ return; ++ } ++ } ++ ++ g_error ("Received Finished signal from unknown sender %s", sender_name); ++} ++ ++/* ++ * Called when we receive a signal, either via the GDBusProxy (proxy != NULL) ++ * or via the GDBusConnection (proxy == NULL). ++ */ ++static void ++fixture_received_signal (Fixture *f, ++ GDBusProxy *proxy, ++ const char *sender_name, ++ const char *path, ++ const char *iface, ++ const char *member, ++ GVariant *parameters) ++{ ++ guint i; ++ ReceivedMessage *received; ++ ++ /* Ignore the Finished signal if it matches a wildcard subscription */ ++ if (g_str_equal (member, FINISHED_SIGNAL)) ++ return; ++ ++ received = g_new0 (ReceivedMessage, 1); ++ ++ if (proxy != NULL) ++ received->received_by_proxy = g_object_ref (proxy); ++ else ++ received->received_by_proxy = NULL; ++ ++ received->path = g_strdup (path); ++ received->iface = g_strdup (iface); ++ received->member = g_strdup (member); ++ received->parameters = g_variant_ref (parameters); ++ ++ for (i = TEST_CONN_FIRST; i < G_N_ELEMENTS (f->conns); i++) ++ { ++ if (g_str_equal (sender_name, f->unique_names[i])) ++ { ++ received->sender = i; ++ g_assert_false (f->finished[i]); ++ break; ++ } ++ } ++ ++ if (g_str_equal (sender_name, DBUS_SERVICE_DBUS)) ++ { ++ g_test_message ("Signal received from message bus %s", ++ sender_name); ++ } ++ else ++ { ++ g_test_message ("Signal received from %s %s", ++ test_conn_descriptions[received->sender], ++ sender_name); ++ g_assert_cmpint (received->sender, !=, TEST_CONN_NONE); ++ } ++ ++ g_test_message ("Signal received from %s %s via %s", ++ test_conn_descriptions[received->sender], ++ sender_name, ++ proxy != NULL ? "proxy" : "connection"); ++ g_test_message ("\tPath: %s", path); ++ g_test_message ("\tInterface: %s", iface); ++ g_test_message ("\tMember: %s", member); ++ ++ if (g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(su)"))) ++ { ++ g_variant_get (parameters, "(su)", &received->arg0, &received->step); ++ g_test_message ("\tString argument 0: %s", received->arg0); ++ g_test_message ("\tSent in step: %u", received->step); ++ } ++ else if (g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(uu)"))) ++ { ++ g_variant_get (parameters, "(uu)", NULL, &received->step); ++ g_test_message ("\tArgument 0: (not a string)"); ++ g_test_message ("\tSent in step: %u", received->step); ++ } ++ else if (g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sss)"))) ++ { ++ const char *name; ++ const char *old_owner; ++ const char *new_owner; ++ ++ /* The only signal of this signature that we legitimately receive ++ * during this test is NameOwnerChanged, so just assert that it ++ * is from the message bus and can be matched to a plausible step. ++ * (This is less thorough than the above, and will not work if we ++ * add a test scenario where a name's ownership is repeatedly ++ * changed while watching NameOwnerChanged - so don't do that.) */ ++ g_assert_cmpstr (sender_name, ==, DBUS_SERVICE_DBUS); ++ g_assert_cmpstr (path, ==, DBUS_PATH_DBUS); ++ g_assert_cmpstr (iface, ==, DBUS_INTERFACE_DBUS); ++ g_assert_cmpstr (member, ==, NAME_OWNER_CHANGED); ++ ++ g_variant_get (parameters, "(&s&s&s)", &name, &old_owner, &new_owner); ++ ++ for (i = 0; i < G_N_ELEMENTS (f->plan->steps); i++) ++ { ++ const TestStep *step = &f->plan->steps[i]; ++ ++ if (step->action == TEST_ACTION_OWN_NAME) ++ { ++ const TestOwnName *own_name = &step->u.own_name; ++ ++ if (g_str_equal (name, own_name->name) ++ && g_str_equal (new_owner, f->unique_names[own_name->owner]) ++ && own_name->received_by_conn > 0) ++ { ++ received->step = i; ++ break; ++ } ++ } ++ ++ if (i >= G_N_ELEMENTS (f->plan->steps)) ++ g_error ("Could not match message to a test step"); ++ } ++ } ++ else ++ { ++ g_error ("Unexpected message received"); ++ } ++ ++ g_ptr_array_add (f->received, g_steal_pointer (&received)); ++} ++ ++static void ++proxy_signal_cb (GDBusProxy *proxy, ++ const char *sender_name, ++ const char *member, ++ GVariant *parameters, ++ void *user_data) ++{ ++ Fixture *f = user_data; ++ ++ fixture_received_signal (f, proxy, sender_name, ++ g_dbus_proxy_get_object_path (proxy), ++ g_dbus_proxy_get_interface_name (proxy), ++ member, parameters); ++} ++ ++static void ++subscribed_signal_cb (GDBusConnection *conn, ++ const char *sender_name, ++ const char *path, ++ const char *iface, ++ const char *member, ++ GVariant *parameters, ++ void *user_data) ++{ ++ Fixture *f = user_data; ++ GDBusConnection *subscriber = f->conns[TEST_CONN_SUBSCRIBER]; ++ ++ g_assert_true (conn == subscriber); ++ ++ fixture_received_signal (f, NULL, sender_name, path, iface, member, parameters); ++} ++ ++static void ++fixture_subscribe (Fixture *f, ++ const TestSubscribe *subscribe, ++ guint step_number) ++{ ++ GDBusConnection *subscriber = f->conns[TEST_CONN_SUBSCRIBER]; ++ const char *sender; ++ ++ if (subscribe->string_sender != NULL) ++ { ++ sender = subscribe->string_sender; ++ g_test_message ("\tSender: %s", sender); ++ } ++ else if (subscribe->unique_sender != TEST_CONN_NONE) ++ { ++ sender = f->unique_names[subscribe->unique_sender]; ++ g_test_message ("\tSender: %s %s", ++ test_conn_descriptions[subscribe->unique_sender], ++ sender); ++ } ++ else ++ { ++ sender = NULL; ++ g_test_message ("\tSender: (any)"); ++ } ++ ++ g_test_message ("\tPath: %s", nonnull (subscribe->path, "(any)")); ++ g_test_message ("\tInterface: %s", ++ nonnull (subscribe->iface, "(any)")); ++ g_test_message ("\tMember: %s", ++ nonnull (subscribe->member, "(any)")); ++ g_test_message ("\tString argument 0: %s", ++ nonnull (subscribe->arg0, "(any)")); ++ g_test_message ("\tFlags: %x", subscribe->flags); ++ ++ if (f->mode != SUBSCRIPTION_MODE_PROXY) ++ { ++ /* CONN or PARALLEL */ ++ guint id; ++ ++ g_test_message ("\tSubscribing via connection"); ++ id = g_dbus_connection_signal_subscribe (subscriber, ++ sender, ++ subscribe->iface, ++ subscribe->member, ++ subscribe->path, ++ subscribe->arg0, ++ subscribe->flags, ++ subscribed_signal_cb, ++ f, NULL); ++ ++ g_assert_cmpuint (id, !=, 0); ++ ++ if (subscribe->unsubscribe_immediately) ++ { ++ g_test_message ("\tImmediately unsubscribing"); ++ g_dbus_connection_signal_unsubscribe (subscriber, id); ++ } ++ else ++ { ++ f->subscriptions[step_number] = id; ++ } ++ } ++ ++ if (f->mode != SUBSCRIPTION_MODE_CONN) ++ { ++ /* PROXY or PARALLEL */ ++ ++ if (sender == NULL) ++ { ++ g_test_message ("\tCannot subscribe via proxy: no bus name"); ++ } ++ else if (subscribe->path == NULL) ++ { ++ g_test_message ("\tCannot subscribe via proxy: no path"); ++ } ++ else if (subscribe->iface == NULL) ++ { ++ g_test_message ("\tCannot subscribe via proxy: no interface"); ++ } ++ else ++ { ++ GDBusProxy *proxy; ++ ++ g_test_message ("\tSubscribing via proxy"); ++ proxy = g_dbus_proxy_new_sync (subscriber, ++ (G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES ++ | G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START), ++ NULL, /* GDBusInterfaceInfo */ ++ sender, ++ subscribe->path, ++ subscribe->iface, ++ NULL, /* GCancellable */ ++ &f->error); ++ g_assert_no_error (f->error); ++ g_assert_nonnull (proxy); ++ g_signal_connect (proxy, "g-signal", G_CALLBACK (proxy_signal_cb), f); ++ g_ptr_array_add (f->proxies, g_steal_pointer (&proxy)); ++ } ++ } ++ ++ /* As in setup(), we need to wait for AddMatch to happen. */ ++ g_test_message ("Waiting for AddMatch to be processed"); ++ connection_wait_for_bus (subscriber); ++} ++ ++static void ++fixture_emit_signal (Fixture *f, ++ const TestEmitSignal *signal, ++ guint step_number) ++{ ++ GVariant *body; ++ const char *destination; ++ gboolean ok; ++ ++ g_test_message ("\tSender: %s", ++ test_conn_descriptions[signal->sender]); ++ ++ if (signal->unicast_to != TEST_CONN_NONE) ++ { ++ destination = f->unique_names[signal->unicast_to]; ++ g_test_message ("\tDestination: %s %s", ++ test_conn_descriptions[signal->unicast_to], ++ destination); ++ } ++ else ++ { ++ destination = NULL; ++ g_test_message ("\tDestination: (broadcast)"); ++ } ++ ++ g_assert_nonnull (signal->path); ++ g_test_message ("\tPath: %s", signal->path); ++ g_assert_nonnull (signal->iface); ++ g_test_message ("\tInterface: %s", signal->iface); ++ g_assert_nonnull (signal->member); ++ g_test_message ("\tMember: %s", signal->member); ++ ++ /* If arg0 is non-NULL, put it in the message's argument 0. ++ * Otherwise put something that will not match any arg0. ++ * Either way, put the sequence number in argument 1 so we can ++ * correlate sent messages with received messages later. */ ++ if (signal->args != NULL) ++ { ++ /* floating */ ++ body = g_variant_new_parsed (signal->args); ++ g_assert_nonnull (body); ++ } ++ else if (signal->arg0 != NULL) ++ { ++ g_test_message ("\tString argument 0: %s", signal->arg0); ++ body = g_variant_new ("(su)", signal->arg0, (guint32) step_number); ++ } ++ else ++ { ++ g_test_message ("\tArgument 0: (not a string)"); ++ body = g_variant_new ("(uu)", (guint32) 0, (guint32) step_number); ++ } ++ ++ ok = g_dbus_connection_emit_signal (f->conns[signal->sender], ++ destination, ++ signal->path, ++ signal->iface, ++ signal->member, ++ /* steals floating reference */ ++ g_steal_pointer (&body), ++ &f->error); ++ g_assert_no_error (f->error); ++ g_assert_true (ok); ++ ++ /* Emitting the signal is asynchronous, so if we want subsequent steps ++ * to be guaranteed to happen after the signal from the message bus's ++ * perspective, we have to do a round-trip to the message bus to sync up. */ ++ g_test_message ("Waiting for signal to reach message bus"); ++ connection_wait_for_bus (f->conns[signal->sender]); ++} ++ ++static void ++fixture_own_name (Fixture *f, ++ const TestOwnName *own_name) ++{ ++ GVariant *call_result; ++ guint32 flags; ++ guint32 result_code; ++ ++ g_test_message ("\tName: %s", own_name->name); ++ g_test_message ("\tOwner: %s", ++ test_conn_descriptions[own_name->owner]); ++ ++ /* For simplicity, we do this via a direct bus call rather than ++ * using g_bus_own_name_on_connection(). The flags in ++ * GBusNameOwnerFlags are numerically equal to those in the ++ * D-Bus wire protocol. */ ++ flags = G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE; ++ call_result = g_dbus_connection_call_sync (f->conns[own_name->owner], ++ DBUS_SERVICE_DBUS, ++ DBUS_PATH_DBUS, ++ DBUS_INTERFACE_DBUS, ++ "RequestName", ++ g_variant_new ("(su)", ++ own_name->name, ++ flags), ++ G_VARIANT_TYPE ("(u)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ NULL, ++ &f->error); ++ g_assert_no_error (f->error); ++ g_assert_nonnull (call_result); ++ g_variant_get (call_result, "(u)", &result_code); ++ g_assert_cmpuint (result_code, ==, DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER); ++ g_variant_unref (call_result); ++} ++ ++static void ++fixture_run_plan (Fixture *f, ++ const TestPlan *plan, ++ SubscriptionMode mode) ++{ ++ guint i; ++ ++ G_STATIC_ASSERT (G_N_ELEMENTS (plan->steps) == G_N_ELEMENTS (f->subscriptions)); ++ G_STATIC_ASSERT (G_N_ELEMENTS (plan->steps) == G_N_ELEMENTS (f->received_by_conn)); ++ G_STATIC_ASSERT (G_N_ELEMENTS (plan->steps) == G_N_ELEMENTS (f->received_by_proxy)); ++ ++ f->mode = mode; ++ f->plan = plan; ++ ++ g_test_summary (plan->description); ++ ++ for (i = 0; i < G_N_ELEMENTS (plan->steps); i++) ++ { ++ const TestStep *step = &plan->steps[i]; ++ ++ switch (step->action) ++ { ++ case TEST_ACTION_SUBSCRIBE: ++ g_test_message ("Step %u: adding subscription", i); ++ fixture_subscribe (f, &step->u.subscribe, i); ++ break; ++ ++ case TEST_ACTION_EMIT_SIGNAL: ++ g_test_message ("Step %u: emitting signal", i); ++ fixture_emit_signal (f, &step->u.signal, i); ++ break; ++ ++ case TEST_ACTION_OWN_NAME: ++ g_test_message ("Step %u: claiming bus name", i); ++ fixture_own_name (f, &step->u.own_name); ++ break; ++ ++ case TEST_ACTION_NONE: ++ /* Padding to fill the rest of the array, do nothing */ ++ break; ++ ++ default: ++ g_return_if_reached (); ++ } ++ } ++ ++ /* Now that we have done everything we wanted to do, emit Finished ++ * from each connection. */ ++ for (i = TEST_CONN_FIRST; i < G_N_ELEMENTS (f->conns); i++) ++ { ++ gboolean ok; ++ ++ ok = g_dbus_connection_emit_signal (f->conns[i], ++ NULL, ++ FINISHED_PATH, ++ FINISHED_INTERFACE, ++ FINISHED_SIGNAL, ++ NULL, ++ &f->error); ++ g_assert_no_error (f->error); ++ g_assert_true (ok); ++ } ++ ++ /* Wait until we have seen the Finished signal from each sender */ ++ while (TRUE) ++ { ++ gboolean all_finished = TRUE; ++ ++ for (i = TEST_CONN_FIRST; i < G_N_ELEMENTS (f->conns); i++) ++ all_finished = all_finished && f->finished[i]; ++ ++ if (all_finished) ++ break; ++ ++ g_main_context_iteration (NULL, TRUE); ++ } ++ ++ /* Assert that the correct things happened before each Finished signal */ ++ for (i = 0; i < f->received->len; i++) ++ { ++ const ReceivedMessage *received = g_ptr_array_index (f->received, i); ++ ++ g_assert_cmpuint (received->step, <, G_N_ELEMENTS (f->received_by_conn)); ++ g_assert_cmpuint (received->step, <, G_N_ELEMENTS (f->received_by_proxy)); ++ ++ if (received->received_by_proxy != NULL) ++ f->received_by_proxy[received->step] += 1; ++ else ++ f->received_by_conn[received->step] += 1; ++ } ++ ++ for (i = 0; i < G_N_ELEMENTS (plan->steps); i++) ++ { ++ const TestStep *step = &plan->steps[i]; ++ ++ if (step->action == TEST_ACTION_EMIT_SIGNAL) ++ { ++ const TestEmitSignal *signal = &plan->steps[i].u.signal; ++ ++ if (mode != SUBSCRIPTION_MODE_PROXY) ++ { ++ g_test_message ("Signal from step %u was received %u times by " ++ "GDBusConnection, expected %u", ++ i, f->received_by_conn[i], signal->received_by_conn); ++ g_assert_cmpuint (f->received_by_conn[i], ==, signal->received_by_conn); ++ } ++ else ++ { ++ g_assert_cmpuint (f->received_by_conn[i], ==, 0); ++ } ++ ++ if (mode != SUBSCRIPTION_MODE_CONN) ++ { ++ g_test_message ("Signal from step %u was received %u times by " ++ "GDBusProxy, expected %u", ++ i, f->received_by_proxy[i], signal->received_by_proxy); ++ g_assert_cmpuint (f->received_by_proxy[i], ==, signal->received_by_proxy); ++ } ++ else ++ { ++ g_assert_cmpuint (f->received_by_proxy[i], ==, 0); ++ } ++ } ++ else if (step->action == TEST_ACTION_OWN_NAME) ++ { ++ const TestOwnName *own_name = &plan->steps[i].u.own_name; ++ ++ if (mode != SUBSCRIPTION_MODE_PROXY) ++ { ++ g_test_message ("NameOwnerChanged from step %u was received %u " ++ "times by GDBusConnection, expected %u", ++ i, f->received_by_conn[i], own_name->received_by_conn); ++ g_assert_cmpuint (f->received_by_conn[i], ==, own_name->received_by_conn); ++ } ++ else ++ { ++ g_assert_cmpuint (f->received_by_conn[i], ==, 0); ++ } ++ ++ if (mode != SUBSCRIPTION_MODE_CONN) ++ { ++ g_test_message ("NameOwnerChanged from step %u was received %u " ++ "times by GDBusProxy, expected %u", ++ i, f->received_by_proxy[i], own_name->received_by_proxy); ++ g_assert_cmpuint (f->received_by_proxy[i], ==, own_name->received_by_proxy); ++ } ++ else ++ { ++ g_assert_cmpuint (f->received_by_proxy[i], ==, 0); ++ } ++ } ++ } ++} ++ ++static void ++setup (Fixture *f, ++ G_GNUC_UNUSED const void *context) ++{ ++ GDBusConnection *subscriber; ++ guint i; ++ ++ session_bus_up (); ++ ++ f->proxies = g_ptr_array_new_full (MAX_TEST_STEPS, g_object_unref); ++ f->received = g_ptr_array_new_full (MAX_TEST_STEPS, ++ (GDestroyNotify) received_message_free); ++ ++ for (i = TEST_CONN_FIRST; i < G_N_ELEMENTS (f->conns); i++) ++ { ++ f->conns[i] = _g_bus_get_priv (G_BUS_TYPE_SESSION, NULL, &f->error); ++ g_assert_no_error (f->error); ++ g_assert_nonnull (f->conns[i]); ++ ++ f->unique_names[i] = g_dbus_connection_get_unique_name (f->conns[i]); ++ g_assert_nonnull (f->unique_names[i]); ++ g_test_message ("%s is %s", ++ test_conn_descriptions[i], ++ f->unique_names[i]); ++ } ++ ++ subscriber = f->conns[TEST_CONN_SUBSCRIBER]; ++ ++ /* Used to wait for all connections to finish sending whatever they ++ * wanted to send */ ++ f->finished_subscription = g_dbus_connection_signal_subscribe (subscriber, ++ NULL, ++ FINISHED_INTERFACE, ++ FINISHED_SIGNAL, ++ FINISHED_PATH, ++ NULL, ++ G_DBUS_SIGNAL_FLAGS_NONE, ++ subscriber_finished_cb, ++ f, NULL); ++ /* AddMatch is sent asynchronously, so we don't know how ++ * soon it will be processed. Before emitting signals, we ++ * need to wait for the message bus to get as far as processing ++ * AddMatch. */ ++ g_test_message ("Waiting for AddMatch to be processed"); ++ connection_wait_for_bus (subscriber); ++} ++ ++static void ++test_conn_subscribe (Fixture *f, ++ const void *context) ++{ ++ fixture_run_plan (f, context, SUBSCRIPTION_MODE_CONN); ++} ++ ++static void ++test_proxy_subscribe (Fixture *f, ++ const void *context) ++{ ++ fixture_run_plan (f, context, SUBSCRIPTION_MODE_PROXY); ++} ++ ++static void ++test_parallel_subscribe (Fixture *f, ++ const void *context) ++{ ++ fixture_run_plan (f, context, SUBSCRIPTION_MODE_PARALLEL); ++} ++ ++static void ++teardown (Fixture *f, ++ G_GNUC_UNUSED const void *context) ++{ ++ GDBusConnection *subscriber = f->conns[TEST_CONN_SUBSCRIBER]; ++ guint i; ++ ++ g_ptr_array_unref (f->proxies); ++ ++ if (f->finished_subscription != 0) ++ g_dbus_connection_signal_unsubscribe (subscriber, f->finished_subscription); ++ ++ for (i = 0; i < G_N_ELEMENTS (f->subscriptions); i++) ++ { ++ if (f->subscriptions[i] != 0) ++ g_dbus_connection_signal_unsubscribe (subscriber, f->subscriptions[i]); ++ } ++ ++ g_ptr_array_unref (f->received); ++ ++ for (i = TEST_CONN_FIRST; i < G_N_ELEMENTS (f->conns); i++) ++ g_clear_object (&f->conns[i]); ++ ++ g_clear_error (&f->error); ++ ++ session_bus_down (); ++} ++ ++int ++main (int argc, ++ char *argv[]) ++{ ++ g_test_init (&argc, &argv, G_TEST_OPTION_ISOLATE_DIRS, NULL); ++ ++ g_test_dbus_unset (); ++ ++#define ADD_SUBSCRIBE_TEST(name) \ ++ do { \ ++ g_test_add ("/gdbus/subscribe/conn/" #name, \ ++ Fixture, &plan_ ## name, \ ++ setup, test_conn_subscribe, teardown); \ ++ g_test_add ("/gdbus/subscribe/proxy/" #name, \ ++ Fixture, &plan_ ## name, \ ++ setup, test_proxy_subscribe, teardown); \ ++ g_test_add ("/gdbus/subscribe/parallel/" #name, \ ++ Fixture, &plan_ ## name, \ ++ setup, test_parallel_subscribe, teardown); \ ++ } while (0) ++ ++ ADD_SUBSCRIBE_TEST (simple); ++ ADD_SUBSCRIBE_TEST (broadcast_from_anyone); ++ ADD_SUBSCRIBE_TEST (match_twice); ++ ADD_SUBSCRIBE_TEST (limit_by_unique_name); ++ ADD_SUBSCRIBE_TEST (nonexistent_unique_name); ++ ADD_SUBSCRIBE_TEST (limit_by_well_known_name); ++ ADD_SUBSCRIBE_TEST (limit_to_message_bus); ++ ADD_SUBSCRIBE_TEST (unsubscribe_immediately); ++ ++ return g_test_run(); ++} +diff -urpN glib-2.76.2.orig/gio/tests/meson.build glib-2.76.2/gio/tests/meson.build +--- glib-2.76.2.orig/gio/tests/meson.build 2023-04-21 09:46:05.000000000 -0500 ++++ glib-2.76.2/gio/tests/meson.build 2024-08-19 14:21:39.927953601 -0500 +@@ -455,6 +455,10 @@ if host_machine.system() != 'windows' + 'extra_sources' : extra_sources, + 'extra_programs': extra_programs, + }, ++ 'gdbus-subscribe' : { ++ 'extra_sources' : extra_sources, ++ 'extra_programs': extra_programs, ++ }, + 'gdbus-test-codegen' : { + 'extra_sources' : [extra_sources, gdbus_test_codegen_generated, gdbus_test_codegen_generated_interface_info], + 'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32'], +diff -urpN glib-2.76.2.orig/gio/tests/org.gtk.test.gschema.override.orig glib-2.76.2/gio/tests/org.gtk.test.gschema.override.orig +--- glib-2.76.2.orig/gio/tests/org.gtk.test.gschema.override.orig 2023-04-21 09:46:05.000000000 -0500 ++++ glib-2.76.2/gio/tests/org.gtk.test.gschema.override.orig 1969-12-31 18:00:00.000000000 -0600 +@@ -1,2 +0,0 @@ +-[org.gtk.test.per-desktop:GNOME-Classic] +-desktop = "GNOME Classic" +diff -urpN glib-2.76.2.orig/gio/tests/org.gtk.test.gschema.xml.orig glib-2.76.2/gio/tests/org.gtk.test.gschema.xml.orig +--- glib-2.76.2.orig/gio/tests/org.gtk.test.gschema.xml.orig 2023-04-21 09:46:05.000000000 -0500 ++++ glib-2.76.2/gio/tests/org.gtk.test.gschema.xml.orig 1969-12-31 18:00:00.000000000 -0600 +@@ -1,222 +0,0 @@ +- +- +- +- +- "Hello, earthlings" +- A greeting +- +- Greeting of the invading martians +- +- +- +- "So long" +- +- +- +- +- +- +- +- +- +- true +- +- +- +- +- +- true +- +- +- 25 +- +- +- -1234 +- +- +- 1234 +- +- +- -123456 +- +- +- 123456 +- +- +- -123456789 +- +- +- 123456789 +- +- +- 123.456 +- +- +- "a string, it seems" +- +- +- "/a/object/path" +- +- +- +- +- +- ("one",(2,3)) +- +- +- [0,1,2,3,4,5] +- +- +- +- { +- "AC": [0,0, 0,0,0,0,0,0], +- "IV": [0,0, 0,0,0,0,0,0] +- } +- +- +- +- +- +- +- "Unnamed" +- +- +- "BackSpace" +- +- +- +- +- +- false +- +- +- false +- +- +- 0 +- +- +- 0 +- +- +- 0 +- +- +- 0 +- +- +- 0 +- +- +- 0 +- +- +- 0 +- +- +- 0 +- +- +- "" +- +- +- [48, 49] +- +- +- [] +- +- +- 'foo' +- +- +- ['mourning', 'laughing'] +- +- +- 33 +- +- +- +- +- +- +- 'bar' +- +- +- +- +- +- [] +- +- +- +- +- +- +- +- +- [] +- +- +- 'bar' +- +- +- +- +- +- 33 +- +- +- +- +- +- +- 33 +- +- +- +- +- +- 0 +- +- +- +- +- +- +- a paragraph. +- +- with some whitespace. +- +- because not everyone has a great editor. +- +- +- +- +- lots of space is as one. +- +- 0 +- +- +- +- +- +- 0 +- +- +- '' +- +- +- +- 42 +- +- 0 +- +- +- +- +- +- "GNOME" +- +- +- +- diff --git a/glib2-bgo569829-gettext-gkeyfile.patch b/glib2-bgo569829-gettext-gkeyfile.patch new file mode 100644 index 0000000..f9b6ad6 --- /dev/null +++ b/glib2-bgo569829-gettext-gkeyfile.patch @@ -0,0 +1,142 @@ +Index: glib-2.75.4/glib/gkeyfile.c +=================================================================== +--- glib-2.75.4.orig/glib/gkeyfile.c ++++ glib-2.75.4/glib/gkeyfile.c +@@ -519,6 +519,7 @@ struct _GKeyFile + + gboolean checked_locales; /* TRUE if @locales has been initialised */ + gchar **locales; /* (nullable) */ ++ gchar *gettext_domain; + + gint ref_count; /* (atomic) */ + }; +@@ -645,6 +646,7 @@ g_key_file_init (GKeyFile *key_file) + key_file->parse_buffer = NULL; + key_file->list_separator = ';'; + key_file->flags = 0; ++ key_file->gettext_domain = NULL; + } + + static void +@@ -665,6 +667,12 @@ g_key_file_clear (GKeyFile *key_file) + key_file->parse_buffer = NULL; + } + ++ if (key_file->gettext_domain) ++ { ++ g_free (key_file->gettext_domain); ++ key_file->gettext_domain = NULL; ++ } ++ + tmp = key_file->groups; + while (tmp != NULL) + { +@@ -885,6 +893,11 @@ g_key_file_load_from_fd (GKeyFile + return FALSE; + } + ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, ++ NULL); ++ + return TRUE; + } + +@@ -997,6 +1010,11 @@ g_key_file_load_from_data (GKeyFile + return FALSE; + } + ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, ++ NULL); ++ + return TRUE; + } + +@@ -2246,6 +2264,8 @@ g_key_file_get_locale_string (GKeyFile + GError *key_file_error; + gchar **languages; + gboolean free_languages = FALSE; ++ gboolean try_gettext = FALSE; ++ const gchar *msg_locale; + gint i; + + g_return_val_if_fail (key_file != NULL, NULL); +@@ -2267,6 +2287,23 @@ g_key_file_get_locale_string (GKeyFile + free_languages = FALSE; + } + ++ /* we're only interested in gettext translation if we don't have a ++ * translation in the .desktop file itself and if the key is one of the keys ++ * we know we want to translate: Name, GenericName, Comment. Blindly doing ++ * this for all keys can give strange result for the icons, since the Icon is ++ * a locale string in the spec, eg. We also only get translation in the mo ++ * file if the requested locale is the LC_MESSAGES one. Ideally, we should do ++ * more and change LC_MESSAGES to use the requested locale, but there's no ++ * guarantee it's installed on the system and it might have some ++ * side-effects. Since this is a corner case, let's ignore it. */ ++ ++ msg_locale = setlocale (LC_MESSAGES, NULL); ++ try_gettext = msg_locale && key_file->gettext_domain && ++ strcmp (group_name, G_KEY_FILE_DESKTOP_GROUP) == 0 && ++ (strcmp (key, G_KEY_FILE_DESKTOP_KEY_NAME) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_COMMENT) == 0); ++ + for (i = 0; languages[i]; i++) + { + candidate_key = g_strdup_printf ("%s[%s]", key, languages[i]); +@@ -2280,6 +2317,39 @@ g_key_file_get_locale_string (GKeyFile + break; + } + ++ /* Fallback to gettext */ ++ if (try_gettext && !translated_value) ++ { ++ gchar *orig_value = g_key_file_get_string (key_file, group_name, key, NULL); ++ ++ if (orig_value) ++ { ++ gboolean codeset_set; ++ const gchar *translated; ++ gboolean has_gettext; ++ ++ codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL; ++ translated = NULL; ++ ++ translated = g_dgettext (key_file->gettext_domain, ++ orig_value); ++ has_gettext = translated != orig_value; ++ ++ g_free (orig_value); ++ ++ if (has_gettext) ++ { ++ if (codeset_set) ++ translated_value = g_strdup (translated); ++ else ++ translated_value = g_locale_to_utf8 (translated, ++ -1, NULL, NULL, NULL); ++ } ++ else ++ translated_value = NULL; ++ } ++ } ++ + /* Fallback to untranslated key + */ + if (!translated_value) +Index: glib-2.75.4/glib/gkeyfile.h +=================================================================== +--- glib-2.75.4.orig/glib/gkeyfile.h ++++ glib-2.75.4/glib/gkeyfile.h +@@ -322,6 +322,7 @@ gboolean g_key_file_remove_group + #define G_KEY_FILE_DESKTOP_KEY_URL "URL" + #define G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE "DBusActivatable" + #define G_KEY_FILE_DESKTOP_KEY_ACTIONS "Actions" ++#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-GNOME-Gettext-Domain" + + #define G_KEY_FILE_DESKTOP_TYPE_APPLICATION "Application" + #define G_KEY_FILE_DESKTOP_TYPE_LINK "Link" diff --git a/glib2-fate300461-gettext-gkeyfile-suse.patch b/glib2-fate300461-gettext-gkeyfile-suse.patch new file mode 100644 index 0000000..af04afe --- /dev/null +++ b/glib2-fate300461-gettext-gkeyfile-suse.patch @@ -0,0 +1,171 @@ +Index: glib-2.75.4/glib/gkeyfile.c +=================================================================== +--- glib-2.75.4.orig/glib/gkeyfile.c ++++ glib-2.75.4/glib/gkeyfile.c +@@ -520,6 +520,7 @@ struct _GKeyFile + gboolean checked_locales; /* TRUE if @locales has been initialised */ + gchar **locales; /* (nullable) */ + gchar *gettext_domain; ++ gchar *file_basename; + + gint ref_count; /* (atomic) */ + }; +@@ -647,6 +648,7 @@ g_key_file_init (GKeyFile *key_file) + key_file->list_separator = ';'; + key_file->flags = 0; + key_file->gettext_domain = NULL; ++ key_file->file_basename = NULL; + } + + static void +@@ -673,6 +675,12 @@ g_key_file_clear (GKeyFile *key_file) + key_file->gettext_domain = NULL; + } + ++ if (key_file->file_basename) ++ { ++ g_free (key_file->file_basename); ++ key_file->file_basename = NULL; ++ } ++ + tmp = key_file->groups; + while (tmp != NULL) + { +@@ -817,6 +825,39 @@ find_file_in_data_dirs (const gchar *f + return fd; + } + ++static int _g_key_file_default_textdomain_codeset_bound = 0; ++#define _G_KEY_FILE_DEFAULT_DOMAIN "desktop_translations" ++ ++static char * ++_g_key_file_get_default_gettext_domain (void) ++{ ++ if (!_g_key_file_default_textdomain_codeset_bound) ++ { ++ const char *codeset; ++ ++ _g_key_file_default_textdomain_codeset_bound = 1; ++ ++ codeset = bind_textdomain_codeset (_G_KEY_FILE_DEFAULT_DOMAIN, "UTF-8"); ++ ++ if (codeset) ++ _g_key_file_default_textdomain_codeset_bound |= 1 << 1; ++ } ++ ++ return g_strdup (_G_KEY_FILE_DEFAULT_DOMAIN); ++} ++ ++static inline gboolean ++_g_key_file_is_default_gettext_domain (const char *domain) ++{ ++ return (domain && strcmp (domain, _G_KEY_FILE_DEFAULT_DOMAIN) == 0); ++} ++ ++static inline gboolean ++_g_key_file_default_gettext_domain_is_bound (void) ++{ ++ return _g_key_file_default_textdomain_codeset_bound & (1 << 1); ++} ++ + static gboolean + g_key_file_load_from_fd (GKeyFile *key_file, + gint fd, +@@ -898,6 +939,9 @@ g_key_file_load_from_fd (GKeyFile + G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, + NULL); + ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = _g_key_file_get_default_gettext_domain (); ++ + return TRUE; + } + +@@ -954,6 +998,8 @@ g_key_file_load_from_file (GKeyFile + return FALSE; + } + ++ key_file->file_basename = g_path_get_basename (file); ++ + return TRUE; + } + +@@ -1015,6 +1061,9 @@ g_key_file_load_from_data (GKeyFile + G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, + NULL); + ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = _g_key_file_get_default_gettext_domain (); ++ + return TRUE; + } + +@@ -1119,6 +1168,9 @@ g_key_file_load_from_dirs (GKeyFile + } + } + ++ if (found_file) ++ key_file->file_basename = g_path_get_basename (output_path); ++ + if (found_file && full_path) + *full_path = output_path; + else +@@ -2326,14 +2378,40 @@ g_key_file_get_locale_string (GKeyFile + { + gboolean codeset_set; + const gchar *translated; +- gboolean has_gettext; ++ gboolean has_gettext = FALSE; + +- codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL; ++ if (_g_key_file_is_default_gettext_domain (key_file->gettext_domain)) ++ codeset_set = _g_key_file_default_gettext_domain_is_bound (); ++ else ++ codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL; + translated = NULL; + +- translated = g_dgettext (key_file->gettext_domain, +- orig_value); +- has_gettext = translated != orig_value; ++ /* first try to translate with the context */ ++ if (key_file->file_basename) ++ { ++ gchar *context; ++ gchar *context_value; ++ ++ context = g_strdup_printf ("%s(%s)", key, ++ key_file->file_basename); ++ context_value = g_strdup_printf ("%s%s%s", ++ context, ": ", orig_value); ++ ++ translated = g_dgettext (key_file->gettext_domain, ++ context_value); ++ has_gettext = translated != context_value; ++ ++ g_free (context_value); ++ g_free (context); ++ } ++ ++ /* no translation with the context: try without context */ ++ if (!has_gettext) ++ { ++ translated = g_dgettext (key_file->gettext_domain, ++ orig_value); ++ has_gettext = translated != orig_value; ++ } + + g_free (orig_value); + +Index: glib-2.75.4/glib/gkeyfile.h +=================================================================== +--- glib-2.75.4.orig/glib/gkeyfile.h ++++ glib-2.75.4/glib/gkeyfile.h +@@ -322,7 +322,7 @@ gboolean g_key_file_remove_group + #define G_KEY_FILE_DESKTOP_KEY_URL "URL" + #define G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE "DBusActivatable" + #define G_KEY_FILE_DESKTOP_KEY_ACTIONS "Actions" +-#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-GNOME-Gettext-Domain" ++#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-SUSE-Gettext-Domain" + + #define G_KEY_FILE_DESKTOP_TYPE_APPLICATION "Application" + #define G_KEY_FILE_DESKTOP_TYPE_LINK "Link" diff --git a/glib2-fix-ibus-regression.patch b/glib2-fix-ibus-regression.patch new file mode 100644 index 0000000..e197972 --- /dev/null +++ b/glib2-fix-ibus-regression.patch @@ -0,0 +1,59 @@ +From 7d65f6c5a20f67aa9a857d0f7b0bf5de4d75be9b Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Wed, 8 May 2024 14:46:08 +0000 +Subject: [PATCH] gdbusconnection: Allow name owners to have the syntax of a + well-known name + +In a D-Bus-Specification-compliant message bus, the owner of a well-known +name is a unique name. However, ibus has its own small implementation +of a message bus (src/ibusbus.c) in which org.freedesktop.IBus is +special-cased to also have itself as its owner (like org.freedesktop.DBus +on a standard message bus), and connects to that bus with the +G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION flag. The ability to do +this regressed when CVE-2024-34397 was fixed. + +Relax the checks to allow the owner of a well-known name to be any valid +D-Bus name, even if it is not syntactically a unique name. + +Fixes: 683b14b9 "gdbus: Track name owners for signal subscriptions" +Resolves: https://gitlab.gnome.org/GNOME/glib/-/issues/3353 +Bug-Debian: https://bugs.debian.org/1070730 +Bug-Debian: https://bugs.debian.org/1070736 +Bug-Debian: https://bugs.debian.org/1070743 +Bug-Debian: https://bugs.debian.org/1070745 +Signed-off-by: Simon McVittie +--- + gio/gdbusconnection.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c +index ee994cecc..72e58fd77 100644 +--- a/gio/gdbusconnection.c ++++ b/gio/gdbusconnection.c +@@ -2380,7 +2380,10 @@ name_watcher_deliver_name_owner_changed_unlocked (SignalData *name_watcher, + /* Our caller already checked this */ + g_assert (g_strcmp0 (name_watcher->arg0, name) == 0); + +- if (G_LIKELY (new_owner[0] == '\0' || g_dbus_is_unique_name (new_owner))) ++ /* FIXME: This should be validating that `new_owner` is a unique name, ++ * but IBus’ implementation of a message bus is not compliant with the spec. ++ * See https://gitlab.gnome.org/GNOME/glib/-/issues/3353 */ ++ if (G_LIKELY (new_owner[0] == '\0' || g_dbus_is_name (new_owner))) + name_watcher_set_name_owner_unlocked (name_watcher, new_owner); + else + g_warning ("Received NameOwnerChanged signal with invalid owner \"%s\" for \"%s\"", +@@ -2432,7 +2435,10 @@ name_watcher_deliver_get_name_owner_reply_unlocked (SignalData *name_watcher, + + g_variant_get (body, "(&s)", &new_owner); + +- if (G_LIKELY (g_dbus_is_unique_name (new_owner))) ++ /* FIXME: This should be validating that `new_owner` is a unique name, ++ * but IBus’ implementation of a message bus is not compliant with the spec. ++ * See https://gitlab.gnome.org/GNOME/glib/-/issues/3353 */ ++ if (G_LIKELY (g_dbus_is_name (new_owner))) + name_watcher_set_name_owner_unlocked (name_watcher, new_owner); + else + g_warning ("Received GetNameOwner reply with invalid owner \"%s\" for \"%s\"", +-- +2.45.1 + diff --git a/glib2-gdbus-codegen-version.patch b/glib2-gdbus-codegen-version.patch new file mode 100644 index 0000000..d76c02d --- /dev/null +++ b/glib2-gdbus-codegen-version.patch @@ -0,0 +1,44 @@ +Index: glib-2.70.0/gio/gdbus-2.0/codegen/codegen.py +=================================================================== +--- glib-2.70.0.orig/gio/gdbus-2.0/codegen/codegen.py ++++ glib-2.70.0/gio/gdbus-2.0/codegen/codegen.py +@@ -95,8 +95,7 @@ class HeaderCodeGenerator: + # ---------------------------------------------------------------------------------------------------- + + def generate_header_preamble(self): +- basenames = ", ".join(self.input_files_basenames) +- self.outfile.write(LICENSE_STR.format(config.VERSION, basenames)) ++ self.outfile.write(LICENSE_STR) + self.outfile.write("\n") + + if self.use_pragma: +@@ -1040,8 +1039,7 @@ class InterfaceInfoHeaderCodeGenerator: + # ---------------------------------------------------------------------------------------------------- + + def generate_header_preamble(self): +- basenames = ", ".join(self.input_files_basenames) +- self.outfile.write(LICENSE_STR.format(config.VERSION, basenames)) ++ self.outfile.write(LICENSE_STR) + self.outfile.write("\n") + + if self.use_pragma: +@@ -1112,8 +1110,7 @@ class InterfaceInfoBodyCodeGenerator: + # ---------------------------------------------------------------------------------------------------- + + def generate_body_preamble(self): +- basenames = ", ".join(self.input_files_basenames) +- self.outfile.write(LICENSE_STR.format(config.VERSION, basenames)) ++ self.outfile.write(LICENSE_STR) + + if self.symbol_decoration_define is not None: + self.outfile.write("\n") +@@ -1466,8 +1463,7 @@ class CodeGenerator: + # ---------------------------------------------------------------------------------------------------- + + def generate_body_preamble(self): +- basenames = ", ".join(self.input_files_basenames) +- self.outfile.write(LICENSE_STR.format(config.VERSION, basenames)) ++ self.outfile.write(LICENSE_STR) + if self.symbol_decoration_define is not None: + self.outfile.write("\n") + self.outfile.write("#define %s\n" % self.symbol_decoration_define) diff --git a/glib2-rpmlintrc b/glib2-rpmlintrc new file mode 100644 index 0000000..cecf398 --- /dev/null +++ b/glib2-rpmlintrc @@ -0,0 +1,17 @@ +# Adding gio-branding for the following filter +addFilter(".*shlib-fixed-dependency.*[glib2|gio\-branding].*") +# Filter for non-conffile-in-etc warning for the following files +# under /etc/profile.d/ and /etc/rpm/ directories, respectively: +# zzz-glib2.csh and zzz-glib2.sh, and macros.glib2 +addFilter("glib2.*non-conffile-in-etc.*[zzz\-glib2.*|macros\.glib2]") +# Filter for env-script-intepreter for the following files under +# /usr/bin directory: gdbus-codegen, glib-genmarshal and glib-mkenums +addFilter(".*env-script-interpreter.*/usr/bin/[gdbus\-codegen|glib\-.*].*") +# allow empty files and certificates in tests +#addFilter(".*: W: zero-length /usr/libexec/installed-tests/glib/.*") +#addFilter(".*: W: pem-certificate /usr/libexec/installed-tests/.*") +# disable bogus warnings, as instructed by upstream +#addFilter(".*: W: shared-lib-without-dependency-information .*") +# the maintainers prefer to keep the following internal SUSE naming conflicts +#addFilter(".*: W: no-dependency-on glib2.*") +#addFilter(".*: W: suse-branding-.*") diff --git a/glib2-suppress-schema-deprecated-path-warning.patch b/glib2-suppress-schema-deprecated-path-warning.patch new file mode 100644 index 0000000..3d128f1 --- /dev/null +++ b/glib2-suppress-schema-deprecated-path-warning.patch @@ -0,0 +1,20 @@ +Index: glib-2.75.3/gio/glib-compile-schemas.c +=================================================================== +--- glib-2.75.3.orig/gio/glib-compile-schemas.c ++++ glib-2.75.3/gio/glib-compile-schemas.c +@@ -1231,6 +1231,7 @@ parse_state_start_schema (ParseState *s + return; + } + ++/* + if (path && (g_str_has_prefix (path, "/apps/") || + g_str_has_prefix (path, "/desktop/") || + g_str_has_prefix (path, "/system/"))) +@@ -1243,6 +1244,7 @@ parse_state_start_schema (ParseState *s + g_printerr ("%s\n", message); + g_free (message); + } ++*/ + + state->schema_state = schema_state_new (path, gettext_domain, + extends, extends_name, list_of); diff --git a/glib2-upstream-gnome_defaults.conf b/glib2-upstream-gnome_defaults.conf new file mode 100644 index 0000000..2b37af5 --- /dev/null +++ b/glib2-upstream-gnome_defaults.conf @@ -0,0 +1,46 @@ +# GNOME Default Applications Source +# /etc/gnome-defaults.conf +# +# WARNING: This is a dumb file, which provides only upstream GNOME +# packages as preferred defaults. You most probably don't want this +# package! +# You probably want to install distribution glib2-branding and prefer +# distribution wise GNOME defaults. +# +# After any change of this file run +# suse-update-mime-defaults +# +# This list is a source for defaults.list. +# +# If application in this list is installed, it is used as default in GNOME. +# It works in following way: +# 1. Read this file. +# 2. Collect all available desktop files. +# 3. Go through all declared MIME types and search for default application +# for defaults.list in following order: +# 3.1 Installed application listed here for certain MIME type. +# 3.2 Installed application listed here as preferred default. +# 3.3 Installed application listed here as default. +# 3.4 Installed application with GNOME in Categories. +# 3.5 Installed application with GTK in Categories. +# 3.6 Installed application. +# If there are more applications in the same order, it uses pseudo-randomly +# one of them (last in aplhabetical order). +# +# Syntax: +# Use xxx as default for all MIME types it declares (see 3.3): +# xxx.desktop +# Use xxx as preferred default for all MIME types it declares (see 3.2): +# !xxx.desktop +# Use xxx as default for mime/type (see 3.1): +# mime/type=xxx.desktop + +# Upstream GNOME default applications +eog.desktop +evince.desktop +gedit.desktop +file-roller.desktop +epiphany.desktop +nautilus.desktop +# evince supports multi-page tiff, but most people will prefer eog: +image/tiff=eog.desktop diff --git a/glib2.changes b/glib2.changes new file mode 100644 index 0000000..e59515c --- /dev/null +++ b/glib2.changes @@ -0,0 +1,7897 @@ +------------------------------------------------------------------- +Mon Aug 19 19:42:14 UTC 2024 - Michael Gorse + +- Add patches to fix CVE-2024-34397 (boo#1224044): + glib2-CVE-2024-34397.patch (glgo#GNOME/glib#3268) + glib2-fix-ibus-regression.patch (glgo#GNOME/glib#3353) + +------------------------------------------------------------------- +Fri Apr 21 16:14:57 UTC 2023 - Bjørn Lie + +- Update to version 2.76.2: + + Fixed various build failures in less common setups + + Fix launching files in Windows via GtkFileLauncher + + Bugs fixed: + - GMarkupParser documentation completion + - Disagreement between runtime and docs on whether interfaces + are "classed" + - gdbus-example-proxy-subclass.c is not complete + - GAppInfoMonitor documentation deficiencies + - Check for __kernel_long_t when enabling futex() + - Documentation mentions non-existing function `g_value_free` + - Not clear that GPollableInputStream methods are undefined if + can_poll() returns FALSE + - Missing docs for GOption (commandline parser) + - GDebugControllerDBus wrong default in documentation + - Probably wrong information regarding G_PLATFORM_WIN32 in + README.win32.md + - Multiple Definition Error When Generating + gio/tests/test5.gresource + - user docs: GLib.DateTime.format: broken highlighting + - GtkFileLauncher: generated paths not recognized on Win32 + - Build failed due to NULL pointer redefinition in C++ + - Build randomly fails with: 'gmodule/gmodule-visibility.h' + file not found + - unicode: add tests for g_utf8_normalize() and empty strings + - build: Drop old .gitignore files from test directories + - tools: Drop check-abis.sh script + - docs: Drop section about default branch renaming from + README.md + - tests: Update Unicode normalisation tests from Unicode 15 + - Make clang++ happier when using G_STATIC_ASSERT + - gwin32: Avoid use of function call with side effect in + g_return_* macro + - gsignal: Clarify documentation for GSignalMatchType matching + + Updated translations. + +------------------------------------------------------------------- +Thu Apr 20 09:35:56 UTC 2023 - Guido Berhoerster + +- Add mate-mimeapps.list for MATE-specific MIME associations + generated by suse-update-mime-defaults + +------------------------------------------------------------------- +Wed Mar 22 13:16:16 UTC 2023 - Bjørn Lie + +- Update to version 2.76.1: + + Fix build failures in third party C++ projects using + `g_strdup()` via C++ qualified symbol lookup. + + Downgrade critical warnings from `GFileInfo` about missing + attributes to debug messages, as it was affecting too many + apps; the critical warnings will be reinstated early in the + 2.78 cycle, so apps should continue to fix their ambiguous use + of `GFileInfo` API. + + Bugs fixed: glgo#GNOME/GLib#159, glgo#GNOME/GLib#352, + glgo#GNOME/GLib#919, glgo#GNOME/GLib#2922, + glgo#GNOME/GLib#2936, glgo#GNOME/GLib#2943, + glgo#GNOME/GLib#2948, glgo#GNOME/GLib!3241, + glgo#GNOME/GLib!3315, glgo#GNOME/GLib!3318, + glgo#GNOME/GLib!3319, glgo#GNOME/GLib!3321, + glgo#GNOME/GLib!3323, glgo#GNOME/GLib!3324, + glgo#GNOME/GLib!3325, glgo#GNOME/GLib!3330, + glgo#GNOME/GLib!3338. + + Updated translations. + +------------------------------------------------------------------- +Fri Mar 10 16:55:57 UTC 2023 - Bjørn Lie + +- Update to version 2.76.0: + + Fix several regressions in handling `GFileInfo` attributes + + Bugs fixed: + - ETAG_VALUE not set in GFileInfo when requested + - File attributes are not set when their value is FALSE/NULL + - gfile: Fix file size detection when copying on btrfs + - glocalfileinfo: + . Mark the lost+found dir as hidden again + . Ensure that is-backup is always set + + Updated translations. +- Rebase patches with quilt. + +------------------------------------------------------------------- +Wed Mar 8 16:10:34 UTC 2023 - Dominique Leuenberger + +- Update to version 2.75.4: + + Emit a critical warning when acquiring the notification queue + during GObject finalization. A type's `finalize()` + implementation should not call public API that emits property + notifications. + + Updated translations. + +------------------------------------------------------------------- +Tue Mar 7 10:23:08 UTC 2023 - Bjørn Lie + +- Rebase glib2-suppress-schema-deprecated-path-warning.patch with + quilt. + +------------------------------------------------------------------- +Fri Feb 24 15:54:20 UTC 2023 - Dominique Leuenberger + +- Fix license files in packages: COPYING in the source tree is + a symlink to LICENSES/LGPL-2.1-or-later.txt, but rpm's %license + macro copies the symlink, not the target. Explicitly package + LICENSES/LGPL-2.1-or-later.txt in this case (boo#1208497). + +------------------------------------------------------------------- +Fri Feb 24 13:09:51 UTC 2023 - Dominique Leuenberger + +- Update to version 2.75.3: + + Drop the implementation of GSlice, and make the API use the + system `malloc()` internally. + + Use a thread-spawning thread to keep thread scheduler settings + consistent; fixes GThreadPool critical warnings due to failing + to set scheduler settings in some situations. + + GIR annotation improvements for multiple APIs. + + Optimise printing of nested maybes in `g_variant_print()`. + + Use `tap` test protocol within GLib, and support TAP 13/14. + + Fix a regression in glib-compile-schemas 2.75.2 causing schemas + and override files to be sorted incorrectly. + + Support per-desktop overrides in `GSettingsAction`. + + Various optimisations to `GString`. + + Reduce allocations in message printing functions if there’s + nothing to format. + + Add inline version of `g_strdup()`, allowing the compiler to do + `NULL` folding and constant folding on `strlen()` calls. + + Add a `GPathBuf` API for building and manipulating file paths. + + Add `g_string_free_and_steal()` and use it to warn on unused + results from`g_string_free (_, FALSE)`. + + Add `g_free_sized()` and `g_aligned_free_sized()` to mirror the + upcoming `free_sized()` function in C23; use these if porting + away from `g_slice_free()`. + + Fix underspecified dependencies on generated headers in + `meson.build`, which should reduce spurious build failures. + + Updated translations. + +------------------------------------------------------------------- +Fri Feb 24 02:50:22 UTC 2023 - Dominique Leuenberger + +- Update to version 2.75.2: + + Add `g_ptr_array_sort_values()` and + `g_ptr_array_sort_values_with_data()` APIs. + + Some fixes for activation of UWP apps on Windows. + + Support Markdown output from `gdbus-codegen`. +- Changes from version 2.75.1: + + Add new `GFileInfo` properties for large thumbnails. + + Fix missing input validation in `GDBusMenuModel`. + + Change default `g_desktop_app_info_search()` algorithm to + include substring matches. + + Various GVariant security fixes when handling untrusted data. + + Add support for XDG Activation protocol in `GAppLaunchContext`. + + Return `application/x-zerosize` rather than `text/plain` as + content type for empty files. + + Deprecate `-Druntime_libdir` configure option because it was + unused. + + Check for snap plugs when accessing portals. + + Add `GArray` and `GPtrArray` constructors to take or copy C + arrays. + + Add `GHashTable` methods to get and steal hash table keys and + values as `GPtrArray`s. + + Change the default D-Bus system bus socket address from + `/var/run/dbus/system_bus_socket` to + `/run/dbus/system_bus_socket`, in line with changes in + dbus.git. +- Drop glib2-dbus-socket-path.patch: fixed upstream. + +------------------------------------------------------------------- +Thu Feb 23 14:27:05 UTC 2023 - Bjørn Lie + +- Update to version 2.74.6: + + Bugs fixed: glgo#GNOME/GLib!3239 Backport glgo#GNOME/GLib!3237 + “Fix safe_wspawnve #define” to glib-2-74. + + Updated translations. + +------------------------------------------------------------------- +Thu Jan 19 14:50:06 UTC 2023 - Bjørn Lie + +- Update to version 2.74.5: + + Bugs fixed: glgo#GNOME/GLib#2843, glgo#GNOME/GLib#2881, + glgo#GNOME/GLib#2883, glgo#GNOME/GLib!3165, + glgo#GNOME/GLib!3166, glgo#GNOME/GLib!3182, + glgo#GNOME/GLib!3197, glgo#GNOME/GLib!3204, + glgo#GNOME/GLib!3214. + + Updated translations. +- Drop 1539540.patch: Fixed upstream. + +------------------------------------------------------------------- +Thu Dec 22 13:01:42 UTC 2022 - Bjørn Lie + +- Update to version 2.74.4: + + Fix missing input validation in `GDBusMenuModel`. + + Various GVariant security fixes when handling untrusted data. + + Bugs fixed: glgo#GNOME/GLib#861, glgo#GNOME/GLib#2121, + glgo#GNOME/GLib#2540, glgo#GNOME/GLib#2794, + glgo#GNOME/GLib#2797, glgo#GNOME/GLib#2835, + glgo#GNOME/GLib#2839, glgo#GNOME/GLib#2840, + glgo#GNOME/GLib#2841, glgo#GNOME/GLib#2852, + glgo#GNOME/GLib!3114, glgo#GNOME/GLib!3126, + glgo#GNOME/GLib!3134, glgo#GNOME/GLib!3138, + glgo#GNOME/GLib!3153, glgo#GNOME/GLib!3161, + glgo#GNOME/GLib!3164. + + Updated translations. +- Add 1539540.patch: gthread-posix: need to #include . + +------------------------------------------------------------------- +Fri Dec 2 21:18:15 UTC 2022 - Bjørn Lie + +- Update to version 2.74.3: + + Fix regression in type checking `g_str_equal()` from C++ + projects (glgo#GNOME/GLib#2820). + + Bugs fixed: + - glgo#GNOME/GLib#2820 g_str_equal: New macro version breaks + compilation in C++ projects + - glgo#GNOME/GLib!3096 Backport !3094 “gstrfuncs: Fix + regression in C++ types accepted by g_str_equal()” to + glib-2-74 +- Changes from version 2.74.2: + + Fix GVariant type depths checks on text format variants. + + Fix an obscure corner case with FD handling in g_spawn_*() when + a process has already closed the standard I/O FDs. + + Fix regression in type checking on const arguments to + g_str_equal(). + + Bugs fixed: glgo#GNOME/GLib#2782 GVariant type depth not + checked on typedecls in text format variants. + glgo#GNOME/GLib#2795 [regression] gnome-keyring-daemon uses + 100% CPU with glib-2.74.1. + glgo#GNOME/GLib#2799 Wrong GTask tag on error return path in + g_proxy_resolver_lookup_async(). + glgo#GNOME/GLib#2809 g_str_equal switched to stricter API + (typing). + glgo#GNOME/GLib!3017 Backport !3008 “gio/gdesktopappinfo: Free + the wrapped argv array on launch failure” to glib-2-74. + glgo#GNOME/GLib!3038 Backport !3035 “portal: Fix broken header + guard” to glib-2-74. + glgo#GNOME/GLib!3039 Backport !3029 “Revert "Handling collision + between standard i/o file descriptors and newly created ones" ” + to glib-2-74. + glgo#GNOME/GLib!3046 Backport !3045 “gproxyresolver: + lookup_finish() should better parallel lookup_async()” to + glib-2-74. + glgo#GNOME/GLib!3063 Backport !3061 “gvariant-parser: Speed up + maybe_wrapper() by an order of magnitude” to glib-2-74. + glgo#GNOME/GLib!3084 Backport !3082 “gstrfuncs: Fix regression + in types accepted by g_str_equal()” to glib-2-74. + + Updated translations. +- Drop ca905744.patch and a1151bc1.patch: Fixed upstream. +- Rebase patches with quilt. + +------------------------------------------------------------------- +Mon Oct 31 15:17:35 UTC 2022 - Bjørn Lie + +- Add a1151bc1.patch: gio/gdesktopappinfo: Free the wrapped argv + array on launch failure. + +------------------------------------------------------------------- +Mon Oct 31 12:18:51 UTC 2022 - Dominique Leuenberger + +- Add ca905744.patch: Revert "Handling collision between standard + i/o file descriptors and newly created ones". The user-visible + problem this solves is gnome-keyring-daemon eating 100% CPU. + +------------------------------------------------------------------- +Wed Oct 26 12:07:15 UTC 2022 - Bjørn Lie + +- Update to version 2.74.1: + + Update Unicode data to version 15 + + Fix various build failures in different situations + + Fix over-eager deprecated property warnings for construct + properties + + Fix a crash calling `g_param_value_is_valid()` on a + `GParamSpecParam` + + Fix floating `GVariant` leaks with GObject properties + + Add inline optimised version of `g_str_equal()` + + Fix `GVariant` type depths checks on text format variants + + Fix regression with int64 and double hashing functions on + big-endian architectures + + Build the API documentation only when building GLib as a shared + library + + Ignore weird `/etc/localtime` configurations generated by + toolbx + + Avoid `EINTR` races when closing FDs in `g_spawn_*()` + + Bugs fixed: glgo#GNOME/GLib#16, glgo#GNOME/GLib#333, + glgo#GNOME/GLib#2735, glgo#GNOME/GLib#2740, + glgo#GNOME/GLib#2742, glgo#GNOME/GLib#2748, + glgo#GNOME/GLib#2758, glgo#GNOME/GLib#2759, + glgo#GNOME/GLib#2766, glgo#GNOME/GLib#2767, + glgo#GNOME/GLib#2770, glgo#GNOME/GLib#2774, + glgo#GNOME/GLib#2775, glgo#GNOME/GLib#2782, + glgo#GNOME/GLib#2787, glgo#GNOME/GLib#2788, + glgo#GNOME/GLib!2852, glgo#GNOME/GLib!2857, + glgo#GNOME/GLib!2864, glgo#GNOME/GLib!2866, + glgo#GNOME/GLib!2880, glgo#GNOME/GLib!2885, + glgo#GNOME/GLib!2892, glgo#GNOME/GLib!2896, + glgo#GNOME/GLib!2899, glgo#GNOME/GLib!2901, + glgo#GNOME/GLib!2903, glgo#GNOME/GLib!2904, + glgo#GNOME/GLib!2905, glgo#GNOME/GLib!2907, + glgo#GNOME/GLib!2911, glgo#GNOME/GLib!2913, + glgo#GNOME/GLib!2915, glgo#GNOME/GLib!2916, + glgo#GNOME/GLib!2920, glgo#GNOME/GLib!2922, + glgo#GNOME/GLib!2924, glgo#GNOME/GLib!2928, + glgo#GNOME/GLib!2931, glgo#GNOME/GLib!2933, + glgo#GNOME/GLib!2938, glgo#GNOME/GLib!2939, + glgo#GNOME/GLib!2946, glgo#GNOME/GLib!2948, + glgo#GNOME/GLib!2949, glgo#GNOME/GLib!2958, + glgo#GNOME/GLib!2960, glgo#GNOME/GLib!2973, + glgo#GNOME/GLib!2975, glgo#GNOME/GLib!2982, + glgo#GNOME/GLib!2983, glgo#GNOME/GLib!2988, + glgo#GNOME/GLib!2989, glgo#GNOME/GLib!2995, + glgo#GNOME/GLib!2996, glgo#GNOME/GLib!2998, + glgo#GNOME/GLib!3010. + + Updated translations. +- Rebase patches with quilt. +- Drop f0dd96c28751f15d0703b384bfc7c314af01caa8.diff: Fixed + upstream. + +------------------------------------------------------------------- +Fri Oct 7 01:25:03 UTC 2022 - Haochuan Chen + +- Add upstream patch to solve GIMP crashes: + + f0dd96c28751f15d0703b384bfc7c314af01caa8.diff: + glgo#GNOME/GLib!2770 Empty values are not valid GParamSpec. + +------------------------------------------------------------------- +Sun Sep 18 06:56:01 UTC 2022 - Bjørn Lie + +- Update to version 2.74.0: + + Use EPOLL_CLOEXEC by default + + Fixed various regression on GRegex as per the PCRE2 porting + + Fixed various memory leaks + + Bugs fixed: glgo#GNOME/gtksourceview#278, + glgo#GNOME/gtksourceview#283, glgo#GNOME/GLib#2688, + glgo#GNOME/GLib#2713, glgo#GNOME/GLib#2719, + glgo#GNOME/GLib#2729, glgo#GNOME/GLib#2733, + glgo#GNOME/GLib#2737, glgo#GNOME/GLib#2741, + glgo#GNOME/gtk#4400, glgo#GNOME/GLib!2820, + glgo#GNOME/GLib!2855, glgo#GNOME/GLib!2861, + glgo#GNOME/GLib!2868, glgo#GNOME/GLib!2873, + glgo#GNOME/GLib!2874, glgo#GNOME/GLib!2875, + glgo#GNOME/GLib!2876, glgo#GNOME/GLib!2879, + glgo#GNOME/GLib!2881, glgo#GNOME/GLib!2882, + glgo#GNOME/GLib!2883, glgo#GNOME/GLib!2900. + + Updated translations. + +------------------------------------------------------------------- +Thu Sep 8 13:17:30 UTC 2022 - Stephan Kulow + +- Replace pkgconfig(libpcre) with pkgconfig(libpcre2-8) + BuildRequires. No longer used by glib (replaced by pcre2 + in 2.73.2). + +------------------------------------------------------------------- +Mon Aug 29 06:43:05 UTC 2022 - Bjørn Lie + +- Drop 99783e0408f8ae9628d2c7a30eb99806087da711.patch for 2.73.x + branch, fixed upstream already. + +------------------------------------------------------------------- +Thu Aug 25 11:24:35 UTC 2022 - Bjørn Lie + +- Add 99783e0408f8ae9628d2c7a30eb99806087da711.patch: + gsocketclient: Fix passing NULL to g_task_get_cancellable(). + Fix a regression from commit abddb42d14, where it could pass + `NULL` to `g_task_get_cancellable()`, triggering a critical + warning. This could happen because the lifetime of `data->task` + is not as long as the lifetime of the `ConnectionAttempt`, but + the code assumed it was. + Fix the problem by keeping a strong ref to that `GCancellable` + around until the `ConnectionAttempt` is finished being destroyed. + +------------------------------------------------------------------- +Sat Aug 6 11:20:24 UTC 2022 - Bjørn Lie + +- Update to version 2.73.3: + + Revitalize G_REGEX_OPTIMIZE flag and use it to enable PCRE JIT + compiler. + + Fix some regressions due to the PCRE2 port. + + Fix a pidfd leak that was introduced in the previous release. + + Support compilation without a C++ toolchain. + + GDBus: Use namespace-friendly protocol for Linux message buses, + and optionally other connections. + + Fix potential races in multi-threaded signal connections + handling. + + Add back gio-launch-desktop to redirect stdout/stderr of + launched GDesktopAppInfo's to the journal with proper parent + + Executables that are invoked when installing other software, + typically from packaging system triggers, can now be installed + into architecture-dependent locations. Unix OS distributors who + install GLib for more than one architecture in parallel + (multiarch or multilib installations) should consider building + with -Dmultiarch=true, installing the bin/glib-compile-schemas + and bin/gio-querymodules symbolic links in packages for the + primary architecture, and omitting those symlinks from packages + for secondary architectures. + + Some enumerators introduced in previous releases have been + changed, for better introspection results: + - G_MARKUP_PARSE_FLAGS_NONE renamed to G_MARKUP_DEFAULT_FLAGS + - G_TLS_CERTIFICATE_FLAGS_NONE renamed to + G_TLS_CERTIFICATE_NO_FLAGS + - G_APPLICATION_FLAGS_NONE was deprecated, use + G_APPLICATION_DEFAULT_FLAGS now. + + gfileinfo: Implement xattr attribute removal. + + Add support to --delete option to gio set, to unset a file + attribute. + + Improve default value of glib_debug option: G_ENABLE_DEBUG will + be defined only if using `--buildtype=debug` or enabled via + `-Dglib_debug`, but it won't ever be set if an optimized build + is requested (specifically if the optimization level is not `0` + or `g`) as it may be the case when using + `--buildtype=debugoptimized`. + + Probably the first revision of any GNOME module ever released + from Cuba :) + + Bugs fixed: glgo#GNOME/Glib#566, glgo#GNOME/Glib#1187, + glgo#GNOME/Glib#2509, glgo#GNOME/Glib#2542, + glgo#GNOME/Glib#2588, glgo#GNOME/Glib#2682, + glgo#GNOME/Glib#2692, glgo#GNOME/Glib#2694, + glgo#GNOME/Glib#2699, glgo#GNOME/Glib#2700, + glgo#GNOME/Glib#2703, glgo#GNOME/Glib#2705, + glgo#GNOME/Glib#2708, glgo#GNOME/Glib!2299, + glgo#GNOME/Glib!2759, glgo#GNOME/Glib!2812, + glgo#GNOME/Glib!2813, glgo#GNOME/Glib!2814, + glgo#GNOME/Glib!2815, glgo#GNOME/Glib!2818, + glgo#GNOME/Glib!2822, glgo#GNOME/Glib!2823, + glgo#GNOME/Glib!2825, glgo#GNOME/Glib!2826, + glgo#GNOME/Glib!2827, glgo#GNOME/Glib!2829, + glgo#GNOME/Glib!2830, glgo#GNOME/Glib!2832, + glgo#GNOME/Glib!2833, glgo#GNOME/Glib!2835, + glgo#GNOME/Glib!2836, glgo#GNOME/Glib!2851, + glgo#GNOME/Glib!2853, glgo#GNOME/Glib!2854. ++ Updated translations. + +------------------------------------------------------------------- +Wed Aug 3 09:13:30 UTC 2022 - Dominique Leuenberger + +- Update to version 2.73.2: + + Replace PCRE1 with PCRE2. + + Preserve destruction order in gdataset, fixing various crashes + during objects disposal. + + Require C99 __VA_ARGS__. + + Add NONE or DEFAULT members to most flags types. + + GFile: Add some missing async APIs. + + Improve internal and process documentation. + + Add atomic compare-and-exchange APIs returning previous value. + + Add G_DEFINE_ENUM_TYPE and G_DEFINE_ENUM_VALUE macros. + + Add platform-independent G_ALWAYS_INLINE and G_NO_INLINE. + + Use waitid() on pidfds rather than a global SIGCHLD handler. + +------------------------------------------------------------------- +Thu Jul 7 11:59:36 UTC 2022 - Dominique Leuenberger + +- Update to version 2.73.1: + + Remove the `-Diconv` configure option, as GLib now uses Meson’s + built-in logic for finding which iconv implementation to use. + + Move gvdb to a Meson subproject and git submodule to avoid + duplicating its source. + + Add `add_test_setup()` in Meson to allow GLib tests to be run + under valgrind with correct settings easily, using + `meson test --setup=valgrind`. + + Fix deadlocks when disposing non-cancelled inotify + `GFileMonitor`s. + + Fix `file://` requests in webkit2gtk due to incorrect xdgmime + update. + + Fix build errors on macOS ≤10.7 for `LOCAL_PEERPID`. + + Add new `g_atomic_int_exchange()` and + `g_atomic_pointer_exchange()` APIs. + + Add new `GListStore:n-items` property to allow easy binding in + UIs. + + Performance improvements for GObject construction and + destruction. + + Use a numeric space (U+2007) for padding with some + `g_date_time_format()` placeholders. + + Fix a slow memory leak in `GSocketClient` when using long-lived + `GCancellable`s. + +------------------------------------------------------------------- +Sun Jul 3 23:43:59 UTC 2022 - Emily Gonyer + +- Update to version 2.72.3 + + Bugs fixed: glgo#GNOME/Glib!1941, glgo#GNOME/Glib!2597, + glgo#GNOME/Glib!2639, glgo#GNOME/Glib!2670, + glgo#GNOME/Glib!2703, glgo#GNOME/Glib!2709, + glgo#GNOME/Glib!2720, glgo#GNOME/Glib!2750, + glgo#GNOME/Glib!2687. + +------------------------------------------------------------------- +Tue May 31 07:35:08 UTC 2022 - Bjørn Lie + +- Update to version 2.72.2: + + Bugs fixed: glgo#GNOME/GLib#2640, glgo#GNOME/GLib!2605, + glgo#GNOME/GLib!2616, glgo#GNOME/GLib!2629, + glgo#GNOME/GLib!2643, glgo#GNOME/GLib!2644, + glgo#GNOME/GLib!2662, glgo#GNOME/GLib!2691. + + Updated translations. + +------------------------------------------------------------------- +Thu Apr 21 00:43:14 UTC 2022 - Emily Gonyer + +- Update to version 2.72.2: + + Fix building projects which use g_warning_once() with clang++. + + Fix g_file_trash not deleting directories via portals backend. + + A number more compiler warnings fixed for MSVC. + + Fix detection of broken poll function on macOS. + + Fix spawning subprocesses from GUI programs on Windows. + + Bugs fixed: + - #2312 gdbus-test-codegen tests leak GWeakRef objects. + - #2625 g_warning_once fails to build with clang++. + - #2629 g_file_trash doesn't in directories inside a sandbox. + - !2495 Cleanup warnings split 6. + - !2499 Various contenttype-related test fixes on win32. + - !2534 gpowerprofilemonitor: Tweak wording of documentation. + - !2540 Various win32 tests skip & fixes. + - !2541 meson: simplify lookup of python command. + - !2543 ci: Update the Fedora CI image to Fedora 34. + - !2556 gdbusconnection: Use g_strv_contains(). + - !2557 gdbusmethodinvocation: Fix a leak on early return path. + - !2558 Move unit test on g_basename() function to + glib/tests/fileutils.c. + - !2559 Move tests/relation-test.c to glib/tests/relation.c. + - !2560 ci: Update Coverity, mingw and Android CI images + to Fedora 34. + - !2563 glib: Format GDateTime ISO8601 years as %C%y. + - !2564 Move test files on slices from tests/ to glib/tests/. + - !2566 tests: Add more tests for GResolver response parsing. + - !2573 Backport translation fixes and !2571 meson: Set + BROKEN_POLL in macOS builds to glib-2-72. + - !2574 Backport !2565 Revert meson: simplify lookup of python + command to glib-2-72. + - !2587 Backport !2583 Fix trashing sandboxed directories to + glib-2-72. + - !2588 Backport !2582 glib/win32: fix spawn from GUI regression + to glib-2-72. + - !2590 Backport !2589 tests: Don't exit gdbus-method-invocation + test early on connection close to glib-2-72. + - !2593 Backport !2578 atomic: Add a C++ variant of + g_atomic_int_compare_and_exchange() to glib-2-72. + + Translation updates. + +------------------------------------------------------------------- +Fri Apr 1 08:17:46 UTC 2022 - Dirk Müller + +- remove provides/obsoletes on glib2-doc, it was split into + two packages again +- spec-cleaner reorderings + +------------------------------------------------------------------- +Fri Mar 25 14:02:31 UTC 2022 - Callum Farmer + +- desktop-file-utils: add Budgie desktop environment + +------------------------------------------------------------------- +Fri Mar 18 10:32:49 UTC 2022 - Bjørn Lie + +- Update to version 2.72.0: + + Bugs fixed: glgo#GNOME/GLib#2620, glgo#GNOME/GLib!2538, + glgo#GNOME/GLib!2542, glgo#GNOME/GLib!2547, + glgo#GNOME/GLib!2548, glgo#GNOME/GLib!2551, + glgo#GNOME/GLib!2552. + + Updated translations. + +------------------------------------------------------------------- +Thu Mar 17 14:56:34 UTC 2022 - Bjørn Lie + +- Update to version 2.71.3: + + Fix flaky `GDebugController` tests + + Numerous small documentation updates + + Bugs fixed: glgo#GNOME/GLib#517, glgo#GNOME/GLib#1929, + glgo#GNOME/GLib#2589, glgo#GNOME/GLib#2598, + glgo#GNOME/GLib#2609, glgo#GNOME/GLib#2611, + glgo#GNOME/GLib#2612, glgo#GNOME/GLib#2613, + glgo#GNOME/GLib!1707, glgo#GNOME/GLib!2424, + glgo#GNOME/GLib!2451, glgo#GNOME/GLib!2466, + glgo#GNOME/GLib!2480, glgo#GNOME/GLib!2485, + glgo#GNOME/GLib!2490, glgo#GNOME/GLib!2491, + glgo#GNOME/GLib!2492, glgo#GNOME/GLib!2493, + glgo#GNOME/GLib!2501, glgo#GNOME/GLib!2502, + glgo#GNOME/GLib!2503, glgo#GNOME/GLib!2504, + glgo#GNOME/GLib!2505, glgo#GNOME/GLib!2506, + glgo#GNOME/GLib!2507, glgo#GNOME/GLib!2508, + glgo#GNOME/GLib!2509, glgo#GNOME/GLib!2510, + glgo#GNOME/GLib!2512, glgo#GNOME/GLib!2513, + glgo#GNOME/GLib!2514, glgo#GNOME/GLib!2515, + glgo#GNOME/GLib!2516, glgo#GNOME/GLib!2517, + glgo#GNOME/GLib!2518, glgo#GNOME/GLib!2519, + glgo#GNOME/GLib!2520, glgo#GNOME/GLib!2523, + glgo#GNOME/GLib!2524, glgo#GNOME/GLib!2525, + glgo#GNOME/GLib!2526, glgo#GNOME/GLib!2527, + glgo#GNOME/GLib!2528, glgo#GNOME/GLib!2531. + + Updated translations. + +------------------------------------------------------------------- +Thu Mar 17 14:56:33 UTC 2022 - Dirk Müller + +- Split gtk-docs from -devel package, these are not needed + during building projects using glib2 +- Use _multibuild as the meson buildprocess is very awkward + regarding the documentation - builds single-jobs only and + twice (again during %install). This way the rest of distribution + waiting for glib2-devel to be available is not blocked by this + +------------------------------------------------------------------- +Thu Mar 17 14:56:32 UTC 2022 - Bjørn Lie + +- Update to version 2.71.2: + + Rework `glib-compile-resources` to output compiler-specific + files to reduce compilation time; see the new `--compiler` + option. + + Add a cross-platform API for aligned memory allocations + (`g_aligned_alloc()`, `g_aligned_alloc0()` and + `g_aligned_free()`). + + Deprecate `force_posix_threads` configure option, since it was + a workaround for static linking on Windows. + + Add `GBindingGroup` and `GSignalGroup` APIs. + + Implement FD remapping support for + `g_spawn_async_with_pipes_and_fds()` on Windows. + + Add an async file move API, `g_file_move_async()`. + + Bugs fixed: glgo#GNOME/GLib#1190, glgo#GNOME/GLib#2329, + glgo#GNOME/GLib#2492, glgo#GNOME/GLib#2563, + glgo#GNOME/GLib#2574, glgo#GNOME/GLib#2592, + glgo#GNOME/GLib#2601, glgo#GNOME/GLib!2235, + glgo#GNOME/GLib!2378, glgo#GNOME/GLib!2404, + glgo#GNOME/GLib!2433, glgo#GNOME/GLib!2458, + glgo#GNOME/GLib!2464, glgo#GNOME/GLib!2465, + glgo#GNOME/GLib!2467, glgo#GNOME/GLib!2468, + glgo#GNOME/GLib!2469, glgo#GNOME/GLib!2471, + glgo#GNOME/GLib!2472, glgo#GNOME/GLib!2473, + glgo#GNOME/GLib!2476, glgo#GNOME/GLib!2477, + glgo#GNOME/GLib!2481, glgo#GNOME/GLib!2482, + glgo#GNOME/GLib!2483, glgo#GNOME/GLib!2484, + glgo#GNOME/GLib!2487, glgo#GNOME/GLib!2488. + + Updated translations. + +------------------------------------------------------------------- +Thu Mar 17 14:56:31 UTC 2022 - Bjørn Lie + +- Update to version 2.71.1: + + Basic support for static builds on Windows + + Add `GDebugController` and a D-Bus implementation which exposes + whether debug output is enabled in a process using the + `org.gtk.Debugging` D-Bus interface + + Support for `AF_UNIX` sockets on Windows 10 (and later) + + Several important fixes to GDBus message and GVariant parsing + of invalid data + + Fix potential data loss due to missing fsync when saving files + on btrfs + + Fix potential buffer overflows in `garray.c` for very large + `GArray`s and `GPtrArray`s + + Fix FDs in gspawn not being closed and causing process hangs if + `close_range()` fails unexpectedly + + Fix `g_find_program_in_path()` not returning an absolute path + if `$PATH` is relative + + Add support for loading PKCS#12 encrypted files in + `GTlsCertificate` + + A number of improvements to unit tests + + Support `LOCAL_PEERPID` on macOS, giving partial support for + PIDs in `GCredentials` on that platform + + Add `g_get_user_state_dir()` to support `XDG_STATE_HOME` + + Add `g_hash_table_new_similar()` to copy a hash table and its + hash/equal functions without its data + + Support D-Bus client authentication with `EXTERNAL` on Windows + + Add a reStructuredText documentation generator to + `gdbus-codegen` + + Add a Windows implementation of `GMemoryMonitor` + + Bugs fixed: glgo#GNOME/GLib#692, glgo#GNOME/GLib#1190, + glgo#GNOME/GLib#2487, glgo#GNOME/GLib#2550, + glgo#GNOME/GLib#2557, glgo#GNOME/GLib#2559, + glgo#GNOME/GLib#2560, glgo#GNOME/GLib#2564, + glgo#GNOME/GLib#2565, glgo#GNOME/GLib#2571, + glgo#GNOME/GLib#2572, glgo#GNOME/GLib#2578, + glgo#GNOME/GLib#2579, glgo#GNOME/GLib#2580, + glgo#GNOME/GLib#2582, glgo#GNOME/GLib#2585, + glgo#GNOME/GLib#2586, glgo#GNOME/GLib!2239, + glgo#GNOME/GLib!2362, glgo#GNOME/GLib!2384, + glgo#GNOME/GLib!2395, glgo#GNOME/GLib!2399, + glgo#GNOME/GLib!2400, glgo#GNOME/GLib!2402, + glgo#GNOME/GLib!2403, glgo#GNOME/GLib!2405, + glgo#GNOME/GLib!2407, glgo#GNOME/GLib!2411, + glgo#GNOME/GLib!2412, glgo#GNOME/GLib!2413, + glgo#GNOME/GLib!2414, glgo#GNOME/GLib!2417, + glgo#GNOME/GLib!2423, glgo#GNOME/GLib!2425, + glgo#GNOME/GLib!2426, glgo#GNOME/GLib!2428, + glgo#GNOME/GLib!2429, glgo#GNOME/GLib!2431, + glgo#GNOME/GLib!2432, glgo#GNOME/GLib!2434, + glgo#GNOME/GLib!2440, glgo#GNOME/GLib!2441, + glgo#GNOME/GLib!2442, glgo#GNOME/GLib!2447, + glgo#GNOME/GLib!2448, glgo#GNOME/GLib!2452, + glgo#GNOME/GLib!2453, glgo#GNOME/GLib!2454, + glgo#GNOME/GLib!2456, glgo#GNOME/GLib!2459, + glgo#GNOME/GLib!2461, glgo#GNOME/GLib!2463. + + Updated translations. + +------------------------------------------------------------------- +Thu Mar 17 14:56:30 UTC 2022 - Dominique Leuenberger + +- Update to version 2.71.0: + + Fix network changes not being signalled from NetworkManager. + + Fix build when building with --fatal-meson-warnings. + + Various fixes to GWeakRef cleanup and toggle refs. + + Add `G_DBUS_PROXY_FLAGS_NO_MATCH_RULE` flag for disabling match + rules when creating a `GDBusProxy`. + + Fix FD remapping in `g_spawn_async_with_pipes_and_fds()` with + certain values of target FDs. + + Make `GDBusProxy::g-signal` signal detailed with D-Bus signal + names. + + Emit `launched` signal for D-Bus activation of apps with + `GDesktopAppInfo`. + + Fix IDs of `GDesktopAppInfo`s which are constructed from a + `.desktop` file in a subdirectory. + + Add `--interactive` option to `gdbus call`. + + Add `G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP` to + `GSubprocess`. + + Lots of bug fixes. + + Updated translations. +- Rebase glib2-bgo569829-gettext-gkeyfile.patch. + +------------------------------------------------------------------- +Thu Mar 17 14:56:29 UTC 2022 - Dominique Leuenberger + +- Update to version 2.70.5: + + g_time_zone_new_offset() assertion failure if offset >= 25 + hours. + + glib: fix buffer overflow in g_canonicalize_filename(). + + gtimezone: Fix assertion failure when called with a huge + offset. + + Updated translations. + +------------------------------------------------------------------- +Fri Feb 11 13:37:10 UTC 2022 - Bjørn Lie + +- Update to version 2.70.4: + + Bugs fixed: glgo#GNOME/GLib!2462 “Fix memory leak in + gio/gdbusauthmechanismsha1.c” to glib-2-70. + + Updated translations. + +------------------------------------------------------------------- +Wed Jan 26 15:30:44 UTC 2022 - Bjørn Lie + +- Update to version 2.70.3: + + Several important fixes to FD handling in gspawn. + + Several important fixes to GDBus message and GVariant parsing + of invalid data. + + Fix potential data loss due to missing fsync when saving files + on btrfs. + + Bugs fixed: glgo#GNOME/GLib#2503, glgo#GNOME/GLib#2506, + glgo#GNOME/GLib#2557, glgo#GNOME/GLib#2572, + glgo#GNOME/GLib#2580, glgo#GNOME/GLib!2394, + glgo#GNOME/GLib!2415, glgo#GNOME/GLib!2437, + glgo#GNOME/GLib!2444, glgo#GNOME/GLib!2455. + + Updated translations. + +------------------------------------------------------------------- +Fri Dec 3 18:48:54 UTC 2021 - Bjørn Lie + +- Update to version 2.70.2: + + Fix use of the default log writer with journald namespaces + + Fix hang in `dbus-daemon` under `GTestDBus` when + `G_MESSAGES_DEBUG=all` is set + + Speed up `g_canonicalize_filename()` to avoid pathogenic cases + with `..` + + Fix URI for pcre subproject as it’s moved upstream + + Fix storing GSettings dictionaries on macOS + + Speed up ‘remove dot segments’ algorithm in `GUri` to avoid + pathogenic cases with `..` + + Fix infinite loops in D-Bus message parsing for truncated + inputs + + Improve correctness of version information returned by + `g_get_os_info()` for Windows 10/Server 2019+ + + Bugs fixed: glgo#GNOME/GLib#2400, glgo#GNOME/GLib#2426, + glgo#GNOME/GLib#2528, glgo#GNOME/GLib#2530, + glgo#GNOME/GLib#2537, glgo#GNOME/GLib#2541, + glgo#GNOME/GLib!2312, glgo#GNOME/GLib!2313, + glgo#GNOME/GLib!2314, glgo#GNOME/GLib!2316, + glgo#GNOME/GLib!2320, glgo#GNOME/GLib!2335, + glgo#GNOME/GLib!2337, glgo#GNOME/GLib!2340, + glgo#GNOME/GLib!2344, glgo#GNOME/GLib!2356, + glgo#GNOME/GLib!2359, glgo#GNOME/GLib!2361, + glgo#GNOME/GLib!2363, glgo#GNOME/GLib!2366, + glgo#GNOME/GLib!2375, glgo#GNOME/GLib!2383. + + Updated translations. + +------------------------------------------------------------------- +Wed Nov 10 19:41:49 UTC 2021 - Bjørn Lie + +- Stop passing fam=true to meson and drop gamin-devel + BuildRequires, following upstream default. Following this, drop + libgio-fam sub-package. + +------------------------------------------------------------------- +Thu Oct 28 14:20:39 UTC 2021 - Bjørn Lie + +- Update to version 2.70.1: + + Fix network changes not being signalled from NetworkManager. + + Fix build when building with --fatal-meson-warnings. + + Bugs fixed: glgo#GNOME/GLib#2505, glgo#GNOME/GLib!2245, + glgo#GNOME/GLib!2253, glgo#GNOME/GLib!2256, + glgo#GNOME/GLib!2259, glgo#GNOME/GLib!2262, + glgo#GNOME/GLib!2271, glgo#GNOME/GLib!2276, + glgo#GNOME/GLib!2300, glgo#GNOME/GLib!2301, + glgo#GNOME/GLib!2302, glgo#GNOME/GLib!2304. +- Refresh patches with quilt. + +------------------------------------------------------------------- +Fri Sep 17 12:12:52 UTC 2021 - Dominique Leuenberger + +- Update to version 2.70.0: + + Bug fixed: ci: Replace FreeBSD 11 with FreeBSD 13. + + Updated translations. + +------------------------------------------------------------------- +Thu Sep 16 01:35:28 UTC 2021 - Stanislav Brabec + +- Remove obsolete translation-update-upstream support + (jsc#SLE-21105). + +------------------------------------------------------------------- +Tue Sep 7 21:45:09 UTC 2021 - Alexei Podvalsky + +- desktop-file-utils: add Pantheon desktop environment + +------------------------------------------------------------------- +Tue Sep 7 14:19:23 UTC 2021 - Dominique Leuenberger + +- Update to version 2.69.3: + + g_settings_schema_key_range_check() misbehaves for int versus + bool. + + Compiling anything with GCC <4.6 spews deprecation warnings. + + `g_invoke_closure` bindings API break.. + + GPowerProfileMonitorPortal does not notice initial + power-saver-enabled status. + + doc: Explicitly said, that no null term. is needed. + + ci: Use C.UTF-8 locale on FreeBSD 12. + + gio: Fix conditions in memory-monitor test. + + Updated translations. + +------------------------------------------------------------------- +Mon Aug 23 02:19:02 UTC 2021 - Bjørn Lie + +- Update to version 2.69.2: + + The `DBUS_SESSION_BUS_ADDRESS` environment variable is once + more not used if the process is `AT_SECURE` + (setuid/setgid/setcap); this change was previously applied and + then reverted because it broke gnome-keyring + + Add `g_test_fail_printf()`, `g_test_skip_printf()`, + `g_test_incomplete_printf()` helper functions for printing + messages when tests end prematurely + + Add portal implementation of `GPowerProfileMonitor` + + Various bugs fixed + + Updated translations. + +------------------------------------------------------------------- +Mon Aug 23 02:19:01 UTC 2021 - Bjørn Lie + +- Update to version 2.69.1: + + Support categories in desktop notifications (`GNotification`) + + Add `GPowerProfileMonitor` for monitoring when to use less + power (due to being on battery power, electricity being + expensive or high-carbon, etc.) + + Allow static names to be set for `GSource`s to avoid + unnecessary string copies + + Various bugs fixed + + Updated translations. + +------------------------------------------------------------------- +Mon Aug 23 02:19:00 UTC 2021 - Dominique Leuenberger + +- Update to version 2.69.0: + + Fix a crash in `GKeyFile` when parsing a file which contains + translations using a `GKeyFile` instance which has loaded + another file previously. + + Ensure `dlerror()` is used with locking as it’s not thread-safe + in some libc implementations. + + Drop internal libpcre copy in favour of a subproject from + wrapdb. + + Optimise grefcount atomic operations. + + Fix `g_date_time_format()` return value encoding if `LC_TIME` + is not a UTF-8 locale but other locale settings are. + + Set app name in freedesktop.org notifications with + `GNotification`. + + Add PKCS#11 flags to `GTlsPasswordFlags`. + - Drop -Dinternal_pcre=false meson parameter: follow upstreams + build recipe changes. + +------------------------------------------------------------------- +Fri Aug 20 16:20:21 UTC 2021 - Bjørn Lie + +- Update to version 2.68.4: + + Various bugfixes and backports from master. + + Updated translations. +- Drop 63e7864.patch: fixed upstream. + +------------------------------------------------------------------- +Wed Aug 4 15:17:41 UTC 2021 - Dominique Leuenberger + +- Add 63e7864.patch: Fix build with glibc 2.34: use 3 parameters + for close_range (boo#1189088). + +------------------------------------------------------------------- +Fri Jul 30 08:33:40 UTC 2021 - Yifan Jiang + +- Drop patches fixed upstream on SLE and Leap 15.4: + + glib2-add-support-for-slim-timezone-format.patch + + glib2-fix-6-days-until-the-end-of-the-month.patch + + glib2-CVE-2021-27218.patch + + glib2-CVE-2021-27219-add-g_memdup2.patch + +------------------------------------------------------------------- +Thu Jul 15 15:02:20 UTC 2021 - Dominique Leuenberger + +- Silence output in libgio-2_0-0 post scriptlet in case the + ENV-mimeapps.list files do not exist: we are ready to create them + in this case. An error message is only confusing. + +------------------------------------------------------------------- +Fri Jun 11 13:43:28 UTC 2021 - Bjørn Lie + +- Update to version 2.68.3: + + Bugs fixed: + - testfilemonitor test leaks ip_watched_file_t struct + - GFile: `g_file_replace_contents()` reports + `G_IO_ERROR_WRONG_ETAG` when saving from a symlink + - Backport !2128 “inotify: Fix a memory leak” to glib-2-68 + - Backport !2136 “tlscertificate: Avoid possible invalid read” + to glib-2-68 + - Backport !2138 “glocalfileoutputstream: Fix ETag check when + replacing through a symlink” to glib-2-68. + +------------------------------------------------------------------- +Fri May 14 13:48:38 UTC 2021 - Dominique Leuenberger + +- Update to version 2.68.2: + + Fix building third-party projects against GLib on CentOS 7. + + Bugs fixed: + - json-glib does not build with glib 2.68.1. + - gmacros: check that __cplusplus or _MSC_VER is defined. + - gmacros: missing check if __STDC_VERSION__ is defined. + - Backport !2078 “gthreadedresolver: don't ignore flags in + lookup_by_name_with_flags” to glib-2-68. + +------------------------------------------------------------------- +Sat Apr 17 08:29:59 UTC 2021 - Dominique Leuenberger + +- Update to version 2.68.1: + + Fix a crash in `GKeyFile` when parsing a file which contains + translations using a `GKeyFile` instance which has loaded + another file previously. + + Pin GIO DLL in memory on Windows. + + Updated translations. + +------------------------------------------------------------------- +Thu Mar 18 17:10:24 UTC 2021 - Dominique Leuenberger + +- Update to version 2.68.0: + + Bugs fixed: + - build: Drop gconstructor_as_data_h usage from + glib-compile-schemas. + - glib.supp: Generalize some suppressions. + - gbytesicon: Fix error in g_bytes_icon_new() documentation. + - glocalfileoutputstream: Tidy up error handling. + - tests: Fix copy/paste error in queue test. + +------------------------------------------------------------------- +Thu Mar 18 11:04:24 UTC 2021 - Dominique Leuenberger + +- Update to version 2.67.6: + + Fix a security issue when using `g_file_replace()` with + `G_FILE_CREATE_REPLACE_DESTINATION`. + + Disallow operations on the empty path with + `g_file_new_from_path()`. + + Various fixes for GLib when building with clang-cl on Windows. + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 8 09:58:03 UTC 2021 - Dominique Leuenberger + +- Update to version 2.67.5: + + Fix more issues with `glib_typeof` macro from 2.67.3–2.67.4. + + Fix regression with some FD mappings passed to + `g_subprocess_launcher_spawnv()` caused by changes for #2097 in + GLib 2.67.4. + + Fix detection of `str[n]casecmp()` when building with + `clang-cl`. + + Use zlib from subproject if configured with + `wrap_mode=forcefallback`. + + Updated translations. + +------------------------------------------------------------------- +Thu Mar 4 00:49:58 UTC 2021 - Alynx Zhou + +- Add glib2-CVE-2021-27218.patch: g_byte_array_new_take takes a + gsize as length but stores in a guint, this patch will refuse if + the length is larger than guint. (bsc#1182328, + glgo#GNOME/glib!1944) + +------------------------------------------------------------------- +Wed Mar 3 01:17:16 UTC 2021 - Alynx Zhou + + +- Add glib2-CVE-2021-27219-add-g_memdup2.patch: g_memdup takes a + guint as parameter and sometimes leads into an integer overflow, + so add a g_memdup2 function which uses gsize to replace it. + (bsc#1182362, glgo#GNOME/glib!1927, glgo#GNOME/glib!1933, + glgo#GNOME/glib!1943) + +------------------------------------------------------------------- +Wed Feb 17 09:38:03 UTC 2021 - Dominique Leuenberger + +- Update to version 2.67.4: + + Add a `g_string_replace()` function. + + Add `G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER` flag + to simplify the common case for writing a D-Bus authentication + observer, allowing most uses of `GDBusAuthObserver` to be + dropped. + + Add a new `g_spawn_with_pipes_and_fds()` variant which supports + renumbering FDs. + + Add new g_memdup2() API to replace g_memdup(), which is + vulnerable to a silent integer truncation and heap overflow + problem if not used carefully. + + Fix various regressions caused by rushed security fixes in + 2.66.6. + + Fix a silent integer truncation when calling + g_byte_array_new_take() for byte arrays bigger than G_MAXUINT. + + Fix `g_utf8_strdown()` to fix some issues in Turkish. + + Updated translations. + +------------------------------------------------------------------- +Thu Feb 11 13:33:22 UTC 2021 - Dominique Leuenberger + +- Update to version 2.67.3: + + Add new `g_memdup2()` API to replace `g_memdup()`, which is + vulnerable to a silent integer truncation and heap overflow + problem if not used carefully. + + Add new `g_dbus_object_path_escape()` and + `g_dbus_object_path_unescape()` APIs to provide one way of + escaping arbitrary bytestrings for use in D-Bus object paths. + + Use `bash-completion.pc` (if available) to provide the path to + install completion files into. + + Fix support for public/private trigraphs in `glib-mkenums`. + + Add `glib_debug` configure option to allow disabling debug + infrastructure in builds with debug symbols enabled. + + Fix a regression where `PATH` would always be searched when + using `g_spawn()`, even when it wasn’t supposed to. + + Override `gio-querymodules` in Meson when used as a submodule. + + Updated translations. +- Rebase glib2-dbus-socket-path.patch. + +------------------------------------------------------------------- +Thu Feb 11 13:33:21 UTC 2021 - Dominique Leuenberger + +- Update to version 2.67.2: + + Add `gio launch` command to execute programs. + + Fix unused parameter warnings in code generated by + `gdbus-codegen`. + + Officially deprecate `to-pixdata` option for + `glib-compile-resources`, in favour of simply embedding more + modern image formats in linked-in `GResource` files. + + Support querying and running UWP applications on Windows. + + Support `gio trash --restore` and `gio trash --list` commands. + + No longer read environment variables for GIO module locations + when running as setuid. + + More progress on fixing compiler warnings. + + `GKeyFile` performance improvements. + + Improve UDP socket behaviour on Windows. + + Add `-Dtests` meson configure option for disabling tests + entirely. +- Changes from version 1.67.1: + + Deprecate `g_time_zone_new()` in favour of + `g_time_zone_new_identifier()`, which makes error checking + easier. + + Remove `volatile` from various public APIs, including + `G_DEFINE_*`. You should adjust your code to not use `volatile` + for atomic variables, `GOnce` variables, or mostly anything. + + Support passing file handles to `gdbus` command line tool. + + Add `g_assert_cmpstrv()` test convenience function. + + Changes to the behaviour of the `G_URI_FLAGS_SCHEME_NORMALIZE` + scheme normalization flag in `GUri`. + + Add new `--run-prefix` and `--skip-prefix` options to GTest, to + allow running or skipping test suites by prefix. + + Fix thread-safety of `GBinding`. + + Updated translations. +- Rebase glib2-bgo569829-gettext-gkeyfile.patch, + glib2-fate300461-gettext-gkeyfile-suse.patch, + glib2-dbus-socket-path.patch and + glib2-gdbus-codegen-version.patch. + +------------------------------------------------------------------- +Thu Feb 11 13:33:20 UTC 2021 - Bjørn Lie + +- Update to version 2.66.7: + + Fix various regressions caused by rushed security fixes in + 2.66.6. + + Fix a silent integer truncation when calling + `g_byte_array_new_take()` for byte arrays bigger than + `G_MAXUINT`. + + Disallow using currently-undefined D-Bus connection or server + flags to prevent forward-compatibility problems with new + security-sensitive flags likely to be released in GLib 2.68. + + Bugs fixed: glgo#GNOME/GLib!1933, glgo#GNOME/GLib!1943, + glgo#GNOME/GLib!1944, glgo#GNOME/GLib!1945. + +------------------------------------------------------------------- +Thu Feb 11 11:06:17 UTC 2021 - Christopher Yeleighton + +- disable irrelevant warnings +- use macros in spec file +- simplify trigger code + +------------------------------------------------------------------- +Fri Feb 5 10:59:15 UTC 2021 - Bjørn Lie + +- Update to version 2.66.6: + + Fix various instances within GLib where `g_memdup()` was + vulnerable to a silent integer truncation and heap overflow + problem (glgo#GNOME/GLib#2319). + +------------------------------------------------------------------- +Wed Feb 3 18:52:30 UTC 2021 - Bjørn Lie + +- Update to version 2.66.5: + + Fix some issues with handling over-long (invalid) input when + parsing for `GDate`. + + Don’t load GIO modules or parse other GIO environment variables + when `AT_SECURE` is set (i.e. in a setuid/setgid/setcap + process). GIO has always been documented as not being safe to + use in privileged processes, but people persist in using it + unsafely, so these changes should harden things against + potential attacks at least a little. Unfortunately they break a + couple of projects which were relying on reading + `DBUS_SESSION_BUS_ADDRESS`, so GIO continues to read that for + setgid/setcap (but not setuid) processes. This loophole will be + closed in GLib 2.70 (see issue #2316), which should give + modules 6 months to change their behaviour. + + Fix `g_spawn()` searching `PATH` when it wasn’t meant to. + + Bugs fixed: bgo#2168, bgo#2210, bgo#2305, glgo#GNOME/GLib!1820, + glgo#GNOME/GLib!1824, glgo#GNOME/GLib!1831, + glgo#GNOME/GLib!1836, glgo#GNOME/GLib!1864, + glgo#GNOME/GLib!1872, glgo#GNOME/GLib!1913, + glgo#GNOME/GLib!1922. +- Rebase/refresh patches: + + glib2-dbus-socket-path.patch + + glib2-fate300461-gettext-gkeyfile-suse.patch + + glib2-gdbus-codegen-version.patch + + glib2-suppress-schema-deprecated-path-warning.patch + + glib2-bgo569829-gettext-gkeyfile.patch + +------------------------------------------------------------------- +Thu Dec 17 21:20:22 UTC 2020 - Bjørn Lie + +- Update to version 2.66.4: + + Fix some issues in parsing floating point seconds in + `GDateTime` + + Fix some issues in handling invalid UTF-8 when parsing for + `GDate` + + Bugs fixed: glgo#GNOME/GLib#2264, glgo#GNOME/GLib!1774, + glgo#GNOME/GLib!1790, glgo#GNOME/GLib!1793, + glgo#GNOME/GLib!1799, glgo#GNOME/GLib!1805. + +------------------------------------------------------------------- +Mon Nov 16 14:34:46 UTC 2020 - Dominique Leuenberger + +- Add requires(post) libgio-2_0-0 to glib2-tools: ensures + glib-compile-schema to be functional when the file trigger fires, + by explicitly requesting the correct library to be present for + the post script. (boo#1178713). + +------------------------------------------------------------------- +Mon Nov 16 14:26:35 UTC 2020 - Bjørn Lie + +- Update to version 2.66.3: + + Fix awkward bug with `GPollFD` handling in some situations. + + Fix sending FDs attached to very large D-Bus messages. + + Bugs fixed: glgo#GNOME/GLib#1592, glgo#GNOME/GLib!1720, + glgo#GNOME/GLib!1721, glgo#GNOME/GLib!1723, + glgo#GNOME/GLib!1727, glgo#GNOME/GLib!1736. + +------------------------------------------------------------------- +Sun Nov 15 18:52:39 UTC 2020 - Christopher Yeleighton + +- add %license COPYING +- add %doc README.md +- rename -tests to -tests-devel + +------------------------------------------------------------------- +Fri Nov 6 07:12:20 UTC 2020 - Alynx Zhou + +- Add patches to support for slim format of timezone (bsc#1178346): + + glib2-add-support-for-slim-timezone-format.patch: basic support + for slim format (glgo#GNOME/glib!1533). + + glib2-fix-6-days-until-the-end-of-the-month.patch: fix DST + incorrect end day when using slim format + (glgo#GNOME/glib!1683). + +------------------------------------------------------------------- +Thu Oct 22 11:45:40 UTC 2020 - Dominique Leuenberger + +- Enable building of documentation: + + Toggle gtk_doc from bcond_with to bcond_without. + + Use sed to replace gtk-doc version in + docs/reference/meson.build with 1.32. + +------------------------------------------------------------------- +Tue Oct 20 14:00:37 UTC 2020 - dimstar@opensuse.org + +- Update to version 2.66.2: + + Important and time-critical fix to DST transitions which will + happen in Europe on 2020-10-25 on distributions which use the + ‘slim’ tzdata format (which is now the default in tzdata/tzcode + 2020b). + + Further timezone handling changes to restore support for + changing the timezone when `/etc/localtime/` changes. + + Fix deadlock on Windows when `G_SLICE` is set in the + environment. + + Fix UTF-8 validation when escaping URI components. + + Updated translations. + +------------------------------------------------------------------- +Mon Oct 5 15:13:27 UTC 2020 - dimstar@opensuse.org + +- Update to version 2.66.1: + + A performance problem where timezones were reloaded from disk + every time a `GTimeZone` was created has been fixed, but this + means that changes to `/etc/localtime` will not take effect + until a process restarts; future changes in a subsequent 2.66.x + release will improve this. + + Security fix for incorrect scope/zone ID parsing in URIs. + + Updated translations. + +------------------------------------------------------------------- +Mon Oct 5 02:56:00 UTC 2020 - dimstar@opensuse.org + +- Update to version 2.66.0: + + * Bugs fixed: + - Missing tab in makefile rule. + - guri: Fix user passed to g_uri_split_with_user() not being + NULL'd. + + Updated translations. + +------------------------------------------------------------------- +Mon Oct 5 02:55:03 UTC 2020 - dimstar@opensuse.org + +- Update to version 2.65.3: + + Fixes to the new `statx()` calls — note that since GLib 2.65.2 + uses `statx()` (if available) instead of + `stat()`/`fstat()`/`lstat()`/`fstatat()`, syscall sandboxing + for third party applications might need to be updated. + + Updated translations. + +------------------------------------------------------------------- +Mon Oct 5 02:55:02 UTC 2020 - Dominique Leuenberger + +- Update to version 2.65.2: + + Support `statx()` and `G_FILE_ATTRIBUTE_TIME_CREATED`. + + Fix deadlock in `g_subprocess_communicate_async()`. + + Add `%f`/microsecond placeholder support to + `g_date_time_format()`. +- Changes from version 2.65.1: + + Add `GUri` API for parsing, building and representing URIs + according to [RFC 3986](https://tools.ietf.org/html/rfc3986). + + Fix handling of xattr data with embedded nuls. + + Add `g_file_set_contents_full()` which gives more control over + fsyncs. + + Add a `x-gvfs-notrash` option to disable trash on certain + mounts. + + Support ‘slim’ TZif files generated with `zic -b slim`. + + Support emitting profiling marks from `GMainContext` to sysprof + capture files. + + Accept IPv6 zone IDs in `g_hostname_is_ip_address()`. + + Updated translations. +- Rebase glib2-gdbus-codegen-version.patch. +- Build without gtk-doc: it would require a not yet released + version of gtk-doc. + +------------------------------------------------------------------- +Sun Oct 4 11:01:34 UTC 2020 - Bjørn Lie + +- Update to version 2.64.6: + + Bugs fixed: glgo#GNOME/GLib#2194, glgo#GNOME/GLib#2209, + glgo#GNOME/GLib!1633, glgo#GNOME/GLib!1634, + glgo#GNOME/GLib!1656, glgo#GNOME/GLib!1659, + glgo#GNOME/GLib!1666, glgo#GNOME/GLib!1672. + + Updated translations. + +------------------------------------------------------------------- +Tue Aug 18 17:20:55 UTC 2020 - Bjørn Lie + +- Update to version 2.64.5: + + Fix deadlock in `g_subprocess_communicate_async()`. + + Bugs fixed: glgo#GNOME/GLib!1519, glgo#GNOME/GLib!1520, + glgo#GNOME/GLib!1565, glgo#GNOME/GLib!1608, + glgo#GNOME/GLib!1618, glgo#GNOME/GLib!1621. + +------------------------------------------------------------------- +Fri Jul 3 17:00:34 UTC 2020 - Bjørn Lie + +- Update to version 2.64.4: + + Bugs fixed:glgo#GNOME/GLib#2140, glgo#GNOME/GLib!1507, + glgo#GNOME/GLib!1523, glgo#GNOME/GLib!1547. + + Updated translations. + +------------------------------------------------------------------- +Wed May 20 18:13:51 UTC 2020 - Bjørn Lie + +- Update to version 2.64.3: + + Stability improvements for various unit tests. + + Bugs fixed: glgo#GNOME/GLib#1954, glgo#GNOME/GLib#2094, + glgo#GNOME/GLib!1470, glgo#GNOME/GLib!1471, + glgo#GNOME/GLib!1473, glgo#GNOME/GLib!1478, + glgo#GNOME/GLib!1483, glgo#GNOME/GLib!1484, + glgo#GNOME/GLib!1486, glgo#GNOME/GLib!1495, + glgo#GNOME/GLib!1501. + + Updated translations. + +------------------------------------------------------------------- +Fri Apr 10 11:26:29 UTC 2020 - Bjørn Lie + +- Update to version 2.64.2: + + Bugs fixed: glgo#GNOME/GLib#2067, glgo#GNOME/GLib#2081, + glgo#GNOME/GLib!1421, glgo#GNOME/GLib!1438, + glgo#GNOME/GLib!1424, glgo#GNOME/GLib!1428, + glgo#GNOME/GLib!1429, glgo#GNOME/GLib !1431, + glgo#GNOME/GLib!1432, glgo#GNOME/GLib!1435, + glgo#GNOME/GLib!1447. + + Updated translations. + +------------------------------------------------------------------- +Sat Mar 28 03:04:01 UTC 2020 - bjorn.lie@gmail.com + +- Update to version 2.64.1: + + Fix memory monitor tests to only be installed if + installed-tests are enabled, and to be skipped if + GObject-Introspection is too old. + + Bugs fixed: glgo#GNOME/GLib#1986, glgo#GNOME/GLib#1988, + glgo#GNOME/GLib!1407, glgo#GNOME/GLib!1412. + + Updated translations. + +------------------------------------------------------------------- +Sat Mar 28 03:04:00 UTC 2020 - Bjørn Lie + +- Update to version 2.64.0: + + Use `posix_spawn()` to speed up launching test D-Bus instances. + + Bugs fixed: glgo#GNOME/GLib#1783, glgo#GNOME/GLib#2049, + glgo#GNOME/GLib!1384, glgo#GNOME/GLib!1386, + glgo#GNOME/GLib!1387, glgo#GNOME/GLib!1388, + glgo#GNOME/GLib!1389. + + Updated translations. + +------------------------------------------------------------------- +Sat Mar 28 03:03:06 UTC 2020 - Bjørn Lie + +- Update to version 2.63.6: + + Fix potential relative read when calling g_printerr(), which + could lead to a denial of service from a setuid-root process + being used to block access to the TTY for another user. + + Fix SOCKS proxy resolver sometimes not being used when + resolving addresses via Happy Eyeballs (CVE-2020-6750). + + Several other Happy Eyeballs fixes for address resolution. + + Various race fixes in `GDBusConnection` and its unit tests. + + Fix a race condition with D-Bus name ownership. + + Drop `gio-launch-desktop` helper application in favour of + calling `sh` directly. + + Fix win32 exception handling with C# exceptions. + + Fix thread safety of `GUnixMountMonitor`. + + Additional fixes to new thread pool attribute behaviour from + GLib 2.63.4 to check if sched_setattr() is allowed by system + policies before depending on it. + + Fix memory leaks and corruption when freeing `GSource`s while + freeing a `GMainContext`. + + Drop inappropriate installation of object manager example + documentation. + + Varioius other bugs and fixes. + + Updated translations. + +------------------------------------------------------------------- +Sat Mar 28 03:03:05 UTC 2020 - dimstar@opensuse.org + +- Update to version 2.63.5: + + Fix behaviour of `g_file_move()` fallback code to not follow + symlinks. + + Rename `--glib-min-version` argument of `gdbus-codegen` to + `--glib-min-required`. + + Add gtk-doc checks to CI and fix a number of documentation + issues. + + Add a debug message if `g_setenv()` or `g_unsetenv()` are used + after any threads have been spawned — this will be upgraded to + a warning in future. + + Skip memory monitor tests if xdg-desktop-portal or dbusmock are + not available. + + Change the `libmount` configure option from a boolean to a + Meson `feature`. + + Do not return `target-uri` from `g_file_peek_path()` when + called on trash/recent files. + + Drop new TLS certificate API for PKCS #11 backed certificates, + as the implementation is not ready yet (this is not an API + break as the API was added earlier in the 2.63 cycle). + + Updated translations. + + For changes from earlier in the dev cycle see the NEWS file. +- Rebase glib2-gdbus-codegen-version.patch. + +------------------------------------------------------------------- +Wed Mar 18 16:18:00 UTC 2020 - Bjørn Lie + +- Update to version 2.62.6: + + This is expected to be the final release in the 2.62.x stable + series; maintenance effort will shift to the newer 2.64.x + stable series now. + + Fix SOCKS5 username/password authentication. + + Exception handling fixes on Windows. + + Bugs fixed: glgo#GNOME/GLib#1986, glgo#GNOME/GLib#1988, + glgo#GNOME/GLib#2049, glgo#GNOME/GLib!1378, + glgo#GNOME/GLib!1380, glgo#GNOME/GLib!1393, + glgo#GNOME/GLib!1394, glgo#GNOME/GLib!1411. + + Updated translations. + +------------------------------------------------------------------- +Tue Feb 18 13:51:25 UTC 2020 - Bjørn Lie + +- Update to version 2.62.5: + + Fix potential relative read when calling g_printerr(), which + could lead to a denial of service from a setuid-root process + being used to block access to the TTY for another user. + + Fix SOCKS proxy resolver sometimes not being used when + resolving addresses via Happy Eyeballs (CVE-2020-6750). + + Several other Happy Eyeballs fixes for address resolution. + + Fix parsing of full Julian day range from `$TZ` environment + variable. + + Several race condition/crash fixes. + + Bugs fixed: glgo#GNOME/GLib#1919, glgo#GNOME/GLib#1995, + glgo#GNOME/GLib#1999, glgo#GNOME/GLib!1323, + glgo#GNOME/GLib!1331, glgo#GNOME/GLib!1352, + glgo#GNOME/GLib!1361, glgo#GNOME/GLib!1365, + glgo#GNOME/GLib!1370, glgo#GNOME/GLib!1371. + + Updated translations. + +------------------------------------------------------------------- +Sat Jan 25 14:08:46 UTC 2020 - Dominique Leuenberger + +- No longer recommend -lang: supplements are in use + +------------------------------------------------------------------- +Thu Dec 19 17:45:31 UTC 2019 - Bjørn Lie + +- Update to version 2.62.4: + + Apply recursion depth limits to variants in D-Bus messages. + + Bugs fixed: glgo#GNOME/GLib#1938, glgo#GNOME/GLib!1240, + glgo#GNOME/GLib!1257, glgo#GNOME/GLib!1266, + glgo#GNOME/GLib!1276, glgo#GNOME/GLib!1290. + +------------------------------------------------------------------- +Tue Nov 19 20:25:30 UTC 2019 - Bjørn Lie + +- Update to version 2.62.3: + + Use `poll()` in `g_spawn_sync()` rather than `select()`, which + is subject to FD limits. + + Fix undefined behaviour with `g_utf8_find_prev_char()`. + + Bugs fixed: glgo#GNOME/GLib#954, glgo#GNOME/GLib#1318, + glgo#GNOME/GLib#1897, glgo#GNOME/GLib#1903, + glgo#GNOME/GLib#1916, glgo#GNOME/GLib#1917, + glgo#GNOME/GLib!1174, glgo#GNOME/GLib!1184, + glgo#GNOME/GLib!1194, glgo#GNOME/GLib!1203, + glgo#GNOME/GLib!1207, glgo#GNOME/GLib!1215, + glgo#GNOME/GLib!1219, glgo#GNOME/GLib!1222, + glgo#GNOME/GLib!1228. + +------------------------------------------------------------------- +Tue Nov 5 20:12:37 UTC 2019 - Michael Gorse + +- Re-enable systemtap, and require systemtap-headers and + systemtap-dtrace, rather than systemtap-sdt-devel, to avoid build + cycle (boo#1145438). +- Own /usr/share/systemtap{|tapset} directories, since we no + longer have systemtap-sdt-devel in BuildRequires. +- Disable lto if systemtap is enabled: build fails otherwise. + +------------------------------------------------------------------- +Mon Oct 21 17:28:20 UTC 2019 - Bjørn Lie + +- Update to version 2.62.2: + + Bugs fixed: + - glgo#GNOME/GLib#1896: Use after free when calling + g_dbus_connection_flush_sync() in a dedicated thread. + - glgo#GNOME/GLib!1154: Backport glgo#GNOME/GLib!1152 + “gwinhttpvfs: Handle g_get_prgname() returning NULL” to + glib-2-62. + - glgo#GNOME/GLib!1156: Backport glgo#GNOME/GLib!1146 Solaris + fixes to glib-2-62. + +------------------------------------------------------------------- +Fri Oct 4 12:12:46 UTC 2019 - Bjørn Lie + +- Update to version 2.62.1: + + Fix regression in g_file_copy() when passing + `G_FILE_COPY_TARGET_DEFAULT_PERMS` flag; the destination + permissions would be private rather than following the process’ + umask. + + Several `GDateTime` parsing fixes. + + Always build the tests if installed-tests are enabled, so that + the tests can actually be installed. + + Bugs fixed: glgo#GNOME/GLib#174, glgo#GNOME/GLib#1865, + glgo#GNOME/GLib#1875, glgo#GNOME/GLib#1887, + glgo#GNOME/GLib#1888, glgo#GNOME/GLib!1021, + glgo#GNOME/GLib!1094, glgo#GNOME/GLib!1101, + glgo#GNOME/GLib!1102, glgo#GNOME/GLib!1103, + glgo#GNOME/GLib!1127, glgo#GNOME/GLib!1128, + glgo#GNOME/GLib!1140, glgo#GNOME/GLib!1141, + glgo#GNOME/GLib!1142. + + Updated translations. + +------------------------------------------------------------------- +Fri Sep 6 10:31:47 NZST 2019 - luke@ljones.dev + +- Update to version 2.62.0: + + Fix new `GFileInfo` APIs to work when + `G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC` was not queried. + + Bugs fixed: glgo#GNOME/GLib#487, glgo#GNOME/GLib!1084, + glgo#GNOME/GLib!1086,glgo#GNOME/GLib!1087. + +------------------------------------------------------------------- +Thu Sep 5 20:24:54 NZST 2019 - luke@ljones.dev + +- Update to version 2.61.3: + + Support setting thread name on BSD systems. + + Install previously-uninstalled headers for public + `GNativeSocketAddress` object. + + Very initial support for Windows apps (UWP). + + Add various new valgrind suppressions to `glib.supp`. + + Bugs fixed: glgo#GNOME/GLib!83, glgo#GNOME/GLib!512, + glgo#GNOME/GLib!873, glgo#GNOME/GLib!905, glgo#GNOME/GLib!1057, + glgo#GNOME/GLib!1309, glgo#GNOME/GLib!1620, + glgo#GNOME/GLib!1761, glgo#GNOME/GLib!1803, + glgo#GNOME/GLib!1819, glgo#GNOME/GLib!1852, + glgo#GNOME/GLib!1854, glgo#GNOME/GLib!1860, + glgo#GNOME/GLib!1863, glgo#GNOME/GLib!1867, + glgo#GNOME/GLib!1870, glgo#GNOME/GLib!1879, + glgo#GNOME/GLib!1880, glgo#GNOME/GLib!1881, + glgo#GNOME/GLib!1002, glgo#GNOME/GLib!1011, + glgo#GNOME/GLib!1015, glgo#GNOME/GLib!1016, + glgo#GNOME/GLib!1017, glgo#GNOME/GLib!1023, + glgo#GNOME/GLib!1026, glgo#GNOME/GLib!1027, + glgo#GNOME/GLib!1031, glgo#GNOME/GLib!1032, + glgo#GNOME/GLib!1033, glgo#GNOME/GLib!1034, + glgo#GNOME/GLib!1036, glgo#GNOME/GLib!1037, + glgo#GNOME/GLib!1044, glgo#GNOME/GLib!1049, + glgo#GNOME/GLib!1050, glgo#GNOME/GLib!1054, + glgo#GNOME/GLib!1057, glgo#GNOME/GLib!1059, + glgo#GNOME/GLib!1066, glgo#GNOME/GLib!1068, + glgo#GNOME/GLib!1071, glgo#GNOME/GLib!1074, + glgo#GNOME/GLib!1075. +------------------------------------------------------------------- +Mon Sep 2 18:04:38 UTC 2019 - Dominique Leuenberger + +- Update to version 2.61.2: + + Add various new array functions (#236, #269, #373). + + Rework how D-Bus connections are closed/unreffed when + `g_test_dbus_down()` is called. Tests which leak a + `GDBusConnection` may now time out and abort, rather than + silently leaking. (#787) + + Add a deprecation macro for GLib macros, and use it; + third-party uses of long-deprecated GLib macros may now start + causing warnings. (#1060). + + Deprecate `GTime` and `GTimeVal`, and various functions which + use them. Use `GDateTime` and `guint64` UNIX timestamps + instead. + + Stop using `G_DISABLE_DEPRECATED` to allow disabling + deprecation warnings; third-party code should now be using + `GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED}` to control symbol + usage. + + Improve `GNetworkMonitor` detection of offline states (#1788). + + Fix CVE-2019-12450, wide permissions of files when copying + using GIO. +- Changes from version 2.61.1: + + Upgrade to Unicode Character Database v12.1. + + Improve network availability detection with NetworkManager to + treat lower levels of connectivity as having reduced + availability. +- Changes from version 2.61.0: + + Add coloured output support to `gdbus introspect. + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 2 17:04:38 UTC 2019 - Bjørn Lie + +- Update to version 2.60.7: + + Bugs fixed: glgo#GNOME/GLib#1819, glgo#GNOME/GLib#1847, + glgo#GNOME/GLib!1012, glgo#GNOME/GLib!1013, + glgo#GNOME/GLib!1061, glgo#GNOME/GLib!1065, + glgo#GNOME/GLib!1081. + +------------------------------------------------------------------- +Wed Jul 24 11:38:32 UTC 2019 - Bjørn Lie + +- Update to version 2.60.6: + + Fix various bugs with use of the `GKeyfileSettingsBackend` + within flatpaks (glgo#GNOME/GLib!984, glgo#GNOME/GLib!985, + glgo#GNOME/GLib#1825). + + Bugs fixed: glgo#GNOME/GLib!993, glgo#GNOME/GLib!984, + glgo#GNOME/GLib!985. +- Drop glib2-keyfile-handle-filename-being-null.patch: Fixed + upstream. + +------------------------------------------------------------------- +Sat Jul 13 18:23:31 UTC 2019 - Bjørn Lie + +- Add glib2-keyfile-handle-filename-being-null.patch: key file: + Handle filename being NULL (glgo#GNOME/GLib!1825, + glgo#GNOME/GLib#984). + +------------------------------------------------------------------- +Tue Jul 9 11:12:41 UTC 2019 - Bjørn Lie + +- Update to version 2.60.5: + + Fix implicit use of the `GKeyfileSettingsBackend`. + + Fix opening a URI using the ‘Open URI’ portal. + + Bugs fixed: glgo#GNOME/GLib!910, glgo#GNOME/GLib!949, + glgo#GNOME/GLib!956, glgo#GNOME/GLib!958, glgo#GNOME/GLib!969, + glgo#GNOME/GLib!977. + +------------------------------------------------------------------- +Tue Jun 11 07:14:22 UTC 2019 - Bjørn Lie + +- Update to version 2.60.4: + + Fixes to improved network status detection with NetworkManager. + + Leak fixes to some `glib-genmarshal` generated code. + + Further fixes to the Happy Eyeballs (RFC 8305) implementation. + + File system permissions fix to clamp down permissions in a + small time window when copying files (CVE-2019-12450). + + Bugs fixed: glgo#GNOME/GLib#1755, glgo#GNOME/GLib#1788, + glgo#GNOME/GLib#1792, glgo#GNOME/GLib#1793, + glgo#GNOME/GLib#1795, glgo#GNOME/GLib!865, glgo#GNOME/GLib!878. + +------------------------------------------------------------------- +Thu May 23 11:31:46 UTC 2019 - Dominique Leuenberger + +- Set umask to 022 before running glib-compile-schemas + (boo#1131761). + +------------------------------------------------------------------- +Thu May 23 08:53:07 UTC 2019 - Dominique Leuenberger + +- Update to version 2.60.3: + + * Various fixes to small key/value support in `GHashTable`. + * Bugs fixed: + - Critical in g_socket_client_async_connect_complete. + - New GHashTable implementation confuses valgrind. + - test_month_names: assertion failed. + - GNetworkAddressAddressEnumerator unsafely modifies cache in + GNetworkAddress. + - Leaks in gsocketclient.c connection code. + - glib/date test fails. + - GDB pretty-printer for GHashTable no longer works + + Updated translations. + +------------------------------------------------------------------- +Wed May 8 08:53:16 UTC 2019 - Dominique Leuenberger + +- Move glib2.macros to %_rpmmacrodir. /etc is for the system admin. + +------------------------------------------------------------------- +Fri May 3 17:19:40 UTC 2019 - Bjørn Lie + +- Update to version 2.60.2: + + Fix crash when displaying notifications on macOS. + + Improve network status detection with NetworkManager. + + Bugs fixed: glgo#GNOME/GLib!790, glgo#GNOME/GLib!793, + glgo#GNOME/GLib!803. + + Updated translations. + +------------------------------------------------------------------- +Fri Apr 26 11:30:39 UTC 2019 - Martin Liška + +- Use FAT LTO objects in order to provide proper static library (boo#1133129). + +------------------------------------------------------------------- +Mon Apr 15 19:33:19 UTC 2019 - Bjørn Lie + +- Update to version 2.60.1: + + Fix documentation for `gdbus-tool wait` to use correct units. + + Bugs fixed: glgo#GNOME/GLib#1709, glgo#GNOME/GLib#1725, + glgo#GNOME/GLib#1737, glgo#GNOME/GLib!711, glgo#GNOME/GLib!722, + glgo#GNOME/GLib!727, glgo#GNOME/GLib!729, glgo#GNOME/GLib!758, + glgo#GNOME/GLib!775. + + Updated translations. +- Drop upstream fixed patch: + 0001-Handle-an-UNKNOWN-NetworkManager-connectivity-as-NONE.patch. + +------------------------------------------------------------------- +Tue Mar 5 16:03:29 UTC 2019 - Antonio Larrosa + +- Add patch submitted upstream to handle an UNKNOWN NM connectivity + the same as a NONE value. This partly fixes boo#1103678 + (packagekit reports the network as available on a computer + without network connectivity which makes plasma-pk-update start + an update check which obviously fails). + * 0001-Handle-an-UNKNOWN-NetworkManager-connectivity-as-NONE.patch + +------------------------------------------------------------------- +Mon Mar 4 21:28:16 UTC 2019 - Bjørn Lie + +- Update to version 2.60.0: + + Further fixes to the Happy Eyeballs (RFC 8305) implementation. + + Add support for the XDG trash portal. + + Bugs fixed: glgo#GNOME/GLib#1653, glgo#GNOME/GLib#1658, + glgo#GNOME/GLib#1668, glgo#GNOME/GLib#1675, + glgo#GNOME/GLib#1676, glgo#GNOME/GLib#1679, + glgo#GNOME/GLib#1693, glgo#GNOME/GLib#1697, + glgo#GNOME/GLib#1698, glgo#GNOME/GLib!276, glgo#GNOME/GLib!639, + glgo#GNOME/GLib!666, glgo#GNOME/GLib!674, glgo#GNOME/GLib!676, + glgo#GNOME/GLib!677, glgo#GNOME/GLib!686, glgo#GNOME/GLib!688, + glgo#GNOME/GLib!689, glgo#GNOME/GLib!691, glgo#GNOME/GLib!692, + glgo#GNOME/GLib!696, glgo#GNOME/GLib!698, glgo#GNOME/GLib!699, + glgo#GNOME/GLib!702, glgo#GNOME/GLib!703. + + Updated translations. + +------------------------------------------------------------------- +Wed Feb 13 02:59:02 UTC 2019 - bjorn.lie@gmail.com + +- Update to version 2.59.2: + + Fix check on GDBusMessage size when reading it. + + Add async GIO API: g_file_query_default_handler_async(), + g_app_info_launch_uris_async(). + + Fix some bugs in the Happy Eyeballs implementation. + + Install a new generated header with enum types for Unicode + enums. + + Support the XDG trash portal. + + Bugs fixed: glgo#GNOME/GLib#1224, glgo#GNOME/GLib#1249, + glgo#GNOME/GLib#1347, glgo#GNOME/GLib#1376, + glgo#GNOME/GLib#1642, glgo#GNOME/GLib#1646, + glgo#GNOME/GLib#1649, glgo#GNOME/GLib#1673, + glgo#GNOME/GLib!276, glgo#GNOME/GLib!481, glgo#GNOME/GLib!585, + glgo#GNOME/GLib!593, glgo#GNOME/GLib!609, glgo#GNOME/GLib!619, + glgo#GNOME/GLib!622, glgo#GNOME/GLib!626, glgo#GNOME/GLib!627, + glgo#GNOME/GLib!629, glgo#GNOME/GLib!630. + + Updated translations. + +------------------------------------------------------------------- +Mon Feb 11 14:28:05 UTC 2019 - Dominique Leuenberger + +- BuildIgnore glib2-devel: since we have to require gtk-doc in + order to produce the doc, we gained an implicit dependency on + ourselves. The gtk-doc dependency is correct, but glib happens + to be buildable without this dependency too. +- Rework the check section to be in an own if/endif block so that + spec-cleaner is not getting confused by it. + +------------------------------------------------------------------- +Tue Jan 29 07:21:15 UTC 2019 - Dominique Leuenberger + +- Conditionalize enabling of systemtap, default disabled: it + creates a build loop. + +------------------------------------------------------------------- +Sat Jan 26 17:20:16 UTC 2019 - bjorn.lie@gmail.com + +- Update to version 2.59.1: + + Autotools support is gone. + + g_format_size() now uses a no-break space to separate digits + and units; translations will need to be updated accordingly. + + New g_queue_clear_full() API. + + Fix argument quoting on win32 when spawning subprocesses. + + Allow polling more than 64 handles on win32 using g_poll(). + + Tag various tests as ‘flaky’. These are no longer run routinely + on our upstream CI machines, and downstream packagers may want + to not run them (or not treat those test failures as package + build failures) on their test machines either. They are in the + `flaky` test suite. + + Add overlay support to g_resources_get_info(). + + Support defaults and locks in the keyfile GSettings backend. + This will be used for flatpaks. + + Accept unquoted strings in the keyfile GSettings backend to + simplify things for sysadmins. + + Update our contribution guidelines (`CONTRIBUTING.md`). + + Add writev() and writev_all() APIs to GOutputStream and + GPollableOutputStream, and provide implementations of them for + many subclasses. + + Many more bugs fixed, see package NEWS file for full list. + + Updated translations. +- Remove conditionals for meson build, use meson unconditionally + following upstreams removal of autotools. +- Add new glib2-tests subpackage. + +------------------------------------------------------------------- +Mon Jan 21 15:53:14 UTC 2019 - bjorn.lie@gmail.com + +- Update to version 2.59.0: + + This will be the last development release with autotools + support. As our Meson support has been around since 2.56.x, and + was used to release tarballs in 2.58.x, the next development + release (2.59.1) will drop autotools as used to build GLib. The + macros installed for other packages to use will remain. + + Add `G_TEST_OPTION_ISOLATE_DIRS` to redirect `XDG_*_HOME` to a + temporary directory for each unit test. + + Support `Property.EmitsChangedSignal` annotations in + `gdbus-codegen`. + + Add `g_assert_cmpvariant()` API for unit tests. + + Hide bind mounts from GIO mount listings. + + Automatically realign data passed to + `g_variant_new_from_bytes()` or `g_variant_new_from_data()` if + it is not correctly aligned. This prevents misaligned accesses + on architectures which don’t support them. Callers should still + aim to correctly align data to get higher performance. + + Support `ld -b binary` (on platforms which support it; i.e. + Linux) to provide large pre-compiled `GResource` resources with + a fast compilation time. + + Unconditionally install GLib m4 macros, so that projects which + depend on GLib and which still build using autotools can + continue to build even once GLib has ported entirely to Meson. + + Various fixes to the Meson build. + + Drop Python 2 support and require Python 3.4+. See discussion + on https://mail.gnome.org/archives/desktop-devel-list/2018-July/msg00004.html. + + `GHashTable` performance and memory improvements for common + cases. See + https://hpjansson.org/blag/2018/07/24/a-hash-table-re-hash/. + + Add flags that allow a `GApplication` to signal and replace a + currently running other instance of the same `GApplication`. + This will be used for app upgrades with flatpak. + + Autostart xdg-desktop-portal when using the network monitor and + proxy monitor portal backends. + + Add a g_task_set_name() API to allow `GTask`s to be described; + useful for debugging. + + Enable FreeBSD CI on every commit for upstream GLib. + + Various GVariant, GMarkup and GDBus fuzzing fixes, including + buffer overflow fixes. + + Various fixes to eliminate thread races, found by thread + sanitizer (tsan). + + Deprecate TLS/DTLS rehandshaking, as it has been removed from + the protocol in TLS 1.3. + + Support reading arguments from a file with `glib-mkenums`, + which is useful for long argument lists due to having deeply + nested build directories, on systems with a low limit on the + command line length. + + Make `g_environ_*()` case-insensitive on Windows, as the + environment itself is case-insensitive on Windows. + + Add Application Layer Protocol Negotiation (ALPN) support to + `GTlsConnection` and `GDtlsConnection`, so that higher layer + protocols can be negotiated when setting up a TLS connection, + without additional round trips and latency. This is needed for + eventual HTTP/2 support. + + Add support for TPM keys in PEM files when loading TLS + certificates. + + Add a `GRecMutexLocker` auto-pointer wrapper for `GRecMutex`. + + Many more bugs fixed, see package NEWS file for full list. + + Updated translations. + +------------------------------------------------------------------- +Mon Jan 21 15:53:13 UTC 2019 - bjorn.lie@gmail.com + +- Update to version 2.58.3: + + Fix GVariant tests on i686. + + Fix crashes caused by filtering of mounts. + + Bugs fixed: glgo#gnome/GLib#1626, glgo#gnome/GLib#1637, + glgo#gnome/GLib#1645, glgo#gnome/GLib!558, glgo#gnome/GLib!577, + glgo#gnome/GLib!578. + +------------------------------------------------------------------- +Tue Dec 18 21:16:12 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 2.58.2: + + Fix calling gdbus-codegen with --interface-info-{header,body}. + + Fix parsing month names in certain locales with + g_date_set_parse(). + + Fix ^*ay handling in g_variant_iter_loop(). + + Various buffer overflow fixes in GMarkup/GVariant/GDBus. + + A huge number of fixes to the Meson build. + + Prevent bind mounts being advertised as mounts. + + Fix cross-compilation of 2.58.x releases with autotools. + + Bugs fixed: glgo#gnome/GLib!527, glgo#gnome/GLib#1605, + glgo#gnome/GLib#1271, glgo#gnome/GLib#1546, + glgo#gnome/GLib#1527, glgo#gnome/GLib!406, glgo#gnome/GLib!334, + glgo#gnome/GLib#1528, glgo#gnome/GLib#1539, + glgo#gnome/GLib#1536, glgo#gnome/GLib#1544, + glgo#gnome/GLib#1562, glgo#gnome/GLib!367, glgo#gnome/GLib!416, + glgo#gnome/GLib#1572, glgo#gnome/GLib#1522, + glgo#gnome/GLib#1576, glgo#gnome/GLib!407, + glgo#gnome/GLib#1582, glgo#gnome/GLib!428, + glgo#gnome/GLib#1588, glgo#gnome/GLib!462, + glgo#gnome/GLib!238, glgo#gnome/GLib!312, glgo#gnome/GLib#1520, + glgo#gnome/GLib!403, glgo#gnome/GLib#1543, + glgo#gnome/GLib!414, glgo#gnome/GLib!409, glgo#gnome/GLib!400, + glgo#gnome/GLib!430, glgo#gnome/GLib!437, glgo#gnome/GLib#1337, + glgo#gnome/GLib!542, glgo#gnome/GLib#1343, glgo#gnome/GLib!471, + glgo#gnome/GLib!544, glgo#gnome/GLib#945, glgo#gnome/GLib#1014, + glgo#gnome/GLib#656, glgo#gnome/GLib#1313, glgo#gnome/GLib!346. + + Updated translations. +- Drop upstream fixed patches: + + 0001-gvariant-Fix-checking-arithmetic-for-tuple-element-e.patch + + 0002-gvarianttype-Impose-a-recursion-limit-of-64-on-varia.patch + + 0003-gvariant-Check-array-offsets-against-serialised-data.patch + + 0004-gvariant-Check-tuple-offsets-against-serialised-data.patch + + 0005-gvariant-Limit-GVariant-strings-to-G_MAXSSIZE.patch + + 0006-gdbusmessage-Validate-type-of-message-header-signatu.patch + + 0007-gdbusmessage-Improve-documentation-for-g_dbus_messag.patch + + 0008-gdbusmessage-Clarify-error-returns-for-g_dbus_messag.patch + + 0009-gdbusmessage-Fix-a-typo-in-a-documentation-comment.patch + + 0008-gdbusmessage-Clarify-error-returns-for-g_dbus_messag.patch + + 0009-gdbusmessage-Fix-a-typo-in-a-documentation-comment.patch + + 0010-gdbusmessage-Check-for-valid-GVariantType-when-parsi.patch + + 0011-gvariant-Clarify-internal-documentation-about-GVaria.patch + + 0012-tests-Tidy-up-GError-handling-in-gdbus-serialization.patch + + 0013-tests-Use-g_assert_null-in-gdbus-serialization-test.patch + + 0014-gutf8-Add-a-g_utf8_validate_len-function.patch + + 0015-glib-Port-various-callers-to-use-g_utf8_validate_len.patch + +------------------------------------------------------------------- +Mon Oct 15 22:57:17 UTC 2018 - Scott Reeves + +- Add patchset to fix gvariant parsing issues. (bsc#1111499). + 0001-gvariant-Fix-checking-arithmetic-for-tuple-element-e.patch + 0002-gvarianttype-Impose-a-recursion-limit-of-64-on-varia.patch + 0003-gvariant-Check-array-offsets-against-serialised-data.patch + 0004-gvariant-Check-tuple-offsets-against-serialised-data.patch + 0005-gvariant-Limit-GVariant-strings-to-G_MAXSSIZE.patch + 0006-gdbusmessage-Validate-type-of-message-header-signatu.patch + 0007-gdbusmessage-Improve-documentation-for-g_dbus_messag.patch + 0008-gdbusmessage-Clarify-error-returns-for-g_dbus_messag.patch + 0009-gdbusmessage-Fix-a-typo-in-a-documentation-comment.patch + 0010-gdbusmessage-Check-for-valid-GVariantType-when-parsi.patch + 0011-gvariant-Clarify-internal-documentation-about-GVaria.patch + 0012-tests-Tidy-up-GError-handling-in-gdbus-serialization.patch + 0013-tests-Use-g_assert_null-in-gdbus-serialization-test.patch + 0014-gutf8-Add-a-g_utf8_validate_len-function.patch + 0015-glib-Port-various-callers-to-use-g_utf8_validate_len.patch + +------------------------------------------------------------------- +Wed Sep 26 19:03:50 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 2.58.1: + + Fix to a regression in listing GIcon fallbacks. + + Changes to pkg-config paths to helper programs when building + with autotools: paths are now absolute with reference to the + .pc file’s ${prefix}. + + Fix installation path of glib-gettextize helper on Meson. + + Fix autostarting xdg-desktop-portal. + + Various fixes to the network monitor. + + Various compilation fixes on macOS (generally older versions + and older compilers). + + Bugs fixed: glgo#GNOME/glib!318, glgo#GNOME/glib#1513, + glgo#GNOME/glib#1521, glgo#GNOME/glib!321, + glgo#GNOME/glib#1518, glgo#GNOME/glib#1509, + glgo#GNOME/glib!288, glgo#GNOME/glib!298, glgo#GNOME/glib!295, + glgo#GNOME/glib!294, glgo#GNOME/glib!290, glgo#GNOME/glib#1488, + glgo#GNOME/glib#1506. + + Updated translations. + +------------------------------------------------------------------- +Wed Sep 5 03:19:49 UTC 2018 - luc14n0@linuxmail.org + +- Update to version 2.58.0: + + Fix cancellation of g_subprocess_communicate_async() calls + (glgo#GNOME/glib!266. + + Expose GSettings schema directory in gio-2.0.pc as `schemasdir` + (glgo#GNOME/glib!274). + + Support v3 of the xdg-desktop-portal network monitor API + (glgo#GNOME/glib!265, glgo#GNOME/glib!279). + + Bugs fixed: glgo#GNOME/glib!266, glgo#GNOME/glib!279, + glgo#GNOME/glib!265, glgo#GNOME/glib!274, glgo#GNOME/glib!239. + + Updated translations. +- Set URL tag to https://wiki.gnome.org/Projects/GLib: Glib's wiki + page. +- Conditionalize meson use while disabling it: use of Meson is + still not recommended by upstream, plus openQA is having failures + where Glib seems to be the one to blame. + +------------------------------------------------------------------- +Sat Aug 25 00:37:54 UTC 2018 - luc14n0@linuxmail.org + +- Update to 2.57.3: + + No visible changes for the user. +- Add: + + meson BuildRequires and replace configure/make/make_install + with meson/meson_build/meson_install macros to follow upstream + build system port to Meson. + + gtk-doc and m4 BuildRequires while dropping gtk-doc.m4: now + there is no pre-built API documentation so gtk-doc and m4 + packages are build requirements now. +- Drop automake and libtool BuildRequires and autoreconf call: they + are no longer needed after switching to Meson build system. + +------------------------------------------------------------------- +Fri Aug 24 10:26:15 UTC 2018 - dimstar@opensuse.org + +- BuildIgnore shared-mime-info: we don't need this while building + glib2. + +------------------------------------------------------------------- +Mon Aug 21 02:57:02 UTC 2018 - dimstar@opensuse.org + +- Update to version 2.57.2: + + Require pcre 8.31 and meson 0.47.0. + + Bugs fixed: bgo#742456, bgo#795569, bgo#796341, + glgo#GNOME/glib#786, glgo#GNOME/glib#903, glgo#GNOME/glib#927, + glgo#GNOME/glib#976, glgo#GNOME/glib#1013, + glgo#GNOME/glib#1175, glgo#GNOME/glib#1360, + glgo#GNOME/glib#1447, glgo#GNOME/glib#1407, + glgo#GNOME/glib#1455, glgo#GNOME/glib#1459. + + Security fixes: + - Fix NULL pointer dereference in + g_markup_parse_context_end_parse() (boo#1107121 + glgo#GNOME/glib#1364 glgo#GNOME/glib#1461 CVE-2018-16428) + - Fix out-of-bounds read in g_markup_parse_context_parse() + (boo##1107116 glgo#GNOME/glib#1361 glgo#GNOME/glib#1462 + CVE-2018-16429) + + Updated translations. +- Drop glib2-gsettings-overrides-per-session.patch: fixed upstream. + +------------------------------------------------------------------- +Mon Aug 21 02:57:01 UTC 2018 - luc14n0@linuxmail.org + +- Update to version 2.57.1: + + New API: g_hash_table_steal_extended and G_GNUC_NO_INLINE. + + Bugs fixed: bgo#668132, bgo#736741, bgo#748620, bgo#784995, + bgo#788771, bgo#788773, bgo#789968, bgo#794325, bgo#795152, + bgo#795165, bgo#795180, bgo#795302, bgo#795376, bgo#795544, + bgo#795735, bgo#795802, bgo#795960, bgo#796138, bgo#796139, + bgo#796164, bgo#796186, bgo#796328. + + Updated translations. +- Drop: + + Posttrans section, and sed and coreutils PreReq aimed at + pristine openSUSE releases <= 10.3. + + Conditionalized python BuildRequires aimed at pristine openSUSE + releases <= 1130. +- Enable building of systemtap tracing support to improve Glib + problems diagnosability (bsc#1090047). + +------------------------------------------------------------------- +Fri Aug 17 08:11:50 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 2.56.2: + + Support version 2 of the NetworkMonitor portal interface. + + Bugs fixed: bgo#740791, bgo#755721, bgo#773435, bgo#793727, + bgo#794380, bgo#794801, bgo#795138, bgo#795234, bgo#795406, + bgo#795429, bgo#795711, bgo#795735, bgo#795802, + glgo#GNOME/glib2#1240, glgo#GNOME/glib2#1401, + glgo#GNOME/glib2#1452, glgo#GNOME/glib2#1458. + + Updated translations. +- Drop glib2-codegen-headers.patch: Fixed upstream. +- Refresh patches with quilt. + +------------------------------------------------------------------- +Wed May 16 16:05:46 UTC 2018 - dimstar@opensuse.org + +- Add glib2-codegen-headers.patch: gdbus-codegen: Fix header + include in the body file (bgo#795802). + +------------------------------------------------------------------- +Sat Apr 7 14:45:53 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 2.56.1: + + Bugs fixed: bgo#793400, bgo#793578, bgo#793645, bgo#794194, + bgo#794473, bgo#794506, bgo#794528, bgo#794606, bgo#794686. + + Updated translations. +- Refresh following patches with quilt: + + glib2-bgo569829-gettext-gkeyfile.patch. + + glib2-dbus-socket-path.patch. + + glib2-fate300461-gettext-gkeyfile-suse.patch. + + glib2-gsettings-overrides-per-session.patch. + +------------------------------------------------------------------- +Tue Mar 20 17:30:58 UTC 2018 - dimstar@opensuse.org + +- Unconditionally enable translation-update-upstream: on + Tumbleweed, this results in a NOP and for Leap in SLE paid + translations being used (boo#1086036). + +------------------------------------------------------------------- +Mon Mar 12 22:11:07 UTC 2018 - dimstar@opensuse.org + +- Update to version 2.56.0: + + Bugs fixed: bgo#672777, bgo#732184, bgo#733338, bgo#742124, + bgo#749206, bgo#768507, bgo#791457, bgo#793272, bgo#793300, + bgo#793399, bgo#793555, bgo#793565, bgo#793578, bgo#793597, + bgo#793635, bgo#793880, bgo#794180. + + Updated translations. + +------------------------------------------------------------------- +Wed Feb 28 16:26:40 UTC 2018 - dimstar@opensuse.org + +- Modernize spec-file by calling spec-cleaner + +------------------------------------------------------------------- +Wed Feb 7 09:50:06 UTC 2018 - dimstar@opensuse.org + +- Update to version 2.55.2: + + GFile now has API to get the path without copying. + + A network monitor implementation for Windows has been added. + + Bugs fixed: bgo#520116, bgo#584284, bgo#605700, bgo#658713, + bgo#685442, bgo#723003, bgo#749583, bgo#757284, bgo#760324, + bgo#761102, bgo#767976, bgo#770335, bgo#772989, bgo#790698, + bgo#791015, bgo#791622, bgo#792050, bgo#792217, bgo#792338, + bgo#792351, bgo#792364, bgo#792370, bgo#792410, bgo#792432, + bgo#792455, bgo#792499, bgo#792516, bgo#792777, bgo#792780, + bgo#792856, bgo#792862, bgo#792903, bgo#793006, bgo#793026, + bgo#793074. + + Updated translations. + +------------------------------------------------------------------- +Mon Feb 5 02:55:01 UTC 2018 - dimstar@opensuse.org + +- Update to version 2.55.1: + + Build: + - The --enable-rebuilds configure option has been removed. + - The --with-charsetalias-dir configure option has been added. + + GList and GSList now have autoptr support. + + The gsettings list-schemas command has gained a --print-paths + option. + + Bugs fixed: bgo#346816, bgo#508976, bgo#562334, bgo#662802, + bgo#684282, bgo#692034, bgo#694723, bgo#697715, bgo#701156, + bgo#720380, bgo#724383, bgo#724412, bgo#724794, bgo#732003, + bgo#734479, bgo#737677, bgo#741167, bgo#748534, bgo#749527, + bgo#749652, bgo#754634, bgo#756011, bgo#761102, bgo#773980, + bgo#776147, bgo#776195, bgo#777075, bgo#779413, bgo#780309, + bgo#780893, bgo#782057, bgo#784995, bgo#786796, bgo#788806, + bgo#788936, bgo#790416, bgo#790588, bgo#790697, bgo#790785, + bgo#790829, bgo#790830, bgo#790837, bgo#790839, bgo#790877, + bgo#790894, bgo#790896, bgo#790914, bgo#790934, bgo#790948, + bgo#791036, bgo#791128, bgo#791221, bgo#791235, bgo#791267, + bgo#791296, bgo#791318, bgo#791325, bgo#791334, bgo#791337, + bgo#791342, bgo#791460, bgo#791532, bgo#791622, bgo#791720, + bgo#791744, bgo#791745, bgo#791906, bgo#792064, bgo#792098, + bgo#792099, bgo#792129, bgo#792322, bgo#792324. + + Updated translations. +- Rebase glib2-gdbus-codegen-version.patch. +- Drop glib2-gtester-report-py3.patch: fixed upstream. +- Drop glib2-gmain-partial-revert.patch: fixed upstream. + +------------------------------------------------------------------- +Mon Feb 5 02:55:00 UTC 2018 - luc14n0@linuxmail.org + +- Update to version 2.55.0: + + New API: + - g_clear_handle_id, to simplify removing sources from the + default mainloop. + - g_file_load_bytes, to make it more convenient to load files + into GBytes. + + Bugs fixed: bgo#330458, bgo#483341, bgo#569375, bgo#573251, + bgo#629347, bgo#630983, bgo#632953, bgo#636210, bgo#656502, + bgo#661442, bgo#668035, bgo#670139, bgo#677233, bgo#679347, + bgo#679467, bgo#689323, bgo#691436, bgo#695681, bgo#705331, + bgo#706667, bgo#711809, bgo#722256, bgo#723655, bgo#723743, + bgo#725014, bgo#727346, bgo#730296, bgo#731625, bgo#731705, + bgo#737278, bgo#738176, bgo#740223, bgo#740791, bgo#740826, + bgo#742548, bgo#742997, bgo#745723, bgo#749371, bgo#751738, + bgo#752239, bgo#752240, bgo#753459, bgo#753521, bgo#754026, + bgo#756009, bgo#756103, bgo#756128, bgo#756430, bgo#756470, + bgo#756588, bgo#760022, bgo#760109, bgo#760716, bgo#765063, + bgo#765552, bgo#767215, bgo#767239, bgo#769674, bgo#769846, + bgo#770459, bgo#773355, bgo#774083, bgo#776562, bgo#777308, + bgo#777310, bgo#777956, bgo#779182, bgo#779501, bgo#780202, + bgo#780296, bgo#781598, bgo#781867, bgo#783210, bgo#783270, + bgo#783825, bgo#786737, bgo#786785, bgo#787271, bgo#787485, + bgo#787551, bgo#787581, bgo#787671, bgo#787731, bgo#788138, + bgo#788270, bgo#788368, bgo#788384, bgo#788385, bgo#788401, + bgo#788467, bgo#788488, bgo#788489, bgo#788561, bgo#788594, + bgo#788705, bgo#788766, bgo#788772, bgo#788863, bgo#788880, + bgo#788927, bgo#788936, bgo#788948, bgo#788975, 7889bgo#78, + bgo#788989, bgo#788990, bgo#789087, bgo#789170, bgo#789245, + bgo#789444, bgo#789637, bgo#789681, bgo#789723, bgo#789755, + bgo#789820, bgo#790015, bgo#790030, bgo#790093, bgo#790126, + bgo#790147, bgo#790157, bgo#790272, bgo#790275, bgo#790310. + + Updated translations. +- Switch libmount-devel by its pkgconfig counterpart as configure + only looks for this module. +- Add libgio-2_0-0 for the rpmlintrc shlib-fixed-dependency warning + filter. And add 2 extra filters: + + non-conffile-in-etc warning for zzz-gilb2.csh, zzz-glib2.sh and + macros.glib2 files. + + env-script-interpreter warning for gdbus-codegen, + glib-genmarshal nad glib-mkenums files. + +------------------------------------------------------------------- +Wed Jan 31 21:34:18 UTC 2018 - bjorn.lie@gmail.com + +- Update to version 2.54.3: + + Bugs fixed: bgo#691436, bgo#761102, bgo#776147, bgo#779182, + bgo#782057, bgo#785113, bgo#788990, bgo#789637, bgo#789894, + bgo#790030, bgo#790093, bgo#790126, bgo#790829, bgo#790934, + bgo#791235, bgo#791267, bgo#791296, bgo#791325, bgo#791334, + bgo#791337, bgo#791720, bgo#791744, bgo#791754, bgo#791906. + + Updated translations. +- Drop glib2-gtester-report-py3.patch: Fixed upstream. +- Add glib2-gmain-partial-revert.patch: gmain: Partial revert of + recent wakeup changes to gmain.c (bgo#761102). + +------------------------------------------------------------------- +Fri Dec 8 01:28:15 UTC 2017 - xwang@suse.com + +- Add glib2-gsettings-overrides-per-session.patch: gsettings + default value can be overridden depending on session + (bgo#746592 bsc#1070090). + +------------------------------------------------------------------- +Wed Dec 6 08:03:38 UTC 2017 - dimstar@opensuse.org + +- Add glib2-gtester-report-py3.patch: gtester-reporter fails to + run with python3 (bgo#791296, boo#1071378). + +------------------------------------------------------------------- +Wed Nov 29 11:13:02 UTC 2017 - dimstar@opensuse.org + +- Switch to python3: + + Pass --with-python=/usr/bin/python3 to configure. + + Replace python-base and python-xml BuildRequires with their + python3 equivalents python3-base and python3-xml. + + Replace the -devel package's python-xml requires with + python3-xml. + +------------------------------------------------------------------- +Sat Oct 28 13:03:54 UTC 2017 - badshah400@gmail.com + +- Update to version 2.54.2: + + Bugs fixed: bgo#780296. + + Updated translations. + +------------------------------------------------------------------- +Wed Oct 4 17:51:53 CEST 2017 - sbrabec@suse.com + +- Install dummy *-mimeapps.list files to prevent dead symlinks + (bsc#1061599). + +------------------------------------------------------------------- +Tue Oct 3 18:35:00 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.54.1: + + Bugs fixed: bgo#786737, bgo#787551, bgo#783270, bgo#783210, + bgo#781867. + + Updated translations. + +------------------------------------------------------------------- +Thu Sep 14 00:13:58 UTC 2017 - jengelh@inai.de + +- Avoid running fdupes across hardlink boundaries. + Replace some old RPM macros. +- Update RPM groups and package summaries. + +------------------------------------------------------------------- +Mon Sep 11 08:13:13 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.54.0: + + Bugs fixed: bgo#780861, bgo#786983, bgo#787109, bgo#787123, + bgo#787146. + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 4 15:39:04 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.53.7: + + Bugs fixed: bgo#736710, bgo#785260, bgo#786456, bgo#786555, + bgo#786580, bgo#786807. + + Updated translations. + +------------------------------------------------------------------- +Wed Aug 30 08:31:30 UTC 2017 - dimstar@opensuse.org + +- Ignore errors in postun of gio-fam: when uninstalling the entire + glib stack, we can end up with the -tools package no longer being + functional. As nothing will read the cache, we can accept that. + +------------------------------------------------------------------- +Sat Aug 19 17:04:05 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.53.6: + + Bugs fixed: bgo#766358, bgo#783270, bgo#785955, bgo#786060, + bgo#786360, bgo#786452, bgo#786460, bgo#786462, bgo#786463. + + Updated translations. + +------------------------------------------------------------------- +Mon Aug 7 19:38:25 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.53.5: + + Bugs fixed: bgo#695573, bgo#725950, bgo#731703, bgo#769135, + bgo#779332, bgo#779607, bgo#784000, bgo#784815, bgo#784965, + bgo#784995, bgo#785113, bgo#785130, bgo#785438, bgo#785468, + bgo#785520, bgo#785577. + + Updated translations. +- Rebase glib2-suppress-schema-deprecated-path-warning.patch. + +------------------------------------------------------------------- +Tue Jul 18 08:36:20 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.53.4: + + Unicode support has been updated to Unicode 10.0.0. + + glib-genmarshal and glib-mkenums have been rewritten in python. + Every effort has been made to keep compatibility. Please report + problems related to these tools. + + GLib can now be built with meson. Autotools are still + supported. + + Bugs fixed: bgo#722047, bgo#733821, bgo#773842, bgo#779332, + bgo#780095, bgo#780634, bgo#783841, bgo#784000, bgo#784020, + bgo#784037, bgo#784433, bgo#784456, bgo#784528, bgo#784579, + bgo#784581, bgo#784739, bgo#784792. + + Updated translations. + +------------------------------------------------------------------- +Wed Jun 28 08:36:16 UTC 2017 - dimstar@opensuse.org + +- Update to version 2.53.3: + + Bugs fixed: bgo#658446, bgo#661926, bgo#674885, bgo#775593, + bgo#776169, bgo#776333, bgo#776504, bgo#777307, bgo#778422, + bgo#781301, bgo#782336, bgo#782996, bgo#783061, bgo#783130, + bgo#783193, bgo#783201, bgo#783340, bgo#783350, bgo#783392, + bgo#783593. + + Updated translations. + +------------------------------------------------------------------- +Wed Jun 28 02:53:03 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.53.2: + + A few new number parsing functions have been added. These have + better error handling than the existing ones. + + glib-mkenums now supports /*< private >*/ and /*< public >*/. + + GSettings now consider XDG_DATA_HOME in addition to + XDG_DATA_DIRS. + + Bugs fixed: bgo#674885, bgo#698064, bgo#732000, bgo#734946, + bgo#741335, bgo#748263, bgo#776876, bgo#777030, bgo#780300, + bgo#780309, bgo#781755, bgo#781826, bgo#781830, bgo#781847, + bgo#781867, bgo#782068, bgo#782075, bgo#782089, bgo#782162, + bgo#782237, bgo#782311, bgo#782628. + + Updated translations. + +------------------------------------------------------------------- +Wed Jun 28 02:53:02 UTC 2017 - dimstar@opensuse.org + +- Add file triggers to libgio-2_0-0: whenever a package installs a + schema file to /usr/share/glib-2.0/schemas, the trigger will + automaticlaly fire, making it no longer a problem for packagers + to forget doing it. +- Require glib2-tools by libgio-2_0-0: it contains the tools for + the file trigger. Historically, every package installing schemas + already had to require the -tools package in order to be + functional. +- Change the macros %glib2_gsettings_schema_{requires,post,postun} + to be no-op fuctions. The macros are no longer needed with the + file trigger. Removing the macro would break a big number of + packages though. + +------------------------------------------------------------------- +Wed Jun 28 02:53:01 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.53.1: + + The gdbus tool gained a wait command. + + g_unix_signal_source_new support SIGWINCH now. + + There are now g_enum_to_string and g_flags_to_string functions. + + A new function to instantiate objects: + g_objet_new_with_properties. + + Parameter and related APIs have been deprecated. + + Bugs fixed: bgo#447907, bgo#668962, bgo#669355, bgo#674885, + bgo#698064, bgo#709865, bgo#725894, bgo#734946, bgo#741229, + bgo#745971, bgo#755046, bgo#761102, bgo#761889, bgo#766660, + bgo#769534, bgo#772221, bgo#775879, bgo#776169, bgo#777961, + bgo#778049, bgo#778207, bgo#780066, bgo#780095, bgo#780306, + bgo#780310, bgo#780384, bgo#780441, bgo#780634, bgo#780908, + bgo#780924. + + Updated translations. +- Drop + glib2-gmain-only-signal-GWakeup-right-before-or-during-a-b.patch: + fixed upstream. + +------------------------------------------------------------------- +Thu Jun 22 23:41:17 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.52.3: + + Bugs fixed: bgo#781301, bgo#781601, bgo#781867, bgo#783130, + bgo#783193, bgo#783201. +- Drop + glib2-gmain-only-signal-GWakeup-right-before-or-during-a-b.patch: + Fixed upstream. + +------------------------------------------------------------------- +Sun May 28 01:07:00 UTC 2017 - luke.nukem.jones@gmail.com + +- Add + glib2-gmain-only-signal-GWakeup-right-before-or-during-a-b.patch: + Fix event loop thread wakeup issue (bgo#761102). + +------------------------------------------------------------------- +Fri May 26 05:57:24 UTC 2017 - olaf@aepfle.de + +- Remove version string from files generated by gdbus-codegen + to avoid needless republishing of pkgs depending on glib2-devel + added glib2-gdbus-codegen-version.patch + +------------------------------------------------------------------- +Tue May 9 12:39:42 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.52.2: + + Bugs fixed: bgo#734946, bgo#761102, bgo#780300, bgo#780309, + bgo#781298. + + Updated translations. + +------------------------------------------------------------------- +Mon Apr 10 06:56:39 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.52.1: + + Bugs fixed: bgo#674885, bgo#698064, bgo#725894, bgo#734946, + bgo#755046, bgo#775879, bgo#777961, bgo#778049, bgo#778207, + bgo#778287, bgo#779409, bgo#780066, bgo#780095, bgo#780306, + bgo#780310, bgo#780384, bgo#780441, bgo#780471, bgo#780924. + + Updated translations. + +------------------------------------------------------------------- +Sun Mar 19 14:34:17 UTC 2017 - dimstar@opensuse.org + +- Update to version 2.52.0: + + gdatetime test fails with tzdata 2017a (bgo#779799). + + Add missing attributes to two functions (bgo#780032). + + gio/fam: Remove leftover debug print (bgo#780144). + + Updated translations. +- Drop glib2-remove_fam_debug_print.patch: fixed upstream. + +------------------------------------------------------------------- +Mon Mar 13 17:47:35 UTC 2017 - dimstar@opensuse.org + +- Update to version 2.51.5: + + OS X implementations of GContentType and GAppInfo have been + added. + + Bugs fixed: bgo#673047, bgo#734946, bgo#747146, bgo#769983, + bgo#777203, bgo#778515, bgo#779456. + + Updated translations. + +------------------------------------------------------------------- +Thu Mar 2 10:31:39 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.51.4: + + Memory leak fixes. + + Fix the released tarball. +- Drop glib2-fix-broken-configure.patch: Fixed upstream. + +------------------------------------------------------------------- +Mon Feb 27 19:55:09 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.51.3: + + Bugs fixed: bgo#771997, bgo#778422, bgo#778581, bgo#778801, + bgo#778991, bgo#779183. + + Updated translations. +- Add glib2-fix-broken-configure.patch: Workaround broken tarball + released by upstream, allows autoreconf to complete. + +------------------------------------------------------------------- +Wed Feb 15 02:51:02 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.51.2: + + Minimal support for UUIDs has been added. + + A new file attribute, G_FILE_ATTRIBUTE_RECENT_MODIFIED has been + added to improve sorting of recent files. + + Bugs fixed: bgo#639078, bgo#777135, bgo#777307, bgo#777481, + bgo#777493, bgo#777507, bgo#777592, bgo#778002, bgo#778096. + + Updated translations. + +------------------------------------------------------------------- +Wed Feb 15 02:51:01 UTC 2017 - dimstar@opensuse.org + +- Update to version 2.51.1: + + glib-compile-resources grew a --generate-phony-targets flag. + + GLib now installs a valgrind suppressions file for GLib and + GIO. + + Bugs fixed: bgo#642026, bgo#666114, bgo#729730, bgo#730932, + bgo#735731, bgo#736810, bgo#762283, bgo#767609, bgo#767952, + bgo#769745, bgo#770175, bgo#770646, bgo#772160, bgo#772989, + bgo#773823, bgo#774086, bgo#774368, bgo#774421, bgo#774520, + bgo#775309, bgo#775468, bgo#775510, bgo#775517, bgo#775621, + bgo#775765, bgo#775913, bgo#776198, bgo#776586, bgo#777077. + + Updated translations. +- Drop glib2-fix-notify-id-FDO-notification-backend.patch and + glib2-Add-missing-check-for-termios_h.patch: fixed upstream. + +------------------------------------------------------------------- +Wed Feb 15 02:51:00 UTC 2017 - dimstar@opensuse.org + +- Update to version 2.51.0: + + glib-genmarshal and glib-mkenums have gained --output options + for better build system integration. + + New API: g_utf8_make_valid. + + Bugs fixed: bgo#591603, bgo#610969, bgo#772160, bgo#772221, + bgo#773303. + + Updated translations. + +------------------------------------------------------------------- +Mon Feb 13 19:06:08 UTC 2017 - zaitor@opensuse.org + +- Update to version 2.50.3: + + Bugs fixed: bgo#775309, bgo#775468, bgo#775517, bgo#775765. + + Updated translations. +- Drop glib2-Add-missing-check-for-termios_h.patch and + glib2-fix-notify-id-FDO-notification-backend.patch: Fixed + upstream. +- Conditionally apply translations-update-upstream BuildRequires + and macro for non-openSUSE only. + +------------------------------------------------------------------- +Wed Jan 18 10:37:55 UTC 2017 - dimstar@opensuse.org + +- Replace dbus-1-x11 Requires of libgio-2_0-0 to dbus-launch: + openSUSE provides two implementations of dbus-launch (with and + without X interaction). For glib, it does not matter which one is + being used (boo#1020651). + +------------------------------------------------------------------- +Sun Jan 8 13:58:31 UTC 2017 - zaitor@opensuse.org + +- Add glib2-Add-missing-check-for-termios_h.patch: Add missing + check for termios.h. Check for termios.h is missing and passwords + in the new gio tool are echoed in the terminal consequently, + which is really bad! (bgo#775517). +- Add glib2-fix-notify-id-FDO-notification-backend.patch: Fixed + notify id in FDO notification backend (bgo#775765). + +------------------------------------------------------------------- +Mon Nov 7 22:07:19 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.50.2: + + Bugs fixed: bgo#767882, bgo#769135, bgo#769630, bgo#772054, + bgo#773303, bgo#773344. + + Updated translations. + +------------------------------------------------------------------- +Mon Oct 10 18:14:36 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.50.1: + + Update Unicode support to Unicode 9.0.0. + + Bugs fixed: bgo#662946, bgo#771591, bgo#772054, bgo#772255, + bgo#772269, bgo#772297, bgo#772511. + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 19 14:52:55 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.50.0: + + bgo#771438: Turn on libmount by default on linux. + + Fix the annotation for g_log_variant. + + Updated translations. +- Add libmount-devel BuildRequires: follow upstreams recommendation + to use libmount on Linux. + +------------------------------------------------------------------- +Tue Sep 13 16:15:45 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.49.7: + + Add g_log_variant, binding-friendly api for structured logging. + + Bugs fixed: bgo#646926. + + Updated translations. + +------------------------------------------------------------------- +Sun Aug 28 12:42:33 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.49.6: + + The gsettings commandline tool now has a describe command. + + Bugs fixed: bgo#745754, bgo#769076, bgo#770372. + + Updated translations. + +------------------------------------------------------------------- +Thu Aug 18 08:49:39 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.49.4: + + Structured logging: + - Drop libsystemd dependency. + - Document that g_test_expect_message does not work with + structured logs. + + Use libmount for unix mount support. + + Add an async variant of g_app_info_launch_default_for_uri. + + Bugs fixed: bgo#522053, bgo#682794, bgo#744456, bgo#766370, + bgo#767240, bgo#768198, bgo#768453, bgo#768752, bgo#769027, + bgo#769029, bgo#769042, bgo#769087, bgo#769089, bgo#769104, + bgo#769139, bgo#769238, bgo#769245, bgo#769507, bgo#769785, + bgo#769995. + + Updated translations. +- Drop pkgconfig(libsystemd) BuildRequires following upstream + changes. +- Drop glib2-add-g_autoptr-support.patch, + glib2-gmessages-support-NULL.patch, + glib2-gvariant-Avoid-anonymous-struct.patch: Fixed upstream. + +------------------------------------------------------------------- +Thu Aug 18 08:49:38 UTC 2016 - zaitor@opensuse.org + +- Add glib2-add-g_autoptr-support.patch: gobject: add g_autoptr + support for GTypeModule, fix build of gobject-introspection + (bgo#769033). +- Add glib2-gmessages-support-NULL.patch: Don't crash wayland + session. The new g_log_structured have some bugs.. (bgo#769087). +- Add glib2-gvariant-Avoid-anonymous-struct.patch: Fix c++ + building, patch from upstream git. + +------------------------------------------------------------------- +Thu Aug 18 08:49:37 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.49.4: + + Change the just-introduced structured logging API. The + arguments of g_log_structured() had to be reordered to enable + an implementation within the limits of what the standards + guarantee about var args. + + Bugs fixed: bgo#744456, bgo#768936, bgo#768963, bgo#768968. + + Updated translations. + +------------------------------------------------------------------- +Thu Aug 18 08:49:36 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.49.3: + + GLib has a structured logging API, g_log_structured, with + support for writing to the systemd journal. It also supports + colored output in terminals. + + Some new GBytes API has been added: + - g_key_file_load_from_bytes. + - g_compute_hmac_for_bytes. + + Stack-allocated GVariantBuilder and GVariantDict objects can + now be initialized with G_VARIANT_BUILDER_INIT and + G_VARIANT_DICT_INIT. + + gio: + - Add a way to register handlers for custom uri schemes. + - Add a G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE attribute to have + these heuristics in a single place. + - Include a gio tool that makes the functionality of the + various gvfs commandline tools available in a single place. + - Add portal support to g_app_info_launch_default_for_uri. + - Add portal support to GNetworkMonitor. + - Add portal support to GProxyResolver. + - Add portal support to g_application_send_notification. + + Bugs fixed: bgo#547200, bgo#662802, bgo#723506, bgo#725902, + bgo#728207, bgo#729914, bgo#744456, bgo#744678, bgo#746685, + bgo#747134, bgo#750257, bgo#753231, bgo#754012, bgo#760115, + bgo#760423, bgo#761102, bgo#765338, bgo#766370, bgo#766899, + bgo#766933, bgo#767765, bgo#767880, bgo#767887, bgo#767949, + bgo#768029, bgo#768119, bgo#768357, bgo#768498, bgo#768504, + bgo#768549, bgo#768551, bgo#768560, bgo#768780, bgo#768806. + + Updated translations. +- Add pkgconfig(libsystemd) BuildRequires: Configure looks for it. + +------------------------------------------------------------------- +Thu Aug 18 08:49:35 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.49.2: + + GMainContext and GTask have gained more systemtap probes. + + Bugs fixed: bgo#673101, bgo#700756, bgo#730187, bgo#755439, + bgo#759813, bgo#761810, bgo#767172, bgo#767218, bgo#767245, + bgo#767824. + + Updated translations. + +------------------------------------------------------------------- +Thu Aug 18 08:49:34 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.49.1: + + GDesktopAppInfo now allows bus activation with dashes. This is + not technically allowed per the Desktop Entry specification, + but it happens in the wild. Rather than forcing people to go + through another traumatic desktop file rename, accept it and + translate - to _. + + The support for giving names to threads has been improved. + Thread names are now supported on Solaris as well, and the + Linux support no longer uses prctl() but the pthread api. + + GIO resources can now be overridden at runtime, using the + G_RESOURCE_OVERLAYS environment variable. + + gdbus-codegen can now generate autocleanup definitions for the + types it generates. Use the --c-generate-autocleanup option to + control this. + + Bugs fixed: bgo#665446, bgo#742898, bgo#749583, bgo#755898, + bgo#760186, bgo#764163, bgo#764415, bgo#765173, bgo#765668, + bgo#765710, bgo#765712, bgo#765861, bgo#765900, bgo#765924, + bgo#765991, bgo#766092, bgo#766211, bgo#766407, bgo#766570. + + Updated translations. + +------------------------------------------------------------------- +Thu Aug 18 08:49:33 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.48.2: + + Bugs fixed: bgo#547200, bgo#673101, bgo#700756, bgo#725902, + bgo#728207, bgo#730187, bgo#746685, bgo#750257, bgo#753231, + bgo#755439, bgo#760115, bgo#760423, bgo#761810, bgo#766211, + bgo#766899, bgo#766933, bgo#767172, bgo#767218, bgo#767824, + bgo#767949, bgo#768453, bgo#768504, bgo#768551, bgo#768560, + bgo#768806, bgo#769027. + + Updated translations. + +------------------------------------------------------------------- +Thu May 26 15:37:33 UTC 2016 - mgorse@suse.com + +- Update to GNOME 3.20.2 Fate#318572 + +------------------------------------------------------------------- +Tue May 10 20:20:31 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.48.1: + + Bugs fixed: bgo#731988, bgo#747107, bgo#747478, bgo#748474, + bgo#748530, bgo#748806, bgo#749606, bgo#758174, bgo#758738, + bgo#762994, bgo#763379, bgo#763821, bgo#764092, bgo#764574, + bgo#764575, bgo#764685, bgo#764754, bgo#765959, bgo#765990. + + Updated translations. + +------------------------------------------------------------------- +Wed Apr 13 07:25:42 UTC 2016 - idonmez@suse.com + +- Update to GNOME 3.20 Fate#318572 +- Remove patches: glib2-dbus-object-manager-ref.patch, + glib2-trash-on-other-partitions.patch, + glib2-bnc873225-add-get-default-value.patch, + glib2-missing-annotations.patch. + +------------------------------------------------------------------- +Thu Mar 31 12:58:33 UTC 2016 - dimstar@opensuse.org + +- baselibs.conf: also add the pkgconfig file to the -32bit package + (boo#973217). + +------------------------------------------------------------------- +Tue Mar 22 15:53:05 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.48.0: + + A minor build fix in the name of determinism. + + A few coverity fixes. + + bgo#763617: giotypefuncs.c: Sort _get_type functions in the 'C' + locale. + + Updated translations. + +------------------------------------------------------------------- +Wed Mar 16 08:16:29 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.47.92: + + gdbus-codegen now supports g_autoptr(). + + g_get_user_runtime_dir() now reliably returns an existing + directory. + + g_array_remove_range() can now remove 0 items from the end of + an array. + + Many fixes for Windows. + + Documentation improvements. + + Other small bugfixes. + + Bugs fixed: bgo#724847, bgo#743933, bgo#756706, bgo#757506, + bgo#760694, bgo#762202, bgo#762637, bgo#762748, bgo#762937, + bgo#763339, bgo#763344, bgo#763379. + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 14 10:06:51 UTC 2016 - meissner@suse.com + +- Include the glibconfig.h in the baselibs glib2-devel-xxbit + package, as it contains the architecture specific configuration + (bsc#970694). + +------------------------------------------------------------------- +Thu Feb 18 13:56:53 UTC 2016 - tittiatcoke@gmail.com + +- Follow the freedesktop conventions for the mime handler + associations. The created link is gnome specific, so make it + specific (gnome-mimeapps.list). This prevents association + problems in Plasma 5 (boo#966739) + https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html + +------------------------------------------------------------------- +Tue Feb 16 16:45:20 UTC 2016 - zaitor@opensuse.org + +- Update to version 2.47.6: + + Windows support: + - Fixes and improvements to the GSettings registry backend. + - Handle readability and writability of registry keys. + - Use Unicode registry APIs. + + Bugs fixed: bgo#760852, bgo#744772, bgo#761126, bgo#747927, + bgo#761337, bgo#744570, bgo#761504, bgo#761550, bgo#761843, + bgo#744570, bgo#744772, bgo#747927, bgo#760852, bgo#761126, + bgo#761337, bgo#761504, bgo#761550, bgo#761843. + + Updated translations. + +------------------------------------------------------------------- +Thu Jan 21 11:45:40 UTC 2016 - dimstar@opensuse.org + +- Fix default mime handler associtations: since GLIB 2.42, the file + in question is no longer defaults.list (too unspecific), but is + called mimeapps.list. Touch and link the right files. + +------------------------------------------------------------------- +Tue Jan 19 11:49:08 UTC 2016 - dimstar@opensuse.org + +- Update to version 2.47.5: + + The system copy of PCRE is now used by default to implement + GRegex. Configure with --with-pcre=internal if a system PCRE + version is unavailable or undesired. + + Interfaces for DTLS support have been added. A new version of + glib-networking will also be required. + + GDBusMethodInvocation now drops replies if the sender set the + NO_REPLY_EXPECTED flag. + + Several GApplication fixes, including fixes for commandline + arguments in interpreted languages on Windows. + + Bugs fixed: bgo#624186, bgo#734095, bgo#735754, bgo#748064, + bgo#752240, bgo#755421, bgo#756875, bgo#759554, bgo#760199, + bgo#760215, bgo#760683. + + Updated translations. + +------------------------------------------------------------------- +Sat Dec 19 03:42:41 UTC 2015 - damjanovic.ivo@gmail.com + +- Update to version 2.47.4: + + gapplication: Acquire the main context before running. + + Enable contenttype test on W32, tweak it to pass (mostly). + + xdgmime Finer handling for cases where mmap() is not available. + + Add GParamSpec object ref management annotations. + + file monitors: reorder some code to avoid segfault. + + glib-compile-resources: do not leak c_name. + + macros: add G_GNUC_CHECK_VERSION() for compiler checks. + + GApplication: destroy the impl on shutdown. + + Stop supporting non-POSIX getpwuid_r, getgrgid_r. + + glib.py: Fix Python 3 TypeError in gdb pretty-printers. + + W32: fix uninitialized var in g_app_info_get_all_for_type. + + Add missing checks for gnulib vasnprintf(). + + glibconfig.h.win32.in: remove G_CAN_INLINE. + + GDBusProxy: Fix a memory leak during initialization. + + Bugs fixed: bgo#752983, bgo#735696, bgo#735696, bgo#710243, + bgo#756214, bgo#758823, bgo#758553, bgo#578363, bgo#757299, + bgo#728099, bgo#757372, bgo#756475, bgo#749092, bgo#759408, + bgo#759134, bgo#757374, bgo#758641. + + Updated translations. + +------------------------------------------------------------------- +Fri Nov 27 12:41:09 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.47.3: + + The inline cleanup in the last release accidentally removed + three symbols from libglib-2.0.so. It is unlikely that this + will have caused any problems because these symbols were only + backup symbols for definitions exported as inlines in the + header files, but ABI is ABI. This release corrects only this + problem. + +------------------------------------------------------------------- +Wed Nov 25 21:07:43 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.47.2: + + We have formalised the assumption that all compilers that are + interested in support 'static inline' and simplified the macros + around this considerably. Please watch for and report + unintentional fallout. + + New API: hardware-assisted helpers for overflow-checked integer + math. + + Bugs fixed: bgo#696324, bgo#719966, bgo#752837, bgo#755364, + bgo#756134, bgo#756179, bgo#756988, bgo#757294, bgo#757374, + bgo#757451, bgo#757628, bgo#757693, bgo#757742, bgo#758181. + + Updated translations. + +------------------------------------------------------------------- +Tue Nov 24 20:21:26 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.47.1: + + GDesktopAppInfo no longer sets the DISPLAY environment variable + when launching apps. This is now done in the GAppLaunchContext + implementations when appropriate. + + Bugs fixed: bgo#664740, bgo#687223, bgo#692085, bgo#697907, + bgo#735754, bgo#737116, bgo#743011, bgo#749161, bgo#749314, + bgo#751924, bgo#752240, bgo#752837, bgo#753310, bgo#753935, + bgo#754855, bgo#754983, bgo#754994, bgo#755083, bgo#755351, + bgo#755355, bgo#755374, bgo#755496, bgo#755609, bgo#755766, + bgo#755795, bgo#755961, bgo#756053, bgo#756054, bgo#756077, + bgo#756099, bgo#756139, bgo#756179, bgo#756251, bgo#756255, + bgo#756316, bgo#756382, bgo#756477, bgo#756550, bgo#756875, + bgo#756952. + + Updated translations. + +------------------------------------------------------------------- +Fri Nov 6 23:36:53 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.46.2: + + Varioius small fixes, with a focus on win32. + + The docs should now be complete when doing non-srcdir builds. + + Bugs fixed: bgo#687223, bgo#754983, bgo#754994, bgo#755609, + bgo#756179, bgo#756382, bgo#757628. + +------------------------------------------------------------------- +Tue Oct 20 17:03:40 CEST 2015 - ro@suse.de + +- Add glib2-remove_fam_debug_print.patch: remove debug output + "II 1" from the fam monitor (boo#951221, bgo#756879). + +------------------------------------------------------------------- +Wed Oct 14 15:36:13 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.46.1: + + Remove system_header pragma (should fix lack of warnings with + things like g_return_if_fail). + + Move GStrv typedef (and auto-cleanup) from libgobject to + libglib. + + Fix order of trashing files to be closer to what is required in + the specification. Namely, trashinfo files are written first. + This should fix issues with the gvfs trash backend failing to + correctly read the info for recently trashed files (preventing + 'restore'). + + Tweak mime logic to return text/plain on all empty files + instead of returning application/octet-stream. This includes + files that have extensions that imply that they may be other + types of files, which is a slight change of behaviour with + respect to old GLib versions. + + Many win32 fixes. + + Many docs fixes. + + Bugs fixed: bgo#735754, bgo#743011, bgo#749161, bgo#751924, + bgo#752837, bgo#753310, bgo#755083, bgo#755351, bgo#755355, + bgo#755496, bgo#755795, bgo#756179, bgo#756251, bgo#756255. + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 21 13:34:21 UTC 2015 - dimstar@opensuse.org + +- Update to version 2.46.0: + + Disable runtime-deprecation warnings. + + Fix marshalling of flags on bigendian 64bit architectures. + + Updated translations. + +------------------------------------------------------------------- +Wed Sep 16 07:23:31 UTC 2015 - dimstar@opensuse.org + +- Update to version 2.45.8: + + Utf8 validation and utf8-to-ucs4 conversion are faster. + + Small speedups to property change notification. + + Various other small optimizations for GQuark, GData. + + Bugs fixed: bgo#696426, bgo#735429, bgo#738504, bgo#742903, + bgo#748633, bgo#754431, bgo#754560, bgo#754582, bgo#754601, + bgo#754636, bgo#754788, bgo#754831, bgo#754924, bgo#754986. + + Updated translations. + +------------------------------------------------------------------- +Wed Sep 2 09:30:55 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.45.7: + + Add G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE for use by + non-POSIX-like backends (e.g. cloud storage). + + GFileMonitor: Make the inotify backend work with atomic renames + again. + + GSettings: change notification is again working + unconditionally. + + GListStore has a sort function now. + + Test infrastructure: + - Tests are now required to have unique names. + - TAP support has been improved. + - A macro for asserting that two memory regions have identical + content has been added. + + Bugs fixed: bgo#708525, bgo#742849, bgo#744060, bgo#747364, + bgo#749492, bgo#752769, bgo#753745, bgo#754152, bgo#754211, + bgo#754264, bgo#754283, bgo#754284, bgo#754286, bgo#754307. + + Updated translations. + +------------------------------------------------------------------- +Fri Aug 28 08:20:25 UTC 2015 - fcrozat@suse.com + +- Add zsh completion for gsettings from (source gsettings.zsh). + https://github.com/jmatsuzawa/zsh-comp-gsettings (MIT license). + +------------------------------------------------------------------- +Thu Aug 20 10:06:37 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.45.6: + + Fix a test failure and a build failure. + +------------------------------------------------------------------- +Wed Aug 19 20:17:46 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.45.5: + + GNetworkMonitor now provides information about metered + networks. + + g_mem_set_vtable has been deprecated; it has not been working + for quite a while. The recommendation is to use valgrind, or + replace malloc itself. + + Bugs fixed: bgo#656325, bgo#741779, bgo#741822, bgo#742386, + bgo#743018, bgo#750282, bgo#751358, bgo#751592, bgo#751598, + bgo#751610, bgo#751751, bgo#752210, bgo#752656, bgo#752767, + bgo#753278, bgo#753285. + + Updated translations. + +------------------------------------------------------------------- +Tue Jul 21 09:35:32 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.45.4: + + Bugs fixed: bgo#727829, bgo#741901, bgo#746339, bgo#747676, + bgo#748610, bgo#749911, bgo#749912, bgo#750625, bgo#750807, + bgo#751160, bgo#751672, bgo#751731, bgo#751737, bgo#751798, + bgo#752089, bgo#752293. + + Updated translations. + +------------------------------------------------------------------- +Thu Jun 25 07:59:12 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.45.3: + + Improve performance of g_signal_handler_disconnect for signals + with many handlers. + + GDBus has gained a new call flag to allow interactive + authorization. + + GSettings: + - New API: g_settings_schema_list_keys. + - Deprecated: g_settings_list_keys. + + OS X: + - Implement GNotification. + - Bump the OS X requirement to 10.9. + + Windows: + - Add registry reading API. + - Reimplement GAppInfo using registry information. + + Bugs fixed: bgo#666831, bgo#728489, bgo#730168, bgo#733325, + bgo#734888, bgo#737009, bgo#738185, bgo#738504, bgo#739122, + bgo#739424, bgo#739616, bgo#740308, bgo#740516, bgo#741788, + bgo#745013, bgo#747146, bgo#747941, bgo#748727, bgo#749693, + bgo#750203, bgo#750322, bgo#750344, bgo#750369, bgo#750386, + bgo#750399, bgo#750573, bgo#750918, bgo#751122, bgo#479730. + + Updated translations. + +------------------------------------------------------------------- +Tue May 26 11:04:19 UTC 2015 - dimstar@opensuse.org + +- Update to version 2.45.2: + + Improve error reporting in glib-compile-schemas. + + Add introspection annotations to GListStore. + + Bugs fixed: bgo#696749, bgo#723394, bgo#724113, bgo#725981, + bgo#733325, bgo#744895, bgo#747882, bgo#748534, bgo#748612, + bgo#748614, bgo#748834, bgo#749079, bgo#749080, bgo#749180, + bgo#749352, bgo#749353. + + Updated translations. + +------------------------------------------------------------------- +Wed May 13 10:49:39 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.45.1: + + The GSettings schema compiler, glib-compile-schemas has been + changed to reject schema xml that has duplicate or + elements. Such elements typically occur when + translations are merged into the schema, with xml:lang + attributes. This is not the correct way to translate schemas. + Instead keep the translations in the .mo file and set the + gettext-domain attribute on the element. + + The file monitoring infrastructure has been rewritten, and all + backends have seen major improvements. + + The inotify backend is reporting events with less delay (no + event will be delayed more than 10ms) and wakeups due to file + monitoring have been significantly reduced. A CHANGES_DONE + event will also be sent when new files appear. + + The poll implementation is now using the thread default main + context. + + The fam implmentation is now running in the worker thread. + + The fen implementation has been removed, since it was + unmaintained. + + The GSettings schema compiler, glib-compile-schemas, is more + strict about rejecting schemas with xml:lang style merged + translations. + + Schema translations should be done by specifying the gettext + domain in the xml, and keeping the translations in gettext. To + avoid breaking already-installed schemas, this change is only + taking effect when you use the --strict option. + + The hardcoded 10-thread limit of GTask's thread pool has been + removed, since it was prone to causing deadlocks. The thread + pool is now allowed to grow dynamically and will shrink back + over time. + + GSimpleAsyncResult has been deprecated in favor of GTask. + + The algorithm used by GAppInfo to find default handlers for + mime types has been tweaked to prefer apps that handle the + specific subtype over default handlers for a generic supertype. + + Bugs fixed: bgo#627285, bgo#631597, bgo#661767, bgo#687223, + bgo#711547, bgo#719966, bgo#726447, bgo#728663, bgo#728669, + bgo#730188, bgo#733325, bgo#738207, bgo#739850, bgo#741791, + bgo#744282, bgo#745255, bgo#745745, bgo#745821, bgo#746749, + bgo#746753, bgo#747209, bgo#747349, bgo#747363, bgo#747472, + bgo#747541, bgo#747772, bgo#748019, bgo#748177. + + Updated translations. + +------------------------------------------------------------------- +Wed May 13 10:43:38 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.44.1: + + Don't redefine typedefs to avoid build problems on OpenBSD. + + Improve the default application algorithm. + + Bump the number of children a GType can have. + + Various testsuite improvements. + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 23 17:10:31 UTC 2015 - dimstar@opensuse.org + +- Update to version 2.44.0: + + gsocket: Document FD ownership with g_socket_new_from_fd() + (bgo#730188). + + Updated translations. + +------------------------------------------------------------------- +Tue Mar 17 08:13:01 UTC 2015 - dimstar@opensuse.org + +- Update to version 2.43.92: + + GUnixMountMonitor now properly supports multiple main contexts + + Many documentation improvements and cleanups. We are now + approaching a point where the documentation is 100% complete + and the xml will build without warnings. This will probably be + enabled by default in the next cycle. + + New support for HTTP proxies in GIO. + + New GTask:completed property. + + Use "private" futexes in order to further improve the + performance of the contended case of GMutex and g_bit_lock(). + + Bugs fixed: bgo#614684, bgo#730352, bgo#733876, bgo#741442, + bgo#742599, bgo#743636, bgo#743661, bgo#744722, bgo#745589, + bgo#745634. + + Updated translations. + +------------------------------------------------------------------- +Tue Mar 3 00:16:34 UTC 2015 - dimstar@opensuse.org + +- Update to version 2.43.91: + + We have now added 'g_autofree' as a libgsystem-style + autocleanup macro that calls g_free() on the content of a local + variable when it leaves scope (working only on GCC and clang). + + GApplication now has an "is-busy" property, allowing one to + query the effective busy state. + + There have been various other bugfixes and cleanups. + + Bugs fixed: bgo#661554, bgo#744263, bgo#744565, bgo#744747, + bgo#744756, bgo#744830, bgo#744876, bgo#745239. + + Updated translations. + +------------------------------------------------------------------- +Thu Feb 26 15:05:59 UTC 2015 - dimstar@opensuse.org + +- Update to version 2.43.90: + + New GSimpleIOStream class to construct a GIOStream from an + arbitrary GInputStream and GOutputStream. + + GApplication: new API for marking 'busy' state according to the + value of a boolean property on another object. + + GOptionGroup: add binding support (boxed type, annotation + fixes, etc.) + + Bugs fixed: bgo#739724, bgo#741024, bgo#741630, bgo#743349, + bgo#743990, bgo#744565. + + Updated translations. + +------------------------------------------------------------------- +Thu Feb 26 15:05:58 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.43.4: + + GType now has type declaration macros G_DECLARE_DERIVABLE_TYPE, + G_DECLARE_FINAL_TYPE and G_DECLARE_INTERFACE, which + significantly reduce the boilerplate needed for GObject types + and interfaces. + + g_autoptr and g_auto are macros for declaring variables with + automatic cleanup. They only work with gcc and clang. + + GListModel is a new interface that represents a dynamic list of + GObjects. + + GListStore is a GSequence-based implementation of GListModel. + + Support thread names on OS X. + + g_simple_action_set_state_hint: New function to set the state + hint of GSimpleActions. + + g_win32_check_windows_version: New function to check Windows + version. + + g_settings_schema_list_children and + g_settings_schema_key_get_name are new functions to complete + the GSettingsSchema API. + + Bugs fixed: bgo#389585, bgo#729351, bgo#736914, bgo#741807, + bgo#741895, bgo#742456, bgo#743508, bgo#743517, bgo#743521, + bgo#743596, bgo#743640, bgo#743827, bgo#743927, bgo#743936, + bgo#744012, bgo#744190. + +------------------------------------------------------------------- +Thu Feb 26 15:05:57 UTC 2015 - badshah400@gmail.com + +- Update to version 2.43.3: + + Add g_set_object() convenience function. + + GNetworkMonitor: check if NM is not running and don't crash. + + Fix some races with g_mkdir_with_parents. + + Fix some warnings in MSVC. + + Avoid use of G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC in order + to save on static strings. + + Fix some content type vs. mime issues. + + Documentation improvements. + + Bugs fixed: bgo#719455, bgo#732439, bgo#734946, bgo#741589 + bgo#741653, bgo#741654, bgo#741707, bgo#741788, bgo#742548 + bgo#742851, bgo#742972, bgo#743014. + + Updated translations. + +------------------------------------------------------------------- +Thu Feb 26 15:05:56 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.43.2: + + New functions: g_strv_contains, g_network_address_new_loopback, + g_socket_send_messages. + + A new GNetworkMonitor implementation using NetworkManager + provides more detailed connectivity information. + + Bugs fixed: bgo#11059, bgo#664562, bgo#685880, bgo#712570, + bgo#719646, bgo#728928, bgo#732317, bgo#740814, bgo#740848, + bgo#741016, bgo#741226. + + Updated translations. + +------------------------------------------------------------------- +Thu Feb 26 15:05:55 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.43.1: + + GQueue now accepts NULL as a sibling in g_queue_insert_before() + and g_queue_insert_after(). + + Bugs fixed: bgo#11059, bgo#726037, bgo#727988, bgo#729739, + bgo#733791, bgo#736286, bgo#736620, bgo#737150, bgo#737160, + bgo#738259, bgo#738551, bgo#738633, bgo#740157, bgo#740309, + bgo#740413. + + Updated translations. + +------------------------------------------------------------------- +Thu Feb 26 15:05:54 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.43.0: + + GObject gained a debug option to provide instance counts. To + use it, set GOBJECT_DEBUG=instance-count and call + g_type_get_instance_count(). + + GOption now has a strict POSIX mode in which it stops parsing + arguments as soon as a non-option argument is encountered. + + Bugs fixed: bgo#354457, bgo#695082, bgo#723160, bgo#729739, + bgo#733338, bgo#736273, bgo#736284, bgo#736914, bgo#737259, + bgo#737338, bgo#737446, bgo#737451, bgo#737741, bgo#737869, + bgo#738374, bgo#738675. + + Updated translations. + +------------------------------------------------------------------- +Thu Feb 26 15:05:53 UTC 2015 - zaitor@opensuse.org + +- Update to version 2.42.2: + + Bugs fixed: bgo#712570, bgo#719455, bgo#727829, bgo#734946, + bgo#741024, bgo#741654, bgo#741788, bgo#741807, bgo#742851, + bgo#743508, bgo#743936. + + Updated translations. + +------------------------------------------------------------------- +Tue Nov 11 20:02:27 UTC 2014 - zaitor@opensuse.org + +- Update to version 2.42.1: + + This release disables deprecation warnings by default. + + Bugs fixed: bgo#728256, bgo#736806, bgo#737143, bgo#738170, + bgo#738197. + + Updated translations. + +------------------------------------------------------------------- +Wed Oct 15 21:16:31 UTC 2014 - gber@opensuse.org + +- Update glib2-fate300461-gettext-gkeyfile-suse.patch: Initialize + variable has_gettext. + +------------------------------------------------------------------- +Mon Sep 22 18:37:27 UTC 2014 - zaitor@opensuse.org + +- Update to version 2.42.0: + + Introspection warning fixes. + + g_application_add_main_option now uses an enum instead of an + 'int' for the type of a parameter. + + Added a G_OPTION_FLAG_NONE so that people don't need to use 0. + + gresource: Use GError in more places. + + gresource commandline tool: improve extraction from multiple + sections. + + GSource now takes the context lock (if any) in + g_source_set_name(). + + New documentation to clarify the use of some APIs related to + GVariant, GSource, GApplication. + + Other minor updates to docs. + + Bugs fixed: bgo#736683, bgo#736975. + + Updated translations. + +------------------------------------------------------------------- +Tue Sep 16 19:56:48 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.41.5: + + Bugs fixed: bgo#735819, bgo#735915, bgo#736350, bgo#736351, + bgo#736458. + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 8 09:53:20 UTC 2014 - jengelh@inai.de + +- Add libtool BuildRequires and call autoreconf -fi in build + section: glib/Makefile.am always calls config.status, which + requires aclocal in a matching version. + +------------------------------------------------------------------- +Tue Sep 2 18:12:37 UTC 2014 - zaitor@opensuse.org + +- Update to version 2.41.4: + + GApplication now has binding-friendly API to handle commandline + options: g_application_add_main_option. + + G_GNUC_BEGIN_IGNORE_DEPRECATIONS works with clang. + + Bugs fixed: bgo#583330, bgo#727455, bgo#734126, bgo#735179, + bgo#735297. + + Updated translations. + +------------------------------------------------------------------- +Sat Aug 16 17:17:05 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.41.3: + + g_clear_pointer and g_clear_object no longer use atomics. + + Bugs fixed: bgo#711547, bgo#725511, bgo#725513, bgo#725514, + bgo#725515, bgo#728730, bgo#729703, bgo#730932, bgo#732085, + bgo#732754, bgo#733345, bgo#733576, bgo#733715, bgo#733934, + bgo#733960, bgo#733969, bgo#733982, bgo#734035. + + Updated to translations. + +------------------------------------------------------------------- +Fri Jul 18 09:26:05 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.41.2: + + The Unicode support has been updated to version 7.0 of the + Unicode standard. + + GNotification now supports priorities for notifications. + + GCredentials has gained NetBSD support. + + GMutex now uses a faster, native implementation on Linux. + + Bugs fixed: bgo#699132, bgo#720708, bgo#722092, bgo#724986, + bgo#727974, bgo#728256, bgo#728401, bgo#729825, bgo#729914, + bgo#730293, bgo#731339, bgo#731424, bgo#731623, bgo#731929, + bgo#731950, bgo#731986, bgo#732184, bgo#732357, bgo#732429, + bgo#732465, bgo#732704, bgo#732739, bgo#732754, bgo#732984, + bgo#733084, bgo#733146. + + Updated translations. + +------------------------------------------------------------------- +Fri Jul 18 09:25:05 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.41.1: + + Bugs fixed: bgo#697229, bgo#698614, bgo#729269, bgo#730198, + bgo#730807, bgo#730963, bgo#730984, bgo#731050, bgo#731200, + bgo#731335, bgo#731341, bgo#731366, bgo#731425, bgo#731513, + bgo#731584, bgo#731657, bgo#731979, bgo#731996, bgo#732002, + bgo#732005, bgo#732019, bgo#732068, bgo#732081, bgo#732107. +- Changes from version 2.41.0: + + Many bugfixes found by static analysis, including potential fd + leaks and NULL pointer dereferences. + + Increased use of (nullable) attribute on out values and return + types now that it is supported. + + Use XDG_CURRENT_DESKTOP for OnlyShowIn/NotShowIn handling of + desktopfiles, deprecating g_desktop_app_info_set_desktop_env(). + + Add support for g_desktop_app_info_get_implementations() to + find desktop files that have an Implements= line for a given + interface. + + GHmac has gained SHA-512 support. + + Support the new mimeapps specification (most notably, moving + the associations/defaults configuration to + ~/.config/mimeapps.list). + + libgobject is now linked -Wl,-z,nodelete when possible to avoid + errors when gobject is used from a module for a program that + does not itself use gobject and that module is + unloaded/reloaded. + + Bugs fixed: bgo#623552, bgo#667468, bgo#668152, bgo#707298, + bgo#712391, bgo#722723, bgo#724741, bgo#726040, bgo#726318, + bgo#726611, bgo#726872, bgo#727119, bgo#727123, bgo#727320, + bgo#727551, bgo#727559, bgo#727692, bgo#727890, bgo#727900, + bgo#727928, bgo#727939, bgo#727964, bgo#728040, bgo#728066, + bgo#728280, bgo#728285, bgo#728350, bgo#728380, bgo#728565, + bgo#728983, bgo#729167, bgo#729563, bgo#729813, bgo#729875, + bgo#730045, bgo#730189, bgo#730190, bgo#730277, bgo#730278, + bgo#730295, bgo#730493. + + Updated translations. + +------------------------------------------------------------------- +Fri Jul 18 09:13:01 UTC 2014 - zaitor@opensuse.org + +- Update gtk-doc.m4 due to version update/changes of gtk-doc. +- Add glib2-rpmlintrc to spec as Source98, following new factory + rules. + +------------------------------------------------------------------- +Fri May 23 20:36:27 UTC 2014 - mgorse@suse.com + +- Add glib2-bnc873225-add-get-default-value.patch: allow + retrieving the default value for a key (bnc#873225). + +------------------------------------------------------------------- +Wed May 21 06:43:08 UTC 2014 - tyang@suse.com + +- Add glib2-trash-on-other-partitions.patch -- delete file directly + when try to move files into trash can on other partitions(/home + not involved) (bnc#866456). + +------------------------------------------------------------------- +Mon Mar 24 19:53:13 UTC 2014 - zaitor@opensuse.org + +- Update to version 2.40.0: + + Disable IPv6 testcases on machines without IPv6. + + Document that it is a bad idea to match on generic error codes. + + Updated translations. + +------------------------------------------------------------------- +Wed Mar 19 17:15:59 UTC 2014 - mgorse@suse.com + +- Add glib2-dbus-object-manager-ref.patch -- keep the gdbus object + manager alive (bgo#719402). + +- Add glib2-missing-annotations.patch -- add gobject-introspection + annotation to g_desktop_app_info_launch_uris_as_manager. + +------------------------------------------------------------------- +Tue Mar 18 08:53:20 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.39.92: + + Bugs fixed: bgo#710367, bgo#723899, bgo#724859, bgo#724916, + bgo#725651, bgo#725656, bgo#725891, bgo#726046. + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 3 21:47:37 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.39.91: + + Bugs fixed: bgo#670144, bgo#673607, bgo#710142, bgo#722360, + bgo#722604, bgo#723316, bgo#724609, bgo#724687, bgo#724706, + bgo#724707, bgo#724839, bgo#724858, bgo#724994, bgo#725023. + + Updated translations. + +------------------------------------------------------------------- +Tue Feb 18 15:25:13 UTC 2014 - zaitor@opensuse.org + +- Update to version 2.39.90: + + Bugs fixed: bgo#625408, bgo#660809, bgo#661576, bgo#679957, + bgo#712837, bgo#721458, bgo#721977, bgo#722033, bgo#723422, + bgo#723616, bgo#724001, bgo#724124, bgo#724126, bgo#724233, + bgo#724239, bgo#724278, bgo#724330, bgo#724385, bgo#724401, + bgo#724417, bgo#724434. + + Updated translations. + +------------------------------------------------------------------- +Tue Feb 4 09:27:32 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.39.4: + + Bugs fixed: bgo#139699, bgo#583036, bgo#683388, bgo#685204, + bgo#688406, bgo#693299, bgo#707111, bgo#711547, bgo#719344, + bgo#722025, bgo#722323, bgo#722326, bgo#722357, bgo#722436, + bgo#722503, bgo#722526, bgo#722591, bgo#722973, bgo#723048, + bgo#723360. + + Updated translations. + +------------------------------------------------------------------- +Mon Jan 13 23:08:23 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.39.3: + + Fix a crasher in code from gdbus-codegen. + + Improvements to gobject gdb helper script. + + Portability fixes. + + Improved tests. + + Fix races in unix signal handling. + + Make our GVariant-based commandline tools + (glib-compile-schemas, gdbus, gapplication) print out GVariant + parse errors in context. + + GApplication now has a --gapplication-service command line + switch to turn any GApplication into a service. + + Improve compatibility of GApplication and GOptionContext. + + Fix gsettings.m4 wrt. builddir != srcdir with non-recursive + make. + + Use a directory monitor in GKeyfileSettingsBackend. + + Improve robustness of some GIcon classes. + + Bugs fixed: bgo#141251, bgo#613732, bgo#708212, bgo#710965, + bgo#711090, bgo#712171, bgo#712630, bgo#715028, bgo#719344, + bgo#720263, bgo#720539, bgo#720635, bgo#720891, bgo#721034, + bgo#721059, bgo#721074, bgo#721087, bgo#721324, bgo#721624, + bgo#721625, bgo#721796, bgo#721947. + + Updated translations. + +------------------------------------------------------------------- +Wed Jan 8 17:48:44 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.39.2: + + Portability: Remove alleged support for OS/2, BeOS and + last-millennium Unixes. + + Require C90 compliance. + + Require POSIX.1 (1990) compliance on Unix. + + Require GNU make. + + Bugs fixed: bgo#113075, bgo#159528, bgo#307947, bgo#607016, + bgo#671557, bgo#676761, bgo#690525, bgo#691608, bgo#697585, + bgo#697828, bgo#702862, bgo#703522, bgo#705902, bgo#708274, + bgo#710519, bgo#710741, bgo#710983, bgo#711047, bgo#711051, + bgo#711088, bgo#711103, bgo#711178, bgo#711546, bgo#711640, + bgo#711751, bgo#711753, bgo#711796, bgo#711800, bgo#711801, + bgo#711805, bgo#711806, bgo#711807, bgo#711871, bgo#712136, + bgo#712148, bgo#712171, bgo#712314, bgo#712315, bgo#712393, + bgo#712547, bgo#715164, bgo#719395, bgo#719402, bgo#719472, + bgo#719687, bgo#719809, bgo#719837, bgo#719884, bgo#719979, + bgo#720080, bgo#720210, bgo#720236. + + Updated translations. + +------------------------------------------------------------------- +Wed Jan 8 17:48:43 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.39.1: + + GSettings fixes/improvements. + - GSettingsSchema API is now more powerful and consistent. + - New GSettingsSchemaKey API allows accessing metadata for + keys: type, default value, range and the long-awaited support + for summary and description. + - GSettingsSchemaSource gains support for listing schemas + within a source. Deprecate the global API that did this for + the default source. + - 'gsettings list-schemas' now works properly with --schemadir. + - Deprecate a bunch of now-redundant functionality on + GSettings. + - Add API to GSettings for getting the default value of a key + (as set by the sysadmin) + - Add API to GSettings for determining if the user has assigned + a particular value to a key (ie: we are not just reading the + default) + - Ignore qualified tags and attributes appearing in schema + files. + + Applications/Actions: + - Make GSimpleAction a bit more strict with respect to state + changes that would violate the interface (ie: by changing the + state type after construction) + - Throw an error when attempting to 'Describe' a non-existent + action via D-Bus instead of returning a bogus description. + - Throw an error when attempting to invoke unsupported methods + on an Application (eg: 'Open' on an app that doesn't + HANDLES_OPEN) instead of emitting a g_critical() in context + of the app (which is not itself at fault for the errant + call). + + Appinfo: + - Substantially rework GDesktopAppInfo to reduce the amount of + disk accesses that are performed in common situations. + - Add a new class: GAppInfoMonitor for discovering when + applications are installed/removed. + - Add a new g_desktop_app_info_search() API for searching for + installed applications by name, keywords, etc. + + GMarkup: add new G_MARKUP_IGNORE_QUALIFIED flag for skipping + over "qualified" tags and attributes (those with a colon in the + name, such as 'my:tag'). + + GDBus: + - Ignore qualified tags, as above. + - GTestDBus: unset all D-Bus addresses (such as STARTER) to + ensure that test programs don't pick them up. + - Add new session_bus_run() convenience in the tests and use + it. + + GRand: use real random data as a seed on win32 and use the + timestamp/pid/uid fallback only on UNIX machines where we can't + open '/dev/urandom'. This may cause issues with older mingw32 + releases due to a missing prototype for the rand_s() API. + + Many win32 (and particularly MSVC) portability fixes. Many + additional tests are now runnable when building with MSVC. + + Due to early testing of the (soon to land) GCleanup framework, + a very large number of memory errors have been found and fixed + (mostly in the testcases, but some in glib itself). + + GIO: + - Some more seeking cleanups: particularly on + GLocalFileInputStream. + - Don't leave a .trashinfo file around if trashing a file + fails. + - Add a request_certificate virtual method to GTlsInteraction. + + Bugs fixed: bgo#635641, bgo#637257, bgo#637956, bgo#645453, + bgo#665634, bgo#668232, bgo#668233, bgo#680838, bgo#683017, + bgo#687185, bgo#687202, bgo#695558, bgo#696424, bgo#697348, + bgo#710133, bgo#710691, bgo#710738, bgo#710859, bgo#710885, + bgo#710962, bgo#710964, bgo#710991, bgo#711016, bgo#711048, + bgo#711049, bgo#711064, bgo#711070, bgo#711099, bgo#711520, + bgo#711556, bgo#711557, bgo#711600, bgo#711632, bgo#711754, + bgo#711755, bgo#711756, bgo#711768, bgo#711775, bgo#711782, + bgo#711803, bgo#711808. + + Updated translations. + +------------------------------------------------------------------- +Wed Jan 8 17:48:42 UTC 2014 - dimstar@opensuse.org + +- Update to version 2.39.0: + + Prep for the 2.40 series (version macros, docs index, etc.). + + GNotification: + - New API for sending persistent notifications via the desktop + shell. + - Notifications persist when the application has quit and + clicking on them can restart the application with an action + (via DBusActivatable). + + GSubprocess: + - New API for launching subprocesses. + - Nice GIO integration like async functions, cancellability, + etc. + - A convenient communicate() API inspired by the same API in + Python. + - Related: the gspawn API now has a CLOEXEC flag for the + created pipes for stdin/stdout/stderr. + + New gapplication(1) commandline tool: + - Intended to be used with DBusActivatable apps. + - Can be used for launching apps, opening files, invoking + application actions and listing apps and actions. + - Bash tab completion is supported. + + GDesktopAppInfo changes: + - g_file_get_path() can implicitly cause a FUSE mount so don't + call it until we know we need it. + - Don't crash when trying to load from a keyfile with + DBusActivatable=true. + - remove some dead code, refactor the search path handling a + bit and do a large-scale whitespace cleanup (prep work for + the pending desktop file index). + + File monitors: + - Fix broken handling of mount point monitoring. + - Remove some strange use of GObject::constructor() from the + base class and inotify backend. + - Fix GFileMonitor to work in the non-default main context even + when the main context is not running (or is blocked). + - Add internal private API for easily creating a file monitor + in the GLib worker thread. + + GSettings: + - g_settings_list_children: only list viable schemas. + - Don't accept invalid paths on g_settings_new_with_path, etc. + + GIO: + - GFile now has a thumbnail::is-valid attribute to check if the + thumbnail in thumbnail::path needs to be regenerated. + - GDBusProxy now has a flag to control autostarting of services + at construction time. + - For GSeekable, properly introduce the concept of "resizable" + vs. "fixed-sized" streams in the docs, explaining the + expected semantics of the interface in each case. + - Fix some cases in GMemoryOutputStream that were violating the + above expectations (which may cause a slight API + incompatibility). + - Clean up GCredentials code and add support for Hurd and + Solaris. + - Improve splicing by using different codepaths for the case + where we have real _read_async() and _write_async() + implementations on the stream vs. the case where they are + internally emulated (via dispatching the sync variant of the + call in a thread). + + GKeyFile: + - Fix a leak in g_key_file_get_(u)int64 when we fail to parse + the value as an integer. + - Add long-requested API g_key_file_save_to_file(). + + Portability improvements. + + Other small API changes/additions. + + GMainContext/GSource: + - Fix handling of overflowing the 'next source id' counter. + - g_source_remove() will not throw a critical in the case that + you try to remove a non-existent source. + - Simplify handling of the 'current dispatching source' to not + require use of a linked list. + + GObject: The long-broken (and leaky) pattern of destroying a + just-allocated object from inside of a custom + GObject::constructor is now officially completely illegal and + will abort the program. + + Unicode: update to 6.3.0. + + Bug fixes: + - g_file_copy() now falls back to pathname queryinfo. + - Fix an out-of-bounds read in the xdgmime code. + - Fix a typo in the /org/freedesktop/DBus path on the object + manager client. + - Skip emitting path_namespace='/' in match rules in order to + workaround a bug in the D-Bus daemon and fix our own + implementation (which shared exactly the same bug). + - Fix crashes on precondition violations for GParamSpec + constructors. + - Many other small fixups. + + Many documentation improvements. + + Bugs fixed: bgo#309224, bgo#583321, bgo#661576, bgo#672102, + bgo#684842, bgo#688492, bgo#691581, bgo#702516, bgo#704218, + bgo#704593, bgo#704882, bgo#704887, bgo#705029, bgo#705688, + bgo#706254, bgo#707887, bgo#708042, bgo#708265, bgo#708266, + bgo#708529, bgo#708677, bgo#708714, bgo#708753, bgo#708793, + bgo#708828, bgo#708860, bgo#708972, bgo#709113, bgo#709227, + bgo#709301, bgo#709326, bgo#709440, bgo#709615, bgo#709753, + bgo#709898, bgo#709966, bgo#709994, bgo#709995, bgo#710002, + bgo#710313, bgo#710345, bgo#710496, bgo#710625, bgo#710666, + bgo#710724, bgo#710726. + + Updated translations. +- Drop glib2-no_DBusActivatable_from_keyfile.patch: fixed upstream. + +------------------------------------------------------------------- +Wed Jan 8 13:53:33 UTC 2014 - adrian@suse.de + +- BuildRequire gamin-devel instead of unmaintained fam(-devel). + +------------------------------------------------------------------- +Sun Nov 17 20:02:45 UTC 2013 - dimstar@opensuse.org + +- Add glib2-dbus-socket-path.patch: Have gio look for the system + dbus socket in /run instead of /var/run (bnc#845287). + +------------------------------------------------------------------- +Tue Nov 12 16:47:42 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.38.2 (bnc#849913): + + GCancellableSource will now dispatch for each time a + cancellable is cancelled (ie: in the case that it was reset) + but this is still considered undefined behaviour. + + Fix g_source_add_child_source() thread safety issues. + + Add workaround for buggy D-Bus daemons when path-matching on + '/'. + + Fallback to pathname queryinfo to help g_file_copy() work on + gvfs filesystems that don't implement query_info_on_read(). + + Don't crash if loading a DBusActivatable application from + keyfile. + + Fix crash when replacing a symlink with another using GIO. + + Add a fallback for '-symbolic' icons to the non-symbolic form. +- Replace nautilus-folder-handler.desktop in + glib2-upstream-gnome_defaults.conf with nautilus.desktop: the + separate .desktop file has been dropped with about version 3.0. +- Drop glib2-no_DBusActivatable_from_keyfile.patch: fixed upstream. + +------------------------------------------------------------------- +Wed Oct 16 06:42:18 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.38.1: + + Fix error code checks when SOCK_CLOEXEC is defined but not + supported (fix support for GNU/Hurd). + + g_settings_list_children: only list viable schemas. + + GDBusObjectManagerClient: Fix typo in the /org/freedesktop/DBus + path when adding match rules. + + Various -Werror=format-nonliteral fixes. + + gmessages: fix clang annotations to work with older versions. + + gio: don't dist (generated file) gnetworking.h. + + Restore gl_GLIBC21 to configure; needed for libcharset. + + Updated translations. + +------------------------------------------------------------------- +Sun Oct 6 14:40:29 UTC 2013 - dimstar@opensuse.org + +- Add glib2-no_DBusActivatable_from_keyfile.patch: Don't try + DBusActivatable with load_from_keyfile. Fixes a crash when + starting synapse with any .desktop files installed that specify + DBusActivatable=true (e.g. gnome-weather, bnc#842645). + +------------------------------------------------------------------- +Tue Sep 24 07:46:11 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.38.0: + + Fix the documentation for GSourceFuncs. + + Fix compilation on OS X/ppc64. + + Bugs fixed: bgo#708445, bgo#647145. + + Updated translations. + +------------------------------------------------------------------- +Tue Sep 17 17:00:42 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.37.93: + + Several bugfixes in the new g_file_measure_disk_usage() API. + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 16 18:27:49 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.37.92: + + New API: g_file_measure_disk_usage() similar to du(1). + + Minor fixes. + + Updated translations. +- Drop libtool BuildRequires and call to autoreconf: This was added + when building 2.37.0 due to the tarball trying to re-bootstrap + and is now no longer needed. + +------------------------------------------------------------------- +Tue Sep 3 06:39:55 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.37.7: + + GDateTime now supports %:z formatting variations for timezones. + This is a GNU date extension. + + Bugs fixed: bgo#685387, bgo#686786, bgo#705027, bgo#706469, + bgo#706706, bgo#706888, bgo#706958, bgo#707092, bgo#707151. + + Updated translations. + +------------------------------------------------------------------- +Tue Aug 20 06:30:43 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.37.6: + + Tests using the g_test facilities can now generate TAP output. + + Bugs fixed: bgo#680926, bgo#684327, bgo#689245, bgo#692125, + bgo#693335, bgo#696633, bgo#696970, bgo#697185, bgo#700268, + bgo#701318, bgo#701529, bgo#701800, bgo#702674, bgo#704165, + bgo#705075, bgo#705152, bgo#705398, bgo#705570, bgo#705600. + + Updated translations. + +------------------------------------------------------------------- +Tue Jul 30 07:07:08 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.37.5: + + Implement the Desktop Action specification. + + GPropertyAction is a new type of GAction that represents the + value of a property on an object, and allows to change the + value when activated. + + GNetworkMonitorNetlink can now handle default routes via a + device. + + The gsettings tool now reports failure to write a key (e.g. + because the key was locked down). + + Miscellaneous new api: + - g_variant_new_printf + - g_action_print_detailed_name + - g_regex_get_max_lookbehind + + Bugs fixed: bgo#664444, bgo#684123, bgo#689794, bgo#699259, + bgo#700460, bgo#701511, bgo#701609, bgo#703270, bgo#704157, + bgo#704250, bgo#704267, bgo#704322, bgo#704424, bgo#704447, + bgo#704523, bgo#704543, bgo#704567, bgo#704585, bgo#704587, + bgo#704699, bgo#704704, bgo#704873, bgo#704999, bgo#704931. + + Updated translations. +- Rebase glib2-bgo569829-gettext-gkeyfile.patch and + glib2-fate300461-gettext-gkeyfile-suse.patch. + +------------------------------------------------------------------- +Tue Jul 9 20:03:10 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.37.4: + + bgo#701283: g_source_add_child_source() segfault. + + bgo#702147: inconsistency of G_STRFUNC. + + bgo#703191: new private macros interact poorly with versioning + macros. + + bgo#703254: Doc: various fixes. + + bgo#703407: g_spawn_async() keeps child_pid_report_pipe open in + child process. + + bgo#703437: GDBusConnection: be more careful with async GetAll. + + bgo#703478: Missing G_BEGIN/END_DECLS in gsettingsschema. + + Updated translations. + +------------------------------------------------------------------- +Mon Jun 24 17:43:15 UTC 2013 - zaitor@opensuse.org + +- Update to version 2.37.3: + + Add a new API for instance private data: + G_DEFINE_TYPE_WITH_PRIVATE. + + Fix timestamps in tarball to prevent automake from being + required to build the unmodified source. + + Add new D-Bus API for async property handling. + + Add back fsync() on ext4 for g_file_set_contents() after it was + discovered that despite statements in the ext4 documentation + suggesting that this is safe, it is not safe. + + Bugs fixed: bgo#698375, bgo#700350, bgo#701560, bgo#700035. + + Updated translations. + +------------------------------------------------------------------- +Fri Jun 21 18:36:28 UTC 2013 - dimstar@opensuse.org + +- Update gtk-doc.m4 from gtk-doc 1.19. + +------------------------------------------------------------------- +Fri Jun 21 08:44:21 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.37.2: + + The GLib test utilities have grown some file-related APIs + to support tests that can be used installed and uninstalled. + + Installing properties after class initialization is deprecated, + and will trigger a warning. + + GApplication: + - Support org.freedesktop.Application, including D-Bus + activation from desktop files. + - Set prgname to appid for services. + + Bugs fixed: bgo#549783, bgo#692848, bgo#698018, bgo#698614, + bgo#699259, bgo#699959, bgo#700123, bgo#700725, bgo#701401, + bgo#701456, bgo#701474, bgo#701560, bgo#701680, bgo#701878. + + Updated translations. +- Rebase glib2-bgo569829-gettext-gkeyfile.patch. +- Rebase glib2-fate300461-gettext-gkeyfile-suse.patch. + +------------------------------------------------------------------- +Tue May 28 06:43:59 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.37.1: + + Add support for installed tests. + + Add a new g_test_trap_subprocess() that works on Windows as a + replacement for the (now deprecated) g_test_trap_fork(). + + Support for explicitly cancelling a gobject property binding. + + Performance improvements for signal argument handling. + + Stop using `quotes' in very many log messages generated by + GLib, for favour of 'this style'. + + Improve manpages: add missing arguments and flags. + + Updated translations. + +------------------------------------------------------------------- +Wed May 1 19:34:21 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.37.0: + + The syntax for detailed action names has been documented, and a + parser API for them is now provided. + + GApplication has gained a busy state. + + Lib can now be built with the bionic C library. + + GIcon can now be serialized to a GVariant. + + Bugs fixed: bgo#548353, bgo#645881, bgo#665445, bgo#672018, + bgo#688820, bgo#688954, bgo#689223, bgo#695156, bgo#696108, + bgo#696629, bgo#696652, bgo#696857, bgo#697131, bgo#697160, + bgo#697250, bgo#697365, bgo#697367, bgo#697386, bgo#697595, + bgo#697601, bgo#697626, bgo#697771, bgo#697887, bgo#697942, + bgo#698056, bgo#698081, bgo#698455, bgo#698457, bgo#698478, + bgo#698595, bgo#698655, bgo#698686, bgo#698716, bgo#698999, + bgo#699001, bgo#699361. + + Updated translations. +- Clean spec-file from BUILD_FROM_VCS remainders. +- Add libtool BuildRequires and call to autoreconf, as the tarball + is looking for aclocal-1.13 (and we run 1.12; reconfiguring fixes + the underlying issue). + +------------------------------------------------------------------- +Mon Apr 15 22:28:58 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.36.1: + + Bugs fixed: bgo#687659, bgo#696973, bgo#697229, bgo#697652, + bgo#697879. + + Updated translations. + +------------------------------------------------------------------- +Tue Mar 26 07:42:01 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.36.0: + + g_file_copy(): fix bug where attributes were not applied + properly to the destination file. + + Fix some 'available since' annotations. + + Fix gdbus-codegen to produce more pedantically-correct code. + + Bugs fixed: bgo#696014, bgo#696108. + + Updated translations. + +------------------------------------------------------------------- +Tue Mar 19 10:20:55 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.35.9: + + Bugs fixed: bgo#682896, bgo#693204, bgo#694181, bgo#694253, + bgo#694350, bgo#694757, bgo#568405, bgo#630284, bgo#659428, + bgo#675333, bgo#694669, bgo#694843, bgo#695147, bgo#695191, + bgo#695339, bgo#695376, bgo#695425, bgo#695887, bgo#695925, + bgo#696015. + + Updated translations. + +------------------------------------------------------------------- +Tue Feb 19 10:30:25 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.35.8: + + A couple of build fixes for Solaris + + Fix signal emission for GDBusObjectManagerClient + + Annotations fixes + + new API: g_dbus_address_escape_value() + + GSocketClient: add proxy-resolver property + + GSimpleProxyResolver: new simple GProxyResolver class + + Documentation fixes + + gnetworkaddress: preserve IPv6 scope ID in IP literals + + Bugs fixed: bgo#691105, bgo#692827, bgo#692829, bgo#693285, + bgo#693502, bgo#693673, bgo#693694. + + Updated translations. + +------------------------------------------------------------------- +Wed Feb 6 08:41:48 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.35.7: + + Fix the build on systems with strict linkers by adding -pthread + back to the LDFLAGS for a testcase. + + Re-enable native atomic operations on some buggy versions of + clang that ship as part of the MacOS X SDK. + + Make G_IO_FLAG_IS_WRITEABLE an enum again (the #define broke + bindings). + + Small documentation fix. + + Bugs fixed: bgo#636683, bgo#657045, bgo#682818, bgo#693105. + + Updated translations. +- Changes from version 2.35.6: + + GUnixFdSource is a new way to add file descriptors to the + mainloop. + + g_source_set_ready_time lets you mark a source to become ready + at a specified monotonic time. + + The internal visibility handling of GLib has been reworked. + + GFileMonitor will now automatically use fam instead of inotify + if $HOME is on NFS. + + The file monitor implementation can now be overridden with the + GIO_USE_FILE_MONITOR environment variable. + + Bugs fixed: bgo#570572, bgo#592211, bgo#625552, bgo#657729, + bgo#658020, bgo#678223, bgo#682560, bgo#682819, bgo#684404, + bgo#686853, bgo#688169, bgo#688681, bgo#690118, bgo#691624, + bgo#691812, bgo#691866, bgo#692029, bgo#692034, bgo#692058, + bgo#692079, bgo#692201, bgo#692202, bgo#692229, bgo#692332, + bgo#692360, bgo#692404, bgo#692408, bgo#692544, bgo#692583, + bgo#692618, bgo#692815, bgo#692865, bgo#692928. + + Updated translations. +- Drop glib2-force-fam-for-remote-fs.patch: fixed upstream. + +------------------------------------------------------------------- +Wed Jan 16 20:01:25 UTC 2013 - dimstar@opensuse.org + +- Rebase glib2-force-fam-for-remote-fs.patch (bnc#791096). + +------------------------------------------------------------------- +Tue Jan 15 07:30:00 UTC 2013 - dimstar@opensuse.org + +- Update to version 2.35.4: + + New APIs: + - g_get_num_processors, g_application_command_line_get_stdin + + New GFileMonitor flag: G_FILE_MONITOR_WATCH_HARD_LINKS + + Parse more timezone offset formats + + Better timezone support on Windows + + Make GParamSpec constructors introspectable + + Disallow adding interfaces after class_init + + Bugs fixed: bgo#532815, bgo#614930, bgo#626497, bgo#633117, + bgo#661767, bgo#668210, bgo#675856, bgo#684103, bgo#684723, + bgo#686058, bgo#686128, bgo#687223, bgo#687659, bgo#687920, + bgo#688681, bgo#688829, bgo#689324, bgo#689810, bgo#690043, + bgo#690084, bgo#690388, bgo#690538, bgo#690543, bgo#690670, + bgo#690902, bgo#690970, bgo#691001, bgo#691011, bgo#691077, + bgo#691110, bgo#691489, bgo#691558, bgo#691608. + + Updated translations. +- Drop glib2-asneeded.patch: fixed upstream. + +------------------------------------------------------------------- +Fri Jan 11 08:26:29 UTC 2013 - dimstar@opensuse.org + +- Add glib2-asneeded.patch: Ensure gio-querymodules is linked to + ensure gio-querymodules is linked to libgobject. + +------------------------------------------------------------------- +Wed Dec 26 18:01:49 UTC 2012 - zaitor@opensuse.org + +- Update to version 2.35.3: + + This release contains an incompatible change to + the g_get_home_dir() function. Previously, this function would + effectively ignore the HOME environment variable and always + return the value from /etc/password. As of this version, the + HOME variable is used if it is set and the value from + /etc/passwd is only used as a fallback. + + We now install a public "gnetworking.h" header that can be used + to include the relevant OS-dependent networking headers. This + does not really abstract away unix-vs-windows however; error + codes, in particular, are incompatible. + + Bugs fixed: bgo#686895, bgo#688704, bgo#602715, bgo#688377, + bgo#688180, bgo#688497, bgo#688319, bgo#688886,bgo#681685, + bgo#689037, bgo#688931, bgo#688681, bgo#652650, bgo#664627, + bgo#688419, bgo#684145, bgo#675516, bgo#689538, bgo#679683, + bgo#689377, bgo#142568, bgo#587806, bgo#689800, bgo#689847, + bgo#629301, bgo#689982, bgo#690069, bgo#623187, bgo#690083, + bgo#690163, bgo#690346, bgo#687092, bgo#690348. + +------------------------------------------------------------------- +Tue Nov 27 09:49:31 UTC 2012 - dimstar@opensuse.org + +- Changes from version 2.35.2: + + GIO now has kqueue support for GFileMonitor (BSDs, Mac OS) + + New g_variant_new_from_bytes() API + + UNIX signal sources now allow watching SIGUSR1 and SIGUSR2 + + Many pedantic cleanups to adhere to a higher level of -W use + + GTask changes to avoid a deadlock + + many cleanups/fixes for Windows + + Boxing for GPollFD, GIOChannel, GBytes, GByteArray + + Fix URL-encoding of trashed files + + Many other docs and annotations fixes + + Bugs fixed: bgo#649302, bgo#668842, bgo#672924, bgo#673229, + bgo#677062, bgo#686185, bgo#686191, bgo#686797, bgo#686810, + bgo#686822, bgo#686839, bgo#686895, bgo#686898, bgo#686920, + bgo#686921, bgo#687075, bgo#687089, bgo#687098, bgo#687385, + bgo#687441, bgo#687516, bgo#687540, bgo#687541, bgo#687600, + bgo#687698, bgo#687700, bgo#687742, bgo#687801, bgo#688109, + bgo#688255, bgo#688338, bgo#688370, bgo#688378, bgo#688518. +- Changes from version 2.35.1: + + Signal handlers connected with g_signal_connect_object() are + now automatically disconnected on target object destruction + + The ->constructed vfunc is now called after all properties are + set + + g_type_init() is no longer necessary and has been deprecated + + GTask (the new GAsyncResult implementation) has landed + + GLib version macros updated + + Update to Unicode 6.2 + + Thread safety fixes for GFileMonitor in non-default main + contexts + + GTimeZone support for old-format zoneinfo database (as on Mac + OS) + + g_settings_bind() now works with non-canonical property names + + Fix crashes related to NULL connection passed to + GBusNameVanishedCallback and document this situation + + Bugs fixed: bgo#118536, bgo#661767, bgo#682950, bgo#683642, + bgo#684882, bgo#684909, bgo#684912, bgo#685037, bgo#685608, + bgo#685697, bgo#685733, bgo#685787, bgo#685995, bgo#686091, + bgo#686119, bgo#686161, bgo#686231, bgo#686458. + + Updated translations. +- Disable glib2-force-fam-for-remote-fs.patch: Needs fixing. + +------------------------------------------------------------------- +Tue Nov 27 08:49:31 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.34.3: + + Reverted the patch for bgo#686786, which broke the build on + OS X and Windows. + + Bugs fixed: bgo#673047, bgo#681685, bgo#688093, bgo#688180, + bgo#688319, bgo#688338, bgo#688370, bgo#688377, bgo#688886. + + Updated translations. + +------------------------------------------------------------------- +Thu Nov 15 19:22:07 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.34.2: + + Bugs fixed: bgo#649302, bgo#672924, bgo#685995, bgo#686091, + bgo#686185, bgo#686213, bgo#686662, bgo#686786, bgo#687089, + bgo#687540, bgo#687541, bgo#687600, bgo#687801. + +------------------------------------------------------------------- +Wed Oct 24 19:29:10 UTC 2012 - jengelh@inai.de + +- Make glib2-devel-32bit available on all archs (baselibs.conf). +- Remove redundant tags/sections from specfile. + +------------------------------------------------------------------- +Tue Oct 16 07:11:40 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.34.1: + + Bugs fixed: bgo#631382, bgo#685037, bgo#685069, bgo#684882, + bgo#685208, bgo#685608, bgo#686119 + + Updated translations. + +------------------------------------------------------------------- +Mon Oct 1 11:26:58 UTC 2012 - vuntz@opensuse.org + +- Drop SuSEconfig.glib2: since SuSEconfig is now dead, this can't + work anymore. Instead, this script is moved to desktop-file-utils + and macros defined there will automatically call it. +- Update glib2-upstream-gnome_defaults.conf to mention + suse-update-mime-defaults script instead of "SuSEconfig --module + glib2". +- All of this fixes bnc#782120. + +------------------------------------------------------------------- +Mon Sep 24 07:06:48 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.34.0: + + Bugs fixed: bgo#654239, bgo#674620, bgo#676034, bgo#684278 + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 17 22:44:41 UTC 2012 - zaitor@opensuse.org + +- Update to version 2.33.14: + + CVE-2012-3524: don't run dbus-launch from setuid binaries + + g_content_type_get_generic_icon_name(): - new API for getting + the icon name for a mime type + + Introspection fixes: + - GDBusConnection nullability fixes + - give a box type to GTimeZone + + Drop GVFS_INOTIFY_DIAG + + Add a new "Writing GLib Applications" section to the reference + documentation with general info on security, threads, etc. + + gwin32mount.c: Fix syntax error + + gresource tests: srcdir != builddir fixes + + tests/gvariant: Fix test on big endian architectures + + Fix regression in g_shell_parse_argv() + + Bugs fixed: bgo#562907, bgo#683167, bgo#683384, bgo#683641, + bgo#683744, + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 3 20:59:50 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.33.12: + + Add a G_DEFINE_QUARK macro + + Add symbolic icon support to drive, volume, and mount, file + and content types + + Add API to allow thread-safe access to the same qdata item + + Bugs fixed: bgo#562907, bgo#627240, bgo#672329, bgo#673012, + bgo#674805, bgo#679835, bgo#682075, bgo#682101, bgo#682222, + bgo#682284, bgo#682386, bgo#682560, bgo#682586, bgo#682819, + bgo#682833, bgo#682849, bgo#682965, bgo#683088 + + Updated translations. + +------------------------------------------------------------------- +Tue Aug 21 07:41:09 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.33.10: + + New GTest API for testcases where log output is expected: + g_test_expect_message() + + GMenuItem now has 'get' accessors and a + construct-from-GMenuModel API + + GVariant now has a function to check a format-string for type + compatibility + + win32: We now use overlapped IO to support multiple + asynchronous operations (ie: reading and writing) at the same + time. + + GMappedFile: Add g_mapped_file_get_bytes() + + The problems with g_file_make_directory_with_parents() should + be resolved. + + The long-standing issues with placeholder generation of + manpages are now resolved + + gtlscertificate: Add GBytes based certificate and private-key + props + + build: Switch back to using AS_IF for conditionals + + test coverage improvements, documentation improvements, leak + fixes + + Bugs fixed: bgo#326931, bgo#550433, bgo#600751, bgo#628193, + bgo#637460, bgo#674483, bgo#677065, bgo#679288, bgo#679556, + bgo#680823, bgo#681319, bgo#681336, bgo#681413, bgo#681501, + bgo#681854, bgo#682025, bgo#682067. + + Updated translations. +- Drop gtk-doc BuildRequires and no longer pass --enable-gtk-doc to + configure: bgo#681336 has been fixed. + +------------------------------------------------------------------- +Mon Aug 6 20:56:47 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.33.8: + + GIO now has a g_file_delete_async function + + The defaults for GThreadPools max_unused_threads and + max_idle_time values have been changed to 2 and 15*1000, + respectively + + Bugs fixed: bgo#661767, bgo#669331, bgo#674314, bgo#674800, + bgo#675524, bgo#679509, bgo#679996, bgo#680074, bgo#680121, + bgo#680148, bgo#680310, bgo#680459, bgo#680505, bgo#680704, + bgo#680760, bgo#680787, bgo#680823, bgo#680831, bgo#680912, + bgo#680994, bgo#681116, bgo#681118, bgo#681151, bgo#681158. + + Updated translations. +- Pass --enable-man to configure, to ensure we always build the + man pages. +- Add docbook-xsl-stylesheets and xsltproc BuildRequires: + dependencies to build the man pages. +- Pass --enable-gtk-doc and add gtk-doc BuildRequires: the man + pages are only installed / built in this situation. + +------------------------------------------------------------------- +Mon Jul 23 06:46:27 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.33.6: + + GAsyncInitable: partially revert the init_finish changes, some + applications were found to rely on behaviour that was broken by + these changes + + Bugs fixed: bgo#679617, bgo#679968, bgo#680111 + + Updated translations. + +------------------------------------------------------------------- +Sun Jul 22 14:39:54 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.33.4: + + GMainContext: the source list has been reorganzied to avoid + O(n) behaviour + + GRegex: Update included PCRE to 8.31 and expose new + functionality in 8.x versions of PCRE + + GMountOperation gained a ::show-unmount-progress signal which + provides information about slow unmount operations. + + Bugs fixed: bgo#616892, bgo#619329, bgo#639771, bgo#661767, + bgo#667375, bgo#671545, bgo#674452, bgo#674898, bgo#675504, + bgo#677064, bgo#677578, bgo#677579, bgo#678066, bgo#678273, + bgo#678576, bgo#678758, bgo#678808, bgo#678881, bgo#678941, + bgo#678944, bgo#678949, bgo#678959, bgo#679193, bgo#679258, + bgo#679473, bgo#679691, bgo#679671, bgo#676111, bgo#679691, + bgo#679813. + + Updated translations. + +------------------------------------------------------------------- +Sat Jul 21 21:12:58 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.33.3: + + Thumbnails are now in XDG_CACHE_HOME + + new GDBus API: per-thread g_dbus_connection_get_last_serial() + + GUnixOutputStream now has a can_poll() implementation + + New deep copy APIs for G(S)List: g_(s)list_copy_deep + + Bugs fixed: bgo#518309, bgo#566994, bgo#672889, bgo#673253, + bgo#675024, bgo#675168, bgo#675966, bgo#676594, bgo#676825, + bgo#677235, bgo#677527, bgo#677718, bgo#677770, bgo#677782, + bgo#677817, bgo#677952, bgo#678052, bgo#678273, bgo#678333. + + Updated translations. + +------------------------------------------------------------------- +Sat Jul 21 19:53:51 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.33.2: + + GIO input and output stream classes have grown GBytes-based + methods + + GApplication now has hooks to register D-Bus objects before the + bus name is taken. + + Bugs fixed: bgo#605976, bgo#660851, bgo#666386, bgo#671139, + bgo#672329, bgo#672548, bgo#674111, bgo#674483, bgo#674634, + bgo#674777, bgo#675309, bgo#675446, bgo#675509, bgo#675832, + bgo#676208, bgo#676265, bgo#676277, bgo#676397, bgo#676398, + bgo#676478, bgo#676594, bgo#676816, bgo#676937. + + Updated translations. + +------------------------------------------------------------------- +Sat Jul 21 19:29:46 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.33.1: + + GApplication: add accessors for determining dbus connection and + object path + + add g_clear_pointer as a generic form of g_clear_object + + GDBus: + - add GTestDBus for bringing up a session bus for testing + purposes + - gdbus-codegen: Avoid warnings in generated code + - GDBusAuthObserver: Add a way to control what authentication + mechanisms to use + + GAppInfo: add accessor for StartupWMClass + + GResolver: add support for MX, TXT, NS and SOA records + + GIO: + - implement GSeekable for the data and buffered stream classes + - implement GPollable for many more classes as well + - fix GConverterInputStream infinite loop when fill_buffer + returns an error + - fileinfo: document the correct type for trash::orig-path + + test coverage improvements and general fixes + + new 2.34 stuff: version macros, docs index section, etc. + + Build: + - add --disable-modular-tests build option + - don't require host binaries if tests are not enabled for + cross-builds + + Updated translations. + +------------------------------------------------------------------- +Sat Jul 21 18:57:30 UTC 2012 - dimstar@opensuse.org + +- Add dbus-1-x11 Requires to libgio-2_0-0 (bnc#678518). + +------------------------------------------------------------------- +Sun Jul 15 06:00:44 UTC 2012 - zaitor@opensuse.org + +- Update to version 2.32.4: + + Bugs fixed: bgo#639771, bgo#660851, bgo#666386, bgo#671545, + bgo#672329, bgo#672548, bgo#672889, bgo#673253, bgo#674452, + bgo#674777, bgo#675309, bgo#675446, bgo#675832, bgo#676265, + bgo#676277, bgo#676397, bgo#676594, bgo#676816, bgo#677235, + bgo#677782, bgo#677817, bgo#677952, bgo#678052, bgo#678066, + bgo#678273, bgo#678333, bgo#678758, bgo#678881, bgo#678941, + bgo#678944, bgo#678949, bgo#678959, bgo#679258, bgo#679671, + bgo#679813. + +------------------------------------------------------------------- +Fri Jun 8 02:29:24 UTC 2012 - badshah400@gmail.com + +- Add glib2-suppress-schema-deprecated-path-warning.patch to + suppress warnings about deprecated paths in schemas (rh#814053). + +------------------------------------------------------------------- +Fri May 18 13:56:57 UTC 2012 - gber@opensuse.org + +- Rewrote SuSEconfig.glib2 to support different default MIME + associations for different desktops. It reads + /etc/{gnome,xfce,lxde}_defaults.desktop to produce + /var/cache/gio-2.0/{gnome,xfce,lxde}-defaults.list which can then + be symlinked for each desktop to a directory in $XDG_DATA_DIRS. + +------------------------------------------------------------------- +Tue May 15 09:52:49 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.32.3: + + Bug fixes: + - gio: fix error handling in async case of + GProxyAddressEnumerator + - GConverterInputStream: fix an infinite loop when fill_buffer + returns an error + - Correct a typo in the ELF configure check + - Reset LIBS after the ELF configure check + - Fix GIO/GObject Visual C++ projects + + Updated translations. + +------------------------------------------------------------------- +Tue May 1 17:06:49 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.32.2: + + GApplication: can now have a NULL application ID + + g_clear_object: fix warnings when using it on C++ (due to lack + of ability to implicitly cast void*) + + GDBus: + - add our own implementation of the message bus for use on + Windows only + - fix up a few bugs that use of this bus uncovered in GDBus + - escape nonce files in dbus addressess (think 'c:\') + - support initial underscores in dbus codegen namespace (for + private) + + GAppInfo: overwrite the DISPLAY only if it is set in the launch + context + + GSocketControlMessage: Don't warn about unknown messages + + Resources: + - fix broken use of GVDB on big endian machines + - set a 'display name' so that pretty file names appear in Gtk + CSS warning messages + + GMainContext: + - block child sources when blocking the parent + - introduce more testcases for child sources + + glib/tests/date: force US locale running the GDateTime tests + + Make sure configure fails if AC_CHECK_ALIGNOF cannot detect the + alignment + + Fix misdetection of GNUstep as Cocoa (for the MacOS GSettings + backend) + + Bugs fixed: bgo#619026, bgo#669260, bgo#671249, bgo#672786, + bgo#673409, bgo#674172, bgo#674345, bgo#674483 + + Updated translations. + +------------------------------------------------------------------- +Sat Apr 14 16:32:36 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.32.1: + + Bugs fixed: bgo#669285, bgo#670254, bgo#672541, bgo#673139, + bgo#673174, bgo#673191, bgo#673216, bgo#673439, bgo#673612, + bgo#673762, bgo#673803, bgo#673911. + + Updated translations. +- Replace libelf-devel BuildRequires with pkgconfig(libelf). This + change follows the change on how upstream detects libelf now. + +------------------------------------------------------------------- +Sun Mar 25 17:42:39 UTC 2012 - dimstar@opensuse.org + +- Update to version 2.32.0: + + Bugs fixed: bgo#671988, bgo#672095, bgo#672406. + + Updated translations. + +------------------------------------------------------------------- +Wed Mar 21 12:41:16 UTC 2012 - vuntz@opensuse.org + +- Fix glib2.csh: add missing breaksw statements in case. Fix + bnc#560929. + +------------------------------------------------------------------- +Tue Mar 20 15:25:20 UTC 2012 - vuntz@opensuse.org + +- Update to version 2.31.22: + + Bugs fixed: bgo#531901, bgo#653167, bgo#668973, bgo#669797, + bgo#670846, bgo#671664, bgo#671676, bgo#671918, bgo#671942, + bgo#671997, bgo#672013, bgo#672026, bgo#672095, bgo#672201, + bgo#672239, bgo#672249. + + Updated translations. +- Change zlib-devel BuildRequires to its pkgconfig() variant: + pkgconfig(zlib). + +------------------------------------------------------------------- +Mon Mar 5 15:34:35 UTC 2012 - vuntz@opensuse.org + +- Update to version 2.31.20: + + Update to Unicode 6.1 + + Update PCRE to 8.30 + + Deprecations are now versioned, and new API is marked with the + version it was introduced. Use these with + GLIB_VERSION_{MIN,MAX}_REQUIRED + + The performance of signal emissions has been improved for + simple cases + + Bugs fixed: bgo#529806, bgo#580873, bgo#592666, bgo#597785, + bgo#621368, bgo#622149, bgo#639873, bgo#640202, bgo#668295, + bgo#669670, bgo#670542, bgo#670557, bgo#670721, bgo#670751, + bgo#670909, bgo#670922, bgo#670969, bgo#671025, bgo#671270, + bgo#671281. + + Updated translations. + +------------------------------------------------------------------- +Tue Feb 21 07:28:14 UTC 2012 - vuntz@opensuse.org + +- Update to version 2.31.18: + + GDBusProxy has now a flag, + G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES, which can be set + to make GDBus automatically reload changed properties even if + the propertychanged signal does not contain the new values. + + GApplication puts non-unique applications on the bus + + GApplication now has g_application_quit() + + g_async_queue_timed_pop has been deprecated in favor of the new + g_async_queue_timeout_pop, which uses relative delays in + microseconds instead of a GTimeVal. + + Huge number of API documentation fixes + + Bugs fixed: bgo#647986, bgo#658484, bgo#664237, bgo#669329, + bgo#669330, bgo#669372, bgo#669412, bgo#669538, bgo#669544, + bgo#669595, bgo#669670, bgo#669671, bgo#669689, bgo#669810, + bgo#669865, bgo#670085, bgo#670138, bgo#670485. + + Updated translations. +- Remove xz BuildRequires now that it comes for free in the build + system. + +------------------------------------------------------------------- +Mon Feb 6 09:06:53 UTC 2012 - vuntz@opensuse.org + +- Update to version 2.31.16: + + GResource: + - The resource compiler can now convert pngs into pixel data + that can be used without parsing at runtime (requires + gdk-pixbuf-pixdata to be present) + + Bugs fixed: bgo#669123, bgo#669173, bgo#669224, bgo#669253, + bgo#669334. + + Updated translations. + +------------------------------------------------------------------- +Tue Jan 31 08:42:55 UTC 2012 - vuntz@opensuse.org + +- Update to version 2.31.14: + + GResource: + - GLib now includes a commandline utility, gresource, to + explore resources in ELF files + - The resource compiler can now optionally strip ignorable + whitespace from XML resources + - The resource compiler can now generate build dependencies + - The resource compiler will now autoselect output formats + + GApplication: + - The menu markup parser API has been dropped, the menu XML + support lives in GTK+ now + + GValueArray has been deprecated + + Bugs fixed: bgo#626258, bgo#634232, bgo#639099, bgo#667228, + bgo#667243, bgo#667929, bgo#668250, bgo#668468, bgo#668532, + bgo#668539, bgo#668561, bgo#668572, bgo#668650, bgo#668756, + bgo#668857, bgo#669024. + + Updated translations. +- Add libelf-devel BuildRequires: new dependency for gresource + utility. + +------------------------------------------------------------------- +Tue Jan 24 11:15:42 UTC 2012 - vuntz@opensuse.org + +- Move ChangeLog to devel subpackage, as it's really big and not + needed on a default install. + +------------------------------------------------------------------- +Fri Jan 20 21:09:24 UTC 2012 - vuntz@opensuse.org + +- Update to version 2.31.12: + + GApplication: + - Drop support for exporting menus: this functionality will be + provided in GtkApplication + - Add a way to create actions that change settings + + Bugs fixed: bgo#629503, bgo#656301, bgo#668071, bgo#668118, + bgo#668158, bgo#668163, bgo#668269, bgo#668279. + + Updated translations. + +------------------------------------------------------------------- +Mon Jan 16 21:19:15 UTC 2012 - vuntz@opensuse.org + +- Update to version 2.31.10: + + GResource: + - A new facility to allow linking data files into binaries and + make them available as resources + - Resources are compiled using glib-compile-resources + - GIO supports resource:/// uris to access resources + + Bugs fixed: bgo#619126, bgo#658315, bgo#660371, bgo#666700, + bgo#667375, bgo#667447, bgo#667790, bgo#667938. + + Updated translations. + +------------------------------------------------------------------- +Tue Jan 10 07:04:16 UTC 2012 - vuntz@opensuse.org + +- Update to version 2.31.8: + + GObject: + - The type checks for overriding properties have been loosened. + In particular, it is now possible to add the CONSTRUCT flag + to an overridden property. + - GWeakRef is a new API for weak references; unlike + g_object_weak_ref and g_object_add_weak_pointer, it is + thread-safe. + + GHashTable has grown new convenience api for use as a set: + g_hash_table_add, g_hash_table_contains + + GSocketConnection has gained API for managing connection status + + GSettings: a native OS X backend has been added, under the name + 'nexstep' + + Bugs fixed: bgo#455640, bgo#548954, bgo#625751, bgo#658871, + bgo#664069, bgo#664830, bgo#665211, bgo#665805, bgo#666116, + bgo#666422, bgo#666551, bgo#666595, bgo#666615, bgo#666616, + bgo#666803, bgo#666804, bgo#666951, bgo#666978, bgo#667098, + bgo#667225, bgo#667226, bgo#667279, bgo#667285, bgo#667331, + bgo#667420. + + Updated translations. + +------------------------------------------------------------------- +Thu Dec 22 10:31:32 UTC 2011 - vuntz@opensuse.org + +- Own %{_datadir}/aclocal to fix build without automake/autoconf. + +------------------------------------------------------------------- +Tue Dec 20 09:09:19 UTC 2011 - vuntz@opensuse.org + +- Update to version 2.31.6: + + GApplication no longer has APIs for setting menus. Those have + been moved to GtkApplication. + + The GActionGroup import/export functionality has been decoupled + from GApplication by the introduction of a new interface for + the purpose of handling platform data: GRemoteActionGroup. This + allows Gtk to properly deal with platform data (and gdk + threads) on window actions. + + Lots of documentation improvements. + + Bug fixes and a huge number of memory leak fixes. + + The test suite now passes on ARM and some of the GDBus testcase + hangs we've been seeing have been resolved (although others + could remain). + + g_bytes_get_data() API changed: now includes 'size' out + parameter + + New g_queue_free_full() API similar to g_[s]list_free_full(). + + Desktop files: use standard "Keywords" now, not + "X-GNOME-Keywords". + + gsettings commandline tool now has --schemadir option for + schemas not installed in the usual place (ie: as part of + plugins). + + Bugs fixed: bgo#643736, bgo#657433, bgo#664699, bgo#665737, + bgo#665879, bgo#666113, bgo#666115, bgo#666145, bgo#666173, + bgo#666296, bgo#666415. + + Updated translations. + +------------------------------------------------------------------- +Tue Dec 13 12:33:58 UTC 2011 - dimstar@opensuse.org + +- Update to version 2.31.4: + + Experimental: Menu support has been added to GApplication. + + GDBusConnection previously directly dispatched destroy notifies + when unregistering objects if the current main context was the + same context the object was exported on. It now unconditionally + dispatches these through an idle on the context. + + Clean up requires in .pc files. + + Introduce GBytes, a data type for immutable, fixed-size byte + sequences. This makes the pre-existing GBuffer API available + outside GLib + + GDBusInterfaceSkeleton can now be exported on multiple + connections. + + Bugs fixed: bgo#600161, bgo#640077, bgo#641720, bgo#648516, + bgo#651997, bgo#652560, bgo#662208, bgo#662718, bgo#663291, + bgo#664406, bgo#664455, bgo#664558, bgo#664559, bgo#664617, + bgo#664635, bgo#664809, bgo#665067, bgo#665184, bgo#665298, + bgo#665391, bgo#665607, bgo#665634, bgo#665685, bgo#665733. +- Add xz BuildRequires because we can't build a package for a + xz-compressed tarball without explicitly specifying that... See + bnc#697467 for more details. +- Update gtk-doc.m4 source from gtk-doc. + +------------------------------------------------------------------- +Wed Nov 30 09:50:42 UTC 2011 - coolo@suse.com + +- Add automake BuildRequires to avoid implicit dependency. + +------------------------------------------------------------------- +Tue Nov 22 08:28:17 UTC 2011 - dimstar@opensuse.org + +- Update to version 2.31.2: + + Monotonic time is now properly supported on Windows + + glib-mkenums: fix @ENUMPREFIX@ with /*< underscore_name=... >*/ + + EXPERIMENTAL: introduce new GSettingsSchema and + GSettingsSchemaSource APIs for the convenience of plugin system + authors and those who wish to introspect the contents of + schemas. + + Improve the performance of GObject property notifies. + + GDBus: + - fix a race when unowning a name immediately after owning it + - thread safety improvements on GDBusConnection + - fixes for exit-on-close functionality + + GIO: + - GInetAddressMask: new type for internet address range + matching + - various GIO file and stream fixes + - improvements to attribute and fileinfo handling + + Deprecations: + - add G_SIGNAL_DEPRECATED + - don't use G_DISABLE_DEPRECATED masking for functions anymore + + docs + - tmpl/ is finally dead for glib + +------------------------------------------------------------------- +Thu Oct 27 08:29:41 UTC 2011 - dimstar@opensuse.org + +- Update to version 2.31.0: + + Major changes to threading and synchronisation (see NEWS for + details). + + New support for attribute-based deprecations to issue compiler + warnings instead of breaking the build and/or giving warnings + about implicit declarations + + GApplication: + - add ::shutdown signal as logical dual to ::startup + - don't use a GMainLoop: iterate the GMainContext directly + + GDBus: + - many code generation updates and improvements + - some race condition fixes, including testcase hangs + + GVariant: + - new g_variant_new_from_fixed_array() API + - substantial docs improvements/clarifications + + Add new GValue API to specifically deal in signed chars. + + Some new API to mitigate the problems associated with calling + setenv() in a multi-threaded program. + + New macro G_ATOMIC_LOCK_FREE is defined if the atomic + operations are implemented without use of a mutex. + + New macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for returning + from GSourceFunc. + + GMappedFile can now be created from an fd. + + GKeyFile is now refcounted and boxed. + + SOCKS proxy and resolver improvements. + + Mount monitoring is now based on /proc/mounts instead of mtab. + + Use CLOCK_MONOTONIC unconditionally if the libc has support at + compile time (ie: stop checking for kernel support at runtime). + + Use xlocale functions where available. + + Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE). + + GCache has been deprecated. + + Move headers for some deprecated functionality to a separate + deprecated/ directory + + It is no longer possible to include individual headers. + + The misguided experiment of allowing the program to stumble + along with missing GSettings schemas is now over. + + Clarify that fork() is not valid while using GMainContext + + Error message strings grammar/i18n fixes. + + Several portability fixes for Windows, OpenBSD, Solaris. + + pkg-config files: + - drop -uninstalled variants + - remove gobject dependency on gthread + + Many docs updates. + + Bugs fixed: bgo#70598, bgo#320888, bgo#398418, bgo#527214, + bgo#580505, bgo#583511, bgo#590808, bgo#592715, bgo#631413, + bgo#632049, bgo#640212, bgo#640293, bgo#640975, bgo#643934, + bgo#651268, bgo#653987, bgo#654412, bgo#654563, bgo#655366, + bgo#656621, bgo#656679, bgo#657992, bgo#658188, bgo#658206, + bgo#658207, bgo#658558, bgo#658683, bgo#658692, bgo#658715, + bgo#658769, bgo#658806, bgo#658976, bgo#659070, bgo#659082, + bgo#659212, bgo#659324, bgo#659423, bgo#659427, bgo#659646, + bgo#659690, bgo#659699, bgo#659754, bgo#659838, bgo#659866, + bgo#659870, bgo#659889, bgo#659916, bgo#659920, bgo#659923, + bgo#660013, bgo#660096, bgo#660130. +- Rebase glib2-bgo569829-gettext-gkeyfile.patch. +- Rebase glib2-fate300461-gettext-gkeyfile-suse.patch. + +------------------------------------------------------------------- +Sat Oct 15 06:16:33 UTC 2011 - vuntz@opensuse.org + +- Update to version 2.30.1: + + Bugs fixed: bgo#632049, bgo#660147, bgo#660413, bgo#660498, + bgo#660637, bgo#660791, bgo#660886, bgo#661421. + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 26 22:13:42 UTC 2011 - vuntz@opensuse.org + +- Update to version 2.30.0: + + GDBus changes: + - Change property API to avoid namespace problems + - Use correct object path in export_uniquely() method of + GDBusObjectManagerServer + - Docs and tests improvements + - Better handling of Ugly_Case method names + - Build fixes for generated code + + Unix mounts: + - BSD compile fixes + - Ignore mounts with mountpoint "none" (as swap is on Debian) + + GMappedFile: + - Return an error when trying to mmap device files (like + /dev/stdin) + + gio-2.0.pc.in: drop stray reference to libasyncns + + Introspection annotation improvements, docs fixes + + Avoid double close() on the fd of a stream after splicing + + Desktop file handling: avoid mimeapps.list corruption issue + + Bugs fixed: bgo#654563, bgo#658188, bgo#658692, bgo#659324, + bgo#659528, bgo#659646, bgo#659690, bgo#659699, bgo#659794, + bgo#659838, bgo#659889, + + Updated translations. + +------------------------------------------------------------------- +Sun Sep 18 16:07:04 UTC 2011 - vuntz@opensuse.org + +- Update to version 2.29.92: + + GDBus bug fixes: + - fix segfault when remote property is invalidated (bgo#659070) + - take more care in connection teardown to avoid use-after-free + (bgo#651268) + + GMappedFile: return an error when trying to map a device + (bgo#659212) + + GSettings: always deliver signals to the correct thread + (bgo#657255) + + Some small documentation changes + + Updated translations. + +------------------------------------------------------------------- +Tue Sep 6 15:35:18 UTC 2011 - vuntz@opensuse.org + +- Update to version 2.29.90: + + API/ABI changes: + - Unix signal watches now match the API of all of the other + sources + - Revert the addition of g_date_time_source_new () from last + release + + Networking and other fixes for Solaris: + - We no longer support symbolic port names (ie: from + /etc/services) + - Check if -lsocket is needed + - Fix g_socket_details_from_fd() + - Avoid getmntinfo + - Fix some harmless warnings + + GDateTime improvements: + - Generally improved standards compliance (with C99) + - Support C99-specified format strings: %g, %G, %V, %c, %C, %w + - Consult the locale for the preferred 12-hour time format (%r) + - Drop support for non-standard %N and broken %W + - Better support for formatting non-POSIX (eg: Arabic) numerals + - Locale-related test case fixups, and fix some leaks + + GTlsInteraction: Add interaction method invocation guarantees + + gdbus-codegen: Post-process all interfaces when parsing >1 file + + Make GMainLoop, GMainContext and GSource boxed types + + Fix a race condition in the first use of g_get_monotonic_time() + + Lots of gtk-doc cleanups + + Better intltool compatibility when generating pot file + + Avoid GCC-specific compiler options when not using GCC + + Updated translations. + +------------------------------------------------------------------- +Wed Aug 31 09:52:47 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.29.18: + + GDateTime is now respecting LC_TIME when formatting + + GTimeZoneMonitor has been removed again + + A new API for wallclock functionality has been added: + g_date_time_source_new(). This API is still experimental + and may be changed or removed before 2.30. + + Bugs fixed: bgo#628904, bgo#650763, bgo#655129, bgo#656341, + bgo#656387, bgo#656443, bgo#656675, bgo#656772, bgo#656914, + bgo#657083, bgo#657084, bgo#657138, bgo#657206, bgo#657243, + bgo#657274, bgo#657336, bgo#657452, bgo#657454, bgo#657540, + bgo#657593, bgo#646082, bgo#657517. + + Updated translations. + +------------------------------------------------------------------- +Tue Aug 16 03:44:30 CEST 2011 - dimstar@opensuse.org + +- Update to version 2.29.16: + + GTlsDatabase: an abstract class that provides support or + certificate and key lookup. An implementation will be provided + in glib-networking + + GHmac: Support or HMAC digests + + Misc new API: + - g_ptr_array_add_full: creates a GPtrArray with a preallocated + size and a destroy function + - g_desktop_app_info_get_show_in: checks if a GDesktopAppInfo + should be shown in a given desktop environment + - g_mkdtemp, g_mkdtemp_full, g_dir_make_tmp: create temporary + directories + + Unify thread wakeup implementations of GMainContext and + GCancellable, and use eventfd for it when available + + Show mounts in $XDG_USER_DIR in addition to /media and $HOME + + Bugs fixed: bgo#636572, bgo#644601, bgo#652284, bgo#652827, + bgo#653063, bgo#654078, bgo#654450, bgo#654793, bgo#655044, + bgo#655148, bgo#655241, bgo#655598, bgo#655664, bgo#655769, + bgo#656031, bgo#656048, bgo#656151, bgo#656152, bgo#656162, + bgo#656282, bgo#656283, bgo#118563, bgo#636405, bgo#656039, + bgo#656492 + + Updated translations. + +------------------------------------------------------------------- +Tue Jul 26 15:18:31 CEST 2011 - vuntz@opensuse.org + +- Drop glib2-bnc379332-desktop-su.patch: now that bnc#540627 is + fixed, we do not care about X-KDE-SubstituteUID anymore, so we + don't need the patch anymore. + +------------------------------------------------------------------- +Fri Jul 22 14:08:21 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.29.14: + + Unicode improvements: + - add g_unicode_script_{to,from}_iso15924 + - add G_UNICODE_SPACING_MARK define + - more normalisation improvements + - stop using deprecated g_unicode_canonical_decomposition() + + GParamSpec: + - mark the 'name' field as 'const' and add a comment to the + header to help avoid future problems caused by bad hacks + + Merge some (modified) patches from Debian: + - add some blacklisted mount directories + - sleep longer in a test case, if needed to avoid failing + + Units policy change: + - prefer use of SI units + - deprecate g_format_size_for_display, add g_format_size(_full) + + GSettings: don't call g_error() when the schema is missing + + GVariant support for arrays of object paths: + - new g_variant_{new,get,dup}_objv API + - support for g_variant_{new,get} '^ao' and '^a&o' similar to + '^as' + + GDBus: + - use new improved array-of-objects support and pass 'ao' as + char** instead of GVariant* + - improve handling of 'h' type (Unix file descriptor index) + + GIO: + - fix compilation without USE_STATFS and USE_STATVFS + + Documentation fixes. + + Bugs fixed: bgo#622921, bgo#648271, bgo#654948, bgo#654988, + bgo#655025, bgo#655076. + + Updated translations. +- Drop glib2-no-deprecated-call.patch: fixed upstream. +- Drop glib2-use-old-pcre.patch: we don't support building this + version of glib2 on 11.4 and earlier as it requires changes in + gtk+ and possibly other packages. So there's no need to keep this + patch for old versions of openSUSE. This means we can also drop + the call to autoreconf. + +------------------------------------------------------------------- +Wed Jul 20 08:54:59 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.29.12: + + Add new API to do Unicode (de-)composition in atomic steps, for + use in Harfbuzz. + + Bugs fixed: bgo#615895, bgo#617949, bgo#620423, bgo#627974, + bgo#644687, bgo#649246, bgo#653841, bgo#653935, bgo#654017, + bgo#654085, bgo#654195, bgo#654232, bgo#654394, bgo#654536, + bgo#654627, bgo#654651, bgo#654917. + + Updated translations. +- Add glib2-no-deprecated-call.patch to fix build by not using + newly deprecated API. + +------------------------------------------------------------------- +Mon Jul 11 13:15:42 CEST 2011 - vuntz@opensuse.org + +- Change python BuildRequires to python-base, as we really just + need the minimal python for the build. + +------------------------------------------------------------------- +Wed Jul 6 22:09:00 CEST 2011 - vuntz@opensuse.org + +- Rename glib2-branding-upstream subpackage to + gio-branding-upstream: + + we do this since the data we add here is related only to gio, + not to the whole glib. + + add appropriate Provides/Obsoletes for glib2-branding-upstream + to gio-branding-upstream for smooth upgrades. + + change the branding-related Provides/Conflicts/Supplements to + be about gio. + + add libgio-2_0-0 Requires to branding subpackage, since the + branding package is useless without the library. + + remove glib2-branding Requires from libglib-2_0-0. + + add gio-branding Requires to libgio-2_0-0. + + make branding subpackage noarch. + + update summary and description of the branding subpackage. +- Add a README.Gsettings-overrides file, packaged in + gio-branding-upstream to explain how to use overrides for + GSettings. This might help people creating other branding + packages. +- Add gio Provides to libgio-2_0-0, to make branding packaging + easier. + +------------------------------------------------------------------- +Wed Jul 6 00:31:06 CEST 2011 - vuntz@opensuse.org + +- Update to version 2.29.10: + + New features: + - g_desktop_app_info_get_nodisplay: a function that is required + to port gnome-menus to GDesktopAppInfo + - g_hash_table_iter_replace: new function to replace a value + while iterating over a hash table + - g_utf8_substring: convenience API to extract substrings from + UTF-8 strings + - g_action_group_add_entries: convenience API for creating lots + of actions quickly + - Use eventfd instead of pipes for waking up main contexts and + for cancellation when available + - GMatchInfo is now a refcounted boxed type + + API changes in GAction: + - the 'set_state' entry in the GActionInterface vtable has been + renamed to 'change_state + - g_action_set_state has been renamed to g_action_change_state + - the 'state' property has been changed to read-only + - GSimpleAction can no longer be subclassed + + Bug fixes: bgo#647796, bgo#652072, bgo#652168, bgo#652750, + bgo#652758, bgo#652822, bgo#652897, bgo#653140, bgo#653429, + bgo#653484. + + Updated translations. + +------------------------------------------------------------------- +Thu Jun 16 12:27:47 UTC 2011 - dimstar@opensuse.org + +- No longer pass --with-runtime-libdir= to configure. This moves + the library back to /usr/lib(64)?, from /lib(64)?. There is + agreement that we do not want to keep moving all libraries in + /lib(64)?, and since libffi was not moved, there's no point in + pretending the glib libraries should move too. See bnc#696004 for + more details. + +------------------------------------------------------------------- +Tue Jun 14 22:24:44 CEST 2011 - dimstar@opensuse.org + +- Update to version 2.29.8: + + Fix a deadlock in gobject finalization + + Bugs fixed: bgo#646608, bgo#646635, bgo#647930, bgo#651745, + bgo#651920, bgo#651959, bgo#651998, bgo#652000, bgo#652002, + bgo#652025, bgo#652081, bgo#652197. + + Updated translations. + +------------------------------------------------------------------- +Wed Jun 8 14:43:20 CEST 2011 - dimstar@opensuse.org + +- Update to version 2.29.6: + + Atomic operations have been rewritten from scratch to make use + of gcc builtins where possible. + + A full set of atomic operations on pointers has been added, + including bit locks in pointer-size locations. + + Access to quarks is now lockless + + GObject data scalability has been greatly improved + + g_data_time_format now supports alternative digits and padding + + Introspection improvements: + - Add a boxed type for GVariantBuilder + - Annotation fixes in GDBus, GVariant, g_base64_ + + Bugs fixed: bgo#502560, bgo#612729, bgo#617491, bgo#619418, + bgo#619435, bgo#626549, bgo#631231, bgo#632294, bgo#640518, + bgo#642026, bgo#646635, bgo#648678, bgo#649480, bgo#649506, + bgo#649657, bgo#649775, bgo#649915, bgo#649973, bgo#649988, + bgo#650078, bgo#650211, bgo#650236, bgo#650345, bgo#650458, + bgo#650459, bgo#650688, bgo#650823, bgo#650874, bgo#650882, + bgo#650884, bgo#650885, bgo#650935, bgo#651009, bgo#651034, + bgo#651133, bgo#651141, bgo#651219, bgo#651223, bgo#651327, + bgo#651467, bgo#651650, bgo#651725, bgo#651745. + + Updated translations. +- Add python-xml Requires in devel subpackage as it is needed by + gdbus-codegen, and also add python-xml BuildRequires since + gdbus-codegen is run during the build. + +------------------------------------------------------------------- +Tue Jun 8 10:18:54 CEST 2011 - dimstar@opensuse.org + +- Update to version 2.29.4: + + GDBus: + - Includes several new types to support modeling D-Bus + objects and interfaces more fully, and also introduces + an 'object manager' pattern + - The new gdbus-codegen utility uses these new classes + to generate C code and documentation from D-Bus interface + descriptions in XML + + GTest: + - There is now a g_test_fail() function to mark tests as failed + + GDesktopAppInfo + - Now has a binding-friendly filename property + - Other new API to more fully expose desktop file contents: + . g_desktop_app_info_get_categories(), + . g_desktop_app_info_get_generic_name() + + GHashTable: + - Several optimizations to reduce space consumption of + large hash tables, in particular tables that are used + to store sets. + + Unix-specific APIs: + - GLib now installs a separate header, glib-unix.h, that is + meant to collect Unix-specific APIs + + Bugs fixed: bgo#631379, bgo#632631, bgo#635694, bgo#637561, + bgo#642935, bgo#643134, bgo#644941, bgo#646013, bgo#646309, + bgo#646435, bgo#646957, bgo#647594, bgo#647602, bgo#647746, + bgo#647826, bgo#647903, bgo#648416, bgo#648423, bgo#648425, + bgo#648966. +- Changes from version 2.29.2: + + GApplication + - The documentation has been enhanced and clarified + - An opt-out for uniqueness has been added: + . G_APPLICATION_NON_UNIQUE + - GApplication now syncs settings before g_application_run() + returns + + GDBus + - Interface lookups are now happening in constant time + - Signature checking and handling of various unexpected + situations has been improved + + GVariant + - The format accepted by the GVariant parser has beend + documented + - GVariant accepts G_VARIANT_TYPE_VARDICT for a{sv} + + GDateTime: + - The return value of g_datetime_compare() has been fixed to + match strcmp() semantics + - In order to handle problems with changing timezones, a + GTimeZoneMonitor has been added to GIO, and + g_time_zone_refresh_local() can be called to update the + cached information about the local timezone + + GOption now uses /proc/self/cmdline to set the program name + instead and only falls back to "" if that is + unavailable + + GSettings: + - The schema compiler now warns about references to + non-existing schemas + + Bugs fixed: bgo#613269, bgo#624943, bgo#637738, bgo#638185, + bgo#639478, bgo#641755, bgo#641768, bgo#642797, bgo#642825, + bgo#642944, bgo#643074, bgo#643197, bgo#643468, bgo#643478, + bgo#643624, bgo#643649, bgo#643780, bgo#643795, bgo#644309, + bgo#644428, bgo#644465, bgo#644552, bgo#644607, bgo#645789, + bgo#646039, bgo#646310, bgo#646420, bgo#646843, bgo#646985, + bgo#647579, bgo#647600 + + Updated translations. +- Add python and pkgconfig(libffi) BuildRequires. + +------------------------------------------------------------------- +Tue Jun 7 13:03:52 UTC 2011 - fcrozat@novell.com + +- Update to version 2.28.8: + + Bugs fixed: bgo#502560, bgo#612729, bgo#619418, bgo#619435, + bgo#631231, bgo#638449, bgo#640518, bgo#642026, bgo#644905, + bgo#646635, bgo#650882, bgo#651009, bgo#651034, bgo#651219, + bgo#651327. + + Updated translations. + +------------------------------------------------------------------- +Tue May 31 13:59:01 UTC 2011 - fcrozat@suse.com + +- Update to version 2.28.7: + + Bug fixes: bgo#635694, bgo#637561, bgo#642935, bgo#643134, + bgo#646326, bgo#646435, bgo#647594, bgo#647602, bgo#648416, + bgo#648966, bgo#649915, bgo#650078, bgo#650211, bgo#650236. + + Updated translations. + +------------------------------------------------------------------- +Tue Apr 19 08:43:37 UTC 2011 - fcrozat@novell.com + +- Update to version 2.28.6: + + Fix a possible crash when using g_settings_delay(). + + Various documentation clarifications. + + Updated translation. + +------------------------------------------------------------------- +Mon Apr 4 09:15:23 UTC 2011 - fcrozat@novell.com + +- Update to version 2.28.5: + + Fix some introspection annotations + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 21 17:46:26 UTC 2011 - fcrozat@novell.com + +- Update to version 2.28.4: + + Improve documentation of GSettings vendor override files + + Updated translations. +- Changes from version 2.28.3: + + Fix build with linux < 2.6.19 + + Bugs fixed: + - bgo#644465: undefined reference to `_usleep' + - bgo#644552: g_timeout_add_seconds(1, ...) may have a latency. + - bgo#644607: Correct internal definition of C_() + + Updated translations. +- Changes from version 2.28.2: + + Improved documentation: + - GApplication details are explained a lot more thoroughly + + GVariant now supports NULL for empty arrays in varargs + + Bugs fixed: bgo#613269, bgo#624943, bgo#637738, bgo#638185, + bgo#642797, bgo#642825, bgo#642944, bgo#643197, bgo#643468, + bgo#643478, bgo#643649, bgo#643780, bgo#643795. + + Updated translations. +- Drop glib2-fix-default-mime-handler.patch: fixed upstream. + +------------------------------------------------------------------- +Mon Feb 21 12:59:57 UTC 2011 - fcrozat@novell.com + +- Update to version 2.28.1: + + Format accepted by the GVariant parser has beend documented + + The return value of g_datetime_compare() has been fixed to + match strcmp() semantics + + Commandline utilities are now fully translated + + Bugs fixed: bgo#635099, bgo#640489, bgo#642042, bgo#642052, + bgo#642490 + + Updated translations. + +------------------------------------------------------------------- +Sun Feb 20 10:38:00 CET 2011 - vuntz@opensuse.org + +- Add glib2-fix-default-mime-handler.patch: this fixes an issue + where a user has configured a handler for a relatively generic + mime type, that breaks the default mime handler for subtypes. For + example, if gvim is explicitly configured to open text/plain, + then LibreOffice documents will also open in gvim. + +------------------------------------------------------------------- +Sun Feb 13 14:11:08 CET 2011 - vuntz@opensuse.org + +- Pass %{?no_lang_C} to %find_lang so that english documentation + can be packaged with the program, and not in the lang subpackage. + +------------------------------------------------------------------- +Tue Feb 8 20:30:41 UTC 2011 - fcrozat@novell.com + +- Update to version 2.28.0: + + Bugs fixed: bgo#641363, bgo#641395, bgo#641411, bgo#641477, + bgo#641572, bgo#641688 + + Updated translations. +- Update glib2-use-old-pcre.patch to change configure script too. + Add call to autoreconf for the patch. + +------------------------------------------------------------------- +Thu Jan 27 10:11:56 CET 2011 - vuntz@opensuse.org + +- Update to version 2.27.92: + + Update to Unicode 6.0 + + Update PCRE to 8.12 + + Bugs fixed: bgo#637696, bgo#638872, bgo#640042. + + Updated translations. +- Add glib2-use-old-pcre.patch: we don't have a recent-enough + version of pcre, so revert the patch doing the update. We apply + the patch on 11.4 and earlier: when the next development cycle + opens, we won't need it anymore. + +------------------------------------------------------------------- +Mon Jan 24 17:06:56 CET 2011 - hpj@novell.com + +- Add glib2-force-fam-for-remote-fs.patch: try monitoring files on + NFS mounts via FAM before falling back to inotify (bgo#592211). + The patch has been submitted upstream and is not yet in git, but + we do want it since it fixes a really annoying issue for NFS + users. + +------------------------------------------------------------------- +Fri Jan 14 10:36:01 CET 2011 - vuntz@opensuse.org + +- Update to version 2.27.91: + + Bugs fixed: bgo#638838, bgo#638894, bgo#639064, bgo#639084, + bgo#639177. + + Updated translations. +- Drop glib2-fix-panel-crash.patch: fixed upstream. + +------------------------------------------------------------------- +Sat Jan 8 09:53:23 CET 2011 - vuntz@opensuse.org + +- Add glib2-fix-panel-crash.patch, taken from git: this fixes a + crash in gnome-panel. + +------------------------------------------------------------------- +Fri Jan 7 17:29:01 CET 2011 - vuntz@opensuse.org + +- Update to version 2.27.90: + + Test reports created by gtester-report can now include revision + information. + + The g_desktop_app_info_launch_* family of functions now emit a + DBus signal when an application is launched. Additionally, + there is a new variant + g_desktop_app_info_launch_uris_as_manager(), which gives more + control over the launched process. + + The memory and null GSettings backends are now available as + public API. + + g_get_locale_variants() is a new function that returns a list + of variants of a locale identifier. + + Bugs fixed: bgo#587898, bgo#606960, bgo#631980, bgo#634569, + bgo#635998, bgo#636806, bgo#637262, bgo#637544, bgo#637720, + bgo#637738, bgo#637759, bgo#637852, bgo#637858, bgo#638349. + + Updated translations. + +------------------------------------------------------------------- +Tue Dec 21 13:31:38 CET 2010 - vuntz@opensuse.org + +- Update to version 2.27.5: + + Network support: + - Add g_tls_certificate_verify() to verify a certificate + - Add GTlsConnection:use-system-certdb + - Other TLS api additions + + GIO: + - Add g_io_stream_splice_async()/_finish() to splice two + iostreams + - Add g_emblemed_icon_clear_emblems() and make GEmblemedIcon + derivable + - Remove GPeriodic; it did not receive the necessary review and + integration work to declare it stable + + GSequence: + - New methods g_sequence_lookup() and g_sequence_lookup_iter() + + Bugs fixed: bgo#617254, bgo#632544, bgo#633350, bgo#634583, + bgo#635007, bgo#635626, bgo#636100, bgo#636305, bgo#636311, + bgo#636351, bgo#636387, bgo#636673, bgo#637147, bgo#637171, + bgo#637237. + + Updated translations. + +------------------------------------------------------------------- +Fri Dec 10 12:53:06 UTC 2010 - fcrozat@novell.com + +- Add support for source service checkout, with %BUILD_FROM_VCS: + + Add git-core and gtk-doc BuildRequires. + + Add call to ./autogen.sh. + + Enforce gtk-doc html generation by passing --enable-gtk-doc to + configure. + + Build ChangeLog since we ship it. + +------------------------------------------------------------------- +Mon Dec 6 21:03:22 UTC 2010 - awafaa@opensuse.org + +- Update to version 2.27.4: + + GIO + - Mounts are treated as hidden if they have a path element + that starts with a dot + - GAppInfo gained API to differentiate between recommended + and fallback mime handlers + - g_cancellable_create_source: creates a GSource that triggers + when the GCancellable is canceled + - GPollableInput/OutputStream: Interfaces for pollable streams + - TLS support has landed, with an extension point that is + implemented in glib-networking + + GLib + - Mainloop sources can now have 'child sources' + - g_get_runtime_dir: New function to return the XDG_RUNTIME_DIR + + Bugs fixed: bgo#530786, bgo#588189, bgo#630357, bgo#630559, + bgo#632445, bgo#634239, bgo#634241, bgo#634504, bgo#634613, + bgo#635640, bgo#635768, bgo#635882, bgo#635187 + + Updated translations. +- Drop glib2-add-back-extension-point.patch: fixed upstream. + +------------------------------------------------------------------- +Wed Nov 24 18:50:14 CET 2010 - vuntz@opensuse.org + +- Add glib2-add-back-extension-point.patch: this adds back the + gio-desktop-app-info-lookup extension point. This fixes big + issues when a GIO module using it is installed. Fix bnc#655561. + +------------------------------------------------------------------- +Wed Nov 17 14:25:40 CET 2010 - vuntz@opensuse.org + +- Update to version 2.27.3: + - The GTimeSpec type that was introduced in the 2.27.2 has been + dropped again in favour of APIs that return microseconds as + 64-bit integer. + + GTimer is now using monotonic time unconditionally + + There are some new functions to facilitate error reporting + in async GIO APIs: g_simple_async_result_take_error, + g_simple_async_result_new_take_error, + g_simple_async_report_take_gerror_in_idle + + There is new convenience API to us GVariant dictionaries: + g_variant_lookup + + It is now possible to delay sending match rules to the D-Bus + daemon in GDBus: G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE + + Support has been added for XDG_RUNTIME_DIR: + g_get_user_runtime_dir + + Various fixes for Win64/MSVC builds have been committed + + Bugs fixed: bgo#620263, bgo#633075, bgo#633381, bgo#633685, + bgo#633686. + + Updated translations. +- Changes from version 2.27.2: + + GApplication: + - Export actions over DBus and support activating them from + remote instances + - Support environment passing + + GSettings: + - The gsettings utility has a list-recursively command + - The gsettings utility has commandline completion for enum + values + + GLib is now linked against librt and uses monotonic time for + timeouts and GPeriod sources. GSource has a new + g_source_get_time() which returns monotonic time, and + g_source_get_current_time() has been deprecated + + Bugs fixed: bgo#158725, bgo#626320, bgo#629247, bgo#629274, + bgo#631264, bgo#631482, bgo#632169, bgo#632571, bgo#633115, + bgo#633206, bgo#633339, bgo#633356. + + Updated translations. + +------------------------------------------------------------------- +Mon Nov 1 11:44:58 EDT 2010 - vuntz@opensuse.org + +- Update to version 2.27.1: + + GDateTime now has full week number support. + New API: g_date_time_get_week_numbering_year + + The GSettings schema compiler will now skip over broken .xml + schema files instead of aborting altogether. + + GSettings now works properly on bigendian systems. + + GSettings has more complete support for ranges. + New API: g_settings_get_range and g_settings_range_check + The gsettings commandline tool supports ranges too. + + GApplication has been rewritten; see the API docs for details + and examples. The action support is not complete yet. + + The GLib mainloop has gained 'dispatch to context' + functionality, which can replace manually created idles in many + cases. + New API: g_main_context_invoke and g_main_context_invoke_full + + The gio-desktop-app-info-lookup extension point has been + removed from GIO. GIO now uses x-scheme-handler mimetypes when + looking for default applications. + + On win32, make g_get_user_data_dir() return the + CSIDL_LOCAL_APPDATA folder on Windows, and not CSIDL_PERSONAL. + This matches what Qt does, and has been widely requested. Also + make g_get_user_config_dir() return this and not the (roaming) + CSIDL_APPDATA folder. + + A periodic event clock has been added in GIO: GPeriodic. Note + that this API is still experimental and expected to undergo + changes before it will be incorporated into a stable GLib + release. Use at your own risk. + + Bug fixes: bgo#613822, bgo#618737, bgo#620710, bgo#623400, + bgo#627126, bgo#627171, bgo#628876, bgo#628937, bgo#629274, + bgo#629289, bgo#629687, bgo#629849, bgo#629945, bgo#630000, + bgo#630077, bgo#630185, bgo#630797, bgo#630968, bgo#631263, + bgo#631264, bgo#631379, bgo#631410, bgo#632884. + + Updated translations. +- Drop glib2-fix-regex-build.patch: fixed upstream. + +------------------------------------------------------------------- +Mon Nov 1 11:05:30 EDT 2010 - vuntz@opensuse.org + +- Add a with_systemtap define to easily switch between building + with and without systemtap support, and set it to 0 for now: it + creates a build loop. + +------------------------------------------------------------------- +Wed Oct 13 11:11:20 CEST 2010 - vuntz@opensuse.org + +- Pass --with-runtime-libdir=../../%{_lib} to configure to install + libraries (just the .so.*, not the .so) in /lib(64)? instead of + /usr/lib(64)?. + + This makes sense since most and most tools used during early + boot stage need glib libraries, and the libraries only link + against other libraries in /lib(64)? already. + + It's worth mentioning that gio modules and all the GSettings + API do require /usr, though: gio modules are installed in + /usr/lib(64)?/gio and GSettings need + /usr/share/glib-2.0/schemas. This shouldn't be an issue during + early boot, since those API don't really make sense there. +- Create a devel-static subpackage, to put the static libraries. It + depends on the devel subpackage. +- Remove glib2-64bit Obsoletes from libgmodule-2_0-0, libgio-2_0-0, + libgthread-2_0-0, libgobject-2_0-0: it's already done by + libglib-2_0-0, and all those libraries depend on libglib-2_0-0. +- Update summaries and descriptions. +- Change the license tag of all packages to LGPLv2+, instead of a + mix of LGPLv2.1+ and GPLv2+ which are both wrong. +- Change groups of most subpackages to System/Libraries, instead of + Development/Libraries/C and C++. +- Use find to remove .la files instead of manual rm. +- Put comments that are in the scriptlets area of the spec file in + "%if 0" statement: if we don't do that, they actually end up in + the scriplets and can even make them fail if the scriptlets were + just "-p /sbin/ldconfig". + +------------------------------------------------------------------- +Tue Oct 12 00:14:59 CEST 2010 - vuntz@opensuse.org + +- Add missing Requires for glib2-tools to libgio-fam in + baselibs.conf. +- Update baselibs.conf to remove assumption in the scriptlets of + the generated packages that they are 32bit packages. +- Use in baselibs.conf since we use full paths there, and + this is needed for x86 packages that put files in + /emul/ia32-linux. + +------------------------------------------------------------------- +Tue Oct 5 11:40:10 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.27.0 (compared to 2.25.15): + + Build: + - massive restructuring to reduce #include abuse + - tweaks to silence some harmless compiler warnings + - rename gschema-compile.c to glib-compile-schemas.c + - Windows fixes + - fix building with zlib < 1.2.4 on win32 + + GDateTime: + - better msgctxt for translating month and weekday names + - API is changed quite a lot, implementation is improved + - GTimeZone is now exposed + + GObject: + - make ordering for overridden interface properties consistent + - ->priv structures are limited to 64k but this was not + documented, and exceeding this limit produced bad results. + Add docs and enforce the limit properly. + - add g_object_class_install_properties() to install multiple + properties in one go + - improve debugging output for GValue containing G_TYPE_STRV + + GIO: + - fix priority sorting of GIO extensions + - add GCredentials support on FreeBSD + - fix support for IPv6 addresses in URI parsing functions + - GSocketClient fixes for when g_socket_connect succeeds + immediately + - clarify string encoding for GFile constructors in docs + - new functions g_data_input_stream_read_upto{,async,finish} + - tweak confusing documentation for g_output_stream_write() + + GDBus: + - GDBusMessage can now be locked and copied (like in libdbus) + - GDBusConnection filter function API has changed again + - GDBusServer: ::new-connection now declares if the connection + was claimed + - add a partial workaround for bgo#627724. + - very many memory leaks fixed + + GVariant: + - check for size == 0 in g_variant_get_bytestring to avoid a + crash when attempting to get_bytestring() from an empty array + - improve gobject-introspection annotations + + GSettings: + - add GSettings Windows registry backend + - some internal tweaks to the backend API + - remove g_settings_list_items + - add g_settings_list_children and _list_keys to replace it + - add schema compiler restrictions for dealing with lists + - don't automatically emit value changed signals on writability + changes + + Other: + - constify the 'parser' vtable param to + g_markup_parse_context_push() + - plug many memory leaks in test cases + + Bugs closed: bgo#50076, bgo#584284, bgo#624546, bgo#626919, + bgo#628029, bgo#628253, bgo#628331, bgo#628345, bgo#628436, + bgo#628505, bgo#628839, bgo#628904, bgo#628952, bgo#629192, + bgo#629251, bgo#629259, bgo#629328, bgo#629429, bgo#629689, + bgo#629698. + + Updated translations. +- Add glib2-fix-regex-build.patch to fix build. + +------------------------------------------------------------------- +Thu Sep 30 16:50:03 UTC 2010 - dimstar@opensuse.org + +- Add python BuildRequires to work around an error in + systemtap-sdt-devel packages on openSUSE < Factory/11.4. + +------------------------------------------------------------------- +Mon Sep 27 19:42:31 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.26.0: + + GSettings: + - allow override files to have entries for non-existent schemas + - schema compiler no longer aborts due to an error in a single + .xml file + + GDBus: + - fix some race conditions in the connection test cases + + GDateTime: + - hide some implementation details (time zones) + - fix parameter naming in header file to match .c file + - add G_GNUC_WARN_UNUSED_RESULT for modifier functions + - add full ISO 8601 week date support and improve docs + + Other: + - g_quark_try_string(NULL) now returns 0 without error + - clean up confusing code in GSocketControlMessage + - fix SOCKS5 memory leak + - improve some docs + + Bugs closed: bgo#628937, bgo#629687, bgo#630000, bgo#630077, + bgo#630185, + + Updated translations. +- Remove python BuildRequires, that was there only because of a bug + in systemtap-sdt-devel dependencies. + +------------------------------------------------------------------- +Sun Sep 19 13:26:49 UTC 2010 - jengelh@medozas.de + +- Add shared-mime-info Requires to libgio-2_0-0. Fix bnc#555605. + +------------------------------------------------------------------- +Sun Sep 19 09:24:16 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.25.17: + + Fix build when compiling against the system-installed pcre + library (bgo#629971). +- Drop glib2-fix-build-system-pcre.patch: fixed upstream. + +------------------------------------------------------------------- +Sat Sep 18 10:33:58 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.25.16: + + GApplication: + - GApplication, GAction and related classes have been removed + from this release of glib. There will -not- be a replacement + for 2.26.0. + + Build: + - massive restructuring to reduce #include abuse + - tweaks to silence some harmless compiler warnings + - rename gschema-compile.c to glib-compile-schemas.c + - Windows fixes + - fix building with zlib < 1.2.4 on win32 + + GDateTime: + - better msgctxt for translating month and weekday names + - API is changed quite a lot, implementation is improved + - GTimeZone is now exposed + + GObject: + - make ordering for overridden interface properties consistent + - ->priv structures are limited to 64k but this was not + documented, and exceeding this limit produced bad results. + Add docs and enforce the limit properly. + - add g_object_class_install_properties() to install multiple + properties in one go + - improve debugging output for GValue containing G_TYPE_STRV + + GIO: + - fix priority sorting of GIO extensions + - add GCredentials support on FreeBSD + - fix support for IPv6 addresses in URI parsing functions + - GSocketClient fixes for when g_socket_connect succeeds + immediately + - clarify string encoding for GFile constructors in docs + - new functions g_data_input_stream_read_upto{,async,finish} + - tweak confusing documentation for g_output_stream_write() + + GDBus: + - GDBusMessage can now be locked and copied (like in libdbus) + - GDBusConnection filter function API has changed again + - GDBusServer: ::new-connection now declares if the connection + was claimed + - add a partial workaround for GObject bgo#627724. + - very many memory leaks fixed + + GVariant: + - check for size == 0 in g_variant_get_bytestring to avoid a + crash when attempting to get_bytestring() from an empty array + - improve gobject-introspection annotations + + GSettings: + - add GSettings Windows registry backend + - some internal tweaks to the backend API + - remove g_settings_list_items + - add g_settings_list_children and _list_keys to replace it + - add schema compiler restrictions for dealing with lists + - don't automatically emit value changed signals on writability + changes + + Other: + - constify the 'parser' vtable param to + g_markup_parse_context_push() + - plug many memory leaks in test cases + + Bugs closed: bgo#50076, bgo#584284, bgo#624546, bgo#626919, + bgo#628029, bgo#628253, bgo#628331, bgo#628345, bgo#628436, + bgo#628505, bgo#628839, bgo#628904, bgo#628952, bgo#629192, + bgo#629251, bgo#629259, bgo#629328, bgo#629429, bgo#629689, + bgo#629698 + + Updated translations. +- Add glib2-fix-build-system-pcre.patch to fix build with the + system pcre. + +------------------------------------------------------------------- +Fri Sep 3 15:38:17 CEST 2010 - vuntz@opensuse.org + +- Fix typo in %glib2_gio_module_post from macros.glib2, that was + causing an error in %post of packages using it. + +------------------------------------------------------------------- +Tue Aug 31 09:01:56 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.25.15: + + GIO: + - Memory leak fixes + - The GZip(De}Compressor can now process header information + - Support for network proxies has been added, with the GProxy + interface and the gio-proxy-resolver extension point. GIO + includes SOCKSv4 and SOCKSv5 implementations, and libproxy + is also going to provide an implementation of this extension + point. + - There are GAction and GActionGroup interfaces now, which will + be used in GApplication in the near future. + + GObject: + - There are now convenience macros for defining boxed and + pointer types + + GDBus: + - Memory leak fixes + - GDBusProxy for well-known names can now auto-restart + the service if the name owner disappears + - Filter functions are now allowed to modify messages + + GLib: + - GDateTime is a replacement for GDate that supports time + and timezone information. + + Bugs fixed: + - bgo#50076: Time API to go with date API + - bgo#449565: Add G_DEFINE_BOXED_TYPE() + - bgo#617691: Add GZIP header processing to + GZlibCompressor/GZlibDecompressor + - bgo#622184: add g_memory_output_stream_steal_data + - bgo#624546: Modification of GDBusMessage in filter function + - bgo#627088: Build failure in gdbus-peer.c on FreeBSD + - bgo#627181: save a memdup + - bgo#627182: Plug a mem leak in the gdbus-connection test + - bgo#627187: Plug some gdbus mem leaks + - bgo#627188: gdbus-non-socket test occasionally fails + - bgo#627252: G_OPTION_FLAG_NO_ARG is only for callback options + - bgo#627392: gdbus commit 8a3a4596 breaks win32 compile + - bgo#627407: FTBFS on !linux UNIX platforms + - bgo#627604: String error: 'that' twice in a row + - bgo#627969: ABR in g_file_open_tmp + - bgo#628084: gdbus-peer fails with assertion + - bgo#628193: Miscellaneous string fixes + - bgo#628296: abort() in gsocketconnection.c + - bgo#628309: Plug a mem leak in GConverterOutputStream + - bgo#628317: GEmblemedIcon:equal implementation is buggy + - bgo#628323: Fix invalid reads + - bgo#628327: Plug a mem leak + - bgo#628328: Plug a mem leak + - bgo#628329: Don't leak the FD list + - bgo#628324: Invalid reads in gdbus-export test + + Updated translations. + +------------------------------------------------------------------- +Tue Aug 17 11:01:27 CEST 2010 - dimstar@opensuse.org + +- Update to version 2.25.14: + + GDBus: + - Make the closure variants of GDBus apis work + - Make error unregistration work + - bgo#626748: Use async IO in the IO thread + + GIO: + - bgo#626208: Make g_simple_async_result_is_valid work without + source + - GSocketClient: add a timeout property + - Fix memory leaks in GSocketClient + - bgo#616458: Handle async vs. sync correctly in + GSocketConnection stream + - Declare stream base classes as abstract + - bgo#627071: Clarify semantics of g_output_stream_write() + + Other: + - Improve test coverage for GDBus, GRegex, GAsyncResult + - Drop dead code in pcre, xdgmime + - bgo#578295: Fix a race condition in gtester + - bgo#626704: Avoid an extra allocation in GAsyncQueue + - bgo#626841: Add test case for non-socket GIOStream + - bgo#622770: More explicit GVariant docs + - bgo#602417: Imroved docs for GAsyncInitable and + GSimpleAsyncResult + +------------------------------------------------------------------- +Sun Aug 8 04:59:27 CEST 2010 - vuntz@opensuse.org + +- Make %glib2_gio_module_post and %glib2_gio_module_postun + functions that can take an optional argument, to specify for + which directory we want to create a module cache. By default, + with no argument, we just use the directory of modules for gio + itself. + +------------------------------------------------------------------- +Sat Aug 7 14:14:08 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.25.13: + + The primary purpose of this release is to fix a serious problem + with glib 2.25.12: glibconfig.h (as generated on a Fedora amd64 + system) was being distributed in the tarball. It was being + used to build some parts of glib on other systems (eg: 32bit + ones). This was causing some very serious problems. + + Build and testing: + - vastly improved test coverage + - old tests moved to the gtester framework + - gtester Makefile modified so that the tests only run once + - cleanup of how we handle includes while building glib + + GVariant: + - add a g_return_if_fail (utf8) to g_variant_new_string() + + GDBus: + - perform extra sanity checks when serialising messages + - add API to query and set the byteorder of a GDBusMessage + - improve debug output, add some extra options + - if exiting due to the bus disconnecting us, print an error + message explaining why + - sort property names correctly + - don't bother sending RemoveMatch when we will close the + connection anyway + - use effective uid/gid for credential passing + + GSettings: + - add G_SETTINGS_BIND_INVERT_BOOLEAN for inverting boolean + bindings without mapping functions + - mark all strings in the schema compiler for translation + + Binding: + - improve closure support for bindings + - copy GSettings INVERT_BOOLEAN flag + + Other: + - fix another complicated GCancellable deadlock possibility + + Bugs closed: bgo#599590, bgo#619026, bgo#624739, bgo#625472, + bgo#625500, bgo#625628, bgo#625753, bgo#625827, bgo#625988, + bgo#626107 + + Updated translations. +- Remove workaround for misinstallation of systemtap files: this is + fixed now. + +------------------------------------------------------------------- +Fri Jul 30 10:44:08 CEST 2010 - dimstar@opensuse.org + +- Update to version 2.25.12: + + Build: + - cleanup automake setup + - rename configure.in to configure.ac + - various docs fixups + - move glibconfig.h to glib/ + - disable dtrace support on Mac OS (which has incompatible + 'dtrace') + + GSettings: + - add support for vendor override files (to change the default + values in a schema) + - change GSettingsBackend vtable + - add g_settings_reset() + - support binding to G_TYPE_STRV properties + + GDBus: + - many bug fixes, including a serialisation fix + - stop handling incoming connections as soon as stop() is + called + - proper support for file descriptor passing + - new flags parameter for sending messages + - new flags parameter for subscribing to signals + - always reset the message serial when sending a message unless + G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL is given + - constness fixes for introspection structures + - clean ups to subtree registration API + + Other: + - fix divide by zero bug in g_malloc_n functions + - GIO: don't blindly assume that SOCK_CLOEXEC is supported + - make GObject property notify freezes threadsafe + - GIO: clean up credentials passing + - GApplication: make default-quit not apply if register=FALSE + - GIO: add annotations for gobject-introspection + + Bugs fixed: + - bgo#166020 use GAtomic for refcounting + - bgo#617483 Credentials passing + - bgo#622005 [GApplication] no way to modify the "default-quit" + property + - bgo#623293 vendor override files + - bgo#623810 Message serialization bug + - bgo#623815 Don't check sender for GDBusProxy objects where + name is not set + - bgo#624473 GDBusSubtreeIntrospectFunc return type + - bgo#624483 GDBusSubtreeEnumerateFunc clarification + - bgo#624484 GDBusSubtreeDispatchFunc clarification + - bgo#624754 gdbusaddress.c missing sys/wait.h + - bgo#624968 div by zero in g_malloc_n family + - bgo#624991 GSettings mapping for G_TYPE_STRV + - bgo#625383 Add missing GI annotations + + Updated translations. + +------------------------------------------------------------------- +Thu Jul 22 14:30:12 CEST 2010 - vuntz@opensuse.org + +- Add rpm macros to ease installation of external gio modules and + of gsettings schemas. +- Rename the main package to glib2-tools since it's really what it + contains. Instead, make libglib-2_0-0 provides/obsoletes glib2. +- Make the devel package Requires glib2-tools, since users of the + new rpm macros will need the tools during the build. +- Also do not move the post/postun scriptlets of previous glib2 to + glib2-tools: gio-querymodules needs to be called by packages + installing a module, not by the package containing + gio-querymodules. +- Move glib-compile-schemas from devel package to glib2-tools. +- Add %{_datadir}/glib-2.0/schemas/gschemas.compiled ghost file to + libgio-2_0-0: this is where gsettings schemas will be compiled. +- Add glib2-tools Recommends to libgio-2_0-0, since those tools are + useful when libgio is installed. + +------------------------------------------------------------------- +Wed Jul 21 11:22:58 CEST 2010 - vuntz@opensuse.org + +- Change pcre-devel BuildRequires to pkgconfig(libpcre). +- Remove checks for old versions of openSUSE (11.0). +- Remove conflicts with gnome-vfs2 < 2.22.0 which is not needed + since openSUSE 11.0. +- Remove workaround that was settings the +x permission on + gtester-report. +- Add systemtap support: add systemtap-sdt-devel BuildRequires, + pass --enable-systemtap to configure and add workaround for + misinstalled tapsets. We also temporary need a python + BuildRequires because of a missing dependency for + systemtap-sdt-devel. +- Use %{?_smp_mflags} instead of %{?jobs:-j%jobs}. + +------------------------------------------------------------------- +Wed Jul 14 10:13:33 UTC 2010 - dimstar@opensuse.org + +- Update to version 2.25.11: + + Many changes since 2.24.1. See NEWS for the full list of + changes, the list below is only highlights. + + Add GSettings API. + + Add a predefined boxed type for GError. + + Add support for timeouts in GSocket. + + Add GDBus API. + + GVariant now requires strings to be UTF-8. + + Initial support for dtrace and systemtap profiling. + + Add GPermission interface. + + Add GApplication API. + + Add GBinding API. + + Deprecate GRelation and GCompletion. + + Updated translations. + +------------------------------------------------------------------- +Thu Jun 3 19:11:32 CEST 2010 - vuntz@opensuse.org + +- Break a requirement cycle between glib2 and libgio-2_0-0, to fix + bnc#595702: + + remove libgio-2_0-0 Requires(post)/Requires(postun) from main + package + + remove glib2 Requires from libglib-2_0-0, libgmodule-2_0-0, + libgio-2_0-0, libgthread-2_0-0, libgobject-2_0-0. + + add a Recommends for glib2-lang in libglib-2_0-0 to make the + translations installed by default. +- Move some gio files from glib2 to libgio-2_0-0. Unfortunately, it + means we get unversioned files in a subpackage for a versioned + library, but that's what we really need: /usr/lib/gio belongs + there and we have a symlink pointing to + /usr/share/applications/defaults.list (so we don't want a + dangling symlink). + +------------------------------------------------------------------- +Mon May 3 22:14:54 CEST 2010 - captain.magnus@opensuse.org + +- Update to version 2.24.1: + + bgo#615379: g_new macros crash if sizeof(struct_type) == 0 + + bgo#614185: g_type_class_add_private() documentation is not + correct + + bgo#614372: g_stat() is funny + + bgo#615111: GAsyncInitable's default implementation is broken + + Fix race in g_cancellable_cancel() + + Fix for g_variant_iter_loop() + + Make g_string_append_len() accept NULL lf len == 0 + + Fix typo in GMutex error message + + Translation updates + +------------------------------------------------------------------- +Fri Mar 26 23:16:05 CET 2010 - vuntz@opensuse.org + +- Update to version 2.24.0: + + Bug fixes: + - bgo#613601: buglet in dup_close_on_exec_fd + - bgo#584284: g_data_input_stream_read_until_async behaves + confusingly + - bgo#613748: Write errors in middle of copy cause hang + - bgo#613923: splice_stream_with_progress: wrong error handling + - bgo#613667: Typo in GObject documentation + - bgo#613618: gvariant format string docs unclear + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 22 12:30:19 CET 2010 - dimstar@opensuse.org + +- Update to version 2.23.6: + + Class private data: + - support for private data associated with a GTypeClass + + GVariant merge is now complete: + - loading functions and parser merged + + Windows improvements: + - socket fixes + - various build improvements + - removal of GCC/C99isms in favour of portable code + - drop unmaintained Visual Studio 8 support + + Minor API addition: + - g_desktop_app_info_get_filename() + + Bugs fixed: + - bgo#521707 Class private data + - bgo#612502 build fails on glib/tests/gvariant.c + - bgo#612832 [GDesktopAppInfo] New function + g_desktop_app_info_get_filename + - bgo#612702 [PATCH] Fix GSocket-related crash on Windows + - bgo#612736 Improve the documentation about single include + - bgo#610858 gvariant test fails sometimes + - bgo#612327 uninitialized variable + + Updated translations. + +------------------------------------------------------------------- +Mon Mar 8 18:35:41 CET 2010 - dimstar@opensuse.org + +- Update to version 2.23.5: + + New API addition: g_malloc_n() and friends used to implement an + overflow-safe family of g_new() macros. + + GVariant: + - GVariantBuilder and GVariantIter are now merged. + - The variable arguments API is now merged. + - The parser will be in a future release. + + GIO: + - Remove GUtf8InputStream (which never appeared in a stable + release) for now since it doesn't satisfy the needs of its + main intended use case. We hope to reimplement this feature + in a better form in a future release. + + Bugs fixed: + - bgo#609531: missing licence headers + - bgo#612107: Missing G_FILE_ATTRIBUTE_TRASH_ORIG_PATH + - bgo#611897: g_io_modules_scan_all_in_directory leaks + - bgo#608196: Overflow-safe g_new family + - bgo#611696: gio uses GetAddrInfo which requires special + handing on windows 2k + - bgo#605667: Don't use G_PARAM_SPEC_VALUE_TYPE when we know + the pspec is valid + - bgo#610860: test_g_file_open_readwrite fails if $HOME is + unwritable + - bgo#552912: glib-2.18 /live-g-file/test_copy_move failed when + run as root + - bgo#609813: Renaming a file discards file notes + + Updated translations. + +------------------------------------------------------------------- +Mon Feb 22 08:09:22 CET 2010 - dimstar@opensuse.org + +- Update to version 2.23.4: + + GVariant: + - The core of GVariant has been merged now, with some API still + to follow. + + GIO: + - There is a new interface GFileDescriptorBased for file + descriptor based IO. GLocalFile{Input,Output}Stream implement + it + - Use splice(2) to transfer data between file descriptors + without extraneous copies + - Add a way to request move events from file monitors + + Bugs fixed: + - bgo#609143 - *result_uncertain is never assigned in + g_content_type_guess + - bgo#604086 - Use splice(2) when doing local file copies + - bgo#547890 - No move events for GFileMonitorEvent? + - bgo#568760 - nautilus freezes due to a bug in garray.c:322 + - bgo#609962 - Add info about the use of G_DEFINE_INTERFACE + - bgo#609564 - g_base64_encode_close docs should mention outbuf + size... + - bgo#610484 - g_variant_equal bug + - bgo#610131 - libasyncns does not compile on Solaris 8 + - bgo#609530 - missing single header include guards + + Updated translations + +------------------------------------------------------------------- +Fri Feb 12 02:41:37 CET 2010 - vuntz@opensuse.org + +- Do not call gio-querymodules in %postun of the main package since + we don't have gio-querymodules anymore at that point. + +------------------------------------------------------------------- +Wed Feb 10 16:01:41 CET 2010 - vuntz@opensuse.org + +- Update to version 2.23.3: + + GLib now has a facility for locks that consume only one bit of + storage inside an integer: g_bit_lock() + + GVariant: + - The serializer has been merged, with more API to follow + + Bugs fixed + - bgo#548967: 1 bit mutex lock + - bgo#604967: 2.22.3 libasyncns build fails on HP-UX 11.11 + - bgo#608602: G_VALUE_COLLECT_INIT variables shadow those in + G_VALUE_COLLECT + - bgo#608743: Crash in g_hostname_to_ascii visiting certain + website in epiphany + - bgo#599197: array ref and unref functions crash on NULL + array. + - bgo#608159: mem leak in g_io_modules_scan_all_in_directory + + Updated translations. + +------------------------------------------------------------------- +Thu Jan 28 00:25:50 CET 2010 - vuntz@opensuse.org + +- Correctly use gio-querymodules: + + package it in main package, with a giomodule.cache ghost file + + rename it gio-querymodules-64 on 64 bits platforms + + add Requires(post)/Requires(postun) to main package and + libgio-fam to make sure that gio-querymodules would work + + add post/postun scriptlets for main package and libgio-fam + +------------------------------------------------------------------- +Mon Jan 25 22:28:23 CET 2010 - captain.magnus@opensuse.org + +- Update to version 2.23.2: + + We are now using gcc builtins for atomic operations when + available + + g_assert() grew the ability to store assertions in core dumps + + GIO supports lazy loading of GIO modules, and there is a new + gio-querymodule utility that goes along with this. + + Threading changes: + - The requirements for g_thread_init() have been relaxed + slightly, it can be called multiple times, and does not have + to be the first call + - GObject now links to GThread and threads are enabled + automatically when g_type_init() is called + - Thread-safety issues with boxed types in GObject have been + fixed + + GObject: + - Another bunch of performance work has landed + + GVariant: + - GVariantType has been merged, with the rest of the GVariant + API to follow + + Bugs fixed: + - bgo#568760 - nautilus freezes due to a bug in garray.c:322 + - bgo#602417 - Document lifecycles of GSimpleAsyncResult and + friends + - bgo#604824 - crash in Epiphany: Selecting my Slashdot bo... + - bgo#448888 - don't init g_slice for always-malloc + - bgo#531902 - Use GCC atomic buildins for g_atomic* + - bgo#554887 - boxed type registration is not thread safe + - bgo#586150 - unresolved symbols when building glib 2.21.2 on + OS X Tiger + - bgo#589176 - row gvalue transform array exponentially + - bgo#594872 - Support storing assertion messages into core + dump + - bgo#602240 - Upgrade libasyncns to 0.8 + - bgo#603590 - Speed up G_VALUE_COLLECT + - bgo#604457 - gutf8inputstream.c: increasing unknown size + pointer + - bgo#605686 - GCharsetConverter doesn't flush + - bgo#605733 - g_memory_output_stream_new violates GObject + standards + - bgo#605883 - g_object_new() processes varargs even when there + are none + - bgo#605977 - invalid utf-8 conversion in + g_local_file_get_parse_name(... + - bgo#606775 - Enable threads by default in gobject + + Translation updates + +------------------------------------------------------------------- +Tue Dec 22 13:16:55 CET 2009 - vuntz@opensuse.org + +- Update to version 2.23.1: + + GObject performance work has landed: + - Construction of simple objects is much faster + - Interface lookup is lock-free and constant-time now + - Reduced locking overhead when dealing with types + + GType now has a G_DEFINE_INTERFACE convenience macro + + GIO gained GUtf8InputStream, an input stream that performs + utf-8 validation + + GLib now has byte-swap macros for gsize and gssize + + Bugs fixed: + - bgo#603982: Stack overflow when reading file async with + filter + - bgo#557151, bgo#557100, bgo#501166, bgo#585375, bgo#587892, + bgo#603270, bgo#603476, bgo#603540, bgo#604645, bgo#604875, + bgo#320482 + + Updated translations. + +------------------------------------------------------------------- +Mon Dec 21 11:28:55 CET 2009 - vuntz@opensuse.org + +- Update gtk-doc.m4 from gtk-doc package. + +------------------------------------------------------------------- +Mon Dec 14 20:48:33 CET 2009 - jengelh@medozas.de + +- Add baselibs.conf as a source +- Package baselibs for SPARC + +------------------------------------------------------------------- +Wed Dec 2 12:14:47 CET 2009 - vuntz@opensuse.org + +- Update to version 2.23.0: + + GIO: + - GConverter: a generic interface for stateful conversions of + data, suitable for charset conversion, compression, + decompression, regexp replacement. Concrete implementations + are GCharsetConverter, GZlibCompressor and GZlibDecompressor. + GConverterInputStream, GConverterOutputStream are stream + implementations that convert data while loading or saving it. + - GMounts can now have a 'default location': a path that + reflects the main entry point for the user (e.g. the home + directory). + - As a consequence of the compression support, GIO depends on + zlib now. + + GObject: + - G_IMPLEMENT_INTERFACE_DYNAMIC: a convenience macro for adding + interfaces to dynamic types. + + GModule: + - The -pthread flag has been added to all gmodule .pc files, + because it is not generally permissible to load modules that + are linked against libpthread if the program has not been + compiled with threading support. + + Bugs fixed: + - bgo#601637: GUnixFDMessage should contain a GUnixFDList + - bgo#585566: GSocketListener API issues + - bgo#572252: Bug in g_file_test() function. + - bgo#600550: g_app_info_create_from_commandline doesn't treat + arguments properly + - bgo#541236: not detecting exact content type + - bgo#350200: [PATCH] GTypeModule derived class unref does not + unload plugin + - bgo#589631: Please enclose literal values with double quotes + - bgo#577711: cross compile check for g++ broken + - bgo#600620: Support X-GNOME-FullName in GAppInfo + - bgo#598899: GWin32DirectoryMonitor is broken + - bgo#593809: Nautilus does not restore the position of the + icons on the desktop... + - bgo#563627: g_get_prgname() threadsafety + - bgo#600141: Add -pthread to gmodule pkg-config + - bgo#593856: file and directory monitors don't work when glib + is compiled... + - bgo#324930: Nautilus should disallow copying of symlink to + FAT drive early + - bgo#587300: Deadlock when calling g_cancellable_disconnect in + a... + - bgo#595138: GFile not robust with invalid input + - bgo#591216: Warning building resolver.o + - bgo#590016: Does not compile under MinGW32 + Wine + - bgo#591214: Warnings building gcancellable.o + - bgo#561998: Have specific entry points (paths) for mounts... + - bgo#508157: Add G_IMPLEMENT_INTERFACE_DYNAMIC + - bgo#535159: g_file_has_parent + + Updated translations. +- Add zlib-devel BuildRequires. +- Remove AutoReqProv: it's default now. +- Fix self-obsoletion with glib2-doc. +- Drop glib2-mkinstalldirs.patch: I have no idea why this patch has + been there forever, but I don't think it's needed. This also + enables us to remove the autoreconf call. +- Drop glib2-aclocal.patch: this is actually unneeded, since + acinclude.m4 contains what's needed. + +------------------------------------------------------------------- +Fri Nov 13 17:43:50 CET 2009 - vuntz@opensuse.org + +- Update to version 2.22.2: + + GIO: + - Support case-sensitive globs in the shared mime database, + including support for the newer cache format that allows + these. + + GObject: + - Speed up creation of simple objects + + Bugs fixed: + - bgo#597194: Typo in _G_TYPE_CVH macro + + Updated translations. + +------------------------------------------------------------------- +Tue Oct 27 17:27:47 CET 2009 - sbrabec@suse.cz + +- Added support for translation-update-upstream (FATE#301344). + +------------------------------------------------------------------- +Wed Sep 30 10:17:15 CEST 2009 - vuntz@opensuse.org + +- Update to version 2.22.1: + + Bugs fixed: + - bgo#596064 Test file marked for translation + - bgo#595972 possibly invalid search in + mime_info_cache_dir_add_... + - bgo#596561 C99 style of declaration of variable in + gmessages.c + - bgo#596314 g_utf16_to_utf8 returns an invalid UTF8 string + - bgo#596748 g_async_result_get_source_object returns a new ref + - bgo#593809 Nautilus does not restore the position of the + icons... + - bgo#593775 uses inotify_init1 unconditionally + + Updated translations. + +------------------------------------------------------------------- +Tue Sep 29 09:41:42 CEST 2009 - vuntz@opensuse.org + +- Update to version 2.22.0: + + Add gdb python macros to make gobject debugging more pleasant + + Bugs fixed: + - bgo#579050: Allow making selected critical and warning + messages non-fatal + - bgo#594759: g_socket_send_message fails due to invalid + sendmsg params + - bgo#593941: GNetworkAddress skipping addresses when + enumerating + - bgo#594597: Fix build with srcdir != builddir + - bgo#595619: Include gdb pretty printers + + Changes that might affect bindings: + - The error parameter of g_simple_async_result_set_from_error + has been made const. + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 7 14:25:06 CEST 2009 - lmedinas@opensuse.org + +- Update to version 2.21.6: + + Minor API additions: + - g_mkstemp_full is a variant of g_mkstemp that allows to + specify flags and permissions + + Bugs fixed: + - bgo#593232 g_rand_new: read no more than requested from + /dev/urandom + - bgo#591995 use saved errno + - bgo#589491 g_time_val_from_iso8601 doesn't handle some cases + - bgo#593406 Permissions set to 777 after copying via Nautilus + - bgo#594034 Add g_mkstemp_full() + + Translation updates. + +------------------------------------------------------------------- +Tue Aug 25 13:12:54 CEST 2009 - vuntz@novell.com + +- Update to version 2.21.5: + + A performance problem with trashing of many files has been + fixed + + GResolver now invalidates the libc resolv.conf cache as needed + + Minor api additions: + - g_cancellable_make_pollfd returns a boolean now. And there is + a new function g_cancellable_release_fd that can be used to + released the resources used by a GCancellable. + + Bugs fixed: + - bgo#589988: Compilation error on Solaris 9 (missing stdint.h) + - bgo#588901: gtcpconnection.c won't compile + - bgo#584246: GResolver needs to call res_init() when network + state changes + - bgo#591714: Figure out failure handling for + g_cancellable_make_pollfd() + - bgo#591532: redundent '/' returned from + g_file_resolve_relative_path + - bgo#591378: Use MSG_NOSIGNAL in GSocket if it's available + - bgo#589649: API documentation migration for Base64 Encoding + - bgo#591840: configure fails with autoconf 2.64 + + Updated translations. + +------------------------------------------------------------------- +Sat Jul 18 23:36:29 CEST 2009 - captain.magnus@opensuse.org + +- Update to version 2.21.4: + + GTree is now refcounted + + bgo#587938 Undocumented limitation for g_str_equal + + bgo#587773 refcounts for GTree + + Translation updates + +------------------------------------------------------------------- +Mon Jun 15 23:33:11 CEST 2009 - vuntz@novell.com + +- Update to version 2.21.2: + + GIO: + - g_socket_speaks_ipv4 is a new function to check if a socket + can speak IPv4. + - g_socket_listener_add_address gained a new effective_address + out parameter. + - GIO now returns special icons for XDG user directories, by + the name folder-music, folder-documents, etc. + - GIO gained support for starting/stopping of drives, which can + be used in connection with external hard disk enclosures, + disk arrays, iSCSI devices, etc. See + g_file_start/stop_mountable. + + GLib: + - g_reload_user_special_dirs_cache is a new function to force + GLib to reload the XDG user directory mapping from disk. + + Bug fixes: + - bgo#584574: glib compile failure on Mac OS X with + gunixresolver.c and... + - bgo#585566: GSocketListener API issues + - bgo#584255: Incorrect freeing of thread pool in + GThreadedSocketService + - bgo#585088: g_string_chunk_insert_len stops at nul bytes + - bgo#585360: Monitor fontconfig configuration files using gio + causes m... + - bgo#580103: Terminal starts on Display :0.0 when started on + :0.1 in D... + - bgo#580301: network: a few issues on old darwin + - bgo#583398: SRV weight sorting is incorrect + - bgo#584176: build fixes on FreeBSD + - bgo#585189: g_cancellable_reset() must be called in same + thread as g_... + - bgo#585280: compilation dies on gio/gsocket.c, needs + sys/uio.h to con... + - bgo#585281: gio/gunixfdmessage.c needs sys/types.h for + platforms that... + - bgo#585478: don't leak the inotify fd + - bgo#585575: g_socket_listener_add_inet_port() doesn't do the + right thing + - bgo#585599: g_socket_listener_add_socket() consumes the + socket + - bgo#585676: GEmblem doesn't reference its 'icon' if that is + set as a ... + - bgo#585717: "bytes" nautilus translation to french is not + shown in th... + - bgo#541276: XDG directories should have their own icons + - bgo#585726: Grammatical error in GList documentation + - bgo#585520: Wrong warning option in documentation + - bgo#585673: GNOME Goal: Remove deprecated glib symbols + - bgo#585591: Starting/stopping drives + + Updated translations. + +------------------------------------------------------------------- +Fri May 29 12:45:00 CEST 2009 - vuntz@novell.com + +- Update to version 2.21.1: + + GIO: + - Support for network IO has been added, including a low-level + socket API and a high-level API for network connections and + services. + - Support for read-write access with GIOStream and its + subclasses. + - GMount gained a pre-unmount signal. + + Bug fixes: + - bgo#576104: Implement GMount::pre-unmount + - bgo#578769: implement GWinHttpFileInputStream::close_fn + - bgo#582856: gsocket.c doesn't compile on Solaris + - bgo#569375: g[u]intptr undocumented + - bgo#573246: [FIX] g_desktop_app_info_dup() can access NULL + pointer + - bgo#575013: g_cancellable_push_current() does not allow NULL + - bgo#577884: live-g-file.c:461: error: format ‘%d’ expects + type ... + - bgo#578499: g_output_stream_splice and stream closing with + gnio strea... + - bgo#579558: Application employing gvfs crashes with only + libgvfscommo... + - bgo#583001: SIGPIPE (grr!) + - bgo#583061: Please add convenience function to connect to + machines by... + - bgo#583198: typo in error message + - bgo#583206: use g_set_error_literal where appropriate + - bgo#583229: void function g_async_initable_init_async returns + value + - bgo#583324: locking problem in g_main_context_iterate() + - bgo#583408: void function g_socket_control_message_serialize + returns ... + - bgo#578786: wrong and confusing error message + - bgo#583205: g_inet_address_to_bytes has no length outparam + - bgo#583196: mem leak in keyfile test + - bgo#583663: GSocketType enum ends with a comma + - bgo#569024: Make g_error_new_valist public + - bgo#569376: missing G_G[U]INTPTR_FORMAT + - bgo#580347: off-by-1 bug in GWinHttpFile + + Updated translations. + +------------------------------------------------------------------- +Tue May 5 17:11:39 CEST 2009 - vuntz@novell.com + +- Update to version 2.21.0: + + GIO: + - New helper functions g_cancellable_connect/disconnect to avoid + race conditions when connecting to the "cancelled" signal on + GCancellable. + - New types and methods for dealing with IPv4 and IPv6 addresses + (and UNIX domain socket addresses under UNIX). This does not + include code for actual socket I/O. + - GResolver provides asynchronous and cancellable APIs for + resolving hostnames, reverse lookup of IP addresses and + resolving SRV records. + + Glib now provides hash and comparison functions for int64 and + double types, suitable for use with GHashTable. + + GArray, GPtrArray and GByteArray can be ref counted now, and + have boxed types. + + Bugs fixed: + - bgo#572844: Helper for GCancellable::cancelled + connect/disconnect + - bgo#578363: goption docs should be improved + - bgo#548466: async/cancellable DNS resolver + - bgo#579830: param spec strings should use P_() + - bgo#579862: requesting xattr::foo ends up calling + getxattr(..., user... + - bgo#580453: Hash and equal functions for gint64 and gdouble + - bgo#580450: Reference counting and boxed types for arrays + - bgo#580194: gresolver doesn't build on Solaris + - bgo#580301: network: a few issues on old darwin + - bgo#580299: network: include sys/types.h before sys/socket.h + to insur... + - bgo#572508: gmarkup speedup + - bgo#580546: g_strtoull() referenced in documentation... + - bgo#580656: g_key_file_set_string_list erroneously asserts + list != NULL + - bgo#579272: leaks in + g_simple_async_result_set_op_res_gpointer + + Updated translations. + +------------------------------------------------------------------- +Sat Apr 11 23:34:21 CEST 2009 - mboman@suse.de + +- Update to version 2.20.1: + + bgo#575555 Use fsync() when replacing files to avoid data loss + + bgo#575708 runaway inotify madness + + bgo#575270 GVolumeMonitor::mount-pre-unmount not being emitted + + bgo#577128 glib make check Failed to execute child process... + + bgo#573673 Always show "backup" directories + + bgo#578369 g_time_val_from_iso8601() parses timezones + incorrectly + + bgo#578002 Fix a small typo in GFile docs + + bgo#578017 G_DEFINE_TYPE_EXTENDED docs + + Translation updates + +------------------------------------------------------------------- +Sat Mar 14 00:55:21 CET 2009 - mboman@suse.de + +- Update to version 2.20.0: + + Base64 support: Avoid integer overflows. CVE-2008-4316 + + Bugs fixed: + * bgo#574019 GChecksum: document and guarantee hex characters in + lower case + * bgo#573454 Unable copy/move files to directories symlinked to + gvfs share + * bgo#561172 gnome-open fails on local URIs with anchors + * bgo#573970 crash in gunixvolumemonitor:update_mounts when + unmounting + * bgo#573843 g_get_current_dir returns non-absolute path + + Translation updates +- Remove glib2-base64.patch. Fixed differently upstream + +------------------------------------------------------------------- +Fri Mar 6 02:54:11 CET 2009 - vuntz@novell.com + +- Update to version 2.19.10: + + GMarkup: + - Considerable speedup + + GIO: + - Add G_FILE_CREATE_REPLACE_DESTINATION flag to allow replacing + the destination of a copying operation as if it did not exit + before. + - Be more careful when classifying files as desktop files + - Support desktop file key X-GIO-NoFuse which disables the use + of fuse pathnames for %u and %U arguments + + Bugs fixed: bgo#572672, bgo#572464, bgo#572151, bgo#570501, + bgo#167569, bgo#572508, bgo#560564, bgo#549298, bgo#543183, + bgo#540461, bgo#573462, bgo#573421, bgo#573658, bgo#556706, + bgo#573527, bgo#573128, + + Updated translations: +- Remove -fno-strict-aliasing from CFLAGS. +- Use makeinstall. + +------------------------------------------------------------------- +Thu Feb 19 03:39:05 CET 2009 - vuntz@novell.com + +- Review changes. + +------------------------------------------------------------------- +Wed Feb 18 04:06:45 WET 2009 - lmedinas@gmail.com + +- Update to version 2.19.8: + + GIO: Fix missing exports of new API + + Fix strict aliasing warnings and violations to make Glib work with + gcc 4.4 + +------------------------------------------------------------------- +Tue Feb 17 04:59:51 CET 2009 - mboman@suse.de + +- Update to version 2.19.7: + + GIO + * GFile gained an attribute for the actual file size in bytes + * GMountOperation gained an "aborted' signal that allows to + abort a mount operation from the backend side + + Bugs fixed: + * bgo#523742 Use noinst for non-installable libraries + * bgo#566747 URIs opened with firefox %u load as local files + * bgo#541225 Can't compile gio on AIX duplicate case value in + gioerror.c + * bgo#571598 GAsyncResult with NULL gobject + * bgo#505042 add file attribute for actually used file size in + bytes + + Translation updates +- Merge -doc into -devel as it only contained gtk-doc + +------------------------------------------------------------------- +Tue Feb 3 11:17:28 EST 2009 - mboman@suse.de + +- Don't delete la files unless version >11.0 + +------------------------------------------------------------------- +Tue Feb 3 11:17:27 EST 2009 - mboman@suse.de + +- Update to version 2.19.6: + + New format macro to print goffset data: G_OFFSET_FORMAT + + GIO: + * Add a GFilter{Input,Output}Stream::close-base-stream + properties which determine whether the base stream will be + closed when the filter stream is finalized. + * g_data_input_stream_read_line and ..._read_until have + asynchronous variants now. + + Bugs fixed: + * bgo#568294 A wrong reference in the description of + g_bookmark_file_... + * bgo#563141 RFE: define G_OFFSET_FORMAT + * bgo#569105 g_time_val_to_iso8601() assumes time_t==long + * bgo#568394 dropping the last reference to a stream filter + closes... + * bgo#568741 g_buffered_input_stream_fill_async doesn't work + * bgo#568723 g_buffered_input_stream_fill_async doesn't take + count == -1 + * bgo#568575 _async functions for GDataInputStream + + Translation updates + +------------------------------------------------------------------- +Sat Jan 31 23:39:29 CET 2009 - vuntz@novell.com + +- Split glib2-fate300461-desktop-gettext.patch in two patches: + + glib2-bgo569829-gettext-gkeyfile.patch: this is the part that + is being discussed upstream. + + glib2-fate300461-gettext-gkeyfile-suse.patch: this is the + openSUSE specific part. + + this should be easier to maintain in the long term. +- With this split, we also fix a bug where translations in the + desktop files were always ignored, and gettext was always used. + This was not the intended behavior, and made it impossible to + customize the name/comment of a launcher, eg. +- Drop glib2-libtool.diff: upstream configure.in already contains + the change in another place. +- Drop glib-2.17.3-implicitdecl.patch: seems to compile fine + without this now. + +------------------------------------------------------------------- +Sat Jan 31 08:45:48 EST 2009 - mboman@suse.de + +- Update to version 2.19.5: + + Update included PCRE to 7.8 + + g_base64_decode_inplace: New function to do base64 decoding in place + + Bugs fixed: bgo#567138, bgo#566569, bgo#566573, bgo#564728, bgo#567838, + bgo#567977, bgo#512779, bgo#566770, bgo#565484 + + Translation updates + +------------------------------------------------------------------- +Thu Jan 22 22:27:44 CET 2009 - vuntz@novell.com + +- Do not BuildRequires desktop-file-utils. +- Fix rpmlint warning about usage of packageand. +- Do not put executable bits for files in /etc/profile.d + +------------------------------------------------------------------- +Tue Jan 6 07:57:07 EST 2009 - mboman@suse.de + +- Update to version 2.19.4: + + Use O_NOATIME when sniffing mimetypes + + Add a convenience method to check if a GSimpleAsyncResult + is valid + + bgo#560676 function access for g_threads_supported + + bgo#565905 There is no g_context_group_set_translation_domain + + bgo#564210 SUN Studio 12 has supported visibility attribute + + bgo#565136 GObject's "notify" signal parameters are wrong in gtk-doc + + bgo#565831 error in interface creation sample + + bgo#566348 g_file_open_tmp uses the wrong g_mkstemp on win32 + + bgo#566064 Add NOATIME flag to query_info_flags + + bgo#566170 g_async_result_verify_source_object + + Translation updates + +------------------------------------------------------------------- +Sat Dec 20 09:57:41 EST 2008 - mboman@suse.de + +- Update to version 2.19.3: + + bgo#508021 Add support for the CRIS and CRISv32 architectures + + bgo#526320 should not list mounts that the user doesn't have permission + to use + + bgo#558458 Cannot build gio tests on Solaris using SUN cc + + bgo#555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property + + bgo#558298 Hide ecryptfs mounts + + bgo#515777 incorrect date&time on copy + + bgo#562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling + g_simple_async_result_run_in_thread + + bgo#473150 g_type_module_use inconsistently increases the use + counter in case of error + + bgo#563150 G_GU?INT*_MODIFIER/FORMAT docs + + bgo#563156 Document printing and scanning gunichar values + + Translation updates + +------------------------------------------------------------------- +Wed Dec 10 12:34:56 CET 2008 - olh@suse.de + +- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade + (bnc#437293) + +------------------------------------------------------------------- +Tue Dec 9 06:30:50 EST 2008 - mboman@suse.de +- Update to version 2.19.2: + + GIO: + - GIcon serialization support + - new file attribute for preview images + - new function to get the full commandline + - New functions to 'shadow' mounts + + Bugs fixed: bgo#556186, bgo#557087, bgo#556921, bgo#557210, bgo#558381, + bgo#558185, bgo#558513, bgo#558672, bgo#555740, bgo#557182, bgo#528320, + bgo#556910, bgo#557592, bgo#556415, bgo#555935, bgo#552776, bgo#559448, + bgo#561212, bgo#560569, bgo#560568, bgo#559413, bgo#562378, bgo#559110, + bgo#557603, bgo#562544, bgo#547264, bgo#562638, bgo#562639, bgo#562549, + bgo#559452, bgo#559462, bgo#559517, bgo#562538, bgo#561352, bgo#561375, + bgo#561807, bgo#562393, bgo#541715, bgo#547481, bgo#548163, bgo#559633, + bgo#555486, bgo#505361, bgo#509446, bgo#553820, bgo#553724, bgo#553857, + bgo#553447, bgo#554092, bgo#528670, bgo#555224, bgo#555309, bgo#554790, + bgo#555314, bgo#555313, bgo#552861, bgo#554557, bgo#552107, bgo#551355, + bgo#555311, bgo#556101, bgo#556186, bgo#526456, bgo#553426, bgo#545350, + bgo#545351, bgo#552168, bgo#554970, bgo#554745, bgo#555121, bgo#555711, + bgo#555331, bgo#556335, bgo#556334, bgo#556422 + + Rewrite GHashTable to use open addressing with quadratic probing + + Make g_poll available as public api + + New macros g_assert_error and g_assert_no_error to assert + that a GError is set or unset + + New method to make a GPollFD for a cancellable + + When launching applications, always pass fuse file:// uris when possible, + and let gio convert such uris back to gio uris. + + Translation updates +- Disable 'make check'. See bgo#554969 +- Remove glib2-bnc402256-filename-leak.diff. Fixed upstream + +------------------------------------------------------------------- +Mon Dec 8 13:22:24 CET 2008 - vuntz@novell.com + +- Update glib2-fate300461-desktop-gettext.patch: correctly use + bind_textdomain_codeset(), and also only do it once for the + default gettext domain (for performance reasons). + Fix bnc#455987, thanks to Michael Meeks for debugging. + +------------------------------------------------------------------- +Mon Nov 24 12:34:56 CET 2008 - olh@suse.de + +- obsolete old -XXbit packages (bnc#437293) + +------------------------------------------------------------------- +Tue Nov 11 16:54:09 CET 2008 - ro@suse.de + +- SLE-11 uses PPC64 instead of PPC, adapt baselibs.conf + +------------------------------------------------------------------- +Thu Nov 6 13:42:27 CST 2008 - federico@novell.com + +- Added glib2-bnc402256-filename-leak.diff as part of the fix for + https://bugzilla.novell.com/show_bug.cgi?id=402256 - memory leaks + found from gnome-main-menu. + +------------------------------------------------------------------- +Thu Oct 23 12:17:53 CDT 2008 - maw@suse.de + +- Only build with selinux on systems newer than 11.0. + +------------------------------------------------------------------- +Tue Oct 21 10:59:30 CDT 2008 - maw@suse.de + +- Update to version 2.18.2: + + Bugs fixed: bgo#553724, bgo#553857, bgo#554790, bgo#555314, + bgo#554970, bgo#555121, bgo#555711, and bgo#556334 + + Updated translations. + +------------------------------------------------------------------- +Mon Oct 6 16:36:52 CEST 2008 - sbrabec@suse.cz + +- Conflict with other branding providers (FATE#304881). + +------------------------------------------------------------------- +Mon Sep 29 00:25:40 CEST 2008 - ro@suse.de + +- add gcc-c++ to buildreqires to work around libtool problem + +------------------------------------------------------------------- +Fri Sep 19 10:09:52 CDT 2008 - maw@suse.de + +- Update to version 2.18.1: + + Bugs fixed: bgo#550433, bgo#523463, bgo#551228, bgo#551410, + bgo#551731, bgo#548321, bgo#551149, bgo#550647, bgo#551887, + bgo#551681, bgo#552352, bgo#551408, and bgo#552359 + + Updated translations. + +------------------------------------------------------------------- +Fri Sep 12 17:36:06 CEST 2008 - vuntz@novell.com + +- Update glib2-fate300461-desktop-gettext.patch to make it able to + load translations from the desktop-translations package. + This is part of fate#300461 again. + +------------------------------------------------------------------- +Thu Sep 4 15:30:29 CDT 2008 - maw@suse.de + +- Update to version 2.18.0: + + Bugs fixed: bgo#324234, bgo#548278, bgo#500246, bgo#523939, + bgo#550096, bgo#550040, bgo#550104, bgo#548988, bgo#550059, + bgo#548800, and bgo#550056 + + Updated translations. + +------------------------------------------------------------------- +Mon Aug 25 23:34:26 CEST 2008 - maw@suse.de + +- Update to version 2.17.7: + + Bugs fixed: bgo#546329, bgo#546876, bgo#547200, bgo#547637, + bgo#547337, bgo#547832, bgo#502498, bgo#546371, bgo#546483, + bgo#546132, bgo#542156, bgo#535124, bgo#547080, bgo#546582, and + bgo#547262 + + Updated translations +- Tag glib-2.17.3-implicitdecl.patch. + +------------------------------------------------------------------- +Mon Aug 25 10:42:54 CEST 2008 - aj@suse.de + +- Remove .la files from devel package and cleanup requires of devel + package. + +------------------------------------------------------------------- +Sat Aug 23 09:35:56 CEST 2008 - aj@suse.de + +- Add require on libselinux for devel package. + +------------------------------------------------------------------- +Fri Aug 22 16:57:02 CEST 2008 - prusnak@suse.cz + +- enabled SELinux support [Fate#303662] + +------------------------------------------------------------------- +Thu Aug 21 03:18:18 CEST 2008 - maw@suse.de + +- Version the devel subpackage's requirements to avoid update + breakage. + +------------------------------------------------------------------- +Wed Aug 6 12:35:52 CDT 2008 - maw@suse.de + +- Update to version 2.17.6: + + g_markup_context_get_user_data: New function to access the + user_data outside of callbacks + + GIO: + + g_mount_guess_content_type_sync: synchronous version of + g_mount_guess_content_type + + GEmblem: A GIcon implementation that adds emblem-related + metadata to icons + + GEmblemedIcon: A GIcon implementation that can add emblems + to icons + + Bugs fixed: bgo#544088, bgo#544465, bgo#545485, bgo#545798, + bgo#544140, bgo#529694, bgo#545157, bgo#545203, bgo#545457, + bgo#544177, bgo#545395, bgo#541036, bgo#546079, bgo#545395, + and bgo#546017 + + Updated translations. + +------------------------------------------------------------------- +Thu Jul 31 17:19:22 CDT 2008 - maw@suse.de + +- Update to version 2.17.4: + + GIO: + * New API to handle content types: g_mount_guess_content_type, + g_content_type_guess_for_tree + * Export the eject-button signal on the volume monitor class + * New API to enable out-of-process volume monitors: + g_volume_get_activation_root + + GObject: + * New API to handle signals without slots in the class + structure: g_signal_new_class_handler and + g_signal_override_class_handler + + Internationalization: + + Add an NC_ macro that is a no-op equivalent of C_ + + GMarkup: + * Add two new functions, g_markup_parse_context_push and + g_markup_parse_context_pop, to support "subparsers" + + Bugs fixed: bgo#541208, bgo#541507, bgo#543040, bgo#543560, + bgo#528317, bgo#337518, bgo#541794, bgo#541793, bgo#467707, + bgo#428048, bgo#542332, bgo#482413, bgo#406120, bgo#334234, + bgo#536996, bgo#540616, bgo#539229, bgo#521589, bgo#543168, + bgo#543220, bgo#530759, bgo#535223, and bgo#543504 + + Updated translations +- Tag glib-2.17.3-implicitdecl.patch. + +------------------------------------------------------------------- +Tue Jul 29 01:44:51 CEST 2008 - vuntz@novell.com + +- Add glib2-fate300461-desktop-gettext.patch to support + translation of desktop entries via gettext, using the + X-SUSE-Gettext-Domain key. The patch is based on a similar patch + from Ubuntu. This is part of fate#300461 + +------------------------------------------------------------------- +Fri Jul 25 14:04:56 CEST 2008 - sbrabec@suse.cz + +- nautilus-folder-handler added to gnome-defaults.conf (bnc#410728) + +------------------------------------------------------------------- +Sun Jul 20 02:45:18 CEST 2008 - crrodriguez@suse.de + +- fix build +- incidentally, this also fixes a problem on PPC caused by an + endianness bug; the GTK2 build failed causing a chain of errors + resulting in misleading libglitz.la related build failures. +- run make check, so that the next time the aforementioned problem + is caught before it causes further problems. + +------------------------------------------------------------------- +Wed Jul 16 17:45:37 CDT 2008 - maw@suse.de + +- Update to version 2.17.3: + + Bugs fixed: bgo#538119, bgo#537635, bgo#539067, bgo#535949, + bgo#539123, bgo#539074, bgo#316221, bgo#539770, bgo#539626, + bgo#538044, bgo#540545, bgo#535947, bgo#539999, bgo#536252, + bgo#538362, bgo#540802, bgo#540423, bgo#538836, bgo#539090, + bgo#540331, bgo#534639, bgo#536733, bgo#536160, bgo#538127, + bgo#531476, bgo#538564, and bgo#540047 + + Updated translations + + The version of PCRE included in 2.17.3 has been fixed with + respect to CVE-2008-2371; note, however, that as of 10.3/11.0, + SUSE's glib2 packages use the system PCRE. + +------------------------------------------------------------------- +Wed Jun 18 22:13:18 CEST 2008 - maw@suse.de + +- Update to version 2.17.2: + + New function: g_utime(), a gstdio wrapper for utime() + + New functions: g_dgettext() and g_dngettext(), wrappers + for corresponding gettext functions with added functionaliy + + Support the latest version of the shared-mime spec, including + icons for mime types + + New function: g_themed_icon_prepend_name() + + Bugs fixed: bgo#35418, bgo#28715, bgo#28714, bgo#37260, + bgo#30527, bgo#30526, bgo#28719, bgo#28172, bgo#28717, + bgo#28716, bgo#37555, bgo#37546, bgo#37392, bgo#36641, + bgo#28600, bgo#03071, bgo#02511, bgo#38162, bgo#14453, + bgo#29321, bgo#55215, bgo#98732, bgo#11367, bgo#31900, + bgo#36158, bgo#31403, bgo#35628, and bgo#35625 + + Updated translations. + +------------------------------------------------------------------- +Fri Jun 6 19:45:59 CEST 2008 - maw@suse.de + +- Update to version 2.17.0: + + Update to Unicode 5.1 + + Update included libcharset to the one shipped with libiconv + 0.12 + + Update included PCRE to 7.7 (note, however, that this package + uses the system's PCRE) + + Enforce that only toplevel headers are directly included; this + is turned on by default for GObject and GIO; to turn it on for + GLib, define G_DISABLE_SINGLE_INCLUDES + + Fix library version of GIO; GLib 2.16 shipped with + libgio-2.0.so.0.0.0 + + Use the GIO_EXTRA_MODULES environment variable to find + additional GIO modules + + G_GNUC_ALLOC_SIZE: New macro that wraps the gcc alloc_size + function attribute + + g_checksum_reset: New function to reset the state of a + GChecksum + + g_unix_mount_monitor_set_rate_limit: New function to limit the + rate at which events are reported + + g_file_query_file_type: New utility function to query the type + of a file + + g_memory_output_stream_get_data_size: New function to obtain the + size of the written data. + + Bugs fixed: bgo#522292, bgo#523298, bgo#518160, bgo#523877, + bgo#525192, bgo#315437, bgo#524314, bgo#525732, bgo#525674, + bgo#448943, bgo#525972, bgo#526619, bgo#491554, bgo#519137, + bgo#528752, bgo#530457, bgo#528667, bgo#459905, bgo#534085, + bgo#501651, bgo#519026, bgo#534319, bgo#534137, bgo#517419, + bgo#526796, bgo#530196, bgo#532965, bgo#525553, bgo#526572, + bgo#528648, bgo#535021, bgo#521513, bgo#528433, bgo#533369, + bgo#521045, bgo#521672, bgo#521946, bgo#522335, bgo#523015, + bgo#523019, bgo#523338, bgo#524350, bgo#524579, bgo#524742, + bgo#524950, bgo#525866, bgo#526320, bgo#527132, bgo#532852, + bgo#534759, bgo#534764, bgo#521851, bgo#524344, bgo#525060, + bgo#534177, bgo#520715, and bgo#523039 + + Updated translations +- Remove upstreamed patches: glib2-allocsize.patch, + glib2-bnc373149-bgo518160-gbookmark-optimizations.diff, + glib2-bnc373149-bgo523877-gbookmark-optimizations.diff, + glib2-fix-bookmark-leak.diff, + glib2-bnc379739-handle-blank-tryexec.patch, and + glib2-bnc387387-gio-hide-inaccessible-mounts.patch. + +------------------------------------------------------------------- +Tue May 20 03:04:45 CEST 2008 - hpj@suse.de + +- Add glib2-bnc387387-gio-hide-inaccessible-mounts.patch + (bnc#387387). + +------------------------------------------------------------------- +Wed May 14 01:50:37 CEST 2008 - hpj@suse.de + +- Add glib2-bnc379739-handle-blank-tryexec.patch (bnc#379739). + +------------------------------------------------------------------- +Mon May 12 18:14:21 CEST 2008 - maw@suse.de + +- Add glib2-base64.patch (bnc#382708). + +------------------------------------------------------------------- +Sun May 11 11:50:18 CEST 2008 - coolo@suse.de + +- fix rename of xxbit packages + +------------------------------------------------------------------- +Tue May 6 14:38:38 CEST 2008 - schwab@suse.de + +- Don't use libtool before it is created. + +------------------------------------------------------------------- +Mon May 5 14:48:22 CEST 2008 - sbrabec@suse.cz + +- Prefer eog over evince for image/tiff in gnome_defaults + (bnc#346517). + +------------------------------------------------------------------- +Thu May 1 12:52:01 CEST 2008 - vuntz@suse.de + +- Add glib2-bnc379332-desktop-su.patch to launch .desktop files as + root when X-KDE-SubstituteUID and X-KDE-RootOnly are there. + Fix bnc#379332. + +------------------------------------------------------------------- +Tue Apr 29 17:32:20 CEST 2008 - cthiel@suse.de + +- obsolete glib2- via baselibs.conf + +------------------------------------------------------------------- +Tue Apr 22 03:55:09 CEST 2008 - hpj@suse.de + +- Dropped previously disabled glib2-cast.patch. + +------------------------------------------------------------------- +Mon Apr 14 23:54:54 CEST 2008 - maw@suse.de + +- Add glib2-fix-bookmark-leak.diff. + +------------------------------------------------------------------- +Mon Apr 14 19:16:16 CEST 2008 - sbrabec@suse.cz + +- Use packageand form of branding supplement and removed self + conflict. + +------------------------------------------------------------------- +Sat Apr 12 00:10:15 CEST 2008 - maw@suse.de + +- Tag glib2-libtool.diff, which was added in the previous + submission. + +------------------------------------------------------------------- +Fri Apr 11 14:04:50 CEST 2008 - schwab@suse.de + +- Work around broken configure script. + +------------------------------------------------------------------- +Wed Apr 9 23:13:06 CEST 2008 - maw@suse.de + +- Update to version 2.16.3: + + Bugs fixed: bgo#521513, bgo#316221, bgo#520914, bgo#521045, + bgo#521591, bgo#521672, bgo#522292, bgo#522335, bgo#523015, + bgo#523298, bgo#523338, bgo#524350, bgo#524579, bgo#524742, + bgo#524950, bgo#524344, bgo#525060, bgo#525192, bgo#524314, + bgo#448943, bgo#525972, bgo#526619, bgo#491554, bgo#525866, and + bgo#526796 + + Updated translations. + +------------------------------------------------------------------- +Tue Apr 8 16:39:01 CEST 2008 - sbrabec@suse.cz + +- Fixed support for default application for particular MIME type in + SuSEconfig.glib2. +- Split gnome_defaults.conf to a separate branding-style package, + so branding vendors can easily change default applications. +- Build FAM GIO module in a separate package to support remote FS + change notification without polling. +- Own %{_libdir}/gio/modules directory. + +------------------------------------------------------------------- +Fri Apr 4 16:18:40 CEST 2008 - maw@suse.de + +- Merge the BETA and STABLE branches +- Remove, pending further discussion, libgio-2_0-0's + recommendation of gvfs. + +------------------------------------------------------------------- +Tue Apr 1 19:16:57 CEST 2008 - maw@suse.de + +- Split out several shared library subpackages: + + The new packages are: + * libglib-2_0-0, which provides implementations of common data + structures and algorithms + * libgmodule-2_0-0, which provides portable loadable module + functionality + * libgthread-2_0-0, which provides portable threading + functionality similar to that of pthreads + * libgio-2_0-0, which provides abstracted IO operations + * libgobject-2_0-0, which provides object oriented facilities + available from C + + Impact on consuming packages: + * Consuming packages can continue to require glib2-devel to + build + * Packages that use AutoReqProv to pick up glib2 requirements + should require no change + * Packages that eschew AutoReqProv in favour of explicitly + depending on glib2 will need to have their dependencies + adjusted to explicitly depend upon the correct subpackage + + The glib2 base package remains as a skeleton; the subpackages + continue to depend upon it + + The net effect of this change should be a reduction in the + space required for applications which only consume a small part + of glib2's functionality; packages which require more of it + should see no change. + +------------------------------------------------------------------- +Tue Apr 1 18:40:52 CEST 2008 - coolo@suse.de + +- moved recommendation of gvfs to gtk2 + +------------------------------------------------------------------- +Tue Apr 1 16:35:22 CEST 2008 - sbrabec@suse.cz + +- SuSEconfig script moved from gnome-vfs2 (bnc#372783). + +------------------------------------------------------------------- +Tue Apr 1 03:05:35 CEST 2008 - federico@novell.com + +- Added glib2-bnc373149-bgo518160-gbookmark-optimizations.diff and + glib2-bnc373149-bgo523877-gbookmark-optimizations.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=373149 - backport + optimizations for GBookmarkFile. + +------------------------------------------------------------------- +Mon Mar 17 19:21:53 CET 2008 - rodrigo@suse.de + +- Upstream glib2-allocsize.patch that should have been upstreamed + +------------------------------------------------------------------- +Thu Mar 13 13:01:50 CET 2008 - rodrigo@suse.de + +- Update to version 2.16.1: + * Fix a crash in g_themed_icon_new + * Update the included PCRE to 7.6 +- Tag patches + +------------------------------------------------------------------- +Fri Feb 29 02:48:06 CET 2008 - jpr@suse.de + +- Update to version 2.15.6: + + GIO: + * New file attributes: trash::item-count, filesystem::use-preview + * Rename g_file_contains_file to g_file_has_prefix + * g_file_query_filesystem_info grew async variants + * g_themed_icon_append_name: new convenience function + * g_content_type_get_icon is implemented now + * Only show mounts in /media and ~ + * g_file_contains_file has been renamed to g_file_has_prefix + + Win32: + * g_win32_get_package_installation_directory_of_module: new + function which supersedes + g_win32_get_package_installation_directory + * Use alertable wait functions so that I/O completion routines or + user-mode Asynchronous Procedure Calls can be run + * Fix race conditions in g_spawn implementation on win32 + * g_uri_get_scheme has been renamed go g_uri_parse_scheme + + Updated translations + +------------------------------------------------------------------- +Tue Feb 19 00:22:51 CET 2008 - maw@suse.de + +- Remove glib-cast.patch at least temporarily. + +------------------------------------------------------------------- +Mon Feb 18 16:48:44 CET 2008 - maw@suse.de + +- Update to version 2.15.5: + + GIO: + * g_volume_should_automount: new function to determine if a + volume should be mounted automatically + * g_file_query_default_handler: new convenience function to + get the default handler for a file + * g_app_info_launch_default_for_uri new convenience function to + launch the default handler for a URI + * Use mimeapps.list and defaults.list as discussed on xdg list + recently + * g_app_info_get_default_for_uri_scheme has a real implementation + now (gvfs provides a GConf-based implementation) + * There is the beginning of a test suite + * standard::description: new file attribute + * GMountMountFlags flags argument added to mount calls + + GObject: + * class initialization is now threadsafe + + The included PCRE has been bumped to 7.6; however, we continue + using the system PCRE + + Updated translations +- Respin glib-casts.patch once again. + +------------------------------------------------------------------- +Tue Jan 29 10:09:27 CST 2008 - maw@suse.de + +- Update to version 2.15.4: + + G_GNUC_PRETTY_FUNCTION has been deprecated + + GIO: + - g_file_copy has an async variant now + - Drives and volumes now have API to get identifiers + like Hal UDIs or UUIDs + - There is now a registration API to let modules register + extensions they provide, such as volume monitor + implementations + + Bugs fixed: bgo#511807, bgo#316260, bgo#385132, bgo#484261, + bgo#510292, bgo#511580, bgo#511654, bgo#487909, and bgo#512381 + + Updated translations. + +------------------------------------------------------------------- +Thu Jan 24 07:51:55 CST 2008 - maw@suse.de + +- Update to version 2.15.3: + + GChecksum: + * g_checksum_update can accept nul-terminated strings + * The MD5 implementation works correctly on buffers + that are longer than 64 bytes + + GIO: + * Don't include a copy of the inotify headers, rely on + system headers + * g_file_find_enclosing_mount has an async variant now + * Reduntant seek API on file streams has been removed + + Bugs (bugzilla.gnome.org) fixed: #508602, #508771, #508773, + #509465, #509626, #509990, #510448, and #510855 + + Updated translations. + +------------------------------------------------------------------- +Wed Jan 23 12:23:48 CST 2008 - maw@suse.de + +- Respin glib-cast.patch. + +------------------------------------------------------------------- +Tue Jan 22 13:43:01 CST 2008 - maw@suse.de + +- Recommend gvfs. + +------------------------------------------------------------------- +Tue Jan 22 12:01:57 CST 2008 - maw@suse.de + +- Update to version 2.15.2: + + New API: + * GIO: a new VFS API, designed to replace GnomeVFS. The new + GIO implementation in glib has support for local filesystems, + and the new gvfs module (coming in a separate package) + contains various backend implementations (cifs, ftp, sftp, + http, etc) + * GChesksum: a new implementation of various hash algorithms + such as MD5, SHA-1, and SHA-256 + * GTest: a test framework + * Smaller changes to GHash, GMarkup, GKeyfile, GAsyncQueue, + GError and the i18n subsystem + + Now builds with automake 1.10 + + Bugs (bugzilla.gnome.org) fixed: #455725, #467537, #497033, + #504527, #445362, #482313, #317775, #418778, #436293, #466557, + #468882, #469551, #479724, #490061, #490637, #495294, #496046, + #498113, #500506, #500638, #500875, #502511, #502927, #503029, + #503222, #503420, #503470, #504227, #71704, #491957, #491959, + #491965, #491966, #491968, #491970, #491974, #491975, #491979, + #491982, #501107, #501997, #502590, #464259, #496518, #498728, + #500361, #501853, #503862, #142676, #367550, #375651, #443648, + #449937, #452887, #491549, #500507, #508224, #508074, #508108, + #508309, #508378, #508719, #508773, #504829, #505258, #505815, + #491218, #315437, #476856, #480122, #495589, #500273, #504142, + #504879, #505042, #505058, #505674, #505730, #505887, #506374, + #506461, #503051, #506395, #507628, #505195, #507822, #506377, + and #507835 + + Updated translations +- Remove glib-gcc43.patch, which has been upstreamed. + +------------------------------------------------------------------- +Mon Dec 17 14:59:45 CST 2007 - maw@suse.de + +- Update to version 2.14.4: + + Bugs (bugzilla.gnome.org) fixed: + #494602, #492677, #490061, #418778, #467537, #466557, #490637, + #445362, #498113, #498728, and #469551 +- Rename allocsize.patch to glib2-allocsize.patch. + +------------------------------------------------------------------- +Thu Nov 29 13:34:22 CST 2007 - maw@suse.de + +- Use the system's PCRE (#325921). + +------------------------------------------------------------------- +Fri Nov 23 11:03:42 CST 2007 - maw@suse.de + +- Update to version 2.14.3: + + Bugs (bugzilla.gnome.org) fixed include #469231, #478349, + #483337, #478459, #477957, #359165, #476849, #493688, #488068, + and #487491 + + Updated translations + + Use PCRE 7.4 +- Update gtk-doc.m4: use the version from gtk-doc 1.9. + +------------------------------------------------------------------- +Mon Oct 15 11:58:16 CEST 2007 - meissner@suse.de + +- merge malloc size markup from BETA. + +------------------------------------------------------------------- +Thu Oct 11 15:19:01 CEST 2007 - rguenther@suse.de + +- Fix glib2 headers for C99 programs and GCC 4.3. + +------------------------------------------------------------------- +Mon Sep 17 10:33:10 CEST 2007 - sbrabec@suse.cz + +- Updated to version 2.14.1: + * more bugs fixed + * documentation fixes + * translation update + +------------------------------------------------------------------- +Wed Aug 29 16:45:00 CEST 2007 - maw@suse.de + +- Update to version 2.14.0: + + g_unichar_combining_class is public + + Add a goffset type, and add G_MAXSSIZE and G_MINSSIZE + + Use PCRE 7.2 + + Bugs (bugzilla.gnome.org) fixed: #453998, #462549, and + #417068 + + Updated translations. + +------------------------------------------------------------------- +Sat Aug 25 00:22:56 CEST 2007 - maw@suse.de + +- Update glib-casts.patch to fix g_array_index on ia64. + +------------------------------------------------------------------- +Thu Aug 9 16:45:39 CEST 2007 - sbrabec@suse.cz + +- Removed gtk-doc from BuildRequires and included required + gtk-doc.m4 to Sources (preprocessed docs are now included, this + shortens bootstrap compilation path). + +------------------------------------------------------------------- +Wed Aug 8 17:49:41 CEST 2007 - maw@suse.de + +- Use %fdupes +- Split off a -lang subpackage +- s#%run_ldconfig#/sbin/ldconfig/ in %post and %postun. + +------------------------------------------------------------------- +Sun Aug 5 23:10:49 CEST 2007 - maw@suse.de + +- The previous changelog entry refers to #297636. + +------------------------------------------------------------------- +Sun Aug 5 19:30:17 CEST 2007 - schwab@suse.de + +- Fix broken interface. + +------------------------------------------------------------------- +Thu Jul 19 17:34:48 CEST 2007 - maw@suse.de + +- Update to version 2.13.7 +* The memory corruption warning from the slice allocator that + occurred when threads were initialized after the slice allocator + has been removed, as the slice allocator now works fine + in this scenario. + +* New functions g_once_init_enter() and g_once_init_leave() make + it easier to write threadsafe one-time initialization functions + +* Bugs fixed: [against bugzilla.gnome.org] + 454473 Simple XML Subset Parser terminates on invalid XML + 445813 g_module_open error, add file name + 453796 errno gets clobbered by g_filename_display_name + 341988 don't use "-c" with msgfmt in Makefile.in.in + 447048 Please produce slightly more output during long tests + 454785 GModule documentation lists same block of code twice. + 454786 GModule documentation lists same paragraph twice. + 383155 small docs quirks in gobject/closure API documentation + 65041 _get_type() functions aren't thread safe + +* Updated translations + Assamese (as) + Spanish (es) + Gujarati (gu) + Japanese (ja) + Korean (ko) + Macedonian (mk) + +------------------------------------------------------------------- +Thu Jul 5 18:51:39 CEST 2007 - maw@suse.de + +- Update to version 2.13.5 +- Overview of Changes from GLib 2.12 to GLib 2.13.0 +================================================= + +* Add GSequence, a list that is implemented using + a balanced binary tree. + +* Add GRegex, an implementation of Perl regular expressions, + based on PCRE. + +* Use Posix monotonic clocks instead of gettimeofday() + for GTimer when available. + +* Support static initialization of GQeues with G_QUEUE_INIT, + g_queue_init() and g_queue_clear(). + +* Add g_string_chunk_clear() for clearing a + GStringChunk. + +* Add g_unichar_get_script() to obtain Unicode + script information. + +* Add g_unichar_iszerowidth() to obtain information + about zero-width characters. + +* Add G_GNUC_MAY_ALIAS which wraps the gcc may_alias + type attribute. + +* G_GNUC_INTERNAL has a working definition for the + Sun Studio compiler. This requires the macro to + be positioned before the function declaration. + +* The slice allocator can produce detailed debugging + information with G_SLICE=debug-blocks. + +* Modules support G_DEBUG flags resident-modules and + bind-now-modules. + +* Add G_DEFINE_DYNAMIC_TYPE() to make it easier + to define types in modules. + +* Bug fixes: too many to list them in detail here. + +* New and updated translations (be,bg,bn,ca,cs,de, + en_CA,en_GB,et,fa,fr,he,hu,it,ja,ku,lt,mg,mk,ml, + nb,ne,nn,pt,pt_BR,ro,sr,sr@Latn,sv,ta,uk,vi,zh_CN, + zh_HK,zh_TW) + +------------------------------------------------------------------- +Thu Apr 12 16:41:43 CDT 2007 - maw@suse.de + +- Pass --enable-static to configure (#263998). + +------------------------------------------------------------------- +Wed Mar 21 12:38:24 CST 2007 - maw@suse.de + +- Update to version 2.12.11 +- Fixes for bugzilla.gnome.org 399611, 350802, 416062, 346808, + 398069, 346808, 398203, 399971, 400044, 396899, 404832, and + 149144. + +------------------------------------------------------------------- +Mon Mar 5 18:06:21 CET 2007 - jhargadon@suse.de + +- removed obsolete patch glib2-unexpanded-variables.patch (#249204) + +------------------------------------------------------------------- +Thu Feb 22 15:31:17 CET 2007 - sbrabec@suse.cz + +- Removal of gnome-filesystem files moved to opt_gnome-compat. + +------------------------------------------------------------------- +Fri Feb 16 10:15:33 CST 2007 - maw@suse.de + +- Update to version 2.12.9 +- Bugs fixed: + 397139 glib-2.12.8 breaks ABI + 393812 glib links against pthread + 394258 gthread.c: illegal include order + 394641 Undefined reference in gthread + 394150 gettime implementation breaks compilation on darwin 6 + 395203 g_timer_elapsed off by 2 order of magnitude + 394262 image/* mimetype breaks stuff + 392636 glib-2.0.m4 ignores PKG_CONFIG environment variable + 395419 Glib-2.12.7 with mingw(w32api-3.8/windows) fails to compi... + 329031 G_GNUC_INTERNAL fails with gcc-2.95 + 354707 No return() in non-void function + 387260 hang in zenity + 387823 glib 2.12.5 is breaking hal + 391370 Recent crash on file + 346955 NON-ASCII UTF-8 arg_description in GOptionEntry causes wr... + 371631 Bug in g_bit_nth_lsf? + 376645 Win32: Fatal warnings abort application even if IsDebugge... + 389300 g_utf8_collate_key modifies the locale + 390913 gslice.c: illegal declaration (C99) + 304517 glib/libcharset/localcharset.c/_g_locale_charset_raw: han... + 336438 unicode collate test failing + 391364 Warnings during ./configure due to $SED being undefined i... + 391367 config.status warning for datarootdir support in glib-get... + 371670 Faster g_bit_* operations + 302672 poll is completely broken on Mac OS X 10.4 + 362328 errorcheck_mutex_test fails to compile due to missing -pthread + 316434 glib-2.6.6 fails to compile on AIX 5.1 due to assembler errors + 172406 gconvert.c, function open_converter + 327800 Hang during self-test of threads + 343825 Double expansion in m4macros/glib-gettext.m4 will fail with + newer autoconf + 380801 build on Solaris does not work out of the box + 386252 HEAD broken with last commit + 138153 g_utf8_next_char problem with gcc -Wcast-qual + 161288 glib doesn't configure well on Mac OS < 10.3 + 321977 GIOChannel ref_count private variable should be gint instead + of guint + 343191 GKeyFile silently loses values + 346373 test failures in glib-2.10.3 on NetBSD + 347944 make check fails 2 test on Solaris 9 + 355955 Hash tables in gwin32.c do not g_strdup their keys + 357585 Calls to set_cloexec inefficient on Solaris + 359190 gtimer.c failes to compile on solaris-2.9 + 378078 extremely unlikely read-after-free in instance_real_class_get + 379207 gthreadpool.h causes warning with GCC and -Wshadow + 385132 solaris gettext support fix + 385910 Suprising behaviour with duplicate groups in GKeyFile + 386838 mapping-test freezes + 315061 compiler specific flag in gthread-2.0.pc + 362543 Compilation fail when configured with --disable-visibility + 362918 monotonic clock test uses AC_TRY_RUN + 369908 g_key_file_get_string not stripping final space + 373864 sanity_check is a bash script + (These bugs are viewable on bugzilla.gnome.org) +- Make GKeyFile accept keys that are commonly used +- GKeyFile: + + The stricter syntax checks introduced in 2.12.5 have been reduced + to warnings for the 2.12 series +- GSlice: + + The slice allocator has gained address validation that + can be activated with the environment variable + G_SLICE=debug-blocks + + The allocator emits a warning if it detects too late + thread initialization +- GOption: + + Take double-width and zero-width characters into account + when formatting --help output. + +------------------------------------------------------------------- +Thu Jan 25 15:30:50 CET 2007 - sbrabec@suse.cz + +- Remove obsolete files kept by gnome-filesystem package. + +------------------------------------------------------------------- +Thu Dec 7 17:13:36 CET 2006 - sbrabec@suse.cz + +- Prefix changed to /usr. +- Spec file cleanup. + +------------------------------------------------------------------- +Thu Nov 2 23:02:26 CET 2006 - jhargadon@suse.de + +- added a patch to m4macros/glib-gettext.m4 so that the build + variables expand properly. + +------------------------------------------------------------------- +Mon Oct 2 19:30:09 CEST 2006 - jhargadon@suse.de + +- update to version 2.12.4 +- Fix build problems related to Posix timers +- Bugs fixed + 321974 nanosleep on AIX / g_timer API using high resolution timers + 353584 va_end called on caller supplied va_list + 353580 va_copy detection breaks if user sets + CFLAGS=-Werror-implicit-function-declaration + 354522 Small problem with PLT hiding 6 symbols + 358421 typos in gmain.c +- New and updated translations + +------------------------------------------------------------------- +Tue Sep 12 20:11:02 CEST 2006 - jhargadon@suse.de + +- update to version 2.12.3 +- Use Posix monotonic clocks instead of gettimeofday() + for GTimer when available +- Make the construction of singleton objects work + witout warnings. +- 351583 API documentation issues with 2.15 release +- 336114 desktop locks immediately after changing the system clock +- 351853 GKeyFile creates non-UTF-8 error messages +- Translation updates (fr,hu,ja,ku,lt,lv,ml,or, + pt,ru,sv,vi,zh_CN) + +------------------------------------------------------------------- +Wed Aug 30 01:42:05 CEST 2006 - jhargadon@suse.de + +- update to version 2.12.2 +- Normalization is following Unicode TR #29 +- 348491 g_utf8_strup() and g_utf8_strdown() returns + string with NUL bytes +- 349825 GKeyFile always inserts a newline before a group +- 347842 g_unichar_isxdigit() is too general about what + it considers a digit +- 348694 g_utf8_normalize() hasn't been updated to PR #29 +- 348785 Hint about G_DEBUG in Message Logging docs +- 349792 Wrong english string +- 349952 gparamspecs.c uses gcc feature +- Translation updates + +------------------------------------------------------------------- +Mon Jul 31 23:57:49 CEST 2006 - gekker@suse.de + +- Update to version 2.12.1 +* Update to final Unicode Character Database 5.0.0 + +* Bugs fixed: + 346660 issues with base64 api documentation / g_base64_decode_cl... + 348136 Coverity reports allocation of wrong size CID #2839 + 336281 Update to UCD 5.0 + 346197 g_date_strftime %F option doesnt work for win32 + 348011 Small optimization to real_toupper() + 246494 prototype mismatch in glib/gconvert.c + +* New and updated translations (bg,bn_IN,ca,dz,eu,fi, + fr,he,it,ja,mk,or,pt) + + +------------------------------------------------------------------- +Tue Jul 18 23:39:54 CEST 2006 - rml@suse.de + +- Update to glib 2.12: + - Lots of bug fixes + - GSlice! +- Drop upstream patches + +------------------------------------------------------------------- +Tue Jun 6 20:36:15 CEST 2006 - sbrabec@suse.cz + +- Fixed locale detection in profile scripts (#180613): + * Fixed invalid charset typos. + * Added support for Persian, Armenian and Khmer. + * Added ISO-8859-1 fallback where applicable. + +------------------------------------------------------------------- +Thu Mar 30 11:16:15 CEST 2006 - sbrabec@suse.cz + +- Renamed profile to be executed after lang.*, otherwise + G_FILENAME_ENCODING cannot be set. + +------------------------------------------------------------------- +Fri Jan 27 03:04:47 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Wed Jan 18 04:25:00 CET 2006 - gekker@suse.de + +- Fix gstaticmutex define (#141215 patch byjblunck) + +------------------------------------------------------------------- +Tue Jan 17 04:49:13 CET 2006 - zsu@suse.de + +- Fixed implicit cast issue introduced by bugfix #316221 + http://bugzilla.gnome.org/show_bug.cgi?id=327022 + +------------------------------------------------------------------- +Fri Jan 13 12:54:23 CET 2006 - sbrabec@suse.cz + +- Updated to version 2.8.5. + +------------------------------------------------------------------- +Mon Jan 2 16:11:56 CET 2006 - sbrabec@suse.cz + +- Fixed Aragonese support in profile scripts. + +------------------------------------------------------------------- +Fri Nov 18 13:45:58 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.8.4. + +------------------------------------------------------------------- +Mon Nov 14 17:18:11 CET 2005 - sbrabec@suse.cz + +- Fixed strict aliasing problems in macros. + http://bugzilla.gnome.org/show_bug.cgi?id=316221 + +------------------------------------------------------------------- +Fri Nov 4 16:03:07 CET 2005 - schwab@suse.de + +- Fix use of atomic builtins. + +------------------------------------------------------------------- +Tue Oct 11 22:27:24 CEST 2005 - gekker@suse.de + +- Update to version 2.8.3 + +------------------------------------------------------------------- +Wed Sep 28 17:26:36 CEST 2005 - gekker@suse.de + +- Update to version 2.8.2 +- Add -fno-strict-aliasing to CFLAGS + +------------------------------------------------------------------- +Tue Aug 23 18:56:26 CEST 2005 - gekker@suse.de + +- Update to version 2.8.1 + +------------------------------------------------------------------- +Mon Aug 15 13:11:08 CEST 2005 - rodrigo@suse.de + +- Update to version 2.8.0 + +------------------------------------------------------------------- +Wed Aug 10 23:20:12 CEST 2005 - gekker@suse.de + +- Update to version 2.7.7 + +------------------------------------------------------------------- +Mon Aug 1 19:07:15 CEST 2005 - gekker@suse.de + +- Update to version 2.7.4 + +------------------------------------------------------------------- +Thu Jul 21 17:56:56 CEST 2005 - gekker@suse.de + +- Update to version 2.7.2 + +------------------------------------------------------------------- +Thu Jun 23 17:44:20 CEST 2005 - sbrabec@suse.cz + +- Fixed devel dependencies. + +------------------------------------------------------------------- +Fri Jun 17 00:05:40 CEST 2005 - gekker@suse.de + +- Update to version 2.7.0. +- Fix SENTINEL patch to work with upstream version. + +------------------------------------------------------------------- +Tue Jun 7 19:20:24 CEST 2005 - gekker@suse.de + +- Update to version 2.6.4. + +------------------------------------------------------------------- +Tue May 31 17:13:52 CEST 2005 - schwab@suse.de + +- Build in parallel. +- Use autoreconf. + +------------------------------------------------------------------- +Wed Apr 6 18:42:25 CEST 2005 - schwab@suse.de + +- Cleanup neededforbuild. + +------------------------------------------------------------------- +Wed Apr 6 07:22:48 CEST 2005 - meissner@suse.de + +- Added gettext-devel to neededforbuild. + +------------------------------------------------------------------- +Fri Apr 1 14:47:14 CEST 2005 - meissner@suse.de + +- disable visibility hackery to build with gcc4. + +------------------------------------------------------------------- +Wed Mar 2 21:42:27 CET 2005 - gekker@suse.de + +- Updated to version 2.6.3. + +------------------------------------------------------------------- +Mon Feb 7 15:35:46 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.6.2. + +------------------------------------------------------------------- +Wed Jan 19 23:39:26 CET 2005 - meissner@suse.de + +- define G_GNUC_SENTINEL for gcc >= 4 +- specify G_GNUC_SENTINEL where applicable. + +------------------------------------------------------------------- +Sun Jan 16 07:00:07 CET 2005 - clahey@suse.de + +- Updated to version 2.6.1. + +------------------------------------------------------------------- +Mon Jan 3 20:46:08 CET 2005 - gekker@suse.de + +- Update to version 2.6.0 + +------------------------------------------------------------------- +Wed Dec 22 17:00:30 CET 2004 - ro@suse.de + +- remove no translation (obsolete with nb present) + +------------------------------------------------------------------- +Wed Dec 15 00:31:10 CET 2004 - gekker@suse.de + +- Update version to 2.5.7. +- Remove the no-no patch, as it is upstreamed. + +------------------------------------------------------------------- +Tue Nov 16 15:15:34 CET 2004 - clahey@suse.de + +- Update to glib 2.5.6. + +------------------------------------------------------------------- +Tue Oct 19 00:29:44 CEST 2004 - ro@suse.de + +- remove no locale support: nb is already there + +------------------------------------------------------------------- +Tue Oct 12 13:11:12 CEST 2004 - sbrabec@suse.cz + +- Require gnome-filesystem (#47068). + +------------------------------------------------------------------- +Wed Sep 29 13:22:09 CEST 2004 - sbrabec@suse.cz + +- Fixed glib2.csh for unset LANG (#46282). + +------------------------------------------------------------------- +Wed Aug 25 22:46:32 CEST 2004 - federico@ximian.com + +- Update to glib 2.4.5 +- Removed glib-pattern.diff, as this bug is fixed in the tarball. + +------------------------------------------------------------------- +Wed Aug 25 11:46:29 CEST 2004 - kukuk@suse.de + +- Avoid /bin/sh as PreRequire + +------------------------------------------------------------------- +Tue Jul 6 13:42:20 CEST 2004 - coolo@suse.de + +- glib2-devel requires the very same version of glib2 + +------------------------------------------------------------------- +Tue Jun 22 14:46:29 CEST 2004 - sbrabec@suse.cz + +- glib2.sh, glib2.csh: G_FILENAME_ENCODING must be comma separated. + +------------------------------------------------------------------- +Tue Jun 08 16:36:53 CEST 2004 - sbrabec@suse.cz + +- Fixed glib2.csh (#41665). + +------------------------------------------------------------------- +Wed May 05 12:03:52 CEST 2004 - sbrabec@suse.cz + +- Added pkgconfig to requirement of glib2-devel (#37628). + +------------------------------------------------------------------- +Mon Apr 19 18:18:24 CEST 2004 - sbrabec@suse.cz + +- Fix of strict aliasing fix. + +------------------------------------------------------------------- +Mon Apr 19 13:29:28 CEST 2004 - sbrabec@suse.cz + +- Fixed strict aliasing. + +------------------------------------------------------------------- +Thu Apr 15 18:02:20 CEST 2004 - sbrabec@suse.cz + +- Updated to version 2.4.0 (GNOME 2.6). +- Removed gconvert-errno-altering.patch - this one was not accepted for + mainstream but strerror() errno altering was fixed. +- Added filename encoding guesser to /etc/profile.d/glib2.*. + +------------------------------------------------------------------- +Mon Mar 22 18:47:21 CET 2004 - sbrabec@suse.cz + +- Removed references to mkinstalldirs in glib-gettextize (#36621). + +------------------------------------------------------------------- +Wed Mar 17 15:01:45 CET 2004 - sbrabec@suse.cz + +- Use -fno-strict-aliasing. + +------------------------------------------------------------------- +Mon Mar 15 14:36:10 CET 2004 - sbrabec@suse.cz + +- FHS 2.3 fix (mandir, infodir, #35821). + +------------------------------------------------------------------- +Wed Mar 10 10:35:22 CET 2004 - sbrabec@suse.cz + +- Fixed %doc attributes (#33163). + +------------------------------------------------------------------- +Fri Jan 9 22:49:12 CET 2004 - schwab@suse.de + +- Fix quoting in autoconf macros. + +------------------------------------------------------------------- +Fri Oct 17 11:58:43 CEST 2003 - adrian@suse.de + +- fix missing %run_ldconfig +- build as user + +------------------------------------------------------------------- +Wed Sep 24 12:33:24 CEST 2003 - sbrabec@suse.cz + +- Added errno save patches (g_strerror(errno) alters errno). + Fixes more issues, at least: + http://bugzilla.gnome.org/show_bug.cgi?id=116617 + http://bugzilla.gnome.org/show_bug.cgi?id=122939 + http://bugzilla.gnome.org/show_bug.cgi?id=123040 + +------------------------------------------------------------------- +Mon Sep 15 15:10:21 CEST 2003 - sf@suse.de + +- remove debug flags, add -O2 again + +------------------------------------------------------------------- +Thu Sep 11 11:07:14 CEST 2003 - sf@suse.de + +- fix segfault in eog on AMD64 [bug 30483] + +------------------------------------------------------------------- +Thu Aug 28 15:40:17 CEST 2003 - sbrabec@suse.cz + +- Updated to version 2.2.3. + +------------------------------------------------------------------- +Tue Jul 15 16:38:59 CEST 2003 - sbrabec@suse.cz + +- GNOME prefix change to /opt/gnome. +- Profile files modified. + +------------------------------------------------------------------- +Wed Jun 11 19:05:24 CEST 2003 - sbrabec@suse.cz + +- Updated to version 2.2.2. +- Require gnome-filesystem for glib2-doc. +- Updated neededforbuild. + +------------------------------------------------------------------- +Tue Mar 11 13:10:40 CET 2003 - olh@suse.de + +- provide static glib version (#24897) + +------------------------------------------------------------------- +Mon Feb 3 08:51:24 CET 2003 - hhetter@suse.de + +- updated to version 2.2.1, from changes: + * Win32 + - Improve handling of stderr/stdout + - Install .def files + - Fix quoting for GSpawn + - Miscellaneous bug fixes + * configure fixes + * New and updated translations + +------------------------------------------------------------------- +Fri Jan 10 15:46:36 CET 2003 - sbrabec@suse.cz + +- Branched glib2-doc. + +------------------------------------------------------------------- +Thu Jan 09 15:29:54 CET 2003 - sbrabec@suse.cz + +- Updated to version 2.2.0. +- Updated %files. + +------------------------------------------------------------------- +Tue Nov 5 10:20:12 CET 2002 - hhetter@suse.de + +- updated to version 2.0.7, bugfix release: + * Fix C++ warnings in gtype.h + * Fix g_type_fundamental_next() + * Fix various missing includes of config.h + * Handle main loop initialization before g_thread_init + * Various 64-bit fixes + * Fix GPoll on Win32 + * Fix bug with buffering on UTF-8 IOChannels + * Misc bug and build fixes + * Updated and new translations (be,cs,de,fa,it,lv,pt_BR,tr) + +------------------------------------------------------------------- +Tue Aug 13 13:34:18 CEST 2002 - hhetter@suse.de + +- gtk-doc usage conditional + +------------------------------------------------------------------- +Tue Aug 13 08:53:02 CEST 2002 - hhetter@suse.de + +- correct URL and Source tag in specfile (#17638) + +------------------------------------------------------------------- +Thu Aug 8 09:15:07 CEST 2002 - hhetter@suse.de + +- devel package requires glib2 + +------------------------------------------------------------------- +Mon Aug 5 09:45:53 CEST 2002 - hhetter@suse.de + +- updated to version 2.0.6, fron changes: + * Fix problem with interface prerequisites + * Clean up debug spew from GObject + * Compiler warning fixes + * Fix some problems with g_build_path() + * Fixes for --disable-debug + * Threading fixes + * Documentation fixes + * Misc bug fixes + * Updated translations (bg,ko,vi) + +------------------------------------------------------------------- +Mon Jun 17 18:32:00 CEST 2002 - jordi@suse.de + +- Updated to version 2.0.4 + * Fix some 64-bit problems + * Add note about Tru64 iconv to INSTALL + * Fix problem with timouts > MAXINT + * Updated translations + + +------------------------------------------------------------------- +Fri Jun 14 12:23:44 CEST 2002 - ro@suse.de + +- add gnome2.{sh,csh} to have /opt/gnome2/bin first in PATH + on 7.3 and older distros + +------------------------------------------------------------------- +Tue Jun 4 08:56:39 CEST 2002 - hhetter@suse.de + +- updated to version 2.0.3 + +------------------------------------------------------------------- +Thu Apr 25 16:50:03 CEST 2002 - meissner@suse.de + +- fixed %_lib issues. + +------------------------------------------------------------------- +Tue Apr 9 09:57:41 CEST 2002 - schwab@suse.de + +- Fix missing includes. + +------------------------------------------------------------------- +Mon Apr 8 10:18:54 CEST 2002 - hhetter@suse.de + +- updated to version 2.0.1 + +------------------------------------------------------------------- +Thu Jan 31 13:41:13 CET 2002 - hhetter@suse.de + +- updated to version 1.3.13 [GNOME desktop alpha2] + +------------------------------------------------------------------- +Fri Jan 11 10:43:56 CET 2002 - hhetter@suse.de + +- updated to version 1.3.12 + +------------------------------------------------------------------- +Tue Dec 11 14:11:28 CET 2001 - ro@suse.de + +- export LIBRARY_PATH for broken libtool + +------------------------------------------------------------------- +Tue Nov 27 11:42:06 CET 2001 - hhetter@suse.de + +- updated to version 1.3.11, changes include: + * Win32 fixes + * Documentation improvements + * Portable directory handling API + * Threading fixes + * Fix excess relocations in Unicode tables + * Fix gpattern for UTF-8 + * Support overriding class closures + * Support for derivation from G_TYPE_POINTER + * Hide pointers to type information inside GType to reduce locking + * Adds check for direct inclusion of gobject/*.h + * GObject API cleanups + +------------------------------------------------------------------- +Tue Nov 20 16:06:51 CET 2001 - ro@suse.de + +- really build libgmodule, libgobject and libgthread + +------------------------------------------------------------------- +Thu Nov 15 09:50:31 CET 2001 - hhetter@suse.de + +- fixed build to provide libgmodule and libgobject + +------------------------------------------------------------------- +Tue Nov 13 11:09:57 CET 2001 - hhetter@suse.de + +- updated to version 1.3.10 + +------------------------------------------------------------------- +Mon Oct 1 14:25:44 CEST 2001 - hhetter@suse.de + +- initial SuSE release for GNOME 2.0 platform + diff --git a/glib2.csh b/glib2.csh new file mode 100644 index 0000000..aac46f3 --- /dev/null +++ b/glib2.csh @@ -0,0 +1,468 @@ +# GLib filename encoding guesser. +# Author: Stanislav Brabec +# Additions are welcome. +# This script must be executed after setting LANG variable. + +# Try filenames which are invalid in UTF-8 as locale specific. +# For selected locales, G_FILENAME_ENCODING takes precedence. +setenv G_BROKEN_FILENAMES 1 + +# In West Europe there was used both ISO-8859-15 and ISO-8859-1. +# There is no chance to recognize it, so we must guess. +#set west_europe_legacy_encoding=ISO-8859-1 +set west_europe_legacy_encoding=ISO-8859-15 + +# In Russia, "official" encoding is ISO-8859-5, but most GNOME users +# preferred KOI8-R. We must guess. +#set russian_legacy_encoding=ISO-8859-5 +set russian_legacy_encoding=KOI8-R + +# In former Yugoslavia sr_YU have covered two different alphabets - +# one Latin and on Cyrillic. No chance to guess. +set sr_YU_legacy_encoding=ISO-8859-2,CP1250 +#set sr_YU_legacy_encoding=ISO-8859-5 + +# Japanese uses two legacy encodings. Guess sometimes fails, sometimes not. +# Defining preferred encoding increases chance for success. +set japanese_legacy_encoding=EUC-JP +#set japanese_legacy_encoding=SHIFT_JIS + +if (! ${?LANG} ) goto skip + +switch ( $LANG ) + case aa_DJ*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case af_ZA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case an_ES*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-15,CP1252 + breaksw + case ar_AE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_BH*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_DZ*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_EG*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_IQ*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_JO*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_KW*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_LB*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_LY*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_MA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_OM*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_QA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_SA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_SD*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_SY*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_TN*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case ar_YE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-6 + breaksw + case be_BY*: + setenv G_FILENAME_ENCODING @locale,UTF-8,CP1251 + breaksw + case bg_BG*: + setenv G_FILENAME_ENCODING @locale,UTF-8,CP1251 + breaksw + case br_FR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case bs_BA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250 + breaksw + case ca_ES*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case cs_CZ*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250 + breaksw + case cy_GB*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-14,CP1252 + breaksw + case da_DK*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case de_AT*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case de_BE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case de_DE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case de_CH*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case de_LU*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case el_GR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-7 + breaksw + case en_AU*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case en_BE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case en_BW*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case en_CA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case en_DK*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case en_GB*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case en_HK*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case en_IE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case en_NZ*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case en_PH*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case en_SG*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case en_US*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case en_ZA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case en_ZW*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_AR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_BO*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_CL*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_CO*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_CR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_DO*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_EC*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_ES*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case es_GT*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_HN*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_MX*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_NI*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_PA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_PE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_PR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_PY*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_SV*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_US*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_UY*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case es_VE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case et_EE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case eu_ES*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case fa_IR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,CP1256 + breaksw + case fi_FI*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case fo_FO*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case fr_BE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case fr_CA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case fr_FR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case fr_CH*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case fr_LU*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case ga_IE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case gd_GB*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-15,CP1252 + breaksw + case gl_ES*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case gv_GB*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case he_IL*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-8 + breaksw + case hr_HR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250 + breaksw + case hu_HU*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250 + breaksw + case hy_AM*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ARMSCII-8 + breaksw + case id_ID*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case is_IS*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case it_CH*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case it_IT*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case iw_IL*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-8 + breaksw + case ja_JP*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$japanese_legacy_encoding,EUC-JP,SHIFT_JIS,ISO-8859-1 + breaksw + case ka_GE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,GEORGIAN-PS + breaksw + case kl_GL*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case km_KH*: + setenv G_FILENAME_ENCODING @locale,UTF-8,GB18030 + breaksw + case ko_KR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,EUC-KR,ISO-8859-1 + breaksw + case kw_GB*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case lg_UG*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-10,CP1252 + breaksw + case lt_LT*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-13,CP1252 + breaksw + case lv_LV*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-13,CP1252 + breaksw + case mi_NZ*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-13,CP1252 + breaksw + case mk_MK*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-5,CP1251 + breaksw + case ms_MY*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case mt_MT*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-3 + breaksw + case nb_NO*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case nl_BE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case nl_NL*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case nn_NO*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case no_NO*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case oc_FR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case om_KE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case pl_PL*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250 + breaksw + case pt_BR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case pt_PT*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case ro_RO*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250 + breaksw + case ru_RU*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$russian_legacy_encoding,CP1251 + breaksw + case ru_UA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,KOI8-U + breaksw + case sh_YU*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250 + breaksw + case sk_SK*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250 + breaksw + case sl_SI*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-2,CP1250 + breaksw + case so_DJ*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case so_KE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case so_SO*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case sq_AL*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case sr_YU*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$sr_YU_legacy_encoding + breaksw + case st_ZA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case sv_FI*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case sv_SE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case tg_TJ*: + setenv G_FILENAME_ENCODING @locale,UTF-8,KOI8-T + breaksw + case th_TH*: + setenv G_FILENAME_ENCODING @locale,UTF-8,TIS-620,ISO-8859-1 + breaksw + case tl_PH*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case tr_TR*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-9 + breaksw + case uk_UA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,KOI8-U + breaksw + case uz_UZ*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case vi_VN*: + setenv G_FILENAME_ENCODING @locale,UTF-8,TCVN5712-1,ISO-8859-1 + breaksw + case wa_BE*: + setenv G_FILENAME_ENCODING @locale,UTF-8,$west_europe_legacy_encoding,CP1252 + breaksw + case xh_ZA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw + case yi_US*: + setenv G_FILENAME_ENCODING @locale,UTF-8,CP1255 + breaksw + case zh_CN*: + setenv G_FILENAME_ENCODING @locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1 + breaksw + case zh_HK*: + setenv G_FILENAME_ENCODING @locale,UTF-8,BIG5-HKSCS,ISO-8859-1 + breaksw + case zh_SG*: + setenv G_FILENAME_ENCODING @locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1 + breaksw + case zh_TW*: + setenv G_FILENAME_ENCODING @locale,UTF-8,BIG5,EUC-TW,ISO-8859-1 + breaksw + case zu_ZA*: + setenv G_FILENAME_ENCODING @locale,UTF-8,ISO-8859-1,CP1252 + breaksw +endsw + +skip: + +unset west_europe_legacy_encoding +unset russian_legacy_encoding +unset sr_YU_legacy_encoding diff --git a/glib2.sh b/glib2.sh new file mode 100644 index 0000000..b8f63c8 --- /dev/null +++ b/glib2.sh @@ -0,0 +1,465 @@ +# GLib filename encoding guesser. +# Author: Stanislav Brabec +# Additions are welcome. +# This script must be executed after setting LANG variable. + +# Try filenames which are invalid in UTF-8 as locale specific. +# For selected locales, G_FILENAME_ENCODING takes precedence. +export G_BROKEN_FILENAMES=1 + +# In West Europe there was used both ISO-8859-15 and ISO-8859-1. +# There is no chance to recognize it, so we must guess. +#west_europe_legacy_encoding=ISO-8859-1 +west_europe_legacy_encoding=ISO-8859-15 + +# In Russia, "official" encoding is ISO-8859-5, but most GNOME users +# preferred KOI8-R. We must guess. +#russian_legacy_encoding=ISO-8859-5 +russian_legacy_encoding=KOI8-R + +# In former Yugoslavia sr_YU have covered two different alphabets - +# one Latin and on Cyrillic. No chance to guess. +sr_YU_legacy_encoding=ISO-8859-2,CP1250 +#sr_YU_legacy_encoding=ISO-8859-5 + +# Japanese uses two legacy encodings. Guess sometimes fails, sometimes not. +# Defining preferred encoding increases chance for success. +japanese_legacy_encoding=EUC-JP +#japanese_legacy_encoding=SHIFT_JIS + +case $LANG in + aa_DJ* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + af_ZA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + an_ES* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252 + ;; + ar_AE* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_BH* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_DZ* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_EG* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_IQ* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_JO* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_KW* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_LB* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_LY* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_MA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_OM* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_QA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_SA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_SD* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_SY* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_TN* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + ar_YE* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6 + ;; + be_BY* ) + G_FILENAME_ENCODING=@locale,UTF-8,CP1251 + ;; + bg_BG* ) + G_FILENAME_ENCODING=@locale,UTF-8,CP1251 + ;; + br_FR* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + bs_BA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250 + ;; + ca_ES* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + cs_CZ* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250 + ;; + cy_GB* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-14,CP1252 + ;; + da_DK* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + de_AT* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + de_BE* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + de_DE* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + de_CH* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + de_LU* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + el_GR* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-7 + ;; + en_AU* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + en_BE* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + en_BW* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + en_CA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + en_DK* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + en_GB* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + en_HK* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + en_IE* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + en_NZ* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + en_PH* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + en_SG* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + en_US* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + en_ZA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + en_ZW* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_AR* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_BO* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_CL* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_CO* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_CR* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_DO* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_EC* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_ES* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + es_GT* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_HN* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_MX* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_NI* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_PA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_PE* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_PR* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_PY* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_SV* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_US* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_UY* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + es_VE* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + et_EE* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + eu_ES* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + fa_IR* ) + G_FILENAME_ENCODING=@locale,UTF-8,CP1256 + ;; + fi_FI* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + fo_FO* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + fr_BE* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + fr_CA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + fr_FR* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + fr_CH* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + fr_LU* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + ga_IE* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + gd_GB* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252 + ;; + gl_ES* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + gv_GB* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + he_IL* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-8 + ;; + hr_HR* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250 + ;; + hu_HU* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250 + ;; + hy_AM* ) + G_FILENAME_ENCODING=@locale,UTF-8,ARMSCII-8 + ;; + id_ID* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + is_IS* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + it_CH* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + it_IT* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + iw_IL* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-8 + ;; + ja_JP* ) + G_FILENAME_ENCODING=@locale,UTF-8,$japanese_legacy_encoding,EUC-JP,SHIFT_JIS,ISO-8859-1 + ;; + ka_GE* ) + G_FILENAME_ENCODING=@locale,UTF-8,GEORGIAN-PS + ;; + kl_GL* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + km_KH* ) + G_FILENAME_ENCODING=@locale,UTF-8,GB18030 + ;; + ko_KR* ) + G_FILENAME_ENCODING=@locale,UTF-8,EUC-KR,ISO-8859-1 + ;; + kw_GB* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + lg_UG* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-10,CP1252 + ;; + lt_LT* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252 + ;; + lv_LV* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252 + ;; + mi_NZ* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252 + ;; + mk_MK* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-5,CP1251 + ;; + ms_MY* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + mt_MT* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-3 + ;; + nb_NO* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + nl_BE* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + nl_NL* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + nn_NO* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + no_NO* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + oc_FR* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + om_KE* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + pl_PL* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250 + ;; + pt_BR* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + pt_PT* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + ro_RO* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250 + ;; + ru_RU* ) + G_FILENAME_ENCODING=@locale,UTF-8,$russian_legacy_encoding,CP1251 + ;; + ru_UA* ) + G_FILENAME_ENCODING=@locale,UTF-8,KOI8-U + ;; + sh_YU* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250 + ;; + sk_SK* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250 + ;; + sl_SI* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250 + ;; + so_DJ* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + so_KE* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + so_SO* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + sq_AL* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + sr_YU* ) + G_FILENAME_ENCODING=@locale,UTF-8,$sr_YU_legacy_encoding + ;; + st_ZA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + sv_FI* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + sv_SE* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + tg_TJ* ) + G_FILENAME_ENCODING=@locale,UTF-8,KOI8-T + ;; + th_TH* ) + G_FILENAME_ENCODING=@locale,UTF-8,TIS-620,ISO-8859-1 + ;; + tl_PH* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + tr_TR* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-9 + ;; + uk_UA* ) + G_FILENAME_ENCODING=@locale,UTF-8,KOI8-U + ;; + uz_UZ* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + vi_VN* ) + G_FILENAME_ENCODING=@locale,UTF-8,TCVN5712-1,ISO-8859-1 + ;; + wa_BE* ) + G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252 + ;; + xh_ZA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; + yi_US* ) + G_FILENAME_ENCODING=@locale,UTF-8,CP1255 + ;; + zh_CN* ) + G_FILENAME_ENCODING=@locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1 + ;; + zh_HK* ) + G_FILENAME_ENCODING=@locale,UTF-8,BIG5-HKSCS,ISO-8859-1 + ;; + zh_SG* ) + G_FILENAME_ENCODING=@locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1 + ;; + zh_TW* ) + G_FILENAME_ENCODING=@locale,UTF-8,BIG5,EUC-TW,ISO-8859-1 + ;; + zu_ZA* ) + G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252 + ;; +esac +export G_FILENAME_ENCODING + +unset west_europe_legacy_encoding +unset russian_legacy_encoding +unset sr_YU_legacy_encoding diff --git a/glib2.spec b/glib2.spec new file mode 100644 index 0000000..7719603 --- /dev/null +++ b/glib2.spec @@ -0,0 +1,523 @@ +# +# spec file +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "doc" +%global psuffix -doc +%else +%global psuffix %{nil} +%endif +%define libver 2_0-0 +%define libgio libgio-%{libver} +%define libglib libglib-%{libver} +%define libgmodule libgmodule-%{libver} +%define libgobject libgobject-%{libver} +%define libgthread libgthread-%{libver} +%bcond_without systemtap +Name: glib2%{psuffix} +Version: 2.76.2 +Release: 0 +Summary: General-Purpose Utility Library +License: LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +URL: https://wiki.gnome.org/Projects/GLib +Source0: https://download.gnome.org/sources/glib/2.76/glib-%{version}.tar.xz +Source1: glib2.sh +Source2: glib2.csh +# Not upstream file. Only proposes upstream packages: +Source4: glib2-upstream-gnome_defaults.conf +# Some documentation for people writing branding packages, shipped in the branding-upstream package +Source5: README.Gsettings-overrides +Source6: macros.glib2 +# zsh completion from https://github.com/jmatsuzawa/zsh-comp-gsettings +Source8: gsettings.zsh +Source98: glib2-rpmlintrc +Source99: baselibs.conf +# PATCH-FEATURE-UPSTREAM glib2-bgo569829-gettext-gkeyfile.patch fate300461 bgo569829 vuntz@novell.com -- Look for translation of desktop entry strings via gettext, part that we share with Ubuntu and try to push upstream +Patch0: glib2-bgo569829-gettext-gkeyfile.patch +# PATCH-FEATURE-OPENSUSE glib2-fate300461-gettext-gkeyfile-suse.patch fate300461 vuntz@novell.com -- Look for translation of desktop entry strings via gettext, part that deals with the openSUSE specific infrastructure (with desktop_translations) +Patch1: glib2-fate300461-gettext-gkeyfile-suse.patch +# PATCH-FIX-OPENSUSE glib2-suppress-schema-deprecated-path-warning.patch rh#814053 badshah400@gmail.com -- Suppress the deprecated path warning since it fills up screen unnecessarily during package installations/upgrade. +Patch2: glib2-suppress-schema-deprecated-path-warning.patch +# PATCH-FIX-OPENSUSE glib2-gdbus-codegen-version.patch olaf@aepfle.de -- Remove version string from files generated by gdbus-codegen +Patch4: glib2-gdbus-codegen-version.patch +# PATCH-FIX-UPSTREAM glib2-CVE-2024-34397.patch boo#1224044 mgorse@suse.com -- don't deliver DBus signals if the sender doesn't match. +Patch5: glib2-CVE-2024-34397.patch +# PATCH-FIX-UPSTREAM glib2-fix-ibus-regression.patch boo#1124044 mgorse@suse.com -- allow name owners to have the syntax of a well-known name. +Patch6: glib2-fix-ibus-regression.patch + +BuildRequires: docbook-xsl-stylesheets +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: libselinux-devel +BuildRequires: m4 +BuildRequires: meson >= 0.60.0 +BuildRequires: pkgconfig +BuildRequires: python3-base >= 3.5 +# gdbus-codegen is run during the build, so we need python3-xml +BuildRequires: python3-xml +BuildRequires: xsltproc +# Needed for gresource +BuildRequires: pkgconfig(libelf) >= 0.8.12 +BuildRequires: pkgconfig(libffi) >= 3.0.0 +BuildRequires: pkgconfig(libpcre2-8) >= 10.32 +BuildRequires: pkgconfig(mount) >= 2.28 +BuildRequires: pkgconfig(zlib) +%if "%{flavor}" == "doc" +# Split-provides +Provides: glib2-devel:%{_datadir}/gtk-doc/html/gobject/index.html +%endif +%if "%{flavor}" == "doc" +BuildRequires: glib2-devel +BuildRequires: gtk-doc >= 1.32 +%endif +%if %{with systemtap} +BuildRequires: systemtap-dtrace +BuildRequires: systemtap-headers +%endif + +%description +GLib is a general-purpose utility library, which provides many useful +data types, macros, type conversions, string utilities, file utilities, +a main loop abstraction, and so on. + +%if %{with doc} +This package provides the documentation for the GLib library. +%endif + +%package tools +Summary: Tools from glib2, a general-purpose utility library +# ensure libgio-2_0-0 is updated before glib2-tools' ensures glib-compile-schema to +# be functional when the file trigger fires (boo#1178713) +Group: Development/Libraries/C and C++ +Requires(post): %{libgio} = %{version} + +%description tools +GLib is a general-purpose utility library, which provides many useful +data types, macros, type conversions, string utilities, file utilities, +a main loop abstraction, and so on. + +%package -n gio-branding-upstream +Summary: Upstream definitions of default settings and applications +Group: System/Libraries +Requires: %{libgio} = %{version} +Supplements: (%{libgio} and branding-upstream) +Conflicts: gio-branding +Provides: %{name}-branding-upstream = %{version} +Obsoletes: %{name}-branding-upstream < %{version} +Provides: gio-branding = %{version} +BuildArch: noarch +#BRAND: The /etc/gnome_defaults.conf allows to define arbitrary +#BRAND: applications as preferred defaults. +#BRAND: A /usr/share/glib-2.0/schemas/$NAME.gschema.override file can +#BRAND: be used to override the default value for GSettings keys. See +#BRAND: README.Gsettings-overrides for more details. The branding +#BRAND: package should then have proper Requires for features changed +#BRAND: with such an override file. +# NOTE: gnome_defaults is not an upstream feature, but a SuSE +# enhancement, but to conform branding conventions, the package is named +# as gio-branding-upstream. + +%description -n gio-branding-upstream +This package provides upstream defaults for settings stored with +GSettings and applications used by the MIME system. + +%package devel +Summary: Development files for glib, a general-purpose utility library +# Now require the subpackages too +Group: Development/Libraries/C and C++ +Requires: %{libgio} = %{version} +Requires: %{libglib} = %{version} +Requires: %{libgmodule} = %{version} +Requires: %{libgobject} = %{version} +Requires: %{libgthread} = %{version} +Requires: glib2-tools = %{version} +Requires: glibc-devel +Requires: pkgconfig +# Required by gdbus-codegen +Requires: python3-xml +# + +%description devel +GLib is a general-purpose utility library, which provides many useful +data types, macros, type conversions, string utilities, file utilities, +a main loop abstraction, and so on. + +This package contains the development files for GLib. + +%package devel-static +Summary: Static libraries for glib, a general-purpose utility library +Group: Development/Libraries/C and C++ +Requires: %{name}-devel = %{version} + +%description devel-static +GLib is a general-purpose utility library, which provides many useful +data types, macros, type conversions, string utilities, file utilities, +a main loop abstraction, and so on. + +This package contains static versions of the GLib libraries. + +%package -n %{libglib} +Summary: General-Purpose Utility Library +Group: System/Libraries +Provides: %{name} = %{version} +Obsoletes: %{name} < %{version} +# + +%description -n %{libglib} +GLib is a general-purpose utility library, which provides many useful +data types, macros, type conversions, string utilities, file utilities, +a main loop abstraction, and so on. + +%package -n %{libgmodule} +Summary: General-Purpose Utility Library -- Library for Modules +Group: System/Libraries + +%description -n %{libgmodule} +GLib is a general-purpose utility library, which provides many useful +data types, macros, type conversions, string utilities, file utilities, +a main loop abstraction, and so on. + +The libgmodule library provides a portable way to dynamically load +object files (commonly known as 'plug-ins'). + +%package -n %{libgio} +Summary: A virtual file system library API +Group: System/Libraries +# The tools are useful for people having libgio +# bnc#555605: shared-mime-info is required by libgio to properly detect mime types, but not during build +#!BuildIgnore: shared-mime-info +Requires: %{name}-tools +# bnc#678518: libgio interacts with others by means of dbus-launch +Requires: dbus-launch +Requires: gio-branding = %{version} +Requires: shared-mime-info +# Needed for branding packages +Provides: gio = %{version} +# Temporarily disable this, pending further discussion +# Recommends: gvfs + +%description -n %{libgio} +GLib is a general-purpose utility library, which provides many useful +data types, macros, type conversions, string utilities, file utilities, +a main loop abstraction, and so on. + +GIO provides a modern, easy-to-use VFS API. + +%package -n %{libgthread} +Summary: Portable API from glib wrapping system threads +Group: System/Libraries + +%description -n %{libgthread} +GLib is a general-purpose utility library, which provides many useful +data types, macros, type conversions, string utilities, file utilities, +a main loop abstraction, and so on. + +The libgthread library provides a portable way to write multi-threaded +software. + +%package -n %{libgobject} +Summary: Object-Oriented Framework for C +Group: System/Libraries + +%description -n %{libgobject} +GLib is a general-purpose utility library, which provides many useful +data types, macros, type conversions, string utilities, file utilities, +a main loop abstraction, and so on. + +The GObject library provides an object-oriented framework for C. + +%package tests-devel +Summary: Tests for the glib2 package +Group: Development/Libraries/C and C++ +Requires: %{name}-devel = %{version} +Requires: %{name}-tests = %{version}-%{release} +Provides: %{name}-tests = %{version}-%{release} +Obsoletes: %{name}-tests < %{version}-%{release} + +%description tests-devel +The glib2-tests-devel package contains tests that can be used to verify +the functionality of the installed glib2 package. + +%lang_package + +%prep +%setup -q -n glib-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 + +cp -a %{SOURCE1} %{SOURCE2} %{SOURCE5} . +cp -a %{SOURCE4} gnome_defaults.conf +# replace /usr/bin/env shebangs +# /usr/bin/env @PYTHON@ -> /usr/bin/python3 +grep "%{_bindir}/env @PYTHON@" . -rl | xargs sed -i "s|%{_bindir}/env @PYTHON@|%{_bindir}/python3|g" +sed -i "s/1.32.1/1.32/" docs/reference/meson.build + +%build +%if %{with systemtap} +%global _lto_cflags %{nil} +%else +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects +%endif +%meson \ + --default-library=both \ + -Dselinux=enabled \ + -Dman=true \ +%if "%{flavor}" == "doc" + -Dgtk_doc=true \ +%endif +%if %{with systemtap} + -Dsystemtap=true \ + -Ddtrace=true \ +%else + -Dsystemtap=false \ + -Ddtrace=false \ +%endif + -Dinstalled_tests=true \ + %{nil} +%meson_build + +%install +%meson_install +%if "%{flavor}" == "doc" +find %{buildroot}/%{_prefix} -not -path "*%{_datadir}/gtk-doc/*" -delete || : +%else +%find_lang glib20 %{?no_lang_C} +mkdir -p %{buildroot}%{_sysconfdir}/profile.d +install -D -m0644 glib2.sh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.sh +install -D -m0644 glib2.csh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.csh +install -D -m0644 gnome_defaults.conf %{buildroot}%{_sysconfdir}/gnome_defaults.conf +# default apps magic +mkdir -p %{buildroot}%{_localstatedir}/cache/gio-2.0 %{buildroot}%{_datadir}/applications +>> %{buildroot}%{_localstatedir}/cache/gio-2.0/gnome-mimeapps.list +>> %{buildroot}%{_localstatedir}/cache/gio-2.0/xfce-mimeapps.list +>> %{buildroot}%{_localstatedir}/cache/gio-2.0/lxde-mimeapps.list +>> %{buildroot}%{_localstatedir}/cache/gio-2.0/pantheon-mimeapps.list +>> %{buildroot}%{_localstatedir}/cache/gio-2.0/budgie-mimeapps.list +>> %{buildroot}%{_localstatedir}/cache/gio-2.0/mate-mimeapps.list +ln -s %{_localstatedir}/cache/gio-2.0/gnome-mimeapps.list %{buildroot}%{_datadir}/applications/gnome-mimeapps.list +# gio-querymodules magic +%if "%{_lib}" == "lib64" +mv -T %{buildroot}%{_bindir}/gio-querymodules %{buildroot}%{_bindir}/gio-querymodules-64 +%endif +mkdir -p %{buildroot}%{_libdir}/gio/modules +>> %{buildroot}%{_libdir}/gio/modules/giomodule.cache +# gsettings magic +>> %{buildroot}%{_datadir}/glib-2.0/schemas/gschemas.compiled +# Install rpm macros +mkdir -p %{buildroot}%{_rpmmacrodir} +cp -t%{buildroot}%{_rpmmacrodir} %{SOURCE6} +# Install zsh completion for gsettings +mkdir -p %{buildroot}%{_datadir}/zsh/site-functions/ +cp -T %{SOURCE8} %{buildroot}%{_datadir}/zsh/site-functions/_gsettings +mkdir -p %{buildroot}%{_datadir}/gtk-doc/html +%fdupes %{buildroot}/%{_prefix} + +# Too many users complain about schemas compiled with wrong permissions +# when in fact the system just honours their umask setting +# subshell restores umask for paranoia mode +%define compile_schemas \ +(umask 022 && %{_bindir}/glib-compile-schemas %{_datadir}/glib-2.0/schemas) + +%filetriggerin -n glib2-tools -- %{_datadir}/glib-2.0/schemas +%{compile_schemas} + +%filetriggerpostun -n glib2-tools -- %{_datadir}/glib-2.0/schemas +%{compile_schemas} + +%post -n %{libglib} -p /sbin/ldconfig +%post -n %{libgobject} -p /sbin/ldconfig +%post -n %{libgthread} -p /sbin/ldconfig + +%post -n %{libgio} +%{ldconfig} +for ENV in gnome xfce lxde pantheon mate +do mimeapps="%{_localstatedir}/cache/gio-2.0/$ENV-mimeapps.list" && + 2>/dev/null <"${mimeapps}" || cat >"${mimeapps}" </dev/null)"} + ${(@f)"$(gsettings $1 $2 list-relocatable-schemas 2>/dev/null)"} + ) + if [[ $#schema_list == 0 ]]; then + schema_list=( + ${(@f)"$(gsettings list-schemas 2>/dev/null)"} + ${(@f)"$(gsettings list-relocatable-schemas 2>/dev/null)"} + ) + fi + _describe -t schemas 'schemas' schema_list -V +} + +(( $+functions[_gsettings_keys] )) || _gsettings_keys() { + local -a key_list + key_list=(${(@f)"$(gsettings $1 $2 list-keys $3 2>/dev/null)"}) + if [[ $#key_list == 0 ]]; then + key_list=(${(@f)"$(gsettings list-keys $3 2>/dev/null)"}) + fi + _describe -t keys 'keys' key_list -V +} + +# Complete possible values including bool and enum +(( $+functions[_gsettings_values] )) || _gsettings_values() { + local -a range + range=(${(@f)"$(gsettings $1 $2 range $3 $4 2>/dev/null)"}) + if [[ $#range == 0 ]]; then + range=(${(@f)"$(gsettings range $3 $4 2>/dev/null)"}) + fi + case "$range[1]" in + 'type b') + _gsettings_complete_bool + ;; + 'enum') + _gsettings_complete_enum $range[2,-1] + ;; + esac +} + +(( $+functions[_gsettings_complete_bool] )) || _gsettings_complete_bool() { + local -a bool_list + bool_list=('true' 'false') + _describe -t val-bool 'possible values (bool)' bool_list -V +} + +(( $+functions[_gsettings_complete_enum] )) || _gsettings_complete_enum() { + local -a enum_list + enum_list=(${(@Q)"${@}"}) + _describe -t val-enum 'possible values' enum_list -V +} + +_gsettings diff --git a/macros.glib2 b/macros.glib2 new file mode 100644 index 0000000..07f3ad1 --- /dev/null +++ b/macros.glib2 @@ -0,0 +1,69 @@ +# RPM macros for packages installing a GSettings schema or GIO module +# +### +# +# When a package installs a GSettings schemas, it should use all +# three macros: +# +# - %glib2_gsettings_schema_requires in the preamble +# - %glib2_gsettings_schema_post in %post +# - %glib2_gsettings_schema_postun in %postun +# +### +# +# When a package installs a GIO module, it should use all +# three macros: +# +# - %glib2_gio_module_requires in the preamble +# - %glib2_gio_module_post in %post +# - %glib2_gio_module_postun in %postun +# +# Note that %glib2_gio_module_post and %glib2_gio_module_postun can +# optionally take the path to the directory where modules live. This +# is useful for applications using the GIO module system on their own, +# since they will install modules in their own directory. If no +# argument is passed, the path for the modules for GIO itself is used. +# +### + +%glib2_gsettings_schema_requires \ +%nil + +%glib2_gsettings_schema_post \ +%nil + +%glib2_gsettings_schema_postun \ +%nil + +%glib2_gio_module_requires \ +Requires(post): glib2-tools \ +Requires(postun): glib2-tools + +# On install, update the cache +%glib2_gio_module_post() \ +%if "x%1" != "x%%1" \ + GIO_MODULES_DIR="%1" \ +%else \ + GIO_MODULES_DIR="%{_libdir}/gio/modules" \ +%endif \ +%if "%{_lib}" == "lib64" \ + %{_bindir}/gio-querymodules-64 "${GIO_MODULES_DIR}" \ +%else \ + %{_bindir}/gio-querymodules "${GIO_MODULES_DIR}" \ +%endif + +# On uninstall, update the cache. Note: we ignore upgrades (already +# handled in %post of the new package). +%glib2_gio_module_postun() \ +if [ $1 -eq 0 ]; then \ + %if "x%1" != "x%%1" \ + GIO_MODULES_DIR="%1" \ + %else \ + GIO_MODULES_DIR="%{_libdir}/gio/modules" \ + %endif \ + %if "%_lib" == "lib64" \ + %{_bindir}/gio-querymodules-64 "${GIO_MODULES_DIR}" \ + %else \ + %{_bindir}/gio-querymodules "${GIO_MODULES_DIR}" \ + %endif \ +fi