diff --git a/0001-gmain-Add-a-missing-return-on-error-path-in-g_main_c.patch b/0001-gmain-Add-a-missing-return-on-error-path-in-g_main_c.patch deleted file mode 100644 index 68afafe..0000000 --- a/0001-gmain-Add-a-missing-return-on-error-path-in-g_main_c.patch +++ /dev/null @@ -1,31 +0,0 @@ -From c67dd9d3fe9186bef76ba682a7e277ccb7d95227 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Tue, 18 Jul 2023 11:31:01 +0100 -Subject: [PATCH] gmain: Add a missing return on error path in - g_main_context_release() - -This should have been in commit -3926af723a7469a2ea492307f421820361d617b3. - -Signed-off-by: Philip Withnall - -Fixes: #3054 ---- - glib/gmain.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/glib/gmain.c b/glib/gmain.c -index fac14224a..ccadf76ce 100644 ---- a/glib/gmain.c -+++ b/glib/gmain.c -@@ -3608,6 +3608,7 @@ g_main_context_release (GMainContext *context) - g_critical ("g_main_context_release() called on a context (%p, owner %p, " - "owner count %u) which is not acquired by the current thread", - context, context_owner, context_owner_count); -+ return; - } - #endif /* !G_DISABLE_CHECKS */ - --- -2.41.0 - diff --git a/3498.patch b/3498.patch deleted file mode 100644 index dd26286..0000000 --- a/3498.patch +++ /dev/null @@ -1,158 +0,0 @@ -From c49502582faedecc7020155d95b16c7a1d78d432 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= -Date: Thu, 13 Jul 2023 10:06:21 +0200 -Subject: [PATCH 1/2] gkeyfile: Ensure we don't add extra blank line above new - group - -A forgotten edge case in 86b4b045: when the last value of the last group -has been added via g_key_file_set_value() and it contains line breaks. -The best we can do in this case is probably to do nothing. - -Closes: #3047 -Fixes: 86b4b0453ea3a814167d4a5f7a4031d467543716 ---- - glib/gkeyfile.c | 6 +++++- - glib/tests/keyfile.c | 10 ++++++++++ - 2 files changed, 15 insertions(+), 1 deletion(-) - -diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c -index 145136706f..0e21ab4f14 100644 ---- a/glib/gkeyfile.c -+++ b/glib/gkeyfile.c -@@ -3858,8 +3858,12 @@ g_key_file_add_group (GKeyFile *key_file, - { - /* separate groups by a blank line if we don't keep comments or group is created */ - GKeyFileGroup *next_group = key_file->groups->next->data; -+ GKeyFileKeyValuePair *pair; -+ if (next_group->key_value_pairs != NULL) -+ pair = next_group->key_value_pairs->data; -+ - if (next_group->key_value_pairs == NULL || -- ((GKeyFileKeyValuePair *) next_group->key_value_pairs->data)->key != NULL) -+ (pair->key != NULL && !g_strstr_len (pair->value, -1, "\n"))) - { - GKeyFileKeyValuePair *pair = g_new (GKeyFileKeyValuePair, 1); - pair->key = NULL; -diff --git a/glib/tests/keyfile.c b/glib/tests/keyfile.c -index d3eed29841..80cdc93d8f 100644 ---- a/glib/tests/keyfile.c -+++ b/glib/tests/keyfile.c -@@ -480,6 +480,16 @@ test_comments (void) - G_KEY_FILE_ERROR_GROUP_NOT_FOUND); - g_assert_null (comment); - -+ g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/3047"); -+ -+ /* check if we don't add a blank line above new group if last value of preceding -+ * group was added via g_key_file_set_value() and contains line breaks */ -+ g_key_file_set_value (keyfile, "group4", "key1", "value1\n\n# group comment"); -+ g_key_file_set_string (keyfile, "group5", "key1", "value1"); -+ comment = g_key_file_get_comment (keyfile, "group5", NULL, &error); -+ check_no_error (&error); -+ g_assert_null (comment); -+ - g_key_file_free (keyfile); - } - --- -GitLab - - -From 51dfb3c229c0478b3615f486fbbc36de2586bd52 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= -Date: Thu, 13 Jul 2023 10:19:04 +0200 -Subject: [PATCH 2/2] gkeyfile: Skip group comment when adding a new key to a - group - -An oversight in 86b4b045: since the comment of group N now consists of -the last null-key values of group N-1, these keys must obviously be -skipped when adding a new non-null key to group N-1. - -Closes: #3047 -Fixes: 86b4b0453ea3a814167d4a5f7a4031d467543716 ---- - glib/gkeyfile.c | 19 ++++++++++++++----- - glib/tests/keyfile.c | 9 +++++++++ - 2 files changed, 23 insertions(+), 5 deletions(-) - -diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c -index 0e21ab4f14..4759051977 100644 ---- a/glib/gkeyfile.c -+++ b/glib/gkeyfile.c -@@ -573,7 +573,8 @@ static void g_key_file_remove_key_value_pair_node (GKeyFile - - static void g_key_file_add_key_value_pair (GKeyFile *key_file, - GKeyFileGroup *group, -- GKeyFileKeyValuePair *pair); -+ GKeyFileKeyValuePair *pair, -+ GList *sibling); - static void g_key_file_add_key (GKeyFile *key_file, - GKeyFileGroup *group, - const gchar *key, -@@ -1447,7 +1448,8 @@ g_key_file_parse_key_value_pair (GKeyFile *key_file, - pair->key = g_steal_pointer (&key); - pair->value = g_strndup (value_start, value_len); - -- g_key_file_add_key_value_pair (key_file, key_file->current_group, pair); -+ g_key_file_add_key_value_pair (key_file, key_file->current_group, pair, -+ key_file->current_group->key_value_pairs); - } - - g_free (key); -@@ -4034,10 +4036,11 @@ g_key_file_remove_group (GKeyFile *key_file, - static void - g_key_file_add_key_value_pair (GKeyFile *key_file, - GKeyFileGroup *group, -- GKeyFileKeyValuePair *pair) -+ GKeyFileKeyValuePair *pair, -+ GList *sibling) - { - g_hash_table_replace (group->lookup_map, pair->key, pair); -- group->key_value_pairs = g_list_prepend (group->key_value_pairs, pair); -+ group->key_value_pairs = g_list_insert_before (group->key_value_pairs, sibling, pair); - } - - static void -@@ -4047,12 +4050,18 @@ g_key_file_add_key (GKeyFile *key_file, - const gchar *value) - { - GKeyFileKeyValuePair *pair; -+ GList *lp; - - pair = g_new (GKeyFileKeyValuePair, 1); - pair->key = g_strdup (key); - pair->value = g_strdup (value); - -- g_key_file_add_key_value_pair (key_file, group, pair); -+ /* skip group comment */ -+ lp = group->key_value_pairs; -+ while (lp != NULL && ((GKeyFileKeyValuePair *) lp->data)->key == NULL) -+ lp = lp->next; -+ -+ g_key_file_add_key_value_pair (key_file, group, pair, lp); - } - - /** -diff --git a/glib/tests/keyfile.c b/glib/tests/keyfile.c -index 80cdc93d8f..2c8eca4ebc 100644 ---- a/glib/tests/keyfile.c -+++ b/glib/tests/keyfile.c -@@ -456,6 +456,15 @@ test_comments (void) - check_name ("group comment", comment, group_comment, 0); - g_free (comment); - -+ g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/3047"); -+ -+ /* check if adding a key to group N preserve group comment of group N+1 */ -+ g_key_file_set_string (keyfile, "group1", "key5", "value5"); -+ comment = g_key_file_get_comment (keyfile, "group2", NULL, &error); -+ check_no_error (&error); -+ check_name ("group comment", comment, group_comment, 0); -+ g_free (comment); -+ - g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/104"); - - /* check if comments above another group than the first one are properly removed */ --- -GitLab - diff --git a/fix-missing-exported-symbols.patch b/fix-missing-exported-symbols.patch deleted file mode 100644 index bbda17e..0000000 --- a/fix-missing-exported-symbols.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 6e29fbec2dbc513e81252d0a83ab1e860c80c002 Mon Sep 17 00:00:00 2001 -From: Harald van Dijk -Date: Tue, 18 Jul 2023 18:26:43 +0100 -Subject: [PATCH] Revert "build/gmodule-2.0.pc: Move compiler flags from Libs - to Cflags" - -This reverts commit 004f48f4fc8adfccad51e2a7f4608c7fe3c28c7c. - -Per the discussion on #3356, this change was prompted by a -misunderstanding of ldflags/link_args, and it resulted in various other -packages using glib no longer getting symbols exported. This commit -restores the glib 2.76 behaviour. ---- - gio/tests/meson.build | 2 +- - gmodule/meson.build | 6 ++---- - meson.build | 10 +++++----- - 3 files changed, 8 insertions(+), 10 deletions(-) - -diff --git a/gio/tests/meson.build b/gio/tests/meson.build -index 8d9c87c20c..1a0edad1f6 100644 ---- a/gio/tests/meson.build -+++ b/gio/tests/meson.build -@@ -774,7 +774,7 @@ if not meson.is_cross_build() - - resource_plugin += shared_module('resourceplugin', - sources: ['resourceplugin.c', plugin_resources_c], -- c_args : export_dynamic_cflags, -+ link_args : export_dynamic_ldflags, - dependencies : common_gio_tests_deps, - install_dir : installed_tests_execdir, - install_tag : 'tests', -diff --git a/gmodule/meson.build b/gmodule/meson.build -index f7b41536e3..da4d06cfb5 100644 ---- a/gmodule/meson.build -+++ b/gmodule/meson.build -@@ -115,24 +115,22 @@ pkg.generate(libgmodule, - description : 'Dynamic module loader for GLib', - ) - --pkg.generate(libraries : [libgmodule], -+pkg.generate(libraries : [libgmodule, export_dynamic_ldflags], - requires : ['glib-2.0'], - version : glib_version, - variables : [supported_var], - install_dir : glib_pkgconfigreldir, - filebase : 'gmodule-export-2.0', -- extra_cflags : export_dynamic_cflags, - name : 'GModule', - description : 'Dynamic module loader for GLib', - ) - --pkg.generate(libraries : [libgmodule], -+pkg.generate(libraries : [libgmodule, export_dynamic_ldflags], - requires : ['glib-2.0'], - version : glib_version, - variables : [supported_var], - install_dir : glib_pkgconfigreldir, - filebase : 'gmodule-2.0', -- extra_cflags : export_dynamic_cflags, - name : 'GModule', - description : 'Dynamic module loader for GLib', - ) -diff --git a/meson.build b/meson.build -index c7b5346260..3588dbe117 100644 ---- a/meson.build -+++ b/meson.build -@@ -2328,15 +2328,15 @@ if host_system == 'windows' - # Autotools explicitly removed --Wl,--export-all-symbols from windows builds, - # with no explanation. Do the same here for now but this could be revisited if - # if causes issues. -- export_dynamic_cflags = [] -+ export_dynamic_ldflags = [] - elif host_system == 'cygwin' -- export_dynamic_cflags = ['-Wl,--export-all-symbols'] -+ export_dynamic_ldflags = ['-Wl,--export-all-symbols'] - elif host_system in ['darwin', 'ios'] -- export_dynamic_cflags = [] -+ export_dynamic_ldflags = [] - elif host_system == 'sunos' -- export_dynamic_cflags = [] -+ export_dynamic_ldflags = [] - else -- export_dynamic_cflags = ['-Wl,--export-dynamic'] -+ export_dynamic_ldflags = ['-Wl,--export-dynamic'] - endif - - win32_cflags = [] --- -GitLab - diff --git a/glib2.spec b/glib2.spec index 9f63ef2..dfa10d3 100644 --- a/glib2.spec +++ b/glib2.spec @@ -1,5 +1,5 @@ Name: glib2 -Version: 2.77.0 +Version: 2.77.1 Release: %autorelease Summary: A library of handy utility functions @@ -11,21 +11,11 @@ Source0: https://download.gnome.org/sources/glib/2.77/glib-%{version}.tar.xz # https://bugzilla.redhat.com/show_bug.cgi?id=1630260 # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/903 Patch0: gnutls-hmac.patch -# Avoid making anaconda crash -# https://gitlab.gnome.org/GNOME/glib/-/issues/3054 -# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3501 -Patch1: 0001-gmain-Add-a-missing-return-on-error-path-in-g_main_c.patch # recent close_range() changes break CircleCI and GitHub actions -- we can remove this when # the baremetal Docker is updated there i.e. lets be a little bit pragmatic... Patch2: gspawn-eperm.patch -# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3504 -Patch3: fix-missing-exported-symbols.patch - -# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3498 -Patch4: 3498.patch - BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gettext diff --git a/sources b/sources index 7981958..425b2ee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glib-2.77.0.tar.xz) = 0e2f327bcaa71d3a6b495272c97ff762726261e2010e4db91c6538ec5013060949dcba5ddadceded4f7bce079c5d1823e49ca0e3a041f7b0b46d79783e005343 +SHA512 (glib-2.77.1.tar.xz) = 0f32eb7dcc652a727331226324225864212e14d0b1adac4493eb92f34c562cabd50cf8a602dae1b877e7adb73e038d2cc1e8d641e71eab77497990af4afb4906