[OE-core] [PATCH] gdk-pixbuf: fix run query-loaders fail

Changqing Li changqing.li at windriver.com
Fri Mar 29 08:17:40 UTC 2019


On 3/29/19 2:41 PM, changqing.li at windriver.com wrote:
> From: Changqing Li <changqing.li at windriver.com>
>
> Reproduce steps:
> 1. add below config into local.conf
>     IMAGE_INSTALL_append = " packagegroup-xfce-base"
>     DISTRO_FEATURES_append = " polkit"
> 2. bitbake core-image-minimal
>
> do_rootfs failed with below error:
>
> qemu-i386 -r 3.2.0 -E LD_LIBRARY_PATH=/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/lib:/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/lib -L /tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs /tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/lib/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
>
> ** (process:162531): CRITICAL **: 02:10:12.174: Failed to get connection to xfconfd: Cannot autolaunch D-Bus without X11 $DISPLAY
>
> Signey-off-by: Changqing Li <changqing.li at windriver.com>
> ---
>   ...001-gdk-pixbuf-fix-run-query-loaders-fail.patch | 59 ++++++++++++++++++++++
>   meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb |  1 +
>   2 files changed, 60 insertions(+)
>   create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-gdk-pixbuf-fix-run-query-loaders-fail.patch
>
> diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-gdk-pixbuf-fix-run-query-loaders-fail.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-gdk-pixbuf-fix-run-query-loaders-fail.patch
> new file mode 100644
> index 0000000..836dcae
> --- /dev/null
> +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-gdk-pixbuf-fix-run-query-loaders-fail.patch
> @@ -0,0 +1,59 @@
> +From fa0d2ba51f1ccc848da9ff708c23a76b22c6e764 Mon Sep 17 00:00:00 2001
> +From: Changqing Li <changqing.li at windriver.com>
> +Date: Thu, 28 Mar 2019 17:27:45 +0800
> +Subject: [PATCH] gdk-pixbuf: fix run query-loaders fail
> +
> +run query-loaders fail with error:
> +
> +** (process:417595): CRITICAL **: 09:21:35.330: Failed to
> +get connection to xfconfd: Cannot autolaunch D-Bus without X11 $DISPLAY
> +
> +Commit https://github.com/GNOME/gdk-pixbuf/commit/49d4becc33ca6bc99199dc845f3413e16eeb7f53
> +change method of getting pixbuf_libdir, but call of function g_file_new_for_path
> +make this error happen, fix by only use g_file_new_for_path for WIN32,
> +for other platform, still use g_strdup.
> +
> +Maybe this fix just like a workaround, and have send upstream for review.
> +
> +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/merge_requests/44]

Upstream replied that:  should be xfconf upsteam bug. So this is a 
workaround,

and we need to follow the upsteam bug and backport after it is fixed.

> +
> +Signed-off-by: Changqing Li <changqing.li at windriver.com>
> +---
> + gdk-pixbuf/queryloaders.c | 7 +++++--
> + 1 file changed, 5 insertions(+), 2 deletions(-)
> +
> +diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
> +index b813d99..59d62f7 100644
> +--- a/gdk-pixbuf/queryloaders.c
> ++++ b/gdk-pixbuf/queryloaders.c
> +@@ -316,15 +316,14 @@ int main (int argc, char **argv)
> +         GString *contents;
> +         gchar *cache_file = NULL;
> +         gint first_file = 1;
> +-        GFile *pixbuf_libdir_file;
> +         gchar *pixbuf_libdir;
> +         gboolean success = TRUE;
> +
> + #ifdef G_OS_WIN32
> ++        GFile *pixbuf_libdir_file;
> +         gchar *libdir;
> +         GFile *pixbuf_prefix_file;
> +         gchar *pixbuf_prefix;
> +-#endif
> +
> +         /* An intermediate GFile here will convert all the path separators
> +          * to the right one used by the platform
> +@@ -332,6 +331,10 @@ int main (int argc, char **argv)
> +         pixbuf_libdir_file = g_file_new_for_path (PIXBUF_LIBDIR);
> +         pixbuf_libdir = g_file_get_path (pixbuf_libdir_file);
> +         g_object_unref (pixbuf_libdir_file);
> ++#else
> ++        pixbuf_libdir = g_strdup (PIXBUF_LIBDIR);
> ++#endif
> ++
> +
> + #ifdef G_OS_WIN32
> +         pixbuf_prefix_file = g_file_new_for_path (GDK_PIXBUF_PREFIX);
> +--
> +2.7.4
> +
> diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
> index c5de7a9..6435473 100644
> --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
> +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
> @@ -20,6 +20,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
>              file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \
>              file://0001-loaders.cache-depend-on-loaders-being-fully-build.patch \
>              file://0004-Do-not-run-tests-when-building.patch \
> +           file://0001-gdk-pixbuf-fix-run-query-loaders-fail.patch \
>              "
>   
>   SRC_URI_append_class-target = " \

-- 
BRs

Sandy(Li Changqing)



More information about the Openembedded-core mailing list