From 1529e484050409a5ffa58c7123646b64c441afd2 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Thu, 18 Apr 2024 13:59:08 -0500 Subject: [PATCH] Update to 2.80.0 Packaging work by David King (thanks!) Resolves: RHEL-30209 --- glib2.spec | 15 +++++++++-- gnutls-hmac.patch | 63 ++++++++++++++++++++++++----------------------- sources | 2 +- 3 files changed, 46 insertions(+), 34 deletions(-) diff --git a/glib2.spec b/glib2.spec index 465e7e0..48fd058 100644 --- a/glib2.spec +++ b/glib2.spec @@ -1,11 +1,11 @@ Name: glib2 -Version: 2.79.1 +Version: 2.80.0 Release: %autorelease Summary: A library of handy utility functions License: LGPL-2.1-or-later URL: https://www.gtk.org -Source: https://download.gnome.org/sources/glib/2.79/glib-%{version}.tar.xz +Source: https://download.gnome.org/sources/glib/2.80/glib-%{version}.tar.xz # Required for RHEL core crypto components policy. Good for Fedora too. # https://bugzilla.redhat.com/show_bug.cgi?id=1630260 @@ -163,9 +163,11 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/GIRepository-3.0.typelib %{_libdir}/girepository-1.0/GLib-2.0.typelib +%{_libdir}/girepository-1.0/GLibUnix-2.0.typelib %{_libdir}/girepository-1.0/GModule-2.0.typelib %{_libdir}/girepository-1.0/GObject-2.0.typelib %{_libdir}/girepository-1.0/Gio-2.0.typelib +%{_libdir}/girepository-1.0/GioUnix-2.0.typelib %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %{_datadir}/bash-completion/completions/gapplication @@ -206,6 +208,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %{_bindir}/glib-genmarshal %{_bindir}/glib-gettextize %{_bindir}/glib-mkenums +%{_bindir}/gi-compile-repository +%{_bindir}/gi-decompile-typelib +%{_bindir}/gi-inspect-typelib %{_bindir}/gobject-query %{_bindir}/gtester %{_bindir}/gdbus-codegen @@ -216,6 +221,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %{_mandir}/man1/glib-genmarshal.1* %{_mandir}/man1/glib-gettextize.1* %{_mandir}/man1/glib-mkenums.1* +%{_mandir}/man1/gi-compile-repository.1* +%{_mandir}/man1/gi-decompile-typelib.1* +%{_mandir}/man1/gi-inspect-typelib.1* %{_mandir}/man1/gobject-query.1* %{_mandir}/man1/gtester-report.1* %{_mandir}/man1/gtester.1* @@ -226,9 +234,11 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/GIRepository-3.0.gir %{_datadir}/gir-1.0/GLib-2.0.gir +%{_datadir}/gir-1.0/GLibUnix-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/GioUnix-2.0.gir %{_datadir}/gettext/ %{_datadir}/systemtap/ @@ -237,6 +247,7 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %files static %{_libdir}/libgio-2.0.a +%{_libdir}/libgirepository-2.0.a %{_libdir}/libglib-2.0.a %{_libdir}/libgmodule-2.0.a %{_libdir}/libgobject-2.0.a diff --git a/gnutls-hmac.patch b/gnutls-hmac.patch index a5c8af5..284e703 100644 --- a/gnutls-hmac.patch +++ b/gnutls-hmac.patch @@ -1,4 +1,4 @@ -From 222f00db202c7856e02a49bb28631eb397e247ed Mon Sep 17 00:00:00 2001 +From d6208fb067695ebf9e1f06b690e82c2b78994e8b Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 7 Jun 2019 18:44:43 +0000 Subject: [PATCH 1/4] ghmac: Split off wrapper functions into ghmac-utils.c @@ -284,10 +284,10 @@ index 97e2fff90..de89d826d 100644 - (const guchar *) str, length); -} diff --git a/glib/meson.build b/glib/meson.build -index 95e863e46..ec9926cec 100644 +index d2efebadc..d261dde5a 100644 --- a/glib/meson.build +++ b/glib/meson.build -@@ -285,6 +285,7 @@ glib_sources += files( +@@ -289,6 +289,7 @@ glib_sources += files( 'ggettext.c', 'ghash.c', 'ghmac.c', @@ -296,10 +296,10 @@ index 95e863e46..ec9926cec 100644 'ghostutils.c', 'giochannel.c', -- -2.43.0 +2.44.0 -From 15e2d90e52ad45fe6dccb62e73a43ec512da2246 Mon Sep 17 00:00:00 2001 +From a9e3f0c8cc8b06c97958ea1e99e61d9f8200dab7 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 7 Jun 2019 19:36:54 +0000 Subject: [PATCH 2/4] Add a gnutls backend for GHmac @@ -353,10 +353,10 @@ https://gitlab.gnome.org/GNOME/glib/-/merge_requests/903 glib/gchecksumprivate.h | 32 +++++++ glib/ghmac-gnutls.c | 187 ++++++++++++++++++++++++++++++++++++++++ glib/ghmac.c | 15 ++++ - glib/meson.build | 9 +- + glib/meson.build | 10 ++- meson.build | 7 ++ meson_options.txt | 5 ++ - 7 files changed, 259 insertions(+), 5 deletions(-) + 7 files changed, 260 insertions(+), 5 deletions(-) create mode 100644 glib/gchecksumprivate.h create mode 100644 glib/ghmac-gnutls.c @@ -660,10 +660,10 @@ index de89d826d..616e167e7 100644 * Use g_hmac_unref() to free the memory allocated by it. * diff --git a/glib/meson.build b/glib/meson.build -index ec9926cec..d2f8b2855 100644 +index d261dde5a..b3663f184 100644 --- a/glib/meson.build +++ b/glib/meson.build -@@ -284,7 +284,6 @@ glib_sources += files( +@@ -288,7 +288,6 @@ glib_sources += files( 'gfileutils.c', 'ggettext.c', 'ghash.c', @@ -671,15 +671,16 @@ index ec9926cec..d2f8b2855 100644 'ghmac-utils.c', 'ghook.c', 'ghostutils.c', -@@ -341,6 +340,7 @@ glib_sources += files( - 'guriprivate.h', +@@ -342,6 +341,8 @@ glib_sources += files( + 'gunidecomp.c', + 'guri.c', 'gutils.c', - 'gutilsprivate.h', ++ 'gutilsprivate.h', + 'gchecksumprivate.h', 'guuid.c', 'gvariant.c', 'gvariant-core.c', -@@ -400,6 +400,12 @@ else +@@ -401,6 +402,12 @@ else glib_dtrace_hdr = [] endif @@ -692,7 +693,7 @@ index ec9926cec..d2f8b2855 100644 pcre2_static_args = [] if use_pcre2_static_flag -@@ -420,6 +426,7 @@ libglib = library('glib-2.0', +@@ -421,6 +428,7 @@ libglib = library('glib-2.0', link_with: [charset_lib, gnulib_lib], dependencies : [ gnulib_libm_dependency, @@ -701,11 +702,11 @@ index ec9926cec..d2f8b2855 100644 libintl_deps, libm, diff --git a/meson.build b/meson.build -index 471e3eaba..f0c6311d6 100644 +index 753454209..61ad30b97 100644 --- a/meson.build +++ b/meson.build -@@ -2246,6 +2246,13 @@ if host_system == 'linux' - glib_conf.set('HAVE_LIBMOUNT', libmount_dep.found()) +@@ -2286,6 +2286,13 @@ if host_system == 'linux' + endif endif +# gnutls is used optionally by ghmac @@ -735,10 +736,10 @@ index 69a2135bc..e8599abaa 100644 type : 'boolean', value : false, -- -2.43.0 +2.44.0 -From d7fe40a832b36d1d12bcdb988bfedd35e19cd796 Mon Sep 17 00:00:00 2001 +From 4e84c697544b099c6e8faea6439d8e03883488be Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 16 Jun 2021 20:35:00 -0500 Subject: [PATCH 3/4] dlopen GnuTLS instead of linking directly @@ -920,10 +921,10 @@ index 616e167e7..ddb163557 100644 #endif diff --git a/glib/meson.build b/glib/meson.build -index d2f8b2855..20d2fbebf 100644 +index b3663f184..2340d12b2 100644 --- a/glib/meson.build +++ b/glib/meson.build -@@ -426,7 +426,6 @@ libglib = library('glib-2.0', +@@ -428,7 +428,6 @@ libglib = library('glib-2.0', link_with: [charset_lib, gnulib_lib], dependencies : [ gnulib_libm_dependency, @@ -932,11 +933,11 @@ index d2f8b2855..20d2fbebf 100644 libintl_deps, libm, diff --git a/meson.build b/meson.build -index f0c6311d6..ef124bab0 100644 +index 61ad30b97..25beac81a 100644 --- a/meson.build +++ b/meson.build -@@ -2246,11 +2246,9 @@ if host_system == 'linux' - glib_conf.set('HAVE_LIBMOUNT', libmount_dep.found()) +@@ -2286,11 +2286,9 @@ if host_system == 'linux' + endif endif -# gnutls is used optionally by ghmac @@ -950,10 +951,10 @@ index f0c6311d6..ef124bab0 100644 if host_system == 'windows' -- -2.43.0 +2.44.0 -From 7477a302f16c40774f35fed33e722373625d7d33 Mon Sep 17 00:00:00 2001 +From 588b92a69e81a8c744c4b2cb00edef94a4db7d6a Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 16 Jun 2021 20:46:24 -0500 Subject: [PATCH 4/4] Add test for GHmac in FIPS mode @@ -973,7 +974,7 @@ tests. 1 file changed, 46 insertions(+) diff --git a/glib/tests/hmac.c b/glib/tests/hmac.c -index 3ac3206df..79c91d19c 100644 +index 3ac3206df..352d18a09 100644 --- a/glib/tests/hmac.c +++ b/glib/tests/hmac.c @@ -1,7 +1,10 @@ @@ -1023,15 +1024,15 @@ index 3ac3206df..79c91d19c 100644 + GHmac *copy; + + /* No MD5 in FIPS mode. */ -+ hmac = g_hmac_new (G_CHECKSUM_MD5, (guchar *)"abc123", sizeof ("abc123")); ++ hmac = g_hmac_new (G_CHECKSUM_MD5, (guchar*)"abc123", sizeof ("abc123")); + g_assert_null (hmac); + + /* SHA-256 should be good. */ -+ hmac = g_hmac_new (G_CHECKSUM_SHA256, (guchar *)"abc123", sizeof ("abc123")); ++ hmac = g_hmac_new (G_CHECKSUM_SHA256, (guchar*)"abc123", sizeof ("abc123")); + g_assert_nonnull (hmac); + + /* Ensure g_hmac_update() does not crash when called with -1. */ -+ g_hmac_update (hmac, (guchar *)"You win again, gravity!", -1); ++ g_hmac_update (hmac, (guchar*)"You win again, gravity!", -1); + + /* Ensure g_hmac_copy() does not crash. */ + copy = g_hmac_copy (hmac); @@ -1084,5 +1085,5 @@ index 3ac3206df..79c91d19c 100644 return g_test_run (); } -- -2.43.0 +2.44.0 diff --git a/sources b/sources index 1ec9cf8..4129b3a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glib-2.79.1.tar.xz) = 6968ac28451a72f2d8d50ce31a887be2c26ae2bc5ddba1a4aadaafb955c1bb11576017084006d78a6e6f09e88696534b94eb50c61b0b0509695a547de34c7620 +SHA512 (glib-2.80.0.tar.xz) = 1514d62aeb4c4a1a1048ae0f84f7db7f0dbf355772b2dadf6a34ec547045b163a5e28331b096e7616fe3c9c19bed98025a0202b05073f5d7ee901d0efaffe143