From 816d069ba1d582d270615202f563481f6944765f Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Oct 30 2018 05:09:37 +0000 Subject: import glib2-2.56.1-2.el7 --- diff --git a/.gitignore b/.gitignore index 7ce16ce..e0dfa01 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/glib-2.54.2.tar.xz +SOURCES/glib-2.56.1.tar.xz diff --git a/.glib2.metadata b/.glib2.metadata index ab4ad8f..507ea60 100644 --- a/.glib2.metadata +++ b/.glib2.metadata @@ -1 +1 @@ -85b5d649fc3d18f8d8197bd971dfbebd94b5f96d SOURCES/glib-2.54.2.tar.xz +4db098c15b9d57c37bb504a6f58ebe717994e6f2 SOURCES/glib-2.56.1.tar.xz diff --git a/SOURCES/0001-Build-with-old-libmount-too.patch b/SOURCES/0001-Build-with-old-libmount-too.patch deleted file mode 100644 index 8e81770..0000000 --- a/SOURCES/0001-Build-with-old-libmount-too.patch +++ /dev/null @@ -1,57 +0,0 @@ -From a78c36d7f4e0e3038005305efd84f66a7d157f20 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Wed, 1 Nov 2017 10:21:34 -0400 -Subject: [PATCH] Build with old libmount too - -Downstream: https://bugzilla.redhat.com/show_bug.cgi?id=1508056 - -This is an easy change, and lets us build with RHEL7's libmount. - -See also https://github.com/ostreedev/ostree/commit/cee57a0268334d51cd312c6cdcf367bedfd3e30d ---- - configure.ac | 6 ++++-- - gio/gunixmounts.c | 4 ++-- - 2 files changed, 6 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index fcbb62e7d..0beb3898c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1760,8 +1760,10 @@ AS_IF([ test $have_libmount = maybe ], [ - glib_save_LIBS=$LIBS - AC_CHECK_HEADER([libmount/libmount.h], [:], [have_libmount=no]) - -- # Check for a recent enough libmount -- AC_CHECK_LIB([mount], [mnt_unref_table], [:], [have_libmount=no]) -+ # We used to check for mnt_unref_table(), but now for compat with -+ # e.g. RHEL7 just use mnt_free_table(). Let's keep this check -+ # anyways. -+ AC_CHECK_LIB([mount], [mnt_free_table], [:], [have_libmount=no]) - LIBS=$glib_save_LIBS - - if test $have_libmount != no; then -diff --git a/gio/gunixmounts.c b/gio/gunixmounts.c -index ef7899dff..a3c40f5c1 100644 ---- a/gio/gunixmounts.c -+++ b/gio/gunixmounts.c -@@ -505,7 +505,7 @@ _g_get_unix_mounts (void) - mnt_free_iter (iter); - - out: -- mnt_unref_table (table); -+ mnt_free_table (table); - - return g_list_reverse (return_list); - } -@@ -1029,7 +1029,7 @@ _g_get_unix_mount_points (void) - mnt_free_iter (iter); - - out: -- mnt_unref_table (table); -+ mnt_free_table (table); - - return g_list_reverse (return_list); - } --- -2.13.6 - diff --git a/SOURCES/0001-gdbus-codegen-Call-abspath-earlier.patch b/SOURCES/0001-gdbus-codegen-Call-abspath-earlier.patch deleted file mode 100644 index d04b86b..0000000 --- a/SOURCES/0001-gdbus-codegen-Call-abspath-earlier.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 9d80b0bca3f90e2489aac8e7765081c47e8a66f5 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Tue, 31 Oct 2017 12:51:09 -0400 -Subject: [PATCH] gdbus-codegen: Call abspath() earlier - -The previous change from https://bugzilla.gnome.org/show_bug.cgi?id=786785 -didn't actually work (for me at least) in the `/bin/gdbus-codegen` case -as the relative `/bin/../share` path works, but then `os.path.abspath()` -breaks it (as it's not doing `realpath()`, and let's not go there). - -Fix this by doing the `abspath` first. - -Downstream: https://bugzilla.redhat.com/show_bug.cgi?id=1507661 ---- - gio/gdbus-2.0/codegen/gdbus-codegen.in | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in -index e3f4f00f8..67d367543 100755 ---- a/gio/gdbus-2.0/codegen/gdbus-codegen.in -+++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in -@@ -37,6 +37,9 @@ else: - # parent directory to the python path. - path = os.path.join(filedir, '..') - -+# Canonicalize, then do further testing -+path = os.path.abspath(path) -+ - # If the above path detection failed, use the hard-coded datadir. This can - # happen when, for instance, bindir and datadir are not in the same prefix or - # on Windows where we cannot make any guarantees about the directory structure. -@@ -46,7 +49,7 @@ else: - if not os.path.isfile(os.path.join(path, 'codegen', 'codegen_main.py')): - path = os.path.join('@DATADIR@', 'glib-2.0') - --sys.path.insert(0, os.path.abspath(path)) -+sys.path.insert(0, path) - from codegen import codegen_main - - sys.exit(codegen_main.codegen_main()) --- -2.13.6 - diff --git a/SOURCES/0001-gdbus-codegen-Don-t-assume-bindir-and-datadir-share-.patch b/SOURCES/0001-gdbus-codegen-Don-t-assume-bindir-and-datadir-share-.patch deleted file mode 100644 index d898468..0000000 --- a/SOURCES/0001-gdbus-codegen-Don-t-assume-bindir-and-datadir-share-.patch +++ /dev/null @@ -1,53 +0,0 @@ -From b9f2ea423526735f7fe7371fb1339eae91a618c2 Mon Sep 17 00:00:00 2001 -From: Nirbheek Chauhan -Date: Tue, 12 Sep 2017 15:46:57 +0530 -Subject: [PATCH] gdbus-codegen: Don't assume bindir and datadir share prefix - -This assumption breaks when, for instance: - -* Called as /bin/gdbus-codegen -* Installed on Windows in a directory that is not `bin/` - -For such cases, we cannot make any assumptions about the directory -structure, and must hard-code the datadir. - -https://bugzilla.gnome.org/show_bug.cgi?id=786785 ---- - gio/gdbus-2.0/codegen/Makefile.am | 2 +- - gio/gdbus-2.0/codegen/gdbus-codegen.in | 9 +++++++++ - gio/gdbus-2.0/codegen/meson.build | 1 + - 3 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/gio/gdbus-2.0/codegen/Makefile.am b/gio/gdbus-2.0/codegen/Makefile.am -index b3fb2c292..b4e500cb0 100644 ---- a/gio/gdbus-2.0/codegen/Makefile.am -+++ b/gio/gdbus-2.0/codegen/Makefile.am -@@ -21,7 +21,7 @@ CLEANFILES += gdbus-codegen - EXTRA_DIST += gdbus-codegen.in - - gdbus-codegen: gdbus-codegen.in Makefile $(codegen_PYTHON) -- $(AM_V_GEN) sed -e 's,@datadir\@,$(datadir),' -e 's,@PYTHON\@,$(PYTHON),' $< > $@.tmp && mv $@.tmp $@ -+ $(AM_V_GEN) sed -e 's,@DATADIR\@,$(datadir),' -e 's,@PYTHON\@,$(PYTHON),' $< > $@.tmp && mv $@.tmp $@ - @chmod a+x $@ - - clean-local: -diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in -index 805098188..e3f4f00f8 100644 ---- a/gio/gdbus-2.0/codegen/gdbus-codegen.in -+++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in -@@ -37,6 +37,15 @@ else: - # parent directory to the python path. - path = os.path.join(filedir, '..') - -+# If the above path detection failed, use the hard-coded datadir. This can -+# happen when, for instance, bindir and datadir are not in the same prefix or -+# on Windows where we cannot make any guarantees about the directory structure. -+# -+# In these cases our installation cannot be relocatable, but at least we should -+# be able to find the codegen module. -+if not os.path.isfile(os.path.join(path, 'codegen', 'codegen_main.py')): -+ path = os.path.join('@DATADIR@', 'glib-2.0') -+ - sys.path.insert(0, os.path.abspath(path)) - from codegen import codegen_main - diff --git a/SOURCES/0001-gio-fix-race-condition-in-GDBusObjectManagerClient.patch b/SOURCES/0001-gio-fix-race-condition-in-GDBusObjectManagerClient.patch deleted file mode 100644 index 0c91bab..0000000 --- a/SOURCES/0001-gio-fix-race-condition-in-GDBusObjectManagerClient.patch +++ /dev/null @@ -1,50 +0,0 @@ -From aeecd81dd13e4d8ef609149f82770ad06a8fccdb Mon Sep 17 00:00:00 2001 -From: Beniamino Galvani -Date: Sat, 30 Sep 2017 11:26:29 +0200 -Subject: [PATCH] gio: fix race condition in GDBusObjectManagerClient - -priv->map_object_path_to_object_proxy must be protected to avoid -concurrent access by multiple threads. Move the hash table insertion -into the critical section. - -https://bugzilla.gnome.org/show_bug.cgi?id=788368 ---- - gio/gdbusobjectmanagerclient.c | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -diff --git a/gio/gdbusobjectmanagerclient.c b/gio/gdbusobjectmanagerclient.c -index 1c00797cd165..08c94d5068ef 100644 ---- a/gio/gdbusobjectmanagerclient.c -+++ b/gio/gdbusobjectmanagerclient.c -@@ -1542,6 +1542,13 @@ add_interfaces (GDBusObjectManagerClient *manager, - g_variant_unref (properties); - } - -+ if (added) -+ { -+ g_hash_table_insert (manager->priv->map_object_path_to_object_proxy, -+ g_strdup (object_path), -+ op); -+ } -+ - g_mutex_unlock (&manager->priv->lock); - - /* now that we don't hold the lock any more, emit signals */ -@@ -1555,12 +1562,8 @@ add_interfaces (GDBusObjectManagerClient *manager, - g_list_free (interface_added_signals); - - if (added) -- { -- g_hash_table_insert (manager->priv->map_object_path_to_object_proxy, -- g_strdup (object_path), -- op); -- g_signal_emit_by_name (manager, "object-added", op); -- } -+ g_signal_emit_by_name (manager, "object-added", op); -+ - g_object_unref (manager); - g_object_unref (op); - } --- -2.14.2 - diff --git a/SPECS/glib2.spec b/SPECS/glib2.spec index d46ca6b..f648379 100644 --- a/SPECS/glib2.spec +++ b/SPECS/glib2.spec @@ -1,33 +1,31 @@ %global _changelog_trimtime %(date +%s -d "1 year ago") Name: glib2 -Version: 2.54.2 +Version: 2.56.1 Release: 2%{?dist} Summary: A library of handy utility functions License: LGPLv2+ URL: http://www.gtk.org -Source0: http://download.gnome.org/sources/glib/2.54/glib-%{version}.tar.xz +Source0: http://download.gnome.org/sources/glib/2.56/glib-%{version}.tar.xz -BuildRequires: git -BuildRequires: pkgconfig +BuildRequires: chrpath BuildRequires: gettext -BuildRequires: libattr-devel -BuildRequires: libmount-devel -BuildRequires: libselinux-devel -BuildRequires: pkgconfig(libpcre) # for sys/inotify.h BuildRequires: glibc-devel -BuildRequires: zlib-devel +BuildRequires: libattr-devel +BuildRequires: libselinux-devel # for sys/sdt.h BuildRequires: systemtap-sdt-devel +BuildRequires: pkgconfig(libelf) +BuildRequires: pkgconfig(libffi) +BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(mount) +BuildRequires: pkgconfig(zlib) # Bootstrap build requirements BuildRequires: automake autoconf libtool BuildRequires: gtk-doc BuildRequires: python-devel -BuildRequires: libffi-devel -BuildRequires: elfutils-libelf-devel -BuildRequires: chrpath # Patches we're carrying specifically for RHEL7: # Avoid deprecating things introduced since the first version of glib @@ -35,11 +33,6 @@ BuildRequires: chrpath Patch0: revert-g-source-remove-critical.patch Patch1: add-back-g-memmove.patch -Patch2: 0001-gdbus-codegen-Don-t-assume-bindir-and-datadir-share-.patch -Patch3: 0001-gdbus-codegen-Call-abspath-earlier.patch -Patch4: 0001-Build-with-old-libmount-too.patch -Patch5: 0001-gio-fix-race-condition-in-GDBusObjectManagerClient.patch - # for GIO content-type support Requires: shared-mime-info @@ -89,27 +82,30 @@ The glib2-tests package contains tests that can be used to verify the functionality of the installed glib2 package. %prep -%autosetup -Sgit -n glib-%{version} +%autosetup -n glib-%{version} -p1 autoreconf -i -f %build +# Bug 1324770: Also explicitly remove PCRE sources since we use --with-pcre=system +rm glib/pcre/*.[ch] # Support builds of both git snapshots and tarballs packed with autogoo (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi; %configure $CONFIGFLAGS \ + --disable-silent-rules \ --with-pcre=system \ --enable-systemtap \ --enable-static \ --enable-installed-tests ) -make %{?_smp_mflags} +%make_build %install # Use -p to preserve timestamps on .py files to ensure # they're not recompiled with different timestamps # to help multilib: https://bugzilla.redhat.com/show_bug.cgi?id=718404 -make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p -c" +%make_install INSTALL="install -p" # Also since this is a generated .py file, set it to a known timestamp, # otherwise it will vary by build time, and thus break multilib -devel # installs. @@ -121,13 +117,6 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/gio/modules/*.{a,la} rm -f $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb/*.{pyc,pyo} rm -f $RPM_BUILD_ROOT%{_datadir}/glib-2.0/codegen/*.{pyc,pyo} -# Multilib fixes for systemtap tapsets; see -# https://bugzilla.redhat.com/718404 -for f in $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/*.stp; do - (dn=$(dirname ${f}); bn=$(basename ${f}); - mv ${f} ${dn}/%{__isa_bits}-${bn}) -done - mv $RPM_BUILD_ROOT%{_bindir}/gio-querymodules $RPM_BUILD_ROOT%{_bindir}/gio-querymodules-%{__isa_bits} touch $RPM_BUILD_ROOT%{_libdir}/gio/modules/giomodule.cache @@ -189,6 +178,7 @@ gio-querymodules-%{__isa_bits} %{_libdir}/gio/modules %{_datadir}/glib-2.0/gdb %{_datadir}/glib-2.0/gettext %{_datadir}/glib-2.0/schemas/gschema.dtd +%{_datadir}/glib-2.0/valgrind/glib.supp %{_datadir}/bash-completion/completions/gresource %{_bindir}/glib-genmarshal %{_bindir}/glib-gettextize @@ -199,7 +189,6 @@ gio-querymodules-%{__isa_bits} %{_libdir}/gio/modules %{_bindir}/glib-compile-resources %{_bindir}/gresource %{_datadir}/glib-2.0/codegen -%{_datadir}/glib-2.0/valgrind/glib.supp %attr (0755, root, root) %{_bindir}/gtester-report %{_mandir}/man1/glib-genmarshal.1* %{_mandir}/man1/glib-gettextize.1* @@ -232,6 +221,13 @@ gio-querymodules-%{__isa_bits} %{_libdir}/gio/modules %{_datadir}/installed-tests %changelog +* Mon Aug 27 2018 Colin Walters - 2.56.1-2 +- Add --disable-silent-rules + +* Sun Apr 08 2018 Kalev Lember - 2.56.1-1 +- Update to 2.56.1 +- Resolves #1567375 + * Fri Nov 10 2017 Kalev Lember - 2.54.2-2 - Backport patch to fix race condition in GDBusObjectManagerClient - Resolves: #1494065