diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2016-08-17 14:31:25 -0500 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2016-08-22 16:43:26 +0000 |
commit | 60f9d69e016b11c468c98ea75ba0a60c44afbbc4 (patch) | |
tree | ecb49581a9e41a37943c22cd9ef3f63451b20ee7 /import-layers/yocto-poky/meta/recipes-core/glib-2.0 | |
parent | e18c61205e0234b03697129c20cc69c9b3940efc (diff) | |
download | talos-openbmc-60f9d69e016b11c468c98ea75ba0a60c44afbbc4.tar.gz talos-openbmc-60f9d69e016b11c468c98ea75ba0a60c44afbbc4.zip |
yocto-poky: Move to import-layers subdir
We are going to import additional layers, so create a subdir to
hold all of the layers that we import with git-subtree.
Change-Id: I6f732153a22be8ca663035c518837e3cc5ec0799
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-core/glib-2.0')
16 files changed, 693 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch new file mode 100644 index 000000000..561d10020 --- /dev/null +++ b/import-layers/yocto-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 <jussi.kukkonen@intel.com> +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 <jussi.kukkonen@intel.com> +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/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch b/import-layers/yocto-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 000000000..41a190edd --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch @@ -0,0 +1,36 @@ +From 41534253b6b61ed4769eb6a3966698a50ee73b71 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Fri, 12 Jun 2015 17:08:46 +0300 +Subject: [PATCH] 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 <alex.kanavin@gmail.com> + +--- + gio/glib-compile-schemas.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c +index e42949b..ec79d7c 100644 +--- a/gio/glib-compile-schemas.c ++++ b/gio/glib-compile-schemas.c +@@ -1202,12 +1202,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/"))) +- g_printerr ("warning: Schema '%s' has path '%s'. Paths starting with " +- "'/apps/', '/desktop/' or '/system/' are deprecated.\n", id, path); +- + state->schema_state = schema_state_new (path, gettext_domain, + extends, extends_name, list_of); + +-- +2.1.4 + diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/0001-configure.ac-Do-not-use-readlink-when-cross-compilin.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/0001-configure.ac-Do-not-use-readlink-when-cross-compilin.patch new file mode 100644 index 000000000..0be36316b --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/0001-configure.ac-Do-not-use-readlink-when-cross-compilin.patch @@ -0,0 +1,31 @@ +commit 9b38d507ec37b3d7d4df6095fa7ed16b47d399f7 +Author: Drew Moseley <drew_moseley@mentor.com> +Date: Sat Mar 29 21:10:43 2014 -0400 + + configure.ac: Do not use readlink when cross compiling. + + Do not use readlink to set ABS_GLIB_RUNTIME_LIBDIR when cross + compiling. Doing so causes host paths to potentially pollute + the target. + + Note that in this case the path is not converted to absolute if + it contains any ".." references so it's not completely correct. + + Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=727575] + Signed-off-by: Drew Moseley <drew_moseley@mentor.com> + +diff -rub glib-2.38.2.orig/configure.ac glib-2.38.2/configure.ac +--- glib-2.38.2.orig/configure.ac 2014-04-03 20:17:13.035567143 -0400 ++++ glib-2.38.2/configure.ac 2014-04-03 20:19:07.071566057 -0400 +@@ -275,7 +275,11 @@ + [], + [with_runtime_libdir=""]) + GLIB_RUNTIME_LIBDIR="$with_runtime_libdir" ++AS_IF([ test $cross_compiling = yes ], [ ++ABS_GLIB_RUNTIME_LIBDIR="$libdir/$with_runtime_libdir" ++], [ + ABS_GLIB_RUNTIME_LIBDIR="`readlink -m $libdir/$with_runtime_libdir`" ++]) + AC_SUBST(GLIB_RUNTIME_LIBDIR) + AC_SUBST(ABS_GLIB_RUNTIME_LIBDIR) + AM_CONDITIONAL(HAVE_GLIB_RUNTIME_LIBDIR, [test "x$with_runtime_libdir" != "x"]) diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch new file mode 100644 index 000000000..f1e688cac --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch @@ -0,0 +1,81 @@ +From 310dfe1bdd16d4b254732fcc202c6211629bc7b6 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 + +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 <jussi.kukkonen@intel.com> +--- + gio/tests/Makefile.am | 8 +++----- + tests/gobject/Makefile.am | 8 +++----- + 2 files changed, 6 insertions(+), 10 deletions(-) + +diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am +index 868873f..533e454 100644 +--- a/gio/tests/Makefile.am ++++ b/gio/tests/Makefile.am +@@ -503,10 +503,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 +@@ -528,7 +527,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 + + resources.o: test_resources2.h + test_resources.c: test2.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test2.gresource.xml) +@@ -545,7 +548,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_resources.c test_resources2.[ch] plugin_resources.c test.gresource +-endif # !CROSS_COMPILING + + BUILT_SOURCES += giotypefuncs.c + +diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am +index 16f2827..4c2208e 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)'; \ diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/allow-run-media-sdX-drive-mount-if-username-root.patch b/import-layers/yocto-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 000000000..3d0c008bb --- /dev/null +++ b/import-layers/yocto-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 <marius.avram@intel.com> +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/<username>/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 <marius.avram@intel.com> +--- + 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/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch new file mode 100644 index 000000000..aa5de27d1 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch @@ -0,0 +1,66 @@ +From e8740833336c59d6f616a1781b256e648e338c26 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] 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 | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1af90c5..f6b7a73 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1378,7 +1378,7 @@ if test x"$glib_native_win32" = xyes; then + G_MODULE_LDFLAGS= + else + export SED +- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` ++ G_MODULE_LDFLAGS=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` + fi + dnl G_MODULE_IMPL= don't reset, so cmd-line can override + G_MODULE_NEED_USCORE=0 +@@ -1427,13 +1427,13 @@ 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 +- eval `./libtool --config | grep ^objdir` ++ eval `./$host_alias-libtool --config | grep ^objdir` + AC_CACHE_CHECK([for RTLD_GLOBAL brokenness], + glib_cv_rtldglobal_broken,[ + AC_TRY_RUN([ +@@ -1506,7 +1506,7 @@ fi + + AC_MSG_CHECKING(for the suffix of module shared libraries) + export SED +-shrext_cmds=`./libtool --config | grep '^shrext_cmds='` ++shrext_cmds=`./$host_alias-libtool --config | grep '^shrext_cmds='` + eval $shrext_cmds + module=yes eval std_shrext=$shrext_cmds + # chop the initial dot +-- +1.9.1 + diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch new file mode 100644 index 000000000..1571112b0 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch @@ -0,0 +1,35 @@ +Rename 'rand' variable to avoid conflict. + +Upstream-Status: pending +Signed-off-by: Björn Stenberg <bjst@enea.com> + +diff -u glib-2.34.3/tests/refcount/signals.c~ glib-2.34.3/tests/refcount/signals.c +--- glib-2.34.3/tests/refcount/signals.c 2012-11-26 17:52:48.000000000 +0100 ++++ glib-2.34.3/tests/refcount/signals.c 2013-02-08 14:24:10.052477546 +0100 +@@ -9,7 +9,7 @@ + #define MY_IS_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_TYPE ((tclass), G_TYPE_TEST)) + #define MY_TEST_GET_CLASS(test) (G_TYPE_INSTANCE_GET_CLASS ((test), G_TYPE_TEST, GTestClass)) + +-static GRand *rand; ++static GRand *grand; + + typedef struct _GTest GTest; + typedef struct _GTestClass GTestClass; +@@ -84,7 +84,7 @@ + NULL + }; + +- rand = g_rand_new(); ++ grand = g_rand_new(); + + test_type = g_type_register_static (G_TYPE_OBJECT, "GTest", + &test_info, 0); +@@ -218,7 +218,7 @@ + static void + my_test_do_prop (GTest * test) + { +- test->value = g_rand_int (rand); ++ test->value = g_rand_int (grand); + g_object_notify (G_OBJECT (test), "test-prop"); + } + diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/gi-exclude.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/gi-exclude.patch new file mode 100644 index 000000000..dc62b92ef --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/gi-exclude.patch @@ -0,0 +1,59 @@ +The autoptr types should be excluded from gobject-introspection parsing as +they're not user-facing. + +Upstream-Status: Submitted +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/gio/gio-autocleanups.h b/gio/gio-autocleanups.h +index a95ba65..24ccc2d 100644 +--- a/gio/gio-autocleanups.h ++++ b/gio/gio-autocleanups.h +@@ -21,6 +21,8 @@ + #error "Only <gio/gio.h> can be included directly." + #endif + ++#ifndef __GI_SCANNER__ ++ + G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAction, g_object_unref) + G_DEFINE_AUTOPTR_CLEANUP_FUNC(GActionMap, g_object_unref) + G_DEFINE_AUTOPTR_CLEANUP_FUNC(GAppInfo, g_object_unref) +@@ -146,3 +148,5 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVolume, g_object_unref) + G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVolumeMonitor, g_object_unref) + G_DEFINE_AUTOPTR_CLEANUP_FUNC(GZlibCompressor, g_object_unref) + G_DEFINE_AUTOPTR_CLEANUP_FUNC(GZlibDecompressor, g_object_unref) ++ ++#endif +diff --git a/glib/glib-autocleanups.h b/glib/glib-autocleanups.h +index 6355f75..09d28be 100644 +--- a/glib/glib-autocleanups.h ++++ b/glib/glib-autocleanups.h +@@ -21,6 +21,8 @@ + #error "Only <glib.h> can be included directly." + #endif + ++#ifndef __GI_SCANNER__ ++ + static inline void + g_autoptr_cleanup_generic_gfree (void *p) + { +@@ -87,3 +89,5 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantDict, g_variant_dict_unref) + G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GVariantDict, g_variant_dict_clear) + G_DEFINE_AUTOPTR_CLEANUP_FUNC(GVariantType, g_variant_type_free) + G_DEFINE_AUTO_CLEANUP_FREE_FUNC(GStrv, g_strfreev, NULL) ++ ++#endif +diff --git a/gobject/gobject-autocleanups.h b/gobject/gobject-autocleanups.h +index 980203f..a1d4ba1 100644 +--- a/gobject/gobject-autocleanups.h ++++ b/gobject/gobject-autocleanups.h +@@ -21,6 +21,10 @@ + #error "Only <glib-object.h> can be included directly." + #endif + ++#ifndef __GI_SCANNER__ ++ + G_DEFINE_AUTOPTR_CLEANUP_FUNC(GObject, g_object_unref) + G_DEFINE_AUTOPTR_CLEANUP_FUNC(GInitiallyUnowned, g_object_unref) + G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(GValue, g_value_unset) ++ ++#endif diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/glib-2.0-configure-readlink.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/glib-2.0-configure-readlink.patch new file mode 100644 index 000000000..9759d11e3 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/glib-2.0-configure-readlink.patch @@ -0,0 +1,29 @@ +configure.ac: change readlink -f to -m + +Change "readlink -f" to "readlink -m" since $libdir/$with_runtime_libdir +may not exist. + +This patch should go to the upstream, I will send it sooner. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -271,7 +271,7 @@ AC_ARG_WITH(runtime-libdir, + [], + [with_runtime_libdir=""]) + GLIB_RUNTIME_LIBDIR="$with_runtime_libdir" +-ABS_GLIB_RUNTIME_LIBDIR="`readlink -f $libdir/$with_runtime_libdir`" ++ABS_GLIB_RUNTIME_LIBDIR="`readlink -m $libdir/$with_runtime_libdir`" + AC_SUBST(GLIB_RUNTIME_LIBDIR) + AC_SUBST(ABS_GLIB_RUNTIME_LIBDIR) + AM_CONDITIONAL(HAVE_GLIB_RUNTIME_LIBDIR, [test "x$with_runtime_libdir" != "x"]) +-- +1.8.1.2 + diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/glib-gettextize-dir.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/glib-gettextize-dir.patch new file mode 100644 index 000000000..ee435111f --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/glib-gettextize-dir.patch @@ -0,0 +1,24 @@ +# an very old patch cherry-picked in every glib-2.0 patch directory. The earliest container +# for it is 2.6.5 in OE. The earliest commit for it is c8e5702127e507e82e6f68a4b8c546803accea9d +# in OE side which ports from previous bitkeeper SCM. In OE side it's only used til 2.12.4. +# +# keep it since it's always cleaner to not hardcode destination path. Use @datadir@ is more +# portable here. mark for upstream +# +# by Kevin Tian <kevin.tian@intel.com>, 06/25/2010 +# Rebased by Dongxiao Xu <dongxiao.xu@intel.com>, 11/16/2010 + +Upstream-Status: Inappropriate [configuration] + +diff -ruN glib-2.27.3-orig/glib-gettextize.in glib-2.27.3/glib-gettextize.in +--- glib-2.27.3-orig/glib-gettextize.in 2009-04-01 07:04:20.000000000 +0800 ++++ glib-2.27.3/glib-gettextize.in 2010-11-16 12:55:06.874605916 +0800 +@@ -52,7 +52,7 @@ + datadir=@datadir@ + datarootdir=@datarootdir@ + +-gettext_dir=$prefix/share/glib-2.0/gettext ++gettext_dir=@datadir@/glib-2.0/gettext + + while test $# -gt 0; do + case "$1" in diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/ptest-paths.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/ptest-paths.patch new file mode 100644 index 000000000..f3be02770 --- /dev/null +++ b/import-layers/yocto-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 <ross.burton@intel.com> + +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/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch new file mode 100644 index 000000000..f9e3f3dba --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch @@ -0,0 +1,49 @@ +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 <ross.burton@intel.com> + +diff --git a/gio/giomodule.c b/gio/giomodule.c +index 56c498c..a2e32b7 100644 +--- a/gio/giomodule.c ++++ b/gio/giomodule.c +@@ -47,6 +47,27 @@ + #include "gdesktopappinfo.h" + #endif + ++#include <dlfcn.h> ++ ++/* ++ * Generate a GIO module directory based on where glib is installed ++ */ ++static const char * ++_get_gio_module_dir (void) ++{ ++ Dl_info info; ++ ++ if (dladdr (g_io_module_new, &info)) { ++ char *libdir = g_path_get_dirname (info.dli_fname); ++ char *dir = g_build_filename (libdir, "gio", "modules", NULL); ++ g_free (libdir); ++ return dir; ++ } else { ++ return GIO_MODULE_DIR; ++ } ++} ++ ++ + /** + * SECTION:giomodule + * @short_description: Loadable GIO Modules +@@ -1057,7 +1078,7 @@ _g_io_modules_ensure_loaded (void) + /* Then load the compiled in path */ + module_dir = g_getenv ("GIO_MODULE_DIR"); + if (module_dir == NULL) +- module_dir = GIO_MODULE_DIR; ++ module_dir = _get_gio_module_dir (); + + g_io_modules_scan_all_in_directory_with_scope (module_dir, scope); + diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest new file mode 100644 index 000000000..5b85e8fab --- /dev/null +++ b/import-layers/yocto-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/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0/uclibc_musl_translation.patch new file mode 100644 index 000000000..7aa6217d6 --- /dev/null +++ b/import-layers/yocto-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 <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 diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb new file mode 100644 index 000000000..8e445b415 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb @@ -0,0 +1,26 @@ +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://fix-conflicting-rand.patch \ + file://glib-2.0-configure-readlink.patch \ + file://run-ptest \ + file://ptest-paths.patch \ + file://uclibc_musl_translation.patch \ + file://0001-configure.ac-Do-not-use-readlink-when-cross-compilin.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://gi-exclude.patch \ + file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ + " + +SRC_URI_append_class-native = " file://glib-gettextize-dir.patch \ + file://relocate-modules.patch" + +SRC_URI[md5sum] = "7f815d6e46df68e070cb421ed7f1139e" +SRC_URI[sha256sum] = "5031722e37036719c1a09163cc6cf7c326e4c4f1f1e074b433c156862bd733db" diff --git a/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib.inc b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib.inc new file mode 100644 index 000000000..e764fad13 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-core/glib-2.0/glib.inc @@ -0,0 +1,130 @@ +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 domai'-like license! +LICENSE = "LGPLv2+ & BSD & PD" +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://glib/glib.h;beginline=4;endline=17;md5=b4f0f4a399c19e5ebb20c31b79d6bc32 \ + file://gmodule/COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://gmodule/gmodule.h;beginline=4;endline=17;md5=b4f0f4a399c19e5ebb20c31b79d6bc32 \ + 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" + +BBCLASSEXTEND = "native nativesdk" + +DEPENDS = "virtual/libiconv libffi zlib glib-2.0-native" +DEPENDS_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' dbus', '', d)}" +DEPENDS_class-native = "pkgconfig-native gettext-native libffi-native zlib-native" +DEPENDS_class-nativesdk = "nativesdk-libtool nativesdk-gettext nativesdk-libffi nativesdk-zlib glib-2.0-native" + +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 + +S = "${WORKDIR}/glib-${PV}" + +PACKAGECONFIG ??= "system-pcre" +# To use the system pcre it must be configured with --enable-unicode-properties +PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre" + +CORECONF = "--disable-dtrace --disable-fam --disable-libelf --disable-systemtap --disable-man" + +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" +EXTRA_OECONF_append_libc-uclibc = " --with-libiconv=gnu" + +do_configure_prepend() { + sed -i -e '1s,#!.*,#!${USRBINPATH}/env python,' ${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" +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}/*" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +USE_NLS = "yes" + +do_install_append () { + if [ -f ${D}${bindir}/gtester-report ]; then + sed ${D}${bindir}/gtester-report -i -e '1s|^#!.*|#!/usr/bin/env python|' + fi + + # Remove some unpackaged files + rm -f ${D}${datadir}/glib-2.0/codegen/*.pyc + rm -f ${D}${datadir}/glib-2.0/codegen/*.pyo + + # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location + # for target as /usr/bin/perl, so fix it to /usr/bin/perl. + if [ -f ${D}${bindir}/glib-mkenums ]; then + sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/glib-mkenums + fi + + 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 + + # Make sure gio-querymodules is unique among multilibs + if test "x${MLPREFIX}" != "x"; then + mv ${D}${libexecdir}/gio-querymodules ${D}${libexecdir}/${MLPREFIX}gio-querymodules + fi +} + +do_install_append_libc-musl () { + rm -f ${D}${libdir}/charset.alias +} + +RDEPENDS_${PN}-ptest += "\ + gnome-desktop-testing \ + tzdata \ + tzdata-americas \ + tzdata-asia \ + tzdata-europe \ + tzdata-posix \ + python-pygobject \ + python-dbus \ + 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" |