Accepting request 1002622 from GNOME:Next

GNOME 43.rc - let's get this into Staging to see what we break (e.g meson:test seems to be an issue already)

OBS-URL: https://build.opensuse.org/request/show/1002622
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/glib2?expand=0&rev=488
This commit is contained in:
2022-09-13 07:32:50 +00:00
committed by Git OBS Bridge
parent 58567d73b5
commit dcb71f7730
5 changed files with 128 additions and 74 deletions

View File

@@ -1,61 +0,0 @@
From 99783e0408f8ae9628d2c7a30eb99806087da711 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@endlessos.org>
Date: Tue, 12 Jul 2022 16:07:23 +0100
Subject: [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.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Fixes: #2687
---
gio/gsocketclient.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/gio/gsocketclient.c b/gio/gsocketclient.c
index cd5aa074a1..8bcbdfa85d 100644
--- a/gio/gsocketclient.c
+++ b/gio/gsocketclient.c
@@ -1508,6 +1508,7 @@ typedef struct
GSocketClientAsyncConnectData *data; /* unowned */
GSource *timeout_source;
GCancellable *cancellable;
+ GCancellable *task_cancellable; /* (owned); this is equal to g_task_get_cancellable (ConnectionAttempt.data->task), but with a longer lifetime */
gulong cancelled_id;
grefcount ref;
} ConnectionAttempt;
@@ -1536,7 +1537,8 @@ connection_attempt_unref (gpointer pointer)
g_clear_object (&attempt->address);
g_clear_object (&attempt->socket);
g_clear_object (&attempt->connection);
- g_cancellable_disconnect (g_task_get_cancellable (attempt->data->task), attempt->cancelled_id);
+ g_cancellable_disconnect (attempt->task_cancellable, attempt->cancelled_id);
+ g_clear_object (&attempt->task_cancellable);
attempt->cancelled_id = 0;
g_clear_object (&attempt->cancellable);
g_clear_object (&attempt->proxy_addr);
@@ -2031,9 +2033,12 @@ g_socket_client_enumerator_callback (GObject *object,
data->connection_attempts = g_slist_append (data->connection_attempts, attempt);
if (g_task_get_cancellable (data->task))
- attempt->cancelled_id =
- g_cancellable_connect (g_task_get_cancellable (data->task), G_CALLBACK (on_connection_cancelled),
- g_object_ref (attempt->cancellable), g_object_unref);
+ {
+ attempt->task_cancellable = g_object_ref (g_task_get_cancellable (data->task));
+ attempt->cancelled_id =
+ g_cancellable_connect (attempt->task_cancellable, G_CALLBACK (on_connection_cancelled),
+ g_object_ref (attempt->cancellable), g_object_unref);
+ }
g_socket_connection_set_cached_remote_address ((GSocketConnection *)attempt->connection, address);
g_debug ("GSocketClient: Starting TCP connection attempt");
--
GitLab

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4a39a2f624b8512d500d5840173eda7fa85f51c109052eae806acece85d345f0
size 4893484

3
glib-2.73.3.tar.xz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:df1a2b841667d6b48b2ef6969ebda4328243829f6e45866726f806f90f64eead
size 5172836

View File

@@ -1,3 +1,16 @@
-------------------------------------------------------------------
Thu Sep 8 13:17:30 UTC 2022 - Stephan Kulow <coolo@suse.com>
- 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 <bjorn.lie@gmail.com>
- Drop 99783e0408f8ae9628d2c7a30eb99806087da711.patch for 2.73.x
branch, fixed upstream already.
-------------------------------------------------------------------
Thu Aug 25 11:24:35 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
@@ -11,6 +24,110 @@ Thu Aug 25 11:24:35 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
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 <bjorn.lie@gmail.com>
- 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 <dimstar@opensuse.org>
- 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 <dimstar@opensuse.org>
- Update to version 2.73.1:
+ Remove the `-Diconv` configure option, as GLib now uses Mesons
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 <emilyyrose@gmail.com>

View File

@@ -30,13 +30,13 @@
%define libgthread libgthread-%{libver}
%bcond_without systemtap
Name: glib2%{psuffix}
Version: 2.72.3
Version: 2.73.3
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.72/glib-%{version}.tar.xz
Source0: https://download.gnome.org/sources/glib/2.73/glib-%{version}.tar.xz
Source1: glib2.sh
Source2: glib2.csh
# Not upstream file. Only proposes upstream packages:
@@ -58,14 +58,12 @@ Patch2: glib2-suppress-schema-deprecated-path-warning.patch
Patch3: glib2-dbus-socket-path.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 commit/99783e0408f8ae9628d2c7a30eb99806087da711.patch -- gsocketclient: Fix passing NULL to g_task_get_cancellable()
Patch5: https://gitlab.gnome.org/GNOME/glib/-/commit/99783e0408f8ae9628d2c7a30eb99806087da711.patch
BuildRequires: docbook-xsl-stylesheets
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libselinux-devel
BuildRequires: m4
BuildRequires: meson >= 0.49.2
BuildRequires: meson >= 0.60.0
BuildRequires: pkgconfig
BuildRequires: python3-base >= 3.5
# gdbus-codegen is run during the build, so we need python3-xml
@@ -74,7 +72,7 @@ BuildRequires: xsltproc
# Needed for gresource
BuildRequires: pkgconfig(libelf) >= 0.8.12
BuildRequires: pkgconfig(libffi) >= 3.0.0
BuildRequires: pkgconfig(libpcre) >= 8.31
BuildRequires: pkgconfig(libpcre2-8) >= 10.32
BuildRequires: pkgconfig(mount) >= 2.28
BuildRequires: pkgconfig(zlib)
%if "%{flavor}" == "doc"
@@ -262,7 +260,6 @@ the functionality of the installed glib2 package.
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
cp -a %{SOURCE1} %{SOURCE2} %{SOURCE5} .
cp -a %{SOURCE4} gnome_defaults.conf
# replace /usr/bin/env shebangs
@@ -376,6 +373,7 @@ done
%files tools
%license COPYING
%doc README.md
%{_bindir}/gapplication
%{_bindir}/gdbus
%{_bindir}/gio
@@ -383,6 +381,7 @@ done
%{_bindir}/glib-compile-schemas
%{_bindir}/gresource
%{_bindir}/gsettings
%{_libexecdir}/gio-launch-desktop
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/gapplication
@@ -404,7 +403,6 @@ done
# have a better home... The zzz-glib2 scripts could arguably be in
# libglib-2_0-0 but that would break the shared library policy.
%{_sysconfdir}/profile.d/zzz-glib2.*
%doc README.md
%files -n gio-branding-upstream
%license COPYING
@@ -413,7 +411,7 @@ done
%files -n %{libglib}
%license COPYING
%doc AUTHORS README NEWS
%doc NEWS
%{_libdir}/libglib*.so.*
%files -n %{libgmodule}
@@ -447,7 +445,7 @@ done
%files devel
%license COPYING
%doc HACKING README.rationale
%doc HACKING
%{_bindir}/gdbus-codegen
%{_bindir}/glib-compile-resources
%{_bindir}/glib-genmarshal