Merge 2.58.1 into tizen
authorAdrian Szyndela <adrian.s@samsung.com>
Fri, 17 Jan 2020 11:53:33 +0000 (12:53 +0100)
committerAdrian Szyndela <adrian.s@samsung.com>
Tue, 28 Jan 2020 12:23:47 +0000 (13:23 +0100)
Change-Id: I081c5dd8114c7dea030be1331f77fadc9e289b91

1  2 
NEWS
autogen.sh
configure.ac
gio/gdbus-2.0/codegen/codegen.py

diff --combined NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -1,3 -1,45 +1,45 @@@
+ Overview of changes in GLib 2.58.1
+ ==================================
+ * Fix to a regression in listing GIcon fallbacks (#1513)
+ * Changes to pkg-config paths to helper programs when building with autotools:
+   paths are now absolute with reference to the .pc file’s ${prefix} (#1521)
+ * Fix installation path of glib-gettextize helper on Meson (!290)
+ * Fix autostarting xdg-desktop-portal (!321, a backport of !317)
+ * Various fixes to the network monitor (#1518, !294)
+ * Various compilation fixes on macOS (generally older versions and older
+   compilers)
+ Bugs fixed:
+  !318 codegen: Change pointer casting to remove type-punning warnings
+  #1513 GIcon regression?
+  #1521 pkg-config files differ between Autotools and Meson build
+  !321 Backport “Autostart xdg-desktop-portal if needed” to glib-2-58
+  #1518 /network-monitor/create-in-thread fails in (LXC) containers on glib-2-56
+  #1509 test_timeval_to_iso8601_overflow: 'out' should be NULL
+  !288 Backport `command -v` vs `which` changes to glib-2-58
+  !298 GLib 2.58 backports of various small patches
+    !295 meson: fix typo
+    !294 portal network monitor: Always emit changed signal on changed
+    !290 build: fix installation dir of glib-gettextize
+    #1488 ‘O_CLOEXEC’ undeclared (first use in this function)
+    #1506 error: redefinition of typedef 'GKqueueFileMonitor'
+ * Translation updates:
+  Brazilian Portuguese
+  Czech
+  Danish
+  Greek
+  Hungarian
+  Latvian
+  Swedish
  Overview of changes in GLib 2.58.0
  ==================================
  
@@@ -1926,43 -1968,6 +1968,43 @@@ Overview of changes in GLib 2.45.
   Russian
   Turkish
  
 +Overview of changes in GLib 2.44.1
 +==================================
 +
 +* Don't redefine typedefs to avoid build problems on OpenBSD
 +
 +* Improve the default application algorithm
 +
 +* Bump the number of children a GType can have
 +
 +* Various testsuite improvements
 +
 +* Translation updates:
 + Czech
 + Icelandic
 + Russian
 +
 +
 +Overview of changes in GLib 2.44.0
 +===================================
 +
 +With the exception of translation and documentation, there have been no
 +changes since the prerelease.
 +
 +Bugs fixed:
 + 730188 gsocket: Document FD ownership with g_socket_new_from_fd()
 +
 +Translations updated:
 + Basque language
 + Brazilian Portuguese
 + Chinese (Taiwan)
 + Danish
 + Galician s
 + Hebrew
 + Indonesian
 + Norwegian bokmål
 + Turkish
 +
  
  Overview of changes in GLib 2.43.92
  ===================================
diff --combined autogen.sh
@@@ -7,8 -7,7 +7,7 @@@ test -n "$srcdir" || srcdir=
  olddir=`pwd`
  cd "$srcdir"
  
- GTKDOCIZE=$(which gtkdocize 2>/dev/null)
- if test -z $GTKDOCIZE; then
+ if ! command -v gtkdocize >/dev/null 2>&1; then
          echo "You don't have gtk-doc installed, and thus won't be able to generate the documentation."
          rm -f gtk-doc.make
          cat > gtk-doc.make <<EOF
@@@ -19,8 -18,7 +18,7 @@@ els
          gtkdocize || exit $?
  fi
  
- AUTORECONF=`which autoreconf`
- if test -z $AUTORECONF; then
+ if ! command -v autoreconf >/dev/null 2>&1; then
          echo "*** No autoreconf found, please install it ***"
          exit 1
  fi
@@@ -30,7 -28,7 +28,7 @@@
  # regenerated from its corresponding *.in file by ./configure anyway.
  touch INSTALL
  
 -autoreconf --force --install --verbose || exit $?
 +test -n "$NOAUTORECONF" || autoreconf --force --install --verbose || exit $?
  
  cd "$olddir"
  test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
diff --combined configure.ac
@@@ -31,8 -31,8 +31,8 @@@ m4_define(glib_configure_ac
  
  m4_define([glib_major_version], [2])
  m4_define([glib_minor_version], [58])
- m4_define([glib_micro_version], [0])
- m4_define([glib_interface_age], [0])
+ m4_define([glib_micro_version], [1])
+ m4_define([glib_interface_age], [1])
  m4_define([glib_binary_age],
            [m4_eval(100 * glib_minor_version + glib_micro_version)])
  m4_define([glib_version],
@@@ -248,23 -248,8 +248,23 @@@ AC_ARG_ENABLE(debug
                               [turn on debugging @<:@default=glib_debug_default@:>@]),,
                enable_debug=glib_debug_default)
  
 +AC_ARG_ENABLE(libdbuspolicy,
 +              [AS_HELP_STRING([--enable-libdbuspolicy],
 +                              [enable libdbuspolicy for kdbus transport [default=no]])],,
 +              [enable_libdbuspolicy=no])
 +
  GLIB_TESTS
  
 +AC_MSG_CHECKING([whether to enable libdbuspolicy for kdbus transport])
 +AM_CONDITIONAL(LIBDBUSPOLICY, [test "x$enable_libdbuspolicy" = "xyes"])
 +AS_IF([test "x$enable_libdbuspolicy" = "xyes"], [
 +  PKG_CHECK_MODULES(LIBDBUSPOLICY1, libdbuspolicy1 >= 1)
 +  AC_SUBST(LIBDBUSPOLICY1_CFLAGS)
 +  AC_SUBST(LIBDBUSPOLICY1_LIBS)
 +  AC_DEFINE(LIBDBUSPOLICY, 1, [Whether to enable libdbuspolicy for kdbus transport])
 +  AC_MSG_RESULT([yes])
 +], [ AC_MSG_RESULT([no]) ])
 +
  dnl location to install runtime libraries, e.g. ../../lib to install
  dnl to /lib if libdir is /usr/lib
  AC_ARG_WITH(runtime-libdir,
@@@ -654,7 -639,7 +654,7 @@@ AC_CHECK_HEADERS([sys/param.h sys/resou
  AC_CHECK_HEADERS([sys/select.h stdint.h inttypes.h sched.h malloc.h])
  AC_CHECK_HEADERS([sys/vfs.h sys/vmount.h sys/statfs.h sys/statvfs.h sys/filio.h sys/auxv.h])
  AC_CHECK_HEADERS([mntent.h sys/mnttab.h sys/vfstab.h sys/mntctl.h fstab.h])
 -AC_CHECK_HEADERS([linux/magic.h])
 +AC_CHECK_HEADERS([linux/magic.h linux/memfd.h sys/prctl.h])
  AC_CHECK_HEADERS([termios.h])
  
  # Some versions of MSC lack these
@@@ -2661,43 -2646,6 +2661,43 @@@ AS_IF([ test "x$use_gcov" = "xyes"], 
    LDFLAGS="$LDFLAGS -lgcov"
  ])
  
 +dnl ************************************
 +dnl *** Enable gcov (without lcov) coverage reports ***
 +dnl ************************************
 +
 +AC_ARG_ENABLE(gcov-coverage,
 +  AS_HELP_STRING([--enable-gcov-coverage],
 +               [enable coverage testing with gcov, without lcov]),
 +  [use_only_gcov=$enableval], [use_only_gcov=no])
 +
 +AS_IF([ test "x$use_only_gcov" = "xyes"], [
 +  dnl we need gcc:
 +  if test "$GCC" != "yes"; then
 +    AC_MSG_ERROR([GCC is required for --enable-gcov-coverage])
 +  fi
 +
 +  dnl Check if ccache is being used
 +  AC_CHECK_PROG(SHTOOL, shtool, shtool)
 +  case `$SHTOOL path $CC` in
 +    *ccache*[)] gcc_ccache=yes;;
 +    *[)] gcc_ccache=no;;
 +  esac
 +
 +  if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then
 +    AC_MSG_ERROR([ccache must be disabled when --enable-coverage option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.])
 +  fi
 +
 +  dnl Remove all optimization flags from CFLAGS
 +  changequote({,})
 +  CFLAGS=`echo "$CFLAGS" | $SED -e 's/-Wl,-O[0-9]*//g'`
 +  CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9]*//g'`
 +  changequote([,])
 +
 +  dnl Add the special gcc flags
 +  CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage"
 +  LDFLAGS="$LDFLAGS -lgcov"
 +])
 +
  dnl *******************************
  dnl *** Disable strict aliasing ***
  dnl *******************************
@@@ -3356,7 -3304,7 +3356,7 @@@ AC_SUBST(DBUS1_LIBS
  AM_CONDITIONAL(HAVE_DBUS1, [test "x$have_dbus1" = "xyes"])
  
  AC_CHECK_PROGS([DBUS_DAEMON], [dbus-daemon])
 -AM_CONDITIONAL([HAVE_DBUS_DAEMON], [test x$DBUS_DAEMON = xdbus-daemon ])
 +AM_CONDITIONAL([HAVE_DBUS_DAEMON], [test x$DBUS_DAEMON = xdbus-daemon || test x$FORCE_DBUS_TESTS = x1 ])
  
  # Check whether MSVC toolset is explicitly set
  AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x])
@@@ -1129,10 -1129,10 +1129,10 @@@ class CodeGenerator
                                 '\n')
  
          if len(args) > 0:
-             self.outfile.write('static const _ExtendedGDBusArgInfo * const %s_pointers[] =\n'
+             self.outfile.write('static const GDBusArgInfo * const %s_pointers[] =\n'
                               '{\n'%(prefix))
              for a in args:
-                 self.outfile.write('  &%s_%s,\n'%(prefix, a.name))
+                 self.outfile.write('  &%s_%s.parent_struct,\n'%(prefix, a.name))
              self.outfile.write('  NULL\n'
                                 '};\n'
                                 '\n')
                      self.outfile.write('};\n'
                                         '\n')
  
-                 self.outfile.write('static const _ExtendedGDBusMethodInfo * const _%s_method_info_pointers[] =\n'
+                 self.outfile.write('static const GDBusMethodInfo * const _%s_method_info_pointers[] =\n'
                                     '{\n'%(i.name_lower))
                  for m in i.methods:
-                     self.outfile.write('  &_%s_method_info_%s,\n'%(i.name_lower, m.name_lower))
+                     self.outfile.write('  &_%s_method_info_%s.parent_struct,\n'%(i.name_lower, m.name_lower))
                  self.outfile.write('  NULL\n'
                                     '};\n'
                                     '\n')
                      self.outfile.write('};\n'
                                         '\n')
  
-                 self.outfile.write('static const _ExtendedGDBusSignalInfo * const _%s_signal_info_pointers[] =\n'
+                 self.outfile.write('static const GDBusSignalInfo * const _%s_signal_info_pointers[] =\n'
                                     '{\n'%(i.name_lower))
                  for s in i.signals:
-                     self.outfile.write('  &_%s_signal_info_%s,\n'%(i.name_lower, s.name_lower))
+                     self.outfile.write('  &_%s_signal_info_%s.parent_struct,\n'%(i.name_lower, s.name_lower))
                  self.outfile.write('  NULL\n'
                                     '};\n'
                                     '\n')
                      self.outfile.write('};\n'
                                         '\n')
  
-                 self.outfile.write('static const _ExtendedGDBusPropertyInfo * const _%s_property_info_pointers[] =\n'
+                 self.outfile.write('static const GDBusPropertyInfo * const _%s_property_info_pointers[] =\n'
                                     '{\n'%(i.name_lower))
                  for p in i.properties:
-                     self.outfile.write('  &_%s_property_info_%s,\n'%(i.name_lower, p.name_lower))
+                     self.outfile.write('  &_%s_property_info_%s.parent_struct,\n'%(i.name_lower, p.name_lower))
                  self.outfile.write('  NULL\n'
                                     '};\n'
                                     '\n')
                      %(i.name_lower, i.camel_name), False))
              self.write_gtkdoc_deprecated_and_since_and_close(i, self.outfile, 0)
              self.outfile.write('guint\n'
 -                               '%s_override_properties (GObjectClass *klass, guint property_id_begin)\n'
 +                               '%s_override_properties (GObjectClass *klass G_GNUC_UNUSED, guint property_id_begin)\n'
                                 '{\n'%(i.name_lower))
              for p in i.properties:
                  self.outfile.write('  g_object_class_override_property (klass, property_id_begin++, "%s");\n'%(p.name_hyphen))
              self.write_gtkdoc_deprecated_and_since_and_close(m, self.outfile, 0)
              self.outfile.write('void\n'
                                 '%s_complete_%s (\n'
 -                               '    %s *object,\n'
 +                               '    %s *object G_GNUC_UNUSED,\n'
                                 '    GDBusMethodInvocation *invocation'%(i.name_lower, m.name_lower, i.camel_name))
              if unix_fd:
                  self.outfile.write(',\n    GUnixFDList *fd_list')
          # laid out in the same order as introspection data pointers
          #
          self.outfile.write('static void\n'
 -                           '%s_proxy_get_property (GObject      *object,\n'
 -                           '  guint         prop_id,\n'
 -                           '  GValue       *value,\n'
 +                           '%s_proxy_get_property (GObject      *object G_GNUC_UNUSED,\n'
 +                           '  guint         prop_id G_GNUC_UNUSED,\n'
 +                           '  GValue       *value G_GNUC_UNUSED,\n'
                             '  GParamSpec   *pspec G_GNUC_UNUSED)\n'
                             '{\n'%(i.name_lower))
          if len(i.properties) > 0:
              self.outfile.write('  const _ExtendedGDBusPropertyInfo *info;\n'
                                 '  GVariant *variant;\n'
                                 '  g_assert (prop_id != 0 && prop_id - 1 < %d);\n'
-                                '  info = _%s_property_info_pointers[prop_id - 1];\n'
+                                '  info = (const _ExtendedGDBusPropertyInfo *) _%s_property_info_pointers[prop_id - 1];\n'
                                 '  variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name);\n'
                                 '  if (info->use_gvariant)\n'
                                 '    {\n'
              self.outfile.write('}\n'
                                 '\n')
          self.outfile.write('static void\n'
 -                           '%s_proxy_set_property (GObject      *object,\n'
 -                           '  guint         prop_id,\n'
 -                           '  const GValue *value,\n'
 +                           '%s_proxy_set_property (GObject      *object G_GNUC_UNUSED,\n'
 +                           '  guint         prop_id G_GNUC_UNUSED,\n'
 +                           '  const GValue *value G_GNUC_UNUSED,\n'
                             '  GParamSpec   *pspec G_GNUC_UNUSED)\n'
                             '{\n'%(i.name_lower))
          if len(i.properties) > 0:
              self.outfile.write('  const _ExtendedGDBusPropertyInfo *info;\n'
                                 '  GVariant *variant;\n'
                                 '  g_assert (prop_id != 0 && prop_id - 1 < %d);\n'
-                                '  info = _%s_property_info_pointers[prop_id - 1];\n'
+                                '  info = (const _ExtendedGDBusPropertyInfo *) _%s_property_info_pointers[prop_id - 1];\n'
                                 '  variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature));\n'
                                 '  g_dbus_proxy_call (G_DBUS_PROXY (object),\n'
                                 '    "org.freedesktop.DBus.Properties.Set",\n'
                             '\n')
  
          self.outfile.write('static void\n'
 -                           '%s_proxy_iface_init (%sIface *iface)\n'
 +                           '%s_proxy_iface_init (%sIface *iface G_GNUC_UNUSED)\n'
                             '{\n'%(i.name_lower, i.camel_name))
          for p in i.properties:
              self.outfile.write('  iface->get_%s = %s_proxy_get_%s;\n'%(p.name_lower, i.name_lower, p.name_lower))
                                 %(i.name_lower))
  
          self.outfile.write('static void\n'
 -                           '%s_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)\n'
 +                           '%s_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton G_GNUC_UNUSED)\n'
                             '{\n'
                             %(i.name_lower))
          if len(i.properties) > 0:
                                 '  if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1]))\n'
                                 '    {\n'
                                 '      if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL)\n'
-                                '        _%s_schedule_emit_changed (skeleton, _%s_property_info_pointers[prop_id - 1], prop_id, &skeleton->priv->properties[prop_id - 1]);\n'
+                                '        _%s_schedule_emit_changed (skeleton, (const _ExtendedGDBusPropertyInfo *) _%s_property_info_pointers[prop_id - 1], prop_id, &skeleton->priv->properties[prop_id - 1]);\n'
                                 '      g_value_copy (value, &skeleton->priv->properties[prop_id - 1]);\n'
                                 '      g_object_notify_by_pspec (object, pspec);\n'
                                 '    }\n'
                             '\n')
  
          self.outfile.write('static void\n'
 -                           '%s_skeleton_iface_init (%sIface *iface)\n'
 +                           '%s_skeleton_iface_init (%sIface *iface G_GNUC_UNUSED)\n'
                             '{\n'
                             %(i.name_lower, i.camel_name))
          for s in i.signals: