Make GnuTLS patch RHEL-specific, and make glib2-static subpackage Fedora-specific

This commit is contained in:
Michael Catanzaro 2020-11-11 09:45:07 -06:00
parent f52f413589
commit a6c366328b
2 changed files with 27 additions and 9 deletions

View File

@ -1,17 +1,18 @@
Name: glib2 Name: glib2
Version: 2.67.0 Version: 2.67.0
Release: 3%{?dist} Release: 4%{?dist}
Summary: A library of handy utility functions Summary: A library of handy utility functions
License: LGPLv2+ License: LGPLv2+
URL: http://www.gtk.org URL: http://www.gtk.org
Source0: http://download.gnome.org/sources/glib/2.67/glib-%{version}.tar.xz Source0: http://download.gnome.org/sources/glib/2.67/glib-%{version}.tar.xz
# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1728 # Required for RHEL core crypto components policy.
Patch0: 1728.patch
# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/903 # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/903
Patch1: gnutls-hmac.patch Patch0: gnutls-hmac.patch
# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1728
Patch1: 1728.patch
# For gnutls-hmac.patch # For gnutls-hmac.patch
BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(gnutls)
@ -72,12 +73,14 @@ BuildRequires: gamin-devel
%description fam %description fam
The glib2-fam package contains the FAM (File Alteration Monitor) module for GIO. The glib2-fam package contains the FAM (File Alteration Monitor) module for GIO.
%if 0%{?fedora}
%package static %package static
Summary: glib static Summary: glib static
Requires: %{name}-devel = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release}
%description static %description static
The %{name}-static subpackage contains static libraries for %{name}. The %{name}-static subpackage contains static libraries for %{name}.
%endif
%package tests %package tests
Summary: Tests for the glib2 package Summary: Tests for the glib2 package
@ -93,14 +96,24 @@ the functionality of the installed glib2 package.
%build %build
# Bug 1324770: Also explicitly remove PCRE sources since we use --with-pcre=system # Bug 1324770: Also explicitly remove PCRE sources since we use --with-pcre=system
rm glib/pcre/*.[ch] rm glib/pcre/*.[ch]
# We cannot build with GnuTLS in Fedora since there is no gnutls-static
# subpackage. (glib2-static is needed by qemu in Fedora, but not in RHEL.)
# Accordingly, we can't build a usable glib2-static in RHEL.
%meson \ %meson \
--default-library=both \
-Dman=true \ -Dman=true \
-Ddtrace=true \ -Ddtrace=true \
-Dsystemtap=true \ -Dsystemtap=true \
-Dgtk_doc=true \ -Dgtk_doc=true \
-Dfam=true \ -Dfam=true \
-Dinstalled_tests=true -Dinstalled_tests=true \
%if 0%{?rhel}
-Dgnutls=true \
%endif
%if 0%{?fedora}
--default-library=both \
%endif
%{nil}
%meson_build %meson_build
@ -211,18 +224,23 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%files fam %files fam
%{_libdir}/gio/modules/libgiofam.so %{_libdir}/gio/modules/libgiofam.so
%if 0%{?fedora}
%files static %files static
%{_libdir}/libgio-2.0.a %{_libdir}/libgio-2.0.a
%{_libdir}/libglib-2.0.a %{_libdir}/libglib-2.0.a
%{_libdir}/libgmodule-2.0.a %{_libdir}/libgmodule-2.0.a
%{_libdir}/libgobject-2.0.a %{_libdir}/libgobject-2.0.a
%{_libdir}/libgthread-2.0.a %{_libdir}/libgthread-2.0.a
%endif
%files tests %files tests
%{_libexecdir}/installed-tests %{_libexecdir}/installed-tests
%{_datadir}/installed-tests %{_datadir}/installed-tests
%changelog %changelog
* Wed Nov 11 2020 Michael Catanzaro <mcatanzaro@redhat.com> - 2.67.0-4
- Make GnuTLS patch RHEL-specific, and make glib2-static subpackage Fedora-specific
* Tue Nov 10 2020 Michael Catanzaro <mcatanzaro@redhat.com> - 2.67.0-3 * Tue Nov 10 2020 Michael Catanzaro <mcatanzaro@redhat.com> - 2.67.0-3
- Use GnuTLS to implement GHmac (thanks to Colin Walters) - Use GnuTLS to implement GHmac (thanks to Colin Walters)

View File

@ -318,7 +318,7 @@ in most cases.
mcatanzaro note: I've updated Colin's original patch to implement mcatanzaro note: I've updated Colin's original patch to implement
g_hmac_copy() using gnutls_hmac_copy(), which didn't exist when Colin g_hmac_copy() using gnutls_hmac_copy(), which didn't exist when Colin
developed this patch. I also decided it should be enabled by default. developed this patch.
--- ---
glib/gchecksum.c | 9 ++- glib/gchecksum.c | 9 ++-
glib/gchecksumprivate.h | 32 ++++++++ glib/gchecksumprivate.h | 32 ++++++++
@ -658,7 +658,7 @@ index af9645eda..2c4b2c37e 100644
+option('gnutls', +option('gnutls',
+ type : 'boolean', + type : 'boolean',
+ value : true, + value : false,
+ description : 'build with gnutls support') + description : 'build with gnutls support')
+ +
option('internal_pcre', option('internal_pcre',