Sync from SUSE:SLFO:Main glib2 revision 4ed6c65f1fa0897d115934ccd0babdfc

This commit is contained in:
Adrian Schröter 2024-11-12 12:09:31 +01:00
parent a041836165
commit 4e5adab4d4
10 changed files with 709 additions and 247 deletions

View File

@ -1,3 +1,4 @@
<multibuild>
<package>doc</package>
<package>stage1</package>
</multibuild>

19
_service Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0"?>
<services>
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://gitlab.gnome.org/GNOME/glib.git</param>
<param name="revision">2.82.2</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
<!-- <param name="changesgenerate">enable</param> -->
</service>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">zst</param>
</service>
<service name="set_version" mode="manual" />
</services>

175
files.glib2 Normal file
View File

@ -0,0 +1,175 @@
%files tools
%license LICENSES/LGPL-2.1-or-later.txt
%doc README.md
%{_bindir}/gapplication
%{_bindir}/gdbus
%{_bindir}/gio
%{_bindir}/gio-querymodules*
%{_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
%{_datadir}/bash-completion/completions/gdbus
%{_datadir}/bash-completion/completions/gio
%{_datadir}/bash-completion/completions/gresource
%{_datadir}/bash-completion/completions/gsettings
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_gsettings
%{_mandir}/man1/gapplication.1%{?ext_man}
%{_mandir}/man1/gdbus.1%{?ext_man}
%{_mandir}/man1/gio.1%{?ext_man}
%{_mandir}/man1/gio-querymodules.1%{?ext_man}
%{_mandir}/man1/glib-compile-schemas.1%{?ext_man}
%{_mandir}/man1/gresource.1%{?ext_man}
%{_mandir}/man1/gsettings.1%{?ext_man}
# We put those files here, but they don't really belong here. They just don't
# 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.*
%files -n gio-branding-upstream
%license LICENSES/LGPL-2.1-or-later.txt
%doc README.Gsettings-overrides
%config (noreplace) %{_sysconfdir}/gnome_defaults.conf
%files -n %{libglib}
%license LICENSES/LGPL-2.1-or-later.txt
%doc NEWS
%{_libdir}/libglib*.so.*
%files -n %{libgmodule}
%license LICENSES/LGPL-2.1-or-later.txt
%{_libdir}/libgmodule*.so.*
%files -n %{libgobject}
%license LICENSES/LGPL-2.1-or-later.txt
%{_libdir}/libgobject*.so.*
%files -n %{libgthread}
%license LICENSES/LGPL-2.1-or-later.txt
%{_libdir}/libgthread*.so.*
%files -n %{libgio}
%license LICENSES/LGPL-2.1-or-later.txt
%{_libdir}/libgio*.so.*
%dir %{_libdir}/gio
%dir %{_libdir}/gio/modules
%ghost %{_libdir}/gio/modules/giomodule.cache
%dir %{_datadir}/glib-2.0/
%dir %{_datadir}/glib-2.0/schemas/
%ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
%{_datadir}/applications/gnome-mimeapps.list
%dir %{_localstatedir}/cache/gio-2.0
%ghost %{_localstatedir}/cache/gio-2.0/gnome-mimeapps.list
%ghost %{_localstatedir}/cache/gio-2.0/xfce-mimeapps.list
%ghost %{_localstatedir}/cache/gio-2.0/lxde-mimeapps.list
%ghost %{_localstatedir}/cache/gio-2.0/pantheon-mimeapps.list
%ghost %{_localstatedir}/cache/gio-2.0/budgie-mimeapps.list
%ghost %{_localstatedir}/cache/gio-2.0/mate-mimeapps.list
%files devel
%license LICENSES/LGPL-2.1-or-later.txt
%{_bindir}/gdbus-codegen
%{_bindir}/gi-compile-repository
%{_bindir}/gi-decompile-typelib
%{_bindir}/gi-inspect-typelib
%{_bindir}/glib-compile-resources
%{_bindir}/glib-genmarshal
%{_bindir}/glib-gettextize
%{_bindir}/glib-mkenums
%{_bindir}/gobject-query
%{_bindir}/gtester
%{_bindir}/gtester-report
%{_mandir}/man1/gdbus-codegen*%{ext_man}
%{_mandir}/man1/gi-compile-repository.1%{?ext_man}
%{_mandir}/man1/gi-decompile-typelib.1%{?ext_man}
%{_mandir}/man1/gi-inspect-typelib.1%{?ext_man}
%{_mandir}/man1/glib-compile-resources.1%{ext_man}
%{_mandir}/man1/glib-genmarshal.1%{ext_man}
%{_mandir}/man1/glib-gettextize.1%{ext_man}
%{_mandir}/man1/glib-mkenums.1%{ext_man}
%{_mandir}/man1/gobject-query.1%{ext_man}
%{_mandir}/man1/gtester-report.1%{?ext_man}
%{_mandir}/man1/gtester.1%{ext_man}
%dir %{_datadir}/aclocal
%{_datadir}/aclocal/glib-2.0.m4
%{_datadir}/aclocal/glib-gettext.m4
%{_datadir}/aclocal/gsettings.m4
%dir %{_datadir}/gettext/its/
%{_datadir}/gettext/its/gschema*
%dir %{_datadir}/glib-2.0/
%{_datadir}/glib-2.0/dtds/
%{_datadir}/glib-2.0/gdb/
%{_datadir}/glib-2.0/gettext/
%{_datadir}/glib-2.0/codegen/
%{_datadir}/glib-2.0/schemas/gschema.dtd
%{_datadir}/glib-2.0/valgrind/
%{_includedir}/glib-2.0
%{_includedir}/gio-unix-2.0
%{_libdir}/lib*.so
%dir %{_libdir}/glib-2.0/
%{_libdir}/glib-2.0/include/
%{_libdir}/pkgconfig/*.pc
%{_datadir}/gdb/auto-load/%{_libdir}/*-gdb.py
%if %{with systemtap}
%dir %{_datadir}/systemtap
%dir %{_datadir}/systemtap/tapset
%dir %{_datadir}/systemtap/tapset/*
%{_datadir}/systemtap/tapset/*/libgio-*.so.*.stp
%{_datadir}/systemtap/tapset/*/libglib-*.so.*.stp
%{_datadir}/systemtap/tapset/*/libgobject-*.so.*.stp
%endif
%{_rpmmacrodir}/macros.glib2
# Own these directories to avoid build requirement on gdb
# only for directories ownership
%dir %{_datadir}/gdb
%dir %{_datadir}/gdb/auto-load
%dir %{_datadir}/gdb/auto-load%{_prefix}
%dir %{_datadir}/gdb/auto-load%{_libdir}
%{_datadir}/gir-1.0/GIRepository-3.0.gir
%{_datadir}/gir-1.0/GLib-2.0.gir
%{_datadir}/gir-1.0/GModule-2.0.gir
%{_datadir}/gir-1.0/GObject-2.0.gir
%{_datadir}/gir-1.0/Gio-2.0.gir
%{_datadir}/gir-1.0/GLibUnix-2.0.gir
%{_datadir}/gir-1.0/GioUnix-2.0.gir
%files -n typelib-1_0-GLibUnix-2_0
%{_libdir}/girepository-1.0/GLibUnix-2.0.typelib
%files -n typelib-1_0-GIRepository-3_0
%{_libdir}/girepository-1.0/GIRepository-3.0.typelib
%files -n typelib-1_0-GLib-2_0
%{_libdir}/girepository-1.0/GLib-2.0.typelib
%files -n typelib-1_0-GModule-2_0
%{_libdir}/girepository-1.0/GModule-2.0.typelib
%files -n typelib-1_0-GObject-2_0
%{_libdir}/girepository-1.0/GObject-2.0.typelib
%files -n typelib-1_0-Gio-2_0
%{_libdir}/girepository-1.0/Gio-2.0.typelib
%{_libdir}/girepository-1.0/GioUnix-2.0.typelib
%files -n %{libgirepository}
%{_libdir}/libgirepository-2.0.so.0*
%files devel-static
%license LICENSES/LGPL-2.1-or-later.txt
%{_libdir}/lib*.a
%files lang -f glib20.lang
%license LICENSES/LGPL-2.1-or-later.txt
%files tests-devel
%license LICENSES/LGPL-2.1-or-later.txt
%{_libexecdir}/installed-tests
%attr(0755 - -) %{_libexecdir}/installed-tests/glib/taptestrunner.py
%attr(0755 - -) %{_libexecdir}/installed-tests/glib/x-content/unix-software/autorun.sh
%{_datadir}/installed-tests

63
files.stage1 Normal file
View File

@ -0,0 +1,63 @@
%ldconfig_scriptlets
%files
%dir %{_libdir}/glib-2.0
%dir %{_libdir}/glib-2.0/include
%dir %{_datadir}/gdb/auto-load/usr
%dir %{_datadir}/gdb/auto-load%{_libdir}
%dir %{_datadir}/gettext/its
%dir %{_datadir}/gdb
%dir %{_datadir}/gdb/auto-load
%{_bindir}/gapplication
%{_bindir}/gdbus
%{_bindir}/gdbus-codegen
%{_bindir}/gi-compile-repository
%{_bindir}/gi-decompile-typelib
%{_bindir}/gi-inspect-typelib
%{_bindir}/gio
%{_bindir}/gio-querymodules
%{_bindir}/glib-compile-resources
%{_bindir}/glib-compile-schemas
%{_bindir}/glib-genmarshal
%{_bindir}/glib-gettextize
%{_bindir}/glib-mkenums
%{_bindir}/gobject-query
%{_bindir}/gresource
%{_bindir}/gsettings
%{_bindir}/gtester
%{_bindir}/gtester-report
%{_datadir}/aclocal/glib-2.0.m4
%{_datadir}/aclocal/glib-gettext.m4
%{_datadir}/aclocal/gsettings.m4
%{_datadir}/bash-completion/completions/gapplication
%{_datadir}/bash-completion/completions/gdbus
%{_datadir}/bash-completion/completions/gio
%{_datadir}/bash-completion/completions/gresource
%{_datadir}/bash-completion/completions/gsettings
%{_datadir}/gdb/auto-load%{_libdir}/libglib-2.0.so.*gdb.py
%{_datadir}/gdb/auto-load%{_libdir}/libgobject-2.0.so.*gdb.py
%{_datadir}/gettext/its/gschema.its
%{_datadir}/gettext/its/gschema.loc
%{_datadir}/glib-2.0/
%{_includedir}/gio-unix-2.0
%{_includedir}/glib-2.0
%{_libdir}/glib-2.0/include/glibconfig.h
%{_libdir}/libgio-2.0.so*
%{_libdir}/libgirepository-2.0.so*
%{_libdir}/libglib-2.0.so*
%{_libdir}/libgmodule-2.0.so*
%{_libdir}/libgobject-2.0.so*
%{_libdir}/libgthread-2.0.so*
%{_libdir}/pkgconfig/gio-2.0.pc
%{_libdir}/pkgconfig/gio-unix-2.0.pc
%{_libdir}/pkgconfig/girepository-2.0.pc
%{_libdir}/pkgconfig/glib-2.0.pc
%{_libdir}/pkgconfig/gmodule-2.0.pc
%{_libdir}/pkgconfig/gmodule-export-2.0.pc
%{_libdir}/pkgconfig/gmodule-no-export-2.0.pc
%{_libdir}/pkgconfig/gobject-2.0.pc
%{_libdir}/pkgconfig/gthread-2.0.pc
%{_libexecdir}/gio-launch-desktop

BIN
glib-2.78.6.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
glib-2.82.2.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

4
glib.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: glib
version: 2.82.2
mtime: 1729163321
commit: 45b469ea32ac1072be580a8c3db94413738c4dd3

View File

@ -1,8 +1,8 @@
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:
diff --git a/gio/gdbus-2.0/codegen/codegen.py b/gio/gdbus-2.0/codegen/codegen.py
index 2e8ef8e2..772dad77 100644
--- a/gio/gdbus-2.0/codegen/codegen.py
+++ b/gio/gdbus-2.0/codegen/codegen.py
@@ -98,8 +98,7 @@ class HeaderCodeGenerator:
# ----------------------------------------------------------------------------------------------------
def generate_header_preamble(self):
@ -12,7 +12,7 @@ Index: glib-2.70.0/gio/gdbus-2.0/codegen/codegen.py
self.outfile.write("\n")
if self.use_pragma:
@@ -1040,8 +1039,7 @@ class InterfaceInfoHeaderCodeGenerator:
@@ -1043,8 +1042,7 @@ class InterfaceInfoHeaderCodeGenerator:
# ----------------------------------------------------------------------------------------------------
def generate_header_preamble(self):
@ -22,7 +22,7 @@ Index: glib-2.70.0/gio/gdbus-2.0/codegen/codegen.py
self.outfile.write("\n")
if self.use_pragma:
@@ -1112,8 +1110,7 @@ class InterfaceInfoBodyCodeGenerator:
@@ -1115,8 +1113,7 @@ class InterfaceInfoBodyCodeGenerator:
# ----------------------------------------------------------------------------------------------------
def generate_body_preamble(self):
@ -32,13 +32,12 @@ Index: glib-2.70.0/gio/gdbus-2.0/codegen/codegen.py
if self.symbol_decoration_define is not None:
self.outfile.write("\n")
@@ -1466,8 +1463,7 @@ class CodeGenerator:
# ----------------------------------------------------------------------------------------------------
@@ -1469,7 +1466,7 @@ class CodeGenerator:
def generate_body_preamble(self):
- basenames = ", ".join(self.input_files_basenames)
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)

View File

@ -1,26 +1,149 @@
-------------------------------------------------------------------
Mon May 20 21:44:26 UTC 2024 - Michael Gorse <mgorse@suse.com>
Thu Oct 17 12:05:15 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.78.6 (boo#1224044):
+ Fix a regression with IBus caused by the fix for CVE-2024-34397
+ Changes in version 2.78.5:
- Update to version 2.82.2:
+ Bugs fixed:
- glib/gvariant: incorrect use of G_ANALYZER_ANALYZING
- Multicast cannot be joined on Mac OS on non-default interface
- glib/gvariant: Fix check for G_ANALYZER_ANALYZING
- macos: Fix URL launcher
- gopenuriportal: Fix two memory leaks
- gio: Fix multicast iface selection on macOS
- gdatainputstream: Fix length return value on UTF-8 validation
failure
+ Updated translations.
-------------------------------------------------------------------
Fri Sep 20 05:59:19 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.82.1:
+ Fix a potential buffer overflow in `GSocks4aProxy`
+ Bugs fixed:
- Test /unix-mounts/get-mount-entries fails unless libmount is
enabled
- Buffer overflow in set_connect_msg()
- tests: Test against a sample mtab file in unix-mounts for
getmntent()
- tests: Run lint tests with detected bash
- docs(glib): Fix link in string-utils ref
- Move to Apple Silicon based runner
- gsocks4aproxy: Fix a single byte buffer overflow in connect
messages
+ Updated translations.
-------------------------------------------------------------------
Tue Aug 27 12:00:06 UTC 2024 - pgajdos@suse.com
- remove dependency on /usr/bin/python3 using
%python3_fix_shebang{,_path} macros, [bsc#1212476]
-------------------------------------------------------------------
Mon Aug 26 10:49:32 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.82.0:
+ Change the default value of -Dglib_debug from `auto` to
`enabled` for developers — distributions will almost certainly
want to override it to `-Dglib_debug=disabled` for package
release builds though.
+ Revert per-instance locking changes in `GCancellable` as they
introduced new races.
+ Bugs fixed:
- Investigate trampoline performance implications in
g_mutex_lock_impl() changes
- Default value for glib_debug meson option
- wrong comment in gmessage.c:escape_string
- Should check for epoll_create1 rather than epoll_create
- Gio.MenuModel docs have an outdated UI example
- gunixmounts: Fix use of uninitialised variable
- tests: Run expected-to-hang cancellable tests in subprocesses
- CI/msys2-mingw32: Set the G_DEBUGGER environment variable
- Revert "GCancellable: Use per-instance mutex logic instead of
global critical sections”
- Various small backports
- Backport “gthread: Move thread _impl functions to static
inlines for speed”
+ Updated translations.
- Pass glib_debug=disabled to meson as recommended by upstream and
pass sysprof=disabled to meson, avoid pulling in extra
dependencies.
- Drop python enviroment fix, no longer needed.
-------------------------------------------------------------------
Mon Aug 26 10:45:18 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.80.5:
+ Bugs fixed:
- Fix gsocketclient-slow test on FreeBSD
- glib-private: fix build under Cygwin
- tests: Fix compilation of resolver-parsing test on FreeBSD
- introspection: Correct GIO-Windows pkg-config name
+ Updated translations
-------------------------------------------------------------------
Mon Jul 8 18:19:52 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.80.4:
+ Bugs fixed:
- GLib unit tests fail on macOS runner due to localhost being
out of addresses
- Random failures to build glib 2.80.3
- Backport !4111 “gioerror: Map EADDRNOTAVAIL to
G_IO_ERROR_CONNECTION_REFUSED” to glib-2-80
- Backport !3373 and !4117 “Handle files >4GB in
g_file_load_contents()“ to glib-2-80
- Backport !4020 and !4122: fixes to GIR install locations and
build race fixes
- Backport !4110 “gthreadedresolver: ref-sink returned records
in lookup_records()” to glib-2-80
-------------------------------------------------------------------
Tue Jun 11 07:14:25 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.80.3:
+ Bugs fixed:
- g_socket_client_connect_to_host_async leaks memory when
target host doesn't respond to ARP.
- gi_repository_find_by_gtype is nondeterministic.
- Crash in error path of g_dbus_connection_export_menu_model().
- Backport !4057 “gdbusmessage: Clean the cached arg0 when
setting the message body” to glib-2-80.
- Backport !4058 “Tests: Build fixes when running `meson test`
without previous builds“ to glib-2-80
- Partially backport !4059 “tests: Fix various memory leaks and
valgrind / ASAN errors” to glib-2-80
- Backport !4066 “Fix several GCC 14 warnings to please
msys2-mingw32 CI” to glib-2-80
- Backport !4065 “girepository: Don't assume a bitfield has a
fixed size” to glib-2-80
- Backport !4073 “gmenuexporter: Fix a NULL pointer dereference
on an error handling path” to glib-2-80
- Backport !4078 “tests: Fix clang compilation failure due to
unrecognised option in pragma” to glib-2-80.
- Backport !4033 “girepository: Keep an ordered list of the
loaded typelibs” to glib-2-80
- Backport !4104 “gsocketclient: Fix a leak of the task data on
an error path” to glib-2-80
+ Updated translations.
-------------------------------------------------------------------
Mon May 13 14:07:04 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.80.2:
+ Fix a regression with IBus caused by the fix for
CVE-2024-34397.
+ Fix installation directory of the GVariant specification.
+ Bugs fixed:
- GVariant specification installed in wrong directory.
- Backport "gdbusconnection: Fix test signal subscription
ordering" to glib-2-80.
- Backport “Correct installation directory of GVariant
specification” to glib-2-80.
- Backport “gdbusconnection: Allow name owners to have the
syntax of a well-known name” to glib-2-80.
- Changes from version 2.80.1
+ Fix CVE-2024-34397: GDBus signal subscriptions for well-known
names are vulnerable to unicast spoofing.
+ Bugs fixed:
- gvfs-udisks2-volume-monitor SIGSEGV in
g_content_type_guess_for_tree() due to filename with bad
encoding
- gcontenttype: Make filename valid utf-8 string before
processing.
- “gdbusconnection: Don't deliver signals if the sender
doesn't match.
+ Changes in version 2.78.4:
+ Bugs fixed:
- “Fix generated RST anchors for methods, signals and
properties.
- docs/reference: depend on a native gtk-doc.
- “gobject_gdb.py: Do not break bt on optimized build.
- “gregex: clean up usage of _GRegex.jit_status.
names are vulnerable to unicast spoofing (boo#1224044).
+ Updated translations.
-------------------------------------------------------------------
Tue Apr 2 16:17:11 UTC 2024 - Dirk Müller <dmueller@suse.com>
@ -28,6 +151,104 @@ Tue Apr 2 16:17:11 UTC 2024 - Dirk Müller <dmueller@suse.com>
- require dbus-launch only if dbus-service is wanted. This helps
with stripping down container-only builds (jsc#PED-8153)
-------------------------------------------------------------------
Mon Mar 18 12:25:33 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Fold typelib-1_0-GioUnix-2_0 into typeib-1_0-Gio-2_0: gjs loads
GioUnix as platform-specific overlay to Gio transparently. Any
consumer that wants Gio needs GioUnix on Unix-like systems
(boo#1211604).
-------------------------------------------------------------------
Fri Mar 8 07:28:10 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.80.0:
+ Bugs fixed:
- GLib: string malformed for gettext.
- Add missing argument placeholders to several command-line
tools.
- g_warn_if_fail: Document as always evaluating expr.
- docs:
. Fix a typo in the macros docs page.
. Specify gi-docgen as a native dependency.
. Fix building with docs enabled and introspection disabled.
. Minor improvements to GSignal documentation.
+ Updated translations.
-------------------------------------------------------------------
Wed Mar 6 14:32:51 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Create glib2-stage1: build glib2 without intrsospection. This
intermediate glib2-stage1-devel is used to the build
gobject-introspection, which in turn is needed to build the real
glib2 packages.
-------------------------------------------------------------------
Tue Feb 27 10:43:06 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.79.3:
+ Various consistency improvements to the command line
libgirepository tools
-------------------------------------------------------------------
Tue Feb 13 09:20:25 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.79.2:
+ More work to reduce lock contention and improve performance in
GObject.
+ More API changes to libgirepository, which is now stable as of
this release.
+ Import `g-ir-compiler`, `g-ir-generate` and `g-ir-inspect`
from gobject-introspection.git and update them to work with
girepository-2.0, renaming them to `gi-compile-repository`,
`gi-decompile-typelib` and`gi-inspect-typelib`.
+ Add new `GLibUnix-2.0.gir`, `GLibWin32-2.0.gir`,
`GioUnix-2.0.gir` and `GioWin32-2.0.gir` GIRs which contain
platform specific APIs, and are the preferred way for third
parties to access those APIs in future; although platform
specific APIs which were already exposed in `GLib-2.0.gir` and
`Gio-2.0.gir` continue to be listed there; the underlying `.so`
files have not changed.
-------------------------------------------------------------------
Mon Jan 29 13:38:52 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.79.1:
+ Fix a race condition in `g_object_unref()`,
+ Various API and build changes to libgirepository as it is not
yet API-stable,
+ Build fixes on big-endian 64-bit systems and mips64el,
+ Reduce contention on global locks within GObject,
+ Allow building man pages without the reference documentation,
-------------------------------------------------------------------
Tue Jan 16 07:51:52 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 2.79.0+158:
+ Port to gi-docgen and drop gtk-doc support — dependencies have
changed, and Meson needs `-Ddocumentation` now rather than
`-Dgtk_doc.
+ Move libgirepository into glib.git from
gobject-introspection.git — but tools like `g-ir-scanner` are
currently still in gobject-introspection.git. For the moment,
glib.git needs to be built twice, once with
`-Dintrospection=false`, then build gobject-introspection.git,
then re-build glib.git with `-Dintrospection=true`. This
process will evolve throughout the GLib 2.80 cycle. The API and
ABI of libgirepository has changed, and accordingly its version
number has been bumped from 1.0 to 2.0 (note: the version
number of `GIRepository-*.gir` has been bumped from 2.0 to 3.0.
+ Match behaviour for `GAppInfo` searches has changed.
+ Rename `GTK_USE_PORTAL` environment variable to
`GIO_USE_PORTALS`.
+ Bump Meson dependency to 1.2.0 and depend on Python `packaging`
module.
- Add pkgconfig(gobject-introspection-1.0) BuildRequires: new
dependency.
- For doc flavor: replace gtk-doc BuildRequires with
pkgconfig(gi-docgen), following upstreams port to gi-docgen.
- Convert to source service for easier updating.
-------------------------------------------------------------------
Thu Dec 7 10:52:01 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>

View File

@ -1,7 +1,7 @@
#
# spec file
# spec file for package glib2
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -19,8 +19,15 @@
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "doc"
%global psuffix -doc
%bcond_with systemtap
%else
%if "%{flavor}" == "stage1"
%global psuffix -stage1-devel
%bcond_with systemtap
%else
%global psuffix %{nil}
%bcond_without systemtap
%endif
%endif
%define libver 2_0-0
%define libgio libgio-%{libver}
@ -28,15 +35,15 @@
%define libgmodule libgmodule-%{libver}
%define libgobject libgobject-%{libver}
%define libgthread libgthread-%{libver}
%bcond_without systemtap
%define libgirepository libgirepository-%{libver}
Name: glib2%{psuffix}
Version: 2.78.6
Version: 2.82.2
Release: 0
Summary: General-Purpose Utility Library
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
URL: https://gitlab.gnome.org/GNOME/glib/
Source0: https://download.gnome.org/sources/glib/2.78/glib-%{version}.tar.xz
Source0: glib-%{version}.tar.zst
Source1: glib2.sh
Source2: glib2.csh
# Not upstream file. Only proposes upstream packages:
@ -48,6 +55,8 @@ Source6: macros.glib2
Source8: gsettings.zsh
Source98: glib2-rpmlintrc
Source99: baselibs.conf
Source200: files.glib2
Source201: files.stage1
# 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)
@ -56,7 +65,6 @@ Patch1: glib2-fate300461-gettext-gkeyfile-suse.patch
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
BuildRequires: docbook-xsl-stylesheets
BuildRequires: fdupes
BuildRequires: gcc-c++
@ -65,6 +73,7 @@ BuildRequires: m4
BuildRequires: meson >= 0.60.0
BuildRequires: pkgconfig
BuildRequires: python3-base >= 3.5
BuildRequires: python3-docutils
# gdbus-codegen is run during the build, so we need python3-xml
BuildRequires: python3-xml
BuildRequires: xsltproc
@ -74,18 +83,33 @@ BuildRequires: pkgconfig(libffi) >= 3.0.0
BuildRequires: pkgconfig(libpcre2-8) >= 10.32
BuildRequires: pkgconfig(mount) >= 2.28
BuildRequires: pkgconfig(zlib)
%if "%{flavor}" != "stage1"
BuildRequires: pkgconfig(gobject-introspection-1.0)
%endif
%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
BuildRequires: pkgconfig(gi-docgen)
%endif
%if %{with systemtap}
BuildRequires: systemtap-dtrace
BuildRequires: systemtap-headers
%endif
%if "%{flavor}" == "stage1"
Requires: this-is-only-for-build-envs
Conflicts: %{libgio}
Conflicts: %{libgirepository}
Conflicts: %{libglib}
Conflicts: %{libgmodule}
Conflicts: %{libgobject}
Conflicts: %{libgthread}
Conflicts: glib2-devel
Conflicts: glib2-tools
Conflicts: glib2-tools-32bit
%endif
%description
GLib is a general-purpose utility library, which provides many useful
@ -135,9 +159,12 @@ 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++
# GDbusTest launches dbus-daemon with a special env to not interfere with
# the real session bus.
Requires: %{_bindir}/dbus-daemon
Requires: %{libgio} = %{version}
Requires: %{libgirepository} = %{version}
Requires: %{libglib} = %{version}
Requires: %{libgmodule} = %{version}
Requires: %{libgobject} = %{version}
@ -147,9 +174,12 @@ Requires: glibc-devel
Requires: pkgconfig
# Required by gdbus-codegen
Requires: python3-xml
# GDbusTest launches dbus-daemon with a special env to not interfere with
# the real session bus.
Requires: %{_bindir}/dbus-daemon
Requires: typelib-1_0-GIRepository-3_0 = %{version}
Requires: typelib-1_0-GLib-2_0 = %{version}
Requires: typelib-1_0-GLibUnix-2_0 = %{version}
Requires: typelib-1_0-GModule-2_0 = %{version}
Requires: typelib-1_0-GObject-2_0 = %{version}
Requires: typelib-1_0-Gio-2_0 = %{version}
#
%description devel
@ -201,9 +231,9 @@ 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: (%{_bindir}/dbus-launch if dbus-service)
Requires: %{name}-tools
Requires: gio-branding = %{version}
Requires: shared-mime-info
# Needed for branding packages
@ -241,6 +271,17 @@ a main loop abstraction, and so on.
The GObject library provides an object-oriented framework for C.
%package -n %{libgirepository}
Summary: Object-Oriented Framework for C
Group: System/Libraries
%description -n %{libgirepository}
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++
@ -253,6 +294,76 @@ Obsoletes: %{name}-tests < %{version}-%{release}
The glib2-tests-devel package contains tests that can be used to verify
the functionality of the installed glib2 package.
%package -n typelib-1_0-GIRepository-3_0
Summary: Object-Oriented Framework for C
Group: System/Libraries
%description -n typelib-1_0-GIRepository-3_0
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 -n typelib-1_0-GLib-2_0
Summary: Object-Oriented Framework for C
Group: System/Libraries
%description -n typelib-1_0-GLib-2_0
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 -n typelib-1_0-GLibUnix-2_0
Summary: Object-Oriented Framework for C
Group: System/Libraries
%description -n typelib-1_0-GLibUnix-2_0
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 -n typelib-1_0-GModule-2_0
Summary: Object-Oriented Framework for C
Group: System/Libraries
%description -n typelib-1_0-GModule-2_0
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 -n typelib-1_0-GObject-2_0
Summary: Object-Oriented Framework for C
Group: System/Libraries
%description -n typelib-1_0-GObject-2_0
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 -n typelib-1_0-Gio-2_0
Summary: Object-Oriented Framework for C
Group: System/Libraries
# GioUnix has been folded into Gio package, as this is transparently loaded
# when including Gio (Platform specific loader in gjs - we know we are on unix)
Provides: typelib-1_0-GioUnix-2_0 = %{version}
Obsoletes: typelib-1_0-GioUnix-2_0 <= %{version}
%description -n typelib-1_0-Gio-2_0
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.
%lang_package
%prep
@ -260,9 +371,6 @@ the functionality of the installed glib2 package.
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
@ -272,11 +380,15 @@ sed -i "s/1.32.1/1.32/" docs/reference/meson.build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
%endif
%meson \
--default-library=both \
-Dselinux=enabled \
-Dman=true \
--default-library=%[ "%{flavor}" == "" ? "both" : "shared" ]\
-Dselinux=%[ "%{flavor}" != "stage1" ? "enabled" : "disabled" ] \
-Dman-pages=%[ "%{flavor}" != "stage1" ? "true" : "false" ] \
%if "%{flavor}" == "doc"
-Dgtk_doc=true \
-Ddocumentation=true \
%else
-Ddocumentation=false \
-Dinstalled_tests=%[ "%{flavor}" != "stage1" ? "true" : "false" ] \
-Dnls=%[ "%{flavor}" != "stage1" ? "enabled" : "disabled" ] \
%endif
%if %{with systemtap}
-Dsystemtap=true \
@ -285,15 +397,19 @@ sed -i "s/1.32.1/1.32/" docs/reference/meson.build
-Dsystemtap=false \
-Ddtrace=false \
%endif
-Dinstalled_tests=true \
-Dintrospection=%[ "%{flavor}" != "stage1" ? "enabled" : "disabled" ] \
-Dglib_debug=disabled \
-Dsysprof=disabled \
%{nil}
%meson_build
%install
%meson_install
%if "%{flavor}" == "doc"
find %{buildroot}/%{_prefix} -not -path "*%{_datadir}/gtk-doc/*" -delete || :
%else
find %{buildroot}/%{_prefix} -not -path "*%{_datadir}/doc/*" -delete || :
%endif
%if "%{flavor}" == ""
%find_lang glib20 %{?no_lang_C}
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
install -D -m0644 glib2.sh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.sh
@ -309,10 +425,12 @@ mkdir -p %{buildroot}%{_localstatedir}/cache/gio-2.0 %{buildroot}%{_datadir}/app
>> %{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
sed -i -e "/^gio_querymodules=/s/gio-querymodules/gio-querymodules-64/" %{buildroot}%{_libdir}/pkgconfig/gio-2.0.pc
%endif
mkdir -p %{buildroot}%{_libdir}/gio/modules
>> %{buildroot}%{_libdir}/gio/modules/giomodule.cache
# gsettings magic
@ -323,8 +441,11 @@ 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}
%python3_fix_shebang
%if %{suse_version} >= 1600
%python3_fix_shebang_path %{buildroot}%{_libexecdir}/installed-tests/glib/*
%endif
# Too many users complain about schemas compiled with wrong permissions
# when in fact the system just honours their umask setting
@ -338,10 +459,6 @@ mkdir -p %{buildroot}%{_datadir}/gtk-doc/html
%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
@ -351,168 +468,31 @@ do mimeapps="%{_localstatedir}/cache/gio-2.0/$ENV-mimeapps.list" &&
[Default Applications]
EOF
done
%postun -n %{libgio} -p %{ldconfig}
%ldconfig_scriptlets -n %{libglib}
%ldconfig_scriptlets -n %{libgobject}
%ldconfig_scriptlets -n %{libgthread}
%ldconfig_scriptlets -n %{libgmodule}
%ldconfig_scriptlets -n %{libgirepository}
%endif
%check
### FIXME ### Figure out how to run the "stable tests" only ref info from upstream.
#%%meson_test
%post -n libgmodule-2_0-0 -p /sbin/ldconfig
%postun -n %{libglib} -p %{ldconfig}
%postun -n %{libgobject} -p %{ldconfig}
%postun -n %{libgthread} -p %{ldconfig}
%postun -n %{libgio} -p %{ldconfig}
%postun -n %{libgmodule} -p %{ldconfig}
%if "%{flavor}" == "doc"
%files
%{_datadir}/gtk-doc/html/gio
%{_datadir}/gtk-doc/html/glib
%{_datadir}/gtk-doc/html/gobject
%else
%files tools
%license LICENSES/LGPL-2.1-or-later.txt
%doc README.md
%{_bindir}/gapplication
%{_bindir}/gdbus
%{_bindir}/gio
%{_bindir}/gio-querymodules*
%{_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
%{_datadir}/bash-completion/completions/gdbus
%{_datadir}/bash-completion/completions/gio
%{_datadir}/bash-completion/completions/gresource
%{_datadir}/bash-completion/completions/gsettings
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_gsettings
%{_mandir}/man1/gapplication.1%{?ext_man}
%{_mandir}/man1/gdbus.1%{?ext_man}
%{_mandir}/man1/gio.1%{?ext_man}
%{_mandir}/man1/gio-querymodules.1%{?ext_man}
%{_mandir}/man1/glib-compile-schemas.1%{?ext_man}
%{_mandir}/man1/gresource.1%{?ext_man}
%{_mandir}/man1/gsettings.1%{?ext_man}
# We put those files here, but they don't really belong here. They just don't
# 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.*
%files -n gio-branding-upstream
%license LICENSES/LGPL-2.1-or-later.txt
%doc README.Gsettings-overrides
%config (noreplace) %{_sysconfdir}/gnome_defaults.conf
%files -n %{libglib}
%license LICENSES/LGPL-2.1-or-later.txt
%doc NEWS
%{_libdir}/libglib*.so.*
%files -n %{libgmodule}
%license LICENSES/LGPL-2.1-or-later.txt
%{_libdir}/libgmodule*.so.*
%files -n %{libgobject}
%license LICENSES/LGPL-2.1-or-later.txt
%{_libdir}/libgobject*.so.*
%files -n %{libgthread}
%license LICENSES/LGPL-2.1-or-later.txt
%{_libdir}/libgthread*.so.*
%files -n %{libgio}
%license LICENSES/LGPL-2.1-or-later.txt
%{_libdir}/libgio*.so.*
%dir %{_libdir}/gio
%dir %{_libdir}/gio/modules
%ghost %{_libdir}/gio/modules/giomodule.cache
%dir %{_datadir}/glib-2.0/
%dir %{_datadir}/glib-2.0/schemas/
%ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
%{_datadir}/applications/gnome-mimeapps.list
%dir %{_localstatedir}/cache/gio-2.0
%ghost %{_localstatedir}/cache/gio-2.0/gnome-mimeapps.list
%ghost %{_localstatedir}/cache/gio-2.0/xfce-mimeapps.list
%ghost %{_localstatedir}/cache/gio-2.0/lxde-mimeapps.list
%ghost %{_localstatedir}/cache/gio-2.0/pantheon-mimeapps.list
%ghost %{_localstatedir}/cache/gio-2.0/budgie-mimeapps.list
%ghost %{_localstatedir}/cache/gio-2.0/mate-mimeapps.list
%files devel
%license LICENSES/LGPL-2.1-or-later.txt
%{_bindir}/gdbus-codegen
%{_bindir}/glib-compile-resources
%{_bindir}/glib-genmarshal
%{_bindir}/glib-gettextize
%{_bindir}/glib-mkenums
%{_bindir}/gobject-query
%{_bindir}/gtester
%{_bindir}/gtester-report
%{_mandir}/man?/gdbus-codegen*%{ext_man}
%{_mandir}/man?/glib-compile-resources*%{ext_man}
%{_mandir}/man?/glib-genmarshal*%{ext_man}
%{_mandir}/man?/glib-gettextize*%{ext_man}
%{_mandir}/man?/glib-mkenums*%{ext_man}
%{_mandir}/man?/gobject-query*%{ext_man}
%{_mandir}/man?/gtester*%{ext_man}
%dir %{_datadir}/aclocal
%{_datadir}/aclocal/glib-2.0.m4
%{_datadir}/aclocal/glib-gettext.m4
%{_datadir}/aclocal/gsettings.m4
%dir %{_datadir}/gettext/its/
%{_datadir}/gettext/its/gschema*
%dir %{_datadir}/glib-2.0/
%{_datadir}/glib-2.0/dtds/
%{_datadir}/glib-2.0/gdb/
%{_datadir}/glib-2.0/gettext/
%{_datadir}/glib-2.0/codegen/
%{_datadir}/glib-2.0/schemas/gschema.dtd
%{_datadir}/glib-2.0/valgrind/
%{_includedir}/glib-2.0
%{_includedir}/gio-unix-2.0
%{_libdir}/lib*.so
%dir %{_libdir}/glib-2.0/
%{_libdir}/glib-2.0/include/
%{_libdir}/pkgconfig/*.pc
%{_datadir}/gdb/auto-load/%{_libdir}/*-gdb.py
%if %{with systemtap}
%dir %{_datadir}/systemtap
%dir %{_datadir}/systemtap/tapset
%dir %{_datadir}/systemtap/tapset/*
%{_datadir}/systemtap/tapset/*/libgio-*.so.*.stp
%{_datadir}/systemtap/tapset/*/libglib-*.so.*.stp
%{_datadir}/systemtap/tapset/*/libgobject-*.so.*.stp
%{_datadir}/doc/g*-2.0/
%endif
%{_rpmmacrodir}/macros.glib2
# Own these directories to avoid build requirement on gdb
# only for directories ownership
%dir %{_datadir}/gdb
%dir %{_datadir}/gdb/auto-load
%dir %{_datadir}/gdb/auto-load%{_prefix}
%dir %{_datadir}/gdb/auto-load%{_libdir}
# Own these directories to not avoid breakages throughout the project
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%files devel-static
%license LICENSES/LGPL-2.1-or-later.txt
%{_libdir}/lib*.a
%if "%{flavor}" == ""
%include %{SOURCE200}
%endif
%files lang -f glib20.lang
%license LICENSES/LGPL-2.1-or-later.txt
%files tests-devel
%license LICENSES/LGPL-2.1-or-later.txt
%{_libexecdir}/installed-tests
%attr(0755 - -) %{_libexecdir}/installed-tests/glib/taptestrunner.py
%attr(0755 - -) %{_libexecdir}/installed-tests/glib/x-content/unix-software/autorun.sh
%{_datadir}/installed-tests
%if "%{flavor}" == "stage1"
%include %{SOURCE201}
%endif
%changelog