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:
@@ -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
|
||||
|
@@ -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
3
glib-2.73.3.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:df1a2b841667d6b48b2ef6969ebda4328243829f6e45866726f806f90f64eead
|
||||
size 5172836
|
117
glib2.changes
117
glib2.changes
@@ -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 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 <emilyyrose@gmail.com>
|
||||
|
||||
|
18
glib2.spec
18
glib2.spec
@@ -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
|
||||
|
Reference in New Issue
Block a user