summaryrefslogtreecommitdiffstats
path: root/external/poky/meta/recipes-core/glib-2.0/glib-2.0
diff options
context:
space:
mode:
Diffstat (limited to 'external/poky/meta/recipes-core/glib-2.0/glib-2.0')
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch61
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch34
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch30
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch95
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch27
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch31
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch2
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch59
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-13012.patch47
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-9633_p1.patch316
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-9633_p2.patch231
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch165
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch44
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch20
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common3
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc5
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux5
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw6
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl6
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch10
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest5
-rw-r--r--external/poky/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch22
22 files changed, 400 insertions, 824 deletions
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
new file mode 100644
index 00000000..8dd959b7
--- /dev/null
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
@@ -0,0 +1,61 @@
+From 60b36289ac314ad972cf81c1acd19f6f2e58ff25 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 15 Feb 2019 11:17:27 +0100
+Subject: [PATCH] Do not write $bindir into pkg-config files
+
+This would otherwise break when using the files to build other target
+components (we need to rely on PATH containing the paths to utilities,
+rather than use target paths).
+
+Upstream-Status: Inappropriate [upstream wants the paths in .pc files]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ gio/meson.build | 16 ++++++++--------
+ glib/meson.build | 6 +++---
+ 2 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/gio/meson.build b/gio/meson.build
+index 71e88c4..8ce3987 100644
+--- a/gio/meson.build
++++ b/gio/meson.build
+@@ -831,14 +831,14 @@ pkg.generate(libgio,
+ 'schemasdir=' + join_paths('${datadir}', schemas_subdir),
+ 'bindir=' + join_paths('${prefix}', get_option('bindir')),
+ 'giomoduledir=' + pkgconfig_giomodulesdir,
+- 'gio=' + join_paths('${bindir}', 'gio'),
+- 'gio_querymodules=' + join_paths('${bindir}', 'gio-querymodules'),
+- 'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'),
+- 'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
+- 'gdbus=' + join_paths('${bindir}', 'gdbus'),
+- 'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen'),
+- 'gresource=' + join_paths('${bindir}', 'gresource'),
+- 'gsettings=' + join_paths('${bindir}', 'gsettings')],
++ 'gio=gio',
++ 'gio_querymodules=gio-querymodules',
++ 'glib_compile_schemas=glib-compile-schemas',
++ 'glib_compile_resources=glib-compile-resources',
++ 'gdbus=gdbus',
++ 'gdbus_codegen=gdbus-codegen',
++ 'gresource=gresource',
++ 'gsettings=gsettings'],
+ version : glib_version,
+ install_dir : glib_pkgconfigreldir,
+ filebase : 'gio-2.0',
+diff --git a/glib/meson.build b/glib/meson.build
+index 91a48f1..978fb73 100644
+--- a/glib/meson.build
++++ b/glib/meson.build
+@@ -375,9 +375,9 @@ pkg.generate(libglib,
+ subdirs : ['glib-2.0'],
+ extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
+ variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
+- 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
+- 'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
+- 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
++ 'glib_genmarshal=glib-genmarshal',
++ 'gobject_query=gobject-query',
++ 'glib_mkenums=glib-mkenums'],
+ version : glib_version,
+ install_dir : glib_pkgconfigreldir,
+ filebase : 'glib-2.0',
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch
new file mode 100644
index 00000000..d8cf269b
--- /dev/null
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch
@@ -0,0 +1,34 @@
+From 15f807481de53942525b48952c5b6bbb9fb66542 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Mar 2014 22:42:29 -0700
+Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux
+
+translation files are always installed under PREFIX/share/locale in uclibc
+based systems therefore lets set DATADIRNAME to "share".
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+%% original patch: uclibc_musl_translation.patch
+---
+ m4macros/glib-gettext.m4 | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/m4macros/glib-gettext.m4 b/m4macros/glib-gettext.m4
+index df6fbf0..47db864 100644
+--- a/m4macros/glib-gettext.m4
++++ b/m4macros/glib-gettext.m4
+@@ -293,6 +293,10 @@ msgstr ""
+ CATOBJEXT=.mo
+ DATADIRNAME=share
+ ;;
++ *-*-musl* | *-*-linux-uclibc*)
++ CATOBJEXT=.gmo
++ DATADIRNAME=share
++ ;;
+ *)
+ CATOBJEXT=.mo
+ DATADIRNAME=lib
+--
+2.17.1
+
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
index 97d0aff5..a3d71f2b 100644
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
@@ -1,4 +1,4 @@
-From 856045927b9ab391165c0ebabf401835f8439eab Mon Sep 17 00:00:00 2001
+From d29dfba67b1808eea6d428085f95b6e42cf2d1e4 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 22 Mar 2016 15:14:58 +0200
Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
@@ -10,20 +10,18 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Upstream-Status: Inappropriate [OE specific]
---
- gio/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ gio/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
-diff --git a/gio/Makefile.am b/gio/Makefile.am
-index e14cad2..bf2bcc7 100644
---- a/gio/Makefile.am
-+++ b/gio/Makefile.am
-@@ -835,7 +835,8 @@ gio.def: libgio-2.0.la
- gio-2.0.lib: libgio-2.0.la gio.def
- $(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/gio.def -out:$@
+diff --git a/gio/meson.build b/gio/meson.build
+index 4e5e021..90a741a 100644
+--- a/gio/meson.build
++++ b/gio/meson.build
+@@ -940,6 +940,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
+ c_args : gio_c_args,
+ # intl.lib is not compatible with SAFESEH
+ link_args : noseh_link_args,
++ install_dir: glib_libexecdir,
+ dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
--bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings gio-launch-desktop
-+bin_PROGRAMS = glib-compile-schemas glib-compile-resources gsettings gio-launch-desktop
-+libexec_PROGRAMS = gio-querymodules
-
- glib_compile_resources_LDADD = libgio-2.0.la \
- $(top_builddir)/gobject/libgobject-2.0.la \
+ glib_compile_schemas = executable('glib-compile-schemas',
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
new file mode 100644
index 00000000..b02169e0
--- /dev/null
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
@@ -0,0 +1,95 @@
+From cfff734af6bff6a30a649f784ecf698658c01884 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 13 Feb 2019 15:32:05 +0100
+Subject: [PATCH] Set host_machine correctly when building with mingw32
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ gio/tests/meson.build | 8 ++++----
+ glib/tests/meson.build | 2 +-
+ meson.build | 3 +++
+ tests/meson.build | 2 +-
+ 4 files changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index 95aafc1..9025eb2 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -13,7 +13,7 @@ test_c_args = [
+ '-UG_DISABLE_ASSERT',
+ ]
+
+-if host_machine.system() == 'windows'
++if host_system == 'windows'
+ common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')]
+ endif
+
+@@ -120,7 +120,7 @@ if dbus1_dep.found()
+ endif
+
+ # Test programs buildable on UNIX only
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+ gio_tests += {
+ 'file' : {},
+ 'gdbus-peer' : {
+@@ -332,7 +332,7 @@ if host_machine.system() != 'windows'
+ endif # unix
+
+ # Test programs buildable on Windows only
+-if host_machine.system() == 'windows'
++if host_system == 'windows'
+ gio_tests += {'win32-streams' : {}}
+ endif
+
+@@ -397,7 +397,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl'
+ }
+ endif
+
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+ test_extra_programs += {
+ 'gdbus-example-unix-fd-client' : {
+ 'install' : false,
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index c47133f..cad975f 100644
+--- a/glib/tests/meson.build
++++ b/glib/tests/meson.build
+@@ -132,7 +132,7 @@ if glib_conf.has('HAVE_EVENTFD')
+ }
+ endif
+
+-if host_machine.system() == 'windows'
++if host_system == 'windows'
+ if winsock2.found()
+ glib_tests += {
+ 'gpoll' : {
+diff --git a/meson.build b/meson.build
+index 717d1bc..2a3beb8 100644
+--- a/meson.build
++++ b/meson.build
+@@ -32,6 +32,9 @@ else
+ endif
+
+ host_system = host_machine.system()
++if host_system == 'mingw32'
++ host_system = 'windows'
++endif
+
+ glib_version = meson.project_version()
+ glib_api_version = '2.0'
+diff --git a/tests/meson.build b/tests/meson.build
+index ce30442..5710f2c 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -66,7 +66,7 @@ test_extra_programs = {
+ 'unicode-collate' : {},
+ }
+
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+ tests += {
+ 'timeloop' : {},
+ 'iochannel-test' : {},
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch
new file mode 100644
index 00000000..3dfef176
--- /dev/null
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch
@@ -0,0 +1,27 @@
+From 730803f2bc3f2f1a74f4db809a224066e7eae114 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 8 Jan 2020 18:22:46 +0100
+Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test
+
+This test requires building resources in a way that is
+not cross-compatible (hardcodes ld and objcopy).
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gio/tests/resources.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gio/tests/resources.c b/gio/tests/resources.c
+index c44d214..e289a01 100644
+--- a/gio/tests/resources.c
++++ b/gio/tests/resources.c
+@@ -993,7 +993,7 @@ main (int argc,
+ g_test_add_func ("/resource/automatic", test_resource_automatic);
+ /* This only uses automatic resources too, so it tests the constructors and destructors */
+ g_test_add_func ("/resource/module", test_resource_module);
+- g_test_add_func ("/resource/binary-linked", test_resource_binary_linked);
++ /* g_test_add_func ("/resource/binary-linked", test_resource_binary_linked); */
+ #endif
+ g_test_add_func ("/resource/uri/query-info", test_uri_query_info);
+ g_test_add_func ("/resource/uri/file", test_uri_file);
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch
new file mode 100644
index 00000000..833ad254
--- /dev/null
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch
@@ -0,0 +1,31 @@
+From cce617bec254e327ed7bcad60f58208024c6dc42 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 12 Oct 2019 17:46:26 -0700
+Subject: [PATCH] meson: Run atomics test on clang as well
+
+Fixes
+./glib-2.62.1/glib/gatomic.c:675:2: error: G_ATOMIC_LOCK_FREE defined, but incapable of lock-free atomics.
+^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 9731de4..c678931 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1634,7 +1634,7 @@ atomicdefine = '''
+ # We know that we can always use real ("lock free") atomic operations with MSVC
+ if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' or cc.links(atomictest, name : 'atomic ops')
+ have_atomic_lock_free = true
+- if cc.get_id() == 'gcc' and not cc.compiles(atomicdefine, name : 'atomic ops define')
++ if (cc.get_id() == 'gcc' or cc.get_id() == 'clang') and not cc.compiles(atomicdefine, name : 'atomic ops define')
+ # Old gcc release may provide
+ # __sync_bool_compare_and_swap but doesn't define
+ # __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
+--
+2.23.0
+
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
index 697d63d5..872340df 100644
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
@@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in
-index 8050981..e693ef3 100644
+index 8050981..e693ef3 100755
--- a/gio/gdbus-2.0/codegen/gdbus-codegen.in
+++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in
@@ -1,4 +1,4 @@
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch
deleted file mode 100644
index 37ad5808..00000000
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From d8f8f4d637ce43f8699ba94c9b7648beda0ca174 Mon Sep 17 00:00:00 2001
-From: Ondrej Holy <oholy@redhat.com>
-Date: Thu, 23 May 2019 10:41:53 +0200
-Subject: [PATCH] gfile: Limit access to files when copying
-
-file_copy_fallback creates new files with default permissions and
-set the correct permissions after the operation is finished. This
-might cause that the files can be accessible by more users during
-the operation than expected. Use G_FILE_CREATE_PRIVATE for the new
-files to limit access to those files.
-
-Upstream-Status: Backport
-https://gitlab.gnome.org/GNOME/glib/commit/d8f8f4d637ce43f8699ba94c9b7648beda0ca174
-CVE: CVE-2019-12450
-Signed-off-by: Armin kuster <akuster@mvista.com>
-
----
- gio/gfile.c | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/gio/gfile.c b/gio/gfile.c
-index 24b136d..74b5804 100644
---- a/gio/gfile.c
-+++ b/gio/gfile.c
-@@ -3284,12 +3284,12 @@ file_copy_fallback (GFile *source,
- out = (GOutputStream*)_g_local_file_output_stream_replace (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
- FALSE, NULL,
- flags & G_FILE_COPY_BACKUP,
-- G_FILE_CREATE_REPLACE_DESTINATION,
-- info,
-+ G_FILE_CREATE_REPLACE_DESTINATION |
-+ G_FILE_CREATE_PRIVATE, info,
- cancellable, error);
- else
- out = (GOutputStream*)_g_local_file_output_stream_create (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
-- FALSE, 0, info,
-+ FALSE, G_FILE_CREATE_PRIVATE, info,
- cancellable, error);
- }
- else if (flags & G_FILE_COPY_OVERWRITE)
-@@ -3297,12 +3297,13 @@ file_copy_fallback (GFile *source,
- out = (GOutputStream *)g_file_replace (destination,
- NULL,
- flags & G_FILE_COPY_BACKUP,
-- G_FILE_CREATE_REPLACE_DESTINATION,
-+ G_FILE_CREATE_REPLACE_DESTINATION |
-+ G_FILE_CREATE_PRIVATE,
- cancellable, error);
- }
- else
- {
-- out = (GOutputStream *)g_file_create (destination, 0, cancellable, error);
-+ out = (GOutputStream *)g_file_create (destination, G_FILE_CREATE_PRIVATE, cancellable, error);
- }
-
- if (!out)
---
-2.7.4
-
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-13012.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-13012.patch
deleted file mode 100644
index 29c5d984..00000000
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-13012.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From c7f7fd53780f8caebccc903d61ffc21632b46a6c Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Tue, 22 Jan 2019 13:26:31 -0500
-Subject: [PATCH] keyfile settings: Use tighter permissions
-
-When creating directories, create them with 700 permissions,
-instead of 777.
-
-Closes: #1658
-
-Upstream-Status: Backport
-[https://gitlab.gnome.org/GNOME/glib/commit
-/5e4da714f00f6bfb2ccd6d73d61329c6f3a08429]
-
-CVE: CVE-2019-13012
-
-Signed-off-by: Kevin Weng <t-keweng@microsoft.com>
----
- gio/gkeyfilesettingsbackend.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
-index a37978e83..580a0b0a1 100644
---- a/gio/gkeyfilesettingsbackend.c
-+++ b/gio/gkeyfilesettingsbackend.c
-@@ -89,7 +89,8 @@ g_keyfile_settings_backend_keyfile_write (GKeyfileSettingsBackend *kfsb)
-
- contents = g_key_file_to_data (kfsb->keyfile, &length, NULL);
- g_file_replace_contents (kfsb->file, contents, length, NULL, FALSE,
-- G_FILE_CREATE_REPLACE_DESTINATION,
-+ G_FILE_CREATE_REPLACE_DESTINATION |
-+ G_FILE_CREATE_PRIVATE,
- NULL, NULL, NULL);
-
- compute_checksum (kfsb->digest, contents, length);
-@@ -640,7 +641,7 @@ g_keyfile_settings_backend_new (const gchar *filename,
-
- kfsb->file = g_file_new_for_path (filename);
- kfsb->dir = g_file_get_parent (kfsb->file);
-- g_file_make_directory_with_parents (kfsb->dir, NULL, NULL);
-+ g_mkdir_with_parents (g_file_peek_path (kfsb->dir), 0700);
-
- kfsb->file_monitor = g_file_monitor (kfsb->file, 0, NULL, NULL);
- kfsb->dir_monitor = g_file_monitor (kfsb->dir, 0, NULL, NULL);
---
-2.22.0
-
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-9633_p1.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-9633_p1.patch
deleted file mode 100644
index f95716ae..00000000
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-9633_p1.patch
+++ /dev/null
@@ -1,316 +0,0 @@
-From c1e32b90576af11556c8a9178e43902f3394a4b0 Mon Sep 17 00:00:00 2001
-From: Patrick Griffis <pgriffis@igalia.com>
-Date: Mon, 29 Oct 2018 09:53:07 -0400
-Subject: [PATCH] gsocketclient: Improve handling of slow initial connections
-
-Currently a new connection will not be attempted until the previous
-one has timed out and as the current API only exposes a single
-timeout value in practice it often means that it will wait 30 seconds
-(or forever with 0 (the default)) on each connection.
-
-This is unacceptable so we are now trying to follow the behavior
-RFC 8305 recommends by making multiple connection attempts if
-the connection takes longer than 250ms. The first connection
-to make it to completion then wins.
-
-Upstream-Status: Backport
-CVE: CVE-2019-9633 patch 1
-Affects: < 2.59.2
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- gio/gsocketclient.c | 176 ++++++++++++++++++++++++++++++++++++++++++++--------
- 1 file changed, 151 insertions(+), 25 deletions(-)
-
-diff --git a/gio/gsocketclient.c b/gio/gsocketclient.c
-index ddd1497..5c6513c 100644
---- a/gio/gsocketclient.c
-+++ b/gio/gsocketclient.c
-@@ -2,6 +2,7 @@
- *
- * Copyright © 2008, 2009 codethink
- * Copyright © 2009 Red Hat, Inc
-+ * Copyright © 2018 Igalia S.L.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
-@@ -49,6 +50,10 @@
- #include <gio/ginetaddress.h>
- #include "glibintl.h"
-
-+/* As recommended by RFC 8305 this is the time it waits
-+ * on a connection before starting another concurrent attempt.
-+ */
-+#define HAPPY_EYEBALLS_CONNECTION_ATTEMPT_TIMEOUT_MS 250
-
- /**
- * SECTION:gsocketclient
-@@ -1328,28 +1333,82 @@ typedef struct
- GSocketConnectable *connectable;
- GSocketAddressEnumerator *enumerator;
- GProxyAddress *proxy_addr;
-- GSocketAddress *current_addr;
-- GSocket *current_socket;
-+ GSocket *socket;
- GIOStream *connection;
-
-+ GSList *connection_attempts;
- GError *last_error;
- } GSocketClientAsyncConnectData;
-
-+static void connection_attempt_unref (gpointer attempt);
-+
- static void
- g_socket_client_async_connect_data_free (GSocketClientAsyncConnectData *data)
- {
- g_clear_object (&data->connectable);
- g_clear_object (&data->enumerator);
- g_clear_object (&data->proxy_addr);
-- g_clear_object (&data->current_addr);
-- g_clear_object (&data->current_socket);
-+ g_clear_object (&data->socket);
- g_clear_object (&data->connection);
-+ g_slist_free_full (data->connection_attempts, connection_attempt_unref);
-
- g_clear_error (&data->last_error);
-
- g_slice_free (GSocketClientAsyncConnectData, data);
- }
-
-+typedef struct
-+{
-+ GSocketAddress *address;
-+ GSocket *socket;
-+ GIOStream *connection;
-+ GSocketClientAsyncConnectData *data; /* unowned */
-+ GSource *timeout_source;
-+ GCancellable *cancellable;
-+ grefcount ref;
-+} ConnectionAttempt;
-+
-+static ConnectionAttempt *
-+connection_attempt_new (void)
-+{
-+ ConnectionAttempt *attempt = g_new0 (ConnectionAttempt, 1);
-+ g_ref_count_init (&attempt->ref);
-+ return attempt;
-+}
-+
-+static ConnectionAttempt *
-+connection_attempt_ref (ConnectionAttempt *attempt)
-+{
-+ g_ref_count_inc (&attempt->ref);
-+ return attempt;
-+}
-+
-+static void
-+connection_attempt_unref (gpointer pointer)
-+{
-+ ConnectionAttempt *attempt = pointer;
-+ if (g_ref_count_dec (&attempt->ref))
-+ {
-+ g_clear_object (&attempt->address);
-+ g_clear_object (&attempt->socket);
-+ g_clear_object (&attempt->connection);
-+ g_clear_object (&attempt->cancellable);
-+ if (attempt->timeout_source)
-+ {
-+ g_source_destroy (attempt->timeout_source);
-+ g_source_unref (attempt->timeout_source);
-+ }
-+ g_free (attempt);
-+ }
-+}
-+
-+static void
-+connection_attempt_remove (ConnectionAttempt *attempt)
-+{
-+ attempt->data->connection_attempts = g_slist_remove (attempt->data->connection_attempts, attempt);
-+ connection_attempt_unref (attempt);
-+}
-+
- static void
- g_socket_client_async_connect_complete (GSocketClientAsyncConnectData *data)
- {
-@@ -1359,8 +1418,7 @@ g_socket_client_async_connect_complete (GSocketClientAsyncConnectData *data)
- {
- GSocketConnection *wrapper_connection;
-
-- wrapper_connection = g_tcp_wrapper_connection_new (data->connection,
-- data->current_socket);
-+ wrapper_connection = g_tcp_wrapper_connection_new (data->connection, data->socket);
- g_object_unref (data->connection);
- data->connection = (GIOStream *)wrapper_connection;
- }
-@@ -1389,8 +1447,7 @@ static void
- enumerator_next_async (GSocketClientAsyncConnectData *data)
- {
- /* We need to cleanup the state */
-- g_clear_object (&data->current_socket);
-- g_clear_object (&data->current_addr);
-+ g_clear_object (&data->socket);
- g_clear_object (&data->proxy_addr);
- g_clear_object (&data->connection);
-
-@@ -1485,34 +1542,68 @@ g_socket_client_connected_callback (GObject *source,
- GAsyncResult *result,
- gpointer user_data)
- {
-- GSocketClientAsyncConnectData *data = user_data;
-+ ConnectionAttempt *attempt = user_data;
-+ GSocketClientAsyncConnectData *data = attempt->data;
-+ GSList *l;
- GError *error = NULL;
- GProxy *proxy;
- const gchar *protocol;
-
-- if (g_task_return_error_if_cancelled (data->task))
-+ /* data is NULL once the task is completed */
-+ if (data && g_task_return_error_if_cancelled (data->task))
- {
- g_object_unref (data->task);
-+ connection_attempt_unref (attempt);
- return;
- }
-
-+ if (attempt->timeout_source)
-+ {
-+ g_source_destroy (attempt->timeout_source);
-+ g_clear_pointer (&attempt->timeout_source, g_source_unref);
-+ }
-+
- if (!g_socket_connection_connect_finish (G_SOCKET_CONNECTION (source),
- result, &error))
- {
-- clarify_connect_error (error, data->connectable,
-- data->current_addr);
-- set_last_error (data, error);
-+ if (!g_cancellable_is_cancelled (attempt->cancellable))
-+ {
-+ clarify_connect_error (error, data->connectable, attempt->address);
-+ set_last_error (data, error);
-+ }
-+ else
-+ g_clear_error (&error);
-+
-+ if (data)
-+ {
-+ connection_attempt_remove (attempt);
-+ enumerator_next_async (data);
-+ }
-+ else
-+ connection_attempt_unref (attempt);
-
-- /* try next one */
-- enumerator_next_async (data);
- return;
- }
-
-+ data->socket = g_steal_pointer (&attempt->socket);
-+ data->connection = g_steal_pointer (&attempt->connection);
-+
-+ for (l = data->connection_attempts; l; l = g_slist_next (l))
-+ {
-+ ConnectionAttempt *attempt_entry = l->data;
-+ g_cancellable_cancel (attempt_entry->cancellable);
-+ attempt_entry->data = NULL;
-+ connection_attempt_unref (attempt_entry);
-+ }
-+ g_slist_free (data->connection_attempts);
-+ data->connection_attempts = NULL;
-+ connection_attempt_unref (attempt);
-+
- g_socket_connection_set_cached_remote_address ((GSocketConnection*)data->connection, NULL);
- g_socket_client_emit_event (data->client, G_SOCKET_CLIENT_CONNECTED, data->connectable, data->connection);
-
- /* wrong, but backward compatible */
-- g_socket_set_blocking (data->current_socket, TRUE);
-+ g_socket_set_blocking (data->socket, TRUE);
-
- if (!data->proxy_addr)
- {
-@@ -1565,6 +1656,26 @@ g_socket_client_connected_callback (GObject *source,
- }
- }
-
-+static gboolean
-+on_connection_attempt_timeout (gpointer data)
-+{
-+ ConnectionAttempt *attempt = data;
-+
-+ enumerator_next_async (attempt->data);
-+
-+ g_clear_pointer (&attempt->timeout_source, g_source_unref);
-+ return G_SOURCE_REMOVE;
-+}
-+
-+static void
-+on_connection_cancelled (GCancellable *cancellable,
-+ gpointer data)
-+{
-+ GCancellable *attempt_cancellable = data;
-+
-+ g_cancellable_cancel (attempt_cancellable);
-+}
-+
- static void
- g_socket_client_enumerator_callback (GObject *object,
- GAsyncResult *result,
-@@ -1573,6 +1684,7 @@ g_socket_client_enumerator_callback (GObject *object,
- GSocketClientAsyncConnectData *data = user_data;
- GSocketAddress *address = NULL;
- GSocket *socket;
-+ ConnectionAttempt *attempt;
- GError *error = NULL;
-
- if (g_task_return_error_if_cancelled (data->task))
-@@ -1585,6 +1697,9 @@ g_socket_client_enumerator_callback (GObject *object,
- result, &error);
- if (address == NULL)
- {
-+ if (data->connection_attempts)
-+ return;
-+
- g_socket_client_emit_event (data->client, G_SOCKET_CLIENT_COMPLETE, data->connectable, NULL);
- if (!error)
- {
-@@ -1621,16 +1736,27 @@ g_socket_client_enumerator_callback (GObject *object,
- return;
- }
-
-- data->current_socket = socket;
-- data->current_addr = address;
-- data->connection = (GIOStream *) g_socket_connection_factory_create_connection (socket);
--
-- g_socket_connection_set_cached_remote_address ((GSocketConnection*)data->connection, address);
-- g_socket_client_emit_event (data->client, G_SOCKET_CLIENT_CONNECTING, data->connectable, data->connection);
-- g_socket_connection_connect_async (G_SOCKET_CONNECTION (data->connection),
-+ attempt = connection_attempt_new ();
-+ attempt->data = data;
-+ attempt->socket = socket;
-+ attempt->address = address;
-+ attempt->cancellable = g_cancellable_new ();
-+ attempt->connection = (GIOStream *)g_socket_connection_factory_create_connection (socket);
-+ attempt->timeout_source = g_timeout_source_new (HAPPY_EYEBALLS_CONNECTION_ATTEMPT_TIMEOUT_MS);
-+ g_source_set_callback (attempt->timeout_source, on_connection_attempt_timeout, attempt, NULL);
-+ g_source_attach (attempt->timeout_source, g_main_context_get_thread_default ());
-+ data->connection_attempts = g_slist_append (data->connection_attempts, attempt);
-+
-+ if (g_task_get_cancellable (data->task))
-+ g_cancellable_connect (g_task_get_cancellable (data->task), G_CALLBACK (on_connection_cancelled),
-+ g_object_ref (attempt->cancellable), g_object_unref);
-+
-+ g_socket_connection_set_cached_remote_address ((GSocketConnection *)attempt->connection, address);
-+ g_socket_client_emit_event (data->client, G_SOCKET_CLIENT_CONNECTING, data->connectable, attempt->connection);
-+ g_socket_connection_connect_async (G_SOCKET_CONNECTION (attempt->connection),
- address,
-- g_task_get_cancellable (data->task),
-- g_socket_client_connected_callback, data);
-+ attempt->cancellable,
-+ g_socket_client_connected_callback, connection_attempt_ref (attempt));
- }
-
- /**
---
-2.7.4
-
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-9633_p2.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-9633_p2.patch
deleted file mode 100644
index 3bb2f5d9..00000000
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-9633_p2.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-From d553d92d6e9f53cbe5a34166fcb919ba652c6a8e Mon Sep 17 00:00:00 2001
-From: Patrick Griffis <pgriffis@igalia.com>
-Date: Tue, 29 Jan 2019 10:07:06 -0500
-Subject: [PATCH] gsocketclient: Fix criticals
-
-This ensures the parent GTask is kept alive as long as an enumeration
-is running and trying to connect.
-
-Closes #1646
-Closes #1649
-
-Upstream-Status: Backport
-CVE: CVE-2019-9633 patch 2
-Affects: < 2.59.2
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- gio/gsocketclient.c | 74 +++++++++++++++++++++++++++++-------------
- gio/tests/gsocketclient-slow.c | 55 ++++++++++++++++++++++++++++++-
- 2 files changed, 106 insertions(+), 23 deletions(-)
-
-Index: glib-2.58.0/gio/gsocketclient.c
-===================================================================
---- glib-2.58.0.orig/gio/gsocketclient.c
-+++ glib-2.58.0/gio/gsocketclient.c
-@@ -1327,7 +1327,7 @@ g_socket_client_connect_to_uri (GSocketC
-
- typedef struct
- {
-- GTask *task;
-+ GTask *task; /* unowned */
- GSocketClient *client;
-
- GSocketConnectable *connectable;
-@@ -1345,6 +1345,7 @@ static void connection_attempt_unref (gp
- static void
- g_socket_client_async_connect_data_free (GSocketClientAsyncConnectData *data)
- {
-+ data->task = NULL;
- g_clear_object (&data->connectable);
- g_clear_object (&data->enumerator);
- g_clear_object (&data->proxy_addr);
-@@ -1444,13 +1445,19 @@ set_last_error (GSocketClientAsyncConnec
- }
-
- static void
--enumerator_next_async (GSocketClientAsyncConnectData *data)
-+enumerator_next_async (GSocketClientAsyncConnectData *data,
-+ gboolean add_task_ref)
- {
- /* We need to cleanup the state */
- g_clear_object (&data->socket);
- g_clear_object (&data->proxy_addr);
- g_clear_object (&data->connection);
-
-+ /* Each enumeration takes a ref. This arg just avoids repeated unrefs when
-+ an enumeration starts another enumeration */
-+ if (add_task_ref)
-+ g_object_ref (data->task);
-+
- g_socket_client_emit_event (data->client, G_SOCKET_CLIENT_RESOLVING, data->connectable, NULL);
- g_socket_address_enumerator_next_async (data->enumerator,
- g_task_get_cancellable (data->task),
-@@ -1478,7 +1485,7 @@ g_socket_client_tls_handshake_callback (
- else
- {
- g_object_unref (object);
-- enumerator_next_async (data);
-+ enumerator_next_async (data, FALSE);
- }
- }
-
-@@ -1509,7 +1516,7 @@ g_socket_client_tls_handshake (GSocketCl
- }
- else
- {
-- enumerator_next_async (data);
-+ enumerator_next_async (data, FALSE);
- }
- }
-
-@@ -1530,13 +1537,24 @@ g_socket_client_proxy_connect_callback (
- }
- else
- {
-- enumerator_next_async (data);
-+ enumerator_next_async (data, FALSE);
- return;
- }
-
- g_socket_client_tls_handshake (data);
- }
-
-+static gboolean
-+task_completed_or_cancelled (GTask *task)
-+{
-+ if (g_task_get_completed (task))
-+ return TRUE;
-+ else if (g_task_return_error_if_cancelled (task))
-+ return TRUE;
-+ else
-+ return FALSE;
-+}
-+
- static void
- g_socket_client_connected_callback (GObject *source,
- GAsyncResult *result,
-@@ -1549,8 +1567,7 @@ g_socket_client_connected_callback (GObj
- GProxy *proxy;
- const gchar *protocol;
-
-- /* data is NULL once the task is completed */
-- if (data && g_task_return_error_if_cancelled (data->task))
-+ if (g_cancellable_is_cancelled (attempt->cancellable) || task_completed_or_cancelled (data->task))
- {
- g_object_unref (data->task);
- connection_attempt_unref (attempt);
-@@ -1570,17 +1587,15 @@ g_socket_client_connected_callback (GObj
- {
- clarify_connect_error (error, data->connectable, attempt->address);
- set_last_error (data, error);
-+ connection_attempt_remove (attempt);
-+ enumerator_next_async (data, FALSE);
- }
- else
-- g_clear_error (&error);
--
-- if (data)
- {
-- connection_attempt_remove (attempt);
-- enumerator_next_async (data);
-+ g_clear_error (&error);
-+ g_object_unref (data->task);
-+ connection_attempt_unref (attempt);
- }
-- else
-- connection_attempt_unref (attempt);
-
- return;
- }
-@@ -1592,7 +1607,6 @@ g_socket_client_connected_callback (GObj
- {
- ConnectionAttempt *attempt_entry = l->data;
- g_cancellable_cancel (attempt_entry->cancellable);
-- attempt_entry->data = NULL;
- connection_attempt_unref (attempt_entry);
- }
- g_slist_free (data->connection_attempts);
-@@ -1625,7 +1639,7 @@ g_socket_client_connected_callback (GObj
- G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
- _("Proxying over a non-TCP connection is not supported."));
-
-- enumerator_next_async (data);
-+ enumerator_next_async (data, FALSE);
- }
- else if (g_hash_table_contains (data->client->priv->app_proxies, protocol))
- {
-@@ -1652,7 +1666,7 @@ g_socket_client_connected_callback (GObj
- _("Proxy protocol “%s” is not supported."),
- protocol);
-
-- enumerator_next_async (data);
-+ enumerator_next_async (data, FALSE);
- }
- }
-
-@@ -1661,7 +1675,7 @@ on_connection_attempt_timeout (gpointer
- {
- ConnectionAttempt *attempt = data;
-
-- enumerator_next_async (attempt->data);
-+ enumerator_next_async (attempt->data, TRUE);
-
- g_clear_pointer (&attempt->timeout_source, g_source_unref);
- return G_SOURCE_REMOVE;
-@@ -1687,7 +1701,7 @@ g_socket_client_enumerator_callback (GOb
- ConnectionAttempt *attempt;
- GError *error = NULL;
-
-- if (g_task_return_error_if_cancelled (data->task))
-+ if (task_completed_or_cancelled (data->task))
- {
- g_object_unref (data->task);
- return;
-@@ -1698,7 +1712,10 @@ g_socket_client_enumerator_callback (GOb
- if (address == NULL)
- {
- if (data->connection_attempts)
-- return;
-+ {
-+ g_object_unref (data->task);
-+ return;
-+ }
-
- g_socket_client_emit_event (data->client, G_SOCKET_CLIENT_COMPLETE, data->connectable, NULL);
- if (!error)
-@@ -1732,7 +1749,7 @@ g_socket_client_enumerator_callback (GOb
- if (socket == NULL)
- {
- g_object_unref (address);
-- enumerator_next_async (data);
-+ enumerator_next_async (data, FALSE);
- return;
- }
-
-@@ -1804,11 +1821,24 @@ g_socket_client_connect_async (GSocketCl
- else
- data->enumerator = g_socket_connectable_enumerate (connectable);
-
-+ /* The flow and ownership here isn't quite obvious:
-+ - The task starts an async attempt to connect.
-+ - Each attempt holds a single ref on task.
-+ - Each attempt may create new attempts by timing out (not a failure) so
-+ there are multiple attempts happening in parallel.
-+ - Upon failure an attempt will start a new attempt that steals its ref
-+ until there are no more attempts left and it drops its ref.
-+ - Upon success it will cancel all other attempts and continue on
-+ to the rest of the connection (tls, proxies, etc) which do not
-+ happen in parallel and at the very end drop its ref.
-+ - Upon cancellation an attempt drops its ref.
-+ */
-+
- data->task = g_task_new (client, cancellable, callback, user_data);
- g_task_set_source_tag (data->task, g_socket_client_connect_async);
- g_task_set_task_data (data->task, data, (GDestroyNotify)g_socket_client_async_connect_data_free);
-
-- enumerator_next_async (data);
-+ enumerator_next_async (data, FALSE);
- }
-
- /**
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
index 50781e78..48899ce8 100644
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
@@ -1,4 +1,4 @@
-From 4b1a6d247c78125096a6ea5ab3cab8a1f000dc23 Mon Sep 17 00:00:00 2001
+From 0061d66057dfd7e7267772df60b36474fb180eed Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Mon, 9 Nov 2015 11:07:27 +0200
Subject: [PATCH] Enable more tests while cross-compiling
@@ -11,70 +11,111 @@ Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
- gio/tests/Makefile.am | 10 ++++++----
- tests/gobject/Makefile.am | 8 +++++---
- 2 files changed, 11 insertions(+), 7 deletions(-)
+ gio/tests/meson.build | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
-diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
-index 1f0bed7..8295deb 100644
---- a/gio/tests/Makefile.am
-+++ b/gio/tests/Makefile.am
-@@ -550,10 +550,9 @@ test_programs += \
- endif
-
- # -----------------------------------------------------------------------------
--# The resources test is a bit more complicated, and we cannot build it when
--# cross-compiling GIO because it requires running a binary...
-+# The resources test is a bit more complicated, and requires glib-native
-+# for running a binary
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index 382dfcc..c171717 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -191,7 +191,7 @@ if host_machine.system() != 'windows'
--if !CROSS_COMPILING
- test_programs += resources
- resources_SOURCES = resources.c
- nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h
-@@ -578,7 +577,11 @@ if !ENABLE_INSTALLED_TESTS
- libresourceplugin_la_LDFLAGS += -rpath /
+ # Test programs that need to bring up a session bus (requires dbus-daemon)
+ have_dbus_daemon = find_program('dbus-daemon', required : false).found()
+- if have_dbus_daemon
++ if true
+ annotate_args = [
+ '--annotate', 'org.project.Bar', 'Key1', 'Value1',
+ '--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2',
+@@ -465,12 +465,12 @@ if installed_tests_enabled
+ install_data('static-link.py', install_dir : installed_tests_execdir)
endif
-+if !CROSS_COMPILING
- glib_compile_resources=$(top_builddir)/gio/glib-compile-resources
-+else
-+glib_compile_resources=glib-compile-resources
-+endif
-
- test-generated.txt: test1.txt
- $(AM_V_GEN) echo "Generated" > $@ && \
-@@ -599,7 +602,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --
-
- EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml
- CLEANFILES += test-generated.txt test_resources.c test_resources2.[ch] plugin_resources.c test.gresource
--endif # !CROSS_COMPILING
-
- BUILT_SOURCES += giotypefuncs.inc
-
-diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am
-index 0e60987..927d13a 100644
---- a/tests/gobject/Makefile.am
-+++ b/tests/gobject/Makefile.am
-@@ -51,10 +51,13 @@ if ENABLE_TIMELOOP
- installed_test_programs += timeloop-closure
- endif
+-if not meson.is_cross_build() or meson.has_exe_wrapper()
++if meson.is_cross_build()
--# The marshal test requires running a binary, which means we cannot
--# build it when cross-compiling
-+# The marshal test requires running a binary, which means we require
-+# glib-native when cross-compiling
- if !CROSS_COMPILING
- glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
-+else
-+glib_genmarshal=$(shell which glib-genmarshal)
-+endif
+ plugin_resources_c = custom_target('plugin-resources.c',
+ input : 'test4.gresource.xml',
+ output : 'plugin-resources.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate-source',
+@@ -494,7 +494,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_gresource = custom_target('test.gresource',
+ input : 'test.gresource.xml',
+ output : 'test.gresource',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--sourcedir=' + meson.current_build_dir(),
+@@ -505,7 +505,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_resources2_c = custom_target('test_resources2.c',
+ input : 'test3.gresource.xml',
+ output : 'test_resources2.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate',
+@@ -516,7 +516,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_resources2_h = custom_target('test_resources2.h',
+ input : 'test3.gresource.xml',
+ output : 'test_resources2.h',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate',
+@@ -528,7 +528,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ input : 'test2.gresource.xml',
+ depends : big_test_resource,
+ output : 'test_resources.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--sourcedir=' + meson.current_build_dir(),
+@@ -539,7 +539,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ digit_test_resources_c = custom_target('digit_test_resources.c',
+ input : '111_digit_test.gresource.xml',
+ output : 'digit_test_resources.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--sourcedir=' + meson.current_build_dir(),
+@@ -550,7 +550,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ digit_test_resources_h = custom_target('digit_test_resources.h',
+ input : '111_digit_test.gresource.xml',
+ output : 'digit_test_resources.h',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate',
+@@ -579,11 +579,11 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ # LLVM once that support is in a stable release.
+ objcopy = find_program('objcopy', required : false)
- testmarshal.h: stamp-testmarshal.h
- @true
-@@ -71,4 +74,3 @@ testmarshal.c: testmarshal.h testmarshal.list $(glib_genmarshal)
- BUILT_SOURCES += testmarshal.h testmarshal.c
- CLEANFILES += stamp-testmarshal.h testmarshal.h testmarshal.c
- EXTRA_DIST += testcommon.h testmarshal.list
--endif # !CROSS_COMPILING
-\ No newline at end of file
+- if build_machine.system() == 'linux' and cc.get_id() == 'gcc' and objcopy.found()
++ if not meson.is_cross_build()
+ test_gresource_binary = custom_target('test5.gresource',
+ input : 'test5.gresource.xml',
+ output : 'test5.gresource',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--sourcedir=' + meson.current_build_dir(),
+@@ -595,7 +595,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_resources_binary_c = custom_target('test_resources_binary.c',
+ input : 'test5.gresource.xml',
+ output : 'test_resources_binary.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--sourcedir=' + meson.current_build_dir(),
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
deleted file mode 100644
index 59b89134..00000000
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 1dd1e6ddca5deada049bac2e1ee1fe4ecc5342c5 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 28 Apr 2012 18:24:50 +0200
-Subject: [PATCH 01/10] configure: use $host_alias-libtool instead of libtool
- directly
-
-Poky renames libtool to $host_alias-libtool.
-./$host_alias-libtool isn't created until after configure runs with
-libtool >= 2.2.2
-so we can't call # it at this point. We can safely assume a version is
-available
-from PATH though
-
-Rebased to glib-2.27.3 by Dongxiao Xu <dongxiao.xu@intel.com>
-Rebased to glib-2.32.1 by Martin Jansa <Martin.Jansa@gmail.com>
-Rebased to glib-2.31.20+ by Andre McCurdy <armccurdy@gmail.com>
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6fa6eb0..b6f78a6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1428,9 +1428,9 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [
- LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
- dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
- echo "void glib_plugin_test(void) { }" > plugin.c
-- ${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
-+ ${SHELL} ./$host_alias-libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
- ${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1
-- ${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
-+ ${SHELL} ./$host_alias-libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
- ${LDFLAGS} -module -o plugin.la -export-dynamic \
- -shrext ".o" -avoid-version plugin.lo \
- -rpath /dont/care >/dev/null 2>&1
---
-2.14.1
-
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch
deleted file mode 100644
index dd0aff72..00000000
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Update Lithuanian month names in the test suite as glibc changed the translations.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/merge_requests/373]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/glib/tests/date.c b/glib/tests/date.c
-index b801ca704..6646c227c 100644
---- a/glib/tests/date.c
-+++ b/glib/tests/date.c
-@@ -365,8 +365,8 @@ test_month_names (void)
- TEST_DATE ( 1, 4, 2018, "%Y m. %OB", "2018 m. balandis");
- TEST_DATE ( 1, 5, 2018, "%Y m. %OB", "2018 m. gegužė");
- TEST_DATE ( 1, 6, 2018, "%Y m. %OB", "2018 m. birželis");
-- TEST_DATE (17, 7, 2018, "%Y m. %b %e d.", "2018 m. Lie 17 d.");
-- TEST_DATE ( 1, 8, 2018, "%Y m. %Ob", "2018 m. Rgp");
-+ TEST_DATE (17, 7, 2018, "%Y m. %b %e d.", "2018 m. Liep. 17 d.");
-+ TEST_DATE ( 1, 8, 2018, "%Y m. %Ob", "2018 m. rugp.");
- }
- else
- g_test_skip ("locale lt_LT not available, skipping Lithuanian month names test");
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common
new file mode 100644
index 00000000..0d7c5fa3
--- /dev/null
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common
@@ -0,0 +1,3 @@
+[properties]
+# On all known supported architectures the stack grows down
+growing_stack = false
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc
new file mode 100644
index 00000000..c4648f58
--- /dev/null
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc
@@ -0,0 +1,5 @@
+[properties]
+have_c99_vsnprintf = true
+have_c99_snprintf = true
+have_unix98_printf = true
+va_val_copy = true
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux
new file mode 100644
index 00000000..83596e0e
--- /dev/null
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux
@@ -0,0 +1,5 @@
+[properties]
+have_proc_self_cmdline = true
+
+[binaries]
+env = "/usr/bin/env"
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw
new file mode 100644
index 00000000..75f911ba
--- /dev/null
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw
@@ -0,0 +1,6 @@
+[properties]
+have_c99_vsnprintf = false
+have_c99_snprintf = false
+have_unix98_printf = false
+va_val_copy = true
+have_proc_self_cmdline = false
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl
new file mode 100644
index 00000000..3049e511
--- /dev/null
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl
@@ -0,0 +1,6 @@
+[properties]
+have_c99_vsnprintf = true
+have_c99_snprintf = true
+have_unix98_printf = true
+va_val_copy = true
+have_strlcpy = true
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index f9794d3d..36d32506 100644
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From 8326961841f4d16c7239e747de11e3817c35cfd2 Mon Sep 17 00:00:00 2001
+From 8c623acdbea3ecc2812bbaafcfc892758fa978da Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Fri, 11 Mar 2016 15:35:55 +0000
Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
@@ -19,10 +19,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/gio/giomodule.c b/gio/giomodule.c
-index 36c0cef..912e490 100644
+index 1007abd..5380982 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
-@@ -40,6 +40,8 @@
+@@ -44,6 +44,8 @@
#include "gnetworkmonitor.h"
#ifdef G_OS_WIN32
#include "gregistrysettingsbackend.h"
@@ -31,8 +31,8 @@ index 36c0cef..912e490 100644
#endif
#include <glib/gstdio.h>
-@@ -1099,7 +1101,15 @@ get_gio_module_dir (void)
- #endif
+@@ -1149,7 +1151,15 @@ get_gio_module_dir (void)
+ NULL);
g_free (install_dir);
#else
- module_dir = g_strdup (GIO_MODULE_DIR);
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
index 8f082d34..7a231b51 100644
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
+++ b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
@@ -1,6 +1,9 @@
#! /bin/sh
set -eux
+if id -u glib2-test; then
+ userdel glib2-test
+fi
useradd glib2-test
-su glib2-test -c gnome-desktop-testing-runner glib
+su glib2-test -c 'gnome-desktop-testing-runner glib'
userdel glib2-test
diff --git a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch b/external/poky/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch
deleted file mode 100644
index 7aa6217d..00000000
--- a/external/poky/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Fix DATADIRNAME on uclibc/Linux
-
-translation files are always installed under PREFIX/share/locale in uclibc
-based systems therefore lets set DATADIRNAME to "share".
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-Index: glib-2.46.1/m4macros/glib-gettext.m4
-===================================================================
---- glib-2.46.1.orig/m4macros/glib-gettext.m4
-+++ glib-2.46.1/m4macros/glib-gettext.m4
-@@ -243,6 +243,10 @@ msgstr ""
- CATOBJEXT=.mo
- DATADIRNAME=share
- ;;
-+ *-*-musl* | *-*-linux-uclibc*)
-+ CATOBJEXT=.gmo
-+ DATADIRNAME=share
-+ ;;
- *)
- CATOBJEXT=.mo
- DATADIRNAME=lib