From eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 Mon Sep 17 00:00:00 2001 From: Dave Cobbley Date: Tue, 14 Aug 2018 10:05:37 -0700 Subject: [Subtree] Removing import-layers directory As part of the move to subtrees, need to bring all the import layers content to the top level. Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f Signed-off-by: Dave Cobbley Signed-off-by: Brad Bishop --- .../0001-Do-not-ignore-return-value-of-write.patch | 42 ++++++ ...stall-gio-querymodules-as-libexec_PROGRAM.patch | 31 ++++ ...warning-about-deprecated-paths-in-schemas.patch | 43 ++++++ ...st-for-pthread_getname_np-before-using-it.patch | 70 +++++++++ ...t-hardcode-python-path-into-various-tools.patch | 46 ++++++ .../Enable-more-tests-while-cross-compiling.patch | 85 +++++++++++ ...un-media-sdX-drive-mount-if-username-root.patch | 39 +++++ .../glib-2.0/glib-2.0/configure-libtool.patch | 44 ++++++ .../glib-2.0/glib-2.0/ptest-paths.patch | 30 ++++ .../glib-2.0/glib-2.0/relocate-modules.patch | 47 ++++++ poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest | 5 + .../glib-2.0/uclibc_musl_translation.patch | 22 +++ poky/meta/recipes-core/glib-2.0/glib-2.0_2.54.3.bb | 24 ++++ poky/meta/recipes-core/glib-2.0/glib.inc | 157 +++++++++++++++++++++ 14 files changed, 685 insertions(+) create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/ptest-paths.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.54.3.bb create mode 100644 poky/meta/recipes-core/glib-2.0/glib.inc (limited to 'poky/meta/recipes-core/glib-2.0') diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch new file mode 100644 index 0000000000..aee96aaa6e --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch @@ -0,0 +1,42 @@ +From d6501b107940e9f548c89236d773c6d33c15a5c9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 16 Apr 2016 13:28:59 -0700 +Subject: [PATCH 1/2] Do not ignore return value of write() + +gcc warns about ignoring return value when compiling +with fortify turned on. + +assert when write() fails + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + glib/tests/unix.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/glib/tests/unix.c b/glib/tests/unix.c +index 3543458..4e7ed85 100644 +--- a/glib/tests/unix.c ++++ b/glib/tests/unix.c +@@ -32,14 +32,15 @@ test_pipe (void) + GError *error = NULL; + int pipefd[2]; + char buf[1024]; +- ssize_t bytes_read; ++ ssize_t bytes_read, bytes_written; + gboolean res; + + res = g_unix_open_pipe (pipefd, FD_CLOEXEC, &error); + g_assert (res); + g_assert_no_error (error); + +- write (pipefd[1], "hello", sizeof ("hello")); ++ bytes_written = write (pipefd[1], "hello", sizeof ("hello")); ++ g_assert (bytes_written != -1 && "write() failed"); + memset (buf, 0, sizeof (buf)); + bytes_read = read (pipefd[0], buf, sizeof(buf) - 1); + g_assert_cmpint (bytes_read, >, 0); +-- +2.8.0 + diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch new file mode 100644 index 0000000000..561d100209 --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch @@ -0,0 +1,31 @@ +From 80682c171ccb27d01343d4cfcfb4dd49b7863ccc Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Tue, 22 Mar 2016 15:14:58 +0200 +Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM + +We want to install this binary with the gio library, and debian +renamer does not cope with library packages with files in ${bindir} + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Inappropriate [OE specific] +--- + gio/Makefile.am | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gio/Makefile.am b/gio/Makefile.am +index b7f91cc..4d81cc0 100644 +--- a/gio/Makefile.am ++++ b/gio/Makefile.am +@@ -702,7 +702,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:$@ + +-bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings ++bin_PROGRAMS = glib-compile-schemas glib-compile-resources gsettings ++libexec_PROGRAMS = gio-querymodules + + glib_compile_resources_LDADD = libgio-2.0.la \ + $(top_builddir)/gobject/libgobject-2.0.la \ +-- +2.1.4 + diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch new file mode 100644 index 0000000000..67ca6240bc --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch @@ -0,0 +1,43 @@ +From 2acf40361eecd17c6981743dabd06e25a9934258 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 12 Jun 2015 17:08:46 +0300 +Subject: [PATCH 05/10] Remove the warning about deprecated paths in schemas + +Some schemas in gsettings-desktop-schemas (such as proxy and locale) +are still using deprecated paths, as of 3.16.1. This causes warning +messages, and meta/lib/oe/rootfs.py complaints about them. + +Upstream-Status: Inappropriate +Signed-off-by: Alexander Kanavin + +--- + gio/glib-compile-schemas.c | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c +index b8de090..130f89b 100644 +--- a/gio/glib-compile-schemas.c ++++ b/gio/glib-compile-schemas.c +@@ -1219,19 +1219,6 @@ parse_state_start_schema (ParseState *state, + return; + } + +- if (path && (g_str_has_prefix (path, "/apps/") || +- g_str_has_prefix (path, "/desktop/") || +- g_str_has_prefix (path, "/system/"))) +- { +- gchar *message = NULL; +- message = g_strdup_printf (_("Warning: Schema “%s” has path “%s”. " +- "Paths starting with " +- "“/apps/”, “/desktop/” or “/system/” are deprecated."), +- id, path); +- g_printerr ("%s\n", message); +- g_free (message); +- } +- + state->schema_state = schema_state_new (path, gettext_domain, + extends, extends_name, list_of); + +-- +2.14.1 + diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch new file mode 100644 index 0000000000..c6e4966bb8 --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Test-for-pthread_getname_np-before-using-it.patch @@ -0,0 +1,70 @@ +From f627fe16099a2b08d8b4e9023ae6b4f352451967 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 6 Nov 2016 08:59:08 -0800 +Subject: [PATCH] Test for pthread_getname_np before using it + +Its a GNU extention and not all libc implement it +musl e.g. implements the setname API but not getname +in any case, it seems to be safer to check for the +function before using it. + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + config.h.in | 3 +++ + configure.ac | 10 ++++++++++ + glib/tests/thread.c | 2 +- + 3 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/config.h.in b/config.h.in +index 2c35ff1..da7ac30 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -326,6 +326,9 @@ + #undef HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP + + /* Have function pthread_setname_np(const char*) */ ++#undef HAVE_PTHREAD_GETNAME_NP ++ ++/* Have function pthread_setname_np(const char*) */ + #undef HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID + + /* Have function pthread_setname_np(pthread_t, const char*) */ +diff --git a/configure.ac b/configure.ac +index 4309671..209770a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2121,6 +2121,16 @@ AS_IF([ test x"$have_threads" = xposix], [ + AC_DEFINE(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP,1, + [Have function pthread_cond_timedwait_relative_np])], + [AC_MSG_RESULT(no)]) ++ dnl gets thread names ++ AC_MSG_CHECKING(for pthread_getname_np(pthread_t, char*, size_t)) ++ AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM( ++ [#include ], ++ [pthread_getname_np(pthread_self(),"example",0)])], ++ [AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_PTHREAD_GETNAME_NP,1, ++ [Have function pthread_setname_np(const char*)])], ++ [AC_MSG_RESULT(no)]) + dnl Sets thread names on OS X 10.6, iOS 3.2 (and higher) + AC_MSG_CHECKING(for pthread_setname_np(const char*)) + AC_LINK_IFELSE( +diff --git a/glib/tests/thread.c b/glib/tests/thread.c +index 5447836..2f248a6 100644 +--- a/glib/tests/thread.c ++++ b/glib/tests/thread.c +@@ -174,7 +174,7 @@ test_thread5 (void) + static gpointer + thread6_func (gpointer data) + { +-#ifdef HAVE_PTHREAD_SETNAME_NP_WITH_TID ++#if defined(HAVE_PTHREAD_SETNAME_NP_WITH_TID) && defined(HAVE_PTHREAD_GETNAME_NP) + char name[16]; + + pthread_getname_np (pthread_self(), name, 16); +-- +2.10.2 + diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch new file mode 100644 index 0000000000..697d63d5fe --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch @@ -0,0 +1,46 @@ +From b9160d951b9af647b97766c57295ca4f45cf9521 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 3 Oct 2017 10:45:55 +0300 +Subject: [PATCH 10/10] Do not hardcode python path into various tools + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +--- + gio/gdbus-2.0/codegen/gdbus-codegen.in | 2 +- + gobject/glib-genmarshal.in | 2 +- + gobject/glib-mkenums.in | 2 +- + 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 +--- a/gio/gdbus-2.0/codegen/gdbus-codegen.in ++++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env @PYTHON@ ++#!/usr/bin/env python3 + + # GDBus - GLib D-Bus Library + # +diff --git a/gobject/glib-genmarshal.in b/gobject/glib-genmarshal.in +index 09e8408..b2f9d99 100755 +--- a/gobject/glib-genmarshal.in ++++ b/gobject/glib-genmarshal.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env @PYTHON@ ++#!/usr/bin/env python3 + + # pylint: disable=too-many-lines, missing-docstring, invalid-name + +diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in +index d4bfd11..051fce4 100755 +--- a/gobject/glib-mkenums.in ++++ b/gobject/glib-mkenums.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env @PYTHON@ ++#!/usr/bin/env python3 + + # If the code below looks horrible and unpythonic, do not panic. + # +-- +2.14.1 + diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch new file mode 100644 index 0000000000..b98f933dae --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch @@ -0,0 +1,85 @@ +From d762907d33b81cf7469b5696c87f2188d2050afb Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Mon, 9 Nov 2015 11:07:27 +0200 +Subject: [PATCH 06/10] Enable more tests while cross-compiling + +Upstream disables a few tests while cross-compiling because their build requires +running other built binaries. This usually makes sense but in the cross-compile +case we can depend on glib-2.0-native. + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Jussi Kukkonen + +--- + gio/tests/Makefile.am | 10 ++++++---- + tests/gobject/Makefile.am | 8 +++++--- + 2 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am +index acc1da4..9176640 100644 +--- a/gio/tests/Makefile.am ++++ b/gio/tests/Makefile.am +@@ -516,10 +516,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 + +-if !CROSS_COMPILING + test_programs += resources + resources_SOURCES = resources.c + nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h +@@ -543,7 +542,11 @@ if !ENABLE_INSTALLED_TESTS + libresourceplugin_la_LDFLAGS += -rpath / + 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" > $@ && \ +@@ -564,7 +567,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 656941d..68555ff 100644 +--- a/tests/gobject/Makefile.am ++++ b/tests/gobject/Makefile.am +@@ -48,10 +48,13 @@ if ENABLE_TIMELOOP + installed_test_programs += timeloop-closure + endif + +-# 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 + + testmarshal.h: stamp-testmarshal.h + @true +@@ -69,7 +72,6 @@ BUILT_SOURCES += testmarshal.h testmarshal.c + CLEANFILES += stamp-testmarshal.h + EXTRA_DIST += testcommon.h testmarshal.list + BUILT_EXTRA_DIST += testmarshal.h testmarshal.c +-endif # !CROSS_COMPILING + + dist-hook: $(BUILT_EXTRA_DIST) + files='$(BUILT_EXTRA_DIST)'; \ +-- +2.14.1 + diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch new file mode 100644 index 0000000000..3d0c008bbe --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch @@ -0,0 +1,39 @@ +From c53e94a520b573aa0dcf12903e9563fe8badc34c Mon Sep 17 00:00:00 2001 +From: Marius Avram +Date: Wed, 27 Aug 2014 12:10:41 +0300 +Subject: [PATCH] Allow /run/media/sdX drive mount if username root + +In case that the username logged in the system is root +the drives are directly mounted in /run/media/sdX and +not /run/media//sdX as the function +g_unix_mount_guess_should_display() expects. + +Without this change USB stick mounts are not accesible from +graphical applications such as the File Manager (pcmanfm). + +Upstream-Status: Inappropriate + +Signed-off-by: Marius Avram +--- + gio/gunixmounts.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/gio/gunixmounts.c b/gio/gunixmounts.c +index 4999354..f6c1472 100644 +--- a/gio/gunixmounts.c ++++ b/gio/gunixmounts.c +@@ -2136,6 +2136,11 @@ g_unix_mount_guess_should_display (GUnixMountEntry *mount_entry) + mount_path[sizeof ("/run/media/") - 1 + user_name_len] == '/') + is_in_runtime_dir = TRUE; + ++ /* Allow no username in path in /run/media if current user is root */ ++ if (strcmp(user_name, "root") == 0 && ++ strncmp (mount_path, "/run/media/", sizeof("run/media")) == 0) ++ is_in_runtime_dir = TRUE; ++ + if (is_in_runtime_dir || g_str_has_prefix (mount_path, "/media/")) + { + char *path; +-- +1.7.9.5 + diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch new file mode 100644 index 0000000000..59b891347d --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch @@ -0,0 +1,44 @@ +From 1dd1e6ddca5deada049bac2e1ee1fe4ecc5342c5 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +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 +Rebased to glib-2.32.1 by Martin Jansa +Rebased to glib-2.31.20+ by Andre McCurdy + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Martin Jansa + +--- + 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/poky/meta/recipes-core/glib-2.0/glib-2.0/ptest-paths.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/ptest-paths.patch new file mode 100644 index 0000000000..f3be02770c --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/ptest-paths.patch @@ -0,0 +1,30 @@ +Instead of writing the temporary mapping files in the mappedfile test to the +user runtime directory, write them to $TMP. The runtime directory may not +currently exist if the test is executed on a non-desktop system and the test +doesn't attempt to create the directory structure. + +Upstream-Status: Pending +Signed-off-by: Ross Burton + +diff --git a/glib/tests/mappedfile.c b/glib/tests/mappedfile.c +index 40e0e60..27a24be 100644 +--- a/glib/tests/mappedfile.c ++++ b/glib/tests/mappedfile.c +@@ -81,7 +81,7 @@ test_writable (void) + const gchar *new = "abcdefghijklmnopqrstuvxyz"; + gchar *tmp_copy_path; + +- tmp_copy_path = g_build_filename (g_get_user_runtime_dir (), "glib-test-4096-random-bytes", NULL); ++ tmp_copy_path = g_build_filename (g_get_tmp_dir (), "glib-test-4096-random-bytes", NULL); + + g_file_get_contents (g_test_get_filename (G_TEST_DIST, "4096-random-bytes", NULL), &contents, &len, &error); + g_assert_no_error (error); +@@ -125,7 +125,7 @@ test_writable_fd (void) + int fd; + gchar *tmp_copy_path; + +- tmp_copy_path = g_build_filename (g_get_user_runtime_dir (), "glib-test-4096-random-bytes", NULL); ++ tmp_copy_path = g_build_filename (g_get_tmp_dir (), "glib-test-4096-random-bytes", NULL); + + g_file_get_contents (g_test_get_filename (G_TEST_DIST, "4096-random-bytes", NULL), &contents, &len, &error); + g_assert_no_error (error); diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch new file mode 100644 index 0000000000..65d5b43f9b --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch @@ -0,0 +1,47 @@ +Instead of hard-coding GIO_MODULE_PATH when glib is built, use dladdr() to +determine where libglib.so is and use that path to calculate GIO_MODULES_DIR. + +This solves relocation problems with GIOModule for native builds of glib. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +Port patch to 2.48 +Signed-off-by: Jussi Kukkonen +--- + gio/giomodule.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/gio/giomodule.c b/gio/giomodule.c +index da7c167..cc0bc7c 100644 +--- a/gio/giomodule.c ++++ b/gio/giomodule.c +@@ -40,6 +40,8 @@ + #include "gnetworkmonitor.h" + #ifdef G_OS_WIN32 + #include "gregistrysettingsbackend.h" ++#else ++#include + #endif + #include + +@@ -1036,7 +1038,15 @@ get_gio_module_dir (void) + #endif + g_free (install_dir); + #else +- module_dir = g_strdup (GIO_MODULE_DIR); ++ Dl_info info; ++ ++ if (dladdr (g_io_module_new, &info)) { ++ char *libdir = g_path_get_dirname (info.dli_fname); ++ module_dir = g_build_filename (libdir, "gio", "modules", NULL); ++ g_free (libdir); ++ } else { ++ module_dir = g_strdup (GIO_MODULE_DIR); ++ } + #endif + } + +-- +2.1.4 + diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest new file mode 100644 index 0000000000..5b85e8fabe --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest @@ -0,0 +1,5 @@ +#! /bin/sh + +useradd glib2-test +su glib2-test -c gnome-desktop-testing-runner glib +userdel glib2-test diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch new file mode 100644 index 0000000000..7aa6217d69 --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch @@ -0,0 +1,22 @@ +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 +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 diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.54.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.54.3.bb new file mode 100644 index 0000000000..faf594569d --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.54.3.bb @@ -0,0 +1,24 @@ +require glib.inc + +PE = "1" + +SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ + file://configure-libtool.patch \ + file://run-ptest \ + file://ptest-paths.patch \ + file://uclibc_musl_translation.patch \ + file://allow-run-media-sdX-drive-mount-if-username-root.patch \ + file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ + file://Enable-more-tests-while-cross-compiling.patch \ + file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ + file://0001-Do-not-ignore-return-value-of-write.patch \ + file://0001-Test-for-pthread_getname_np-before-using-it.patch \ + file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ + " + +SRC_URI_append_class-native = " file://relocate-modules.patch" + +SRC_URI[md5sum] = "16e886ad677bf07b7d48eb8188bcf759" +SRC_URI[sha256sum] = "963fdc6685dc3da8e5381dfb9f15ca4b5709b28be84d9d05a9bb8e446abac0a8" diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc new file mode 100644 index 0000000000..f645ed6f0c --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib.inc @@ -0,0 +1,157 @@ +SUMMARY = "A general-purpose utility library" +DESCRIPTION = "GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on." +HOMEPAGE = "https://developer.gnome.org/glib/" + +# pcre is under BSD; +# docs/reference/COPYING is with a 'public domain'-like license! +LICENSE = "LGPLv2.1+ & BSD & PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://glib/glib.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \ + file://gmodule/COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://gmodule/gmodule.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \ + file://glib/pcre/COPYING;md5=266ebc3ff74ee9ce6fad65577667c0f4 \ + file://glib/pcre/pcre.h;beginline=11;endline=35;md5=de27f2bf633d20a2b7af0b1983423283 \ + file://docs/reference/COPYING;md5=f51a5100c17af6bae00735cd791e1fcc" +BUGTRACKER = "http://bugzilla.gnome.org" +SECTION = "libs" + +CVE_PRODUCT = "glib" + +BBCLASSEXTEND = "native nativesdk" + +DEPENDS = "glib-2.0-native \ + virtual/libintl \ + virtual/libiconv \ + libffi \ + zlib \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'dbus', '', d)}" + +PACKAGES += "${PN}-codegen ${PN}-utils" + +LEAD_SONAME = "libglib-2.0.*" + +inherit autotools gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages + +S = "${WORKDIR}/glib-${PV}" + +PACKAGECONFIG ??= "system-pcre libmount" +# To use the system pcre it must be configured with --enable-unicode-properties +PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre" +PACKAGECONFIG[libmount] = "--enable-libmount,--disable-libmount,util-linux" +PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native" + +CORECONF = "--disable-dtrace --disable-fam --disable-libelf --disable-systemtap" + +PRINTF = "--enable-included-printf=no" +PRINTF_darwin = "--enable-included-printf=yes" +PRINTF_mingw32 = "--enable-included-printf=yes" +EXTRA_OECONF = "${PRINTF} ${CORECONF}" +EXTRA_OECONF_class-native = "${CORECONF} --disable-selinux" + +# Tell configure that we'll have dbus-daemon on the target for the tests +EXTRA_OECONF_append_class-target = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' ac_cv_prog_DBUS_DAEMON=dbus-daemon', '', d)}" + +do_configure_prepend() { + sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in +} + +FILES_${PN} = "${libdir}/lib*${SOLIBS} \ + ${libdir}/gio \ + ${libexecdir}/*gio-querymodules \ + ${datadir}/glib-2.0/schemas" +FILES_${PN}-dev += "${libdir}/glib-2.0/include \ + ${libdir}/gio/modules/lib*${SOLIBSDEV} \ + ${libdir}/gio/modules/*.la \ + ${bindir}/glib-genmarshal \ + ${bindir}/glib-gettextize \ + ${bindir}/glib-mkenums \ + ${bindir}/glib-compile-resources \ + ${datadir}/glib-2.0/gettext/po/Makefile.in.in \ + ${datadir}/glib-2.0/schemas/gschema.dtd \ + ${datadir}/glib-2.0/valgrind/glib.supp \ + ${datadir}/gettext/its" +FILES_${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb" +FILES_${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \ + ${bindir}/gdbus-codegen" +FILES_${PN}-utils = "${bindir}/*" + +RRECOMMENDS_${PN} += "shared-mime-info" +# When cross compiling for Windows we don't want to include this +RRECOMMENDS_${PN}_remove_mingw32 = "shared-mime-info" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +# Valgrind runtime detection works using hand-written assembly, which +# doesn't support mips16e +CPPFLAGS_append_class-target_mips16e = " -DNVALGRIND=1" + +# GLib generally requires gettext to be present so for USE_NLS to yes. For +# native builds as i18n is disabled globally we can tell it to use a fake msgfmt. +USE_NLS_class-target = "yes" +USE_NLS_class-nativesdk = "yes" +CACHED_CONFIGUREVARS_append_class-native = " ac_cv_path_MSGFMT=/bin/false" + +EXEEXT = "" +EXEEXT_mingw32 = ".exe" + +do_install_append () { + if [ -f ${D}${bindir}/gtester-report ]; then + sed ${D}${bindir}/gtester-report -i -e '1s|^#!.*|#!/usr/bin/env python3|' + fi + + # Remove some unpackaged files + rm -rf ${D}${datadir}/glib-2.0/codegen/__pycache__ + rm -f ${D}${datadir}/glib-2.0/codegen/*.pyc + rm -f ${D}${datadir}/glib-2.0/codegen/*.pyo + + if [ -e ${D}${libdir}/charset.alias ]; then + rm -f ${D}${libdir}/charset.alias + fi + + # Make sure gio-querymodules is unique among multilibs + if test "x${MLPREFIX}" != "x"; then + mv ${D}${libexecdir}/gio-querymodules${EXEEXT} ${D}${libexecdir}/${MLPREFIX}gio-querymodules${EXEEXT} + fi +} + +do_install_append_class-target () { + # Tests are only installed on targets, not native builds. Separating this out + # keeps glib-2.0-native from depending on ${DISTRO_FEATURES} + if [ -f ${D}${datadir}/installed-tests/glib/gdbus-serialization.test ]; then + if ${@bb.utils.contains("DISTRO_FEATURES", "x11", "false", "true", d)}; then + rm ${D}${datadir}/installed-tests/glib/gdbus-serialization.test + fi + fi +} + +CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml" +CODEGEN_PYTHON_RDEPENDS_mingw32 = "" + +RDEPENDS_${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}" + +RDEPENDS_${PN}-ptest += "\ + dbus \ + gnome-desktop-testing \ + tzdata \ + tzdata-americas \ + tzdata-asia \ + tzdata-europe \ + tzdata-posix \ + shared-mime-info \ + " + +RDEPENDS_${PN}-ptest_append_libc-glibc = "\ + glibc-gconv-utf-16 \ + glibc-charmap-utf-8 \ + glibc-gconv-cp1255 \ + glibc-charmap-cp1255 \ + glibc-gconv-utf-32 \ + glibc-gconv-utf-7 \ + glibc-gconv-euc-jp \ + glibc-gconv-iso8859-1 \ + glibc-gconv-iso8859-15 \ + glibc-charmap-invariant \ + glibc-localedata-translit-cjk-variants \ + " + +INSANE_SKIP_${PN}-ptest += "libdir" -- cgit v1.2.3