[OE-core] [PATCH 1/2] gdk-pixbuf: update to 2.38.0

Changqing Li changqing.li at windriver.com
Thu Mar 28 09:42:56 UTC 2019


On 3/28/19 10:32 AM, Changqing Li wrote:
>
> Hi, Alexander
>
> I met a problem after gdk-pixbuf upgrade to 2.38.0.  Seems you have do 
> some work about this package,
>
> could you help to take a look  if you have any idea about this problem 
> ? Thanks in advance.
>
>
> bitbake core-image-minimal with below local.conf
>
> MACHINE ?= "qemux86"
>
> VIRTUAL-RUNTIME_init_manager = "systemd"
> DISTRO_FEATURES_append = " systemd"
> DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
> KERNEL_FEATURES_append = " cfg/systemd.scc"
>
> DISTRO_FEATURES_append = " polkit"
> IMAGE_INSTALL_append = " packagegroup-xfce-base"
>
>
> Error:
>
> ERROR: core-image-minimal-1.0-r0 do_rootfs: [log_check] 
> core-image-minimal: found 1 error message in the logfile:
> [log_check] ** (process:162531): CRITICAL **: 02:10:12.174: Failed to 
> get connection to xfconfd: Cannot autolaunch D-Bus without X11 $DISPLAY
>
> ERROR: core-image-minimal-1.0-r0 do_rootfs:
> ERROR: core-image-minimal-1.0-r0 do_rootfs: Function failed: do_rootfs
> ERROR: Logfile of failure stored in: 
> /buildarea3/cli10/yocto/builds/systemd/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/temp/log.do_rootfs.15350
>
>
> Some other info:
>
> 1. problem only reproduce after add "IMAGE_INSTALL_append = " 
> packagegroup-xfce-base""
>
> 2. error was reproduces during run update-pixbuf-cache during 
> do_rootrfs,  but cannot reproduce if manually run in devshell enviroment
>
> 3. version 2.36.11 don't have this problem.   from 2.36.12,  this 
> problem appeared.
>
> 4.  2.36.11 default open x11 packageconfig,  but 2.38.0 disable it,  I 
> tried with add x11 into packageconfig, but not resolve this problem.
>
>
I have found the code snip which cause this problem.   And  I will send 
the fix later.  problem caused by call of function g_file_new_for_path.

but I don't quite understand why since not familiar with  this part.  I 
will also send upstream for review.

> On 2/22/19 10:16 PM, Alexander Kanavin wrote:
>> Drop 0001-Disable-tests-in-native-builds.patch as upstream has fixed the issue.
>>
>> Rework 0001-Fix-a-couple-of-decisions-around-cross-compilation.patch to
>> enable generation of loaders.cache in target builds (using a native tool),
>> because otherwise building tests becomes impossible.
>>
>> Rework 0002-Work-around-thumbnailer-cross-compile-failure.patch into
>> 0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
>> (which deals with substituting native tools in cross builds) and
>> 0004-Do-not-run-tests-when-building.patch (which avoids running
>> test binaries during cross builds).
>>
>> Rebase fatal-loader.patch.
>>
>> License checksum updates as COPYING file had 2.0 version of LGPL and
>> has been replaced with 2.1 version.
>>
>> Take meson's x11 and installed_tests options into use.
>>
>> Install gdk-pixbuf-query-loaders also into $bindir, as we need the native
>> version during cross compile.
>>
>> Signed-off-by: Alexander Kanavin<alex.kanavin at gmail.com>
>> ---
>>   .../0001-Disable-tests-in-native-builds.patch |  31 -----
>>   ...f-decisions-around-cross-compilation.patch |  38 +++--
>>   ...nd-thumbnailer-cross-compile-failure.patch | 131 ------------------
>>   ...-around-thumbnailer-cross-compile-fa.patch |  96 +++++++++++++
>>   .../0004-Do-not-run-tests-when-building.patch |  39 ++++++
>>   .../gdk-pixbuf/gdk-pixbuf/fatal-loader.patch  |  37 +++--
>>   ...pixbuf_2.36.11.bb => gdk-pixbuf_2.38.0.bb} |  44 +++---
>>   7 files changed, 197 insertions(+), 219 deletions(-)
>>   delete mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Disable-tests-in-native-builds.patch
>>   delete mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
>>   create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
>>   create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch
>>   rename meta/recipes-gnome/gdk-pixbuf/{gdk-pixbuf_2.36.11.bb => gdk-pixbuf_2.38.0.bb} (76%)
>>
>> diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Disable-tests-in-native-builds.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Disable-tests-in-native-builds.patch
>> deleted file mode 100644
>> index 1e45b716b93..00000000000
>> --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Disable-tests-in-native-builds.patch
>> +++ /dev/null
>> @@ -1,31 +0,0 @@
>> -From b287cb313dbfac3257f1ab451b19ba59580f78e1 Mon Sep 17 00:00:00 2001
>> -From: Alexander Kanavin<alex.kanavin at gmail.com>
>> -Date: Mon, 18 Feb 2019 16:00:12 +0100
>> -Subject: [PATCH] Disable tests in native builds.
>> -
>> -They have found to be problematic at least on Centos 7:
>> -https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/296/steps/7/logs/step1b
>> -
>> -With autotools this was not a problem because it had a configuration
>> -switch for disabling test, which was used. Meson has no such facility :(
>> -
>> -Upstream-Status: Inappropriate [oe-core specific]
>> -Signed-off-by: Alexander Kanavin<alex.kanavin at gmail.com>
>> -
>> ----
>> - meson.build | 2 +-
>> - 1 file changed, 1 insertion(+), 1 deletion(-)
>> -
>> -diff --git a/meson.build b/meson.build
>> -index 92c4049..0871c84 100644
>> ---- a/meson.build
>> -+++ b/meson.build
>> -@@ -397,7 +397,7 @@ endif
>> - # i18n
>> - subdir('po')
>> -
>> --subdir('tests')
>> -+#subdir('tests')
>> - subdir('thumbnailer')
>> -
>> - # Documentation
>> diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
>> index 90d4830df50..e638fd3b6f3 100644
>> --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
>> +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
>> @@ -1,23 +1,23 @@
>> -From 48cbdd56036728ffea431ad63cf5e2ad05cef69c Mon Sep 17 00:00:00 2001
>> +From bf71999b6e64d1f1919b0351b27c1c417e2b8856 Mon Sep 17 00:00:00 2001
>>   From: Alexander Kanavin<alex.kanavin at gmail.com>
>>   Date: Thu, 14 Feb 2019 18:06:25 +0100
>> -Subject: [PATCH] Fix a couple of decisions around cross-compilation
>> +Subject: [PATCH] Generate loaders.cache using a native tool when
>> + cross-compiling
>>   
>> -1. gobject-introspection can be build when cross compiling
>> -2. generating loaders.cache requires running a target binary which
>> -we do elsewhere (in postinsts)
>> +Otherwise meson would attempt to run a target binary.
>>   
>>   Upstream-Status: Pending
>>   Signed-off-by: Alexander Kanavin<alex.kanavin at gmail.com>
>> +
>>   ---
>> - gdk-pixbuf/meson.build | 4 +++-
>> - 1 file changed, 3 insertions(+), 1 deletion(-)
>> + gdk-pixbuf/meson.build | 13 +++++++++++++
>> + 1 file changed, 13 insertions(+)
>>   
>>   diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
>> -index 77c162b..fc3eb33 100644
>> +index 1995ffd..d692cb7 100644
>>   --- a/gdk-pixbuf/meson.build
>>   +++ b/gdk-pixbuf/meson.build
>> -@@ -230,6 +230,7 @@ foreach bin: gdkpixbuf_bin
>> +@@ -291,6 +291,7 @@ foreach bin: gdkpixbuf_bin
>>      set_variable(bin_name.underscorify(), bin)
>>    endforeach
>>    
>> @@ -25,14 +25,22 @@ index 77c162b..fc3eb33 100644
>>    # The 'loaders.cache' used for testing, so we don't accidentally
>>    # load the installed cache; we always build it by default
>>    loaders_cache = custom_target('loaders.cache',
>> -@@ -241,8 +242,9 @@ loaders_cache = custom_target('loaders.cache',
>> +@@ -302,6 +303,18 @@ loaders_cache = custom_target('loaders.cache',
>>                                  ],
>>                                  build_by_default: true)
>>    loaders_dep = declare_dependency(sources: [ loaders_cache ])
>> ++else
>> ++loaders_cache = custom_target('loaders.cache',
>> ++                              output: 'loaders.cache',
>> ++                              capture: true,
>> ++                              depends: [ dynamic_loaders_dep ],
>> ++                              command: [
>> ++                                'gdk-pixbuf-query-loaders',
>> ++                                dynamic_loaders,
>> ++                              ],
>> ++                              build_by_default: true)
>> ++loaders_dep = declare_dependency(sources: [ loaders_cache ])
>>   +endif
>>    
>> --build_gir = get_option('with_gir') and not meson.is_cross_build()
>> -+build_gir = get_option('with_gir')
>> - if build_gir
>> -   gir_args = [
>> -     '--quiet',
>> + pkgconfig = import('pkgconfig')
>> + pkgconfig.generate(
>> diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
>> deleted file mode 100644
>> index b0cd838a8fd..00000000000
>> --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0002-Work-around-thumbnailer-cross-compile-failure.patch
>> +++ /dev/null
>> @@ -1,131 +0,0 @@
>> -From a184e6bfdd7761ad9807f3de9e873d49aff79e6d Mon Sep 17 00:00:00 2001
>> -From: Alexander Kanavin<alex.kanavin at gmail.com>
>> -Date: Thu, 14 Feb 2019 17:56:34 +0100
>> -Subject: [PATCH] (target only) Work-around thumbnailer cross-compile failure
>> -
>> -Use native gdk-pixbuf-print-mime-types when generating the thumbnail
>> -metadata. This works but the mime types will come from native
>> -loader.cache (which will only contain in-tree loaders), not from the
>> -target loader.cache.
>> -
>> -The upstream issue ishttps://bugzilla.gnome.org/show_bug.cgi?id=779057
>> -
>> -Upstream-Status: Inappropriate [workaround]
>> -Signed-off-by: Alexander Kanavin<alex.kanavin at gmail.com>
>> -
>> ----
>> - build-aux/gen-thumbnailer.py |  2 --
>> - tests/meson.build            | 49 +-----------------------------------
>> - thumbnailer/meson.build      |  5 +---
>> - 3 files changed, 2 insertions(+), 54 deletions(-)
>> -
>> -diff --git a/build-aux/gen-thumbnailer.py b/build-aux/gen-thumbnailer.py
>> -index 05ac821..c5b99ab 100644
>> ---- a/build-aux/gen-thumbnailer.py
>> -+++ b/build-aux/gen-thumbnailer.py
>> -@@ -20,8 +20,6 @@ argparser.add_argument('output', help='Output file')
>> - args = argparser.parse_args()
>> -
>> - newenv = os.environ.copy()
>> --newenv['GDK_PIXBUF_PIXDATA'] = args.pixdata
>> --newenv['GDK_PIXBUF_MODULE_FILE'] = args.loaders
>> - # 'nt': NT-based Windows, seehttps://docs.python.org/3/library/os.html
>> - if os.name == 'nt':
>> -     gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata)
>> -diff --git a/tests/meson.build b/tests/meson.build
>> -index 77a427a..467f5b2 100644
>> ---- a/tests/meson.build
>> -+++ b/tests/meson.build
>> -@@ -1,38 +1,6 @@
>> - # Resources; we cannot use gnome.compile_resources() here, because we need to
>> - # override the environment in order to use the utilities we just built instead
>> - # of the system ones
>> --resources_c = custom_target('resources.c',
>> --                            input: 'resources.gresource.xml',
>> --                            output: 'resources.c',
>> --                            command: [
>> --                              gen_resources,
>> --                              '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
>> --                              '--loaders=@0@'.format(loaders_cache.full_path()),
>> --                              '--sourcedir=@0@'.format(meson.current_source_dir()),
>> --                              '--source',
>> --                              '@INPUT@',
>> --                              '@OUTPUT@',
>> --                            ],
>> --                            depends: [
>> --                              gdk_pixbuf_pixdata,
>> --                              loaders_cache,
>> --                            ])
>> --resources_h = custom_target('resources.h',
>> --                            input: 'resources.gresource.xml',
>> --                            output: 'resources.h',
>> --                            command: [
>> --                              gen_resources,
>> --                              '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
>> --                              '--loaders=@0@'.format(loaders_cache.full_path()),
>> --                              '--sourcedir=@0@'.format(meson.current_source_dir()),
>> --                              '--header',
>> --                              '@INPUT@',
>> --                              '@OUTPUT@',
>> --                            ],
>> --                            depends: [
>> --                              gdk_pixbuf_pixdata,
>> --                              loaders_cache,
>> --                            ])
>> -
>> - installed_tests = [
>> -   [ 'animation' ],
>> -@@ -94,7 +62,7 @@ foreach t: installed_tests
>> -   test_sources = [ test_name + '.c', 'test-common.c' ]
>> -   needs_resources = t.get(1, false)
>> -   if needs_resources
>> --    test_sources += [ resources_c, resources_h ]
>> -+    test_sources += [ 'resources.c', 'resources.h' ]
>> -   endif
>> -
>> -   custom_target(test_name + '.test',
>> -@@ -116,21 +84,6 @@ foreach t: installed_tests
>> -                         ],
>> -                         c_args: common_cflags)
>> -
>> --  # Two particularly slow tests
>> --  if test_name == 'pixbuf-area-updated' or test_name == 'pixbuf-randomly-modified'
>> --    timeout = 300
>> --  else
>> --    timeout = 30
>> --  endif
>> --
>> --  test(test_name, test_bin,
>> --       args: [ '-k', '--tap' ],
>> --       env: [
>> --         'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
>> --         'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
>> --         'GDK_PIXBUF_MODULE_FILE=@0@'.format(loaders_cache.full_path()),
>> --       ],
>> --       timeout: timeout)
>> - endforeach
>> -
>> - executable('pixbuf-read',
>> -diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build
>> -index aaafec8..71bd61b 100644
>> ---- a/thumbnailer/meson.build
>> -+++ b/thumbnailer/meson.build
>> -@@ -18,9 +18,7 @@ custom_target('thumbnailer',
>> -               output: 'gdk-pixbuf-thumbnailer.thumbnailer',
>> -               command: [
>> -                 gen_thumbnailer,
>> --                '--printer=@0@'.format(gdk_pixbuf_print_mime_types.full_path()),
>> --                '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
>> --                '--loaders=@0@'.format(loaders_cache.full_path()),
>> -+                '--printer=gdk-pixbuf-print-mime-types',
>> -                 '--bindir=@0@'.format(gdk_pixbuf_bindir),
>> -                 '@INPUT@',
>> -                 '@OUTPUT@',
>> -@@ -28,7 +26,6 @@ custom_target('thumbnailer',
>> -               depends: [
>> -                 gdk_pixbuf_print_mime_types,
>> -                 gdk_pixbuf_pixdata,
>> --                loaders_cache,
>> -               ],
>> -               install: true,
>> -               install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers'))
>> diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
>> new file mode 100644
>> index 00000000000..928962d230b
>> --- /dev/null
>> +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
>> @@ -0,0 +1,96 @@
>> +From 6fc7f341399ec49ab06c94426f50dbdca49a2844 Mon Sep 17 00:00:00 2001
>> +From: Alexander Kanavin<alex.kanavin at gmail.com>
>> +Date: Fri, 22 Feb 2019 13:22:06 +0100
>> +Subject: [PATCH] (target only) Work-around thumbnailer and pixdata
>> + cross-compile failure
>> +
>> +Use native gdk-pixbuf-print-mime-types and gdk-pixbuf-pixdata
>> +when generating the thumbnail metadata and resources.
>> +
>> +This works but the mime types will come from native
>> +loader.cache (which will only contain in-tree loaders), not from the
>> +target loader.cache.
>> +
>> +The upstream issue ishttps://bugzilla.gnome.org/show_bug.cgi?id=779057
>> +
>> +Upstream-Status: Inappropriate [workaround]
>> +Signed-off-by: Alexander Kanavin<alex.kanavin at gmail.com>
>> +---
>> + build-aux/gen-thumbnailer.py |  2 --
>> + tests/meson.build            | 11 +++++++++--
>> + thumbnailer/meson.build      |  5 +----
>> + 3 files changed, 10 insertions(+), 8 deletions(-)
>> +
>> +diff --git a/build-aux/gen-thumbnailer.py b/build-aux/gen-thumbnailer.py
>> +index 05ac821..c5b99ab 100644
>> +--- a/build-aux/gen-thumbnailer.py
>> ++++ b/build-aux/gen-thumbnailer.py
>> +@@ -20,8 +20,6 @@ argparser.add_argument('output', help='Output file')
>> + args = argparser.parse_args()
>> +
>> + newenv = os.environ.copy()
>> +-newenv['GDK_PIXBUF_PIXDATA'] = args.pixdata
>> +-newenv['GDK_PIXBUF_MODULE_FILE'] = args.loaders
>> + # 'nt': NT-based Windows, seehttps://docs.python.org/3/library/os.html
>> + if os.name == 'nt':
>> +     gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata)
>> +diff --git a/tests/meson.build b/tests/meson.build
>> +index 4fa3fbc..eca5166 100644
>> +--- a/tests/meson.build
>> ++++ b/tests/meson.build
>> +@@ -1,12 +1,19 @@
>> + # Resources; we cannot use gnome.compile_resources() here, because we need to
>> + # override the environment in order to use the utilities we just built instead
>> + # of the system ones
>> ++
>> ++if not meson.is_cross_build()
>> ++pixdata_binary = gdk_pixbuf_pixdata.full_path()
>> ++else
>> ++pixdata_binary = 'gdk-pixbuf-pixdata'
>> ++endif
>> ++
>> + resources_c = custom_target('resources.c',
>> +   input: 'resources.gresource.xml',
>> +   output: 'resources.c',
>> +   command: [
>> +     gen_resources,
>> +-    '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
>> ++    '--pixdata=@0@'.format(pixdata_binary),
>> +     '--loaders=@0@'.format(loaders_cache.full_path()),
>> +     '--sourcedir=@0@'.format(meson.current_source_dir()),
>> +     '--source',
>> +@@ -24,7 +31,7 @@ resources_h = custom_target('resources.h',
>> +   output: 'resources.h',
>> +   command: [
>> +     gen_resources,
>> +-    '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
>> ++    '--pixdata=@0@'.format(pixdata_binary),
>> +     '--loaders=@0@'.format(loaders_cache.full_path()),
>> +     '--sourcedir=@0@'.format(meson.current_source_dir()),
>> +     '--header',
>> +diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build
>> +index aaafec8..71bd61b 100644
>> +--- a/thumbnailer/meson.build
>> ++++ b/thumbnailer/meson.build
>> +@@ -18,9 +18,7 @@ custom_target('thumbnailer',
>> +               output: 'gdk-pixbuf-thumbnailer.thumbnailer',
>> +               command: [
>> +                 gen_thumbnailer,
>> +-                '--printer=@0@'.format(gdk_pixbuf_print_mime_types.full_path()),
>> +-                '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()),
>> +-                '--loaders=@0@'.format(loaders_cache.full_path()),
>> ++                '--printer=gdk-pixbuf-print-mime-types',
>> +                 '--bindir=@0@'.format(gdk_pixbuf_bindir),
>> +                 '@INPUT@',
>> +                 '@OUTPUT@',
>> +@@ -28,7 +26,6 @@ custom_target('thumbnailer',
>> +               depends: [
>> +                 gdk_pixbuf_print_mime_types,
>> +                 gdk_pixbuf_pixdata,
>> +-                loaders_cache,
>> +               ],
>> +               install: true,
>> +               install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers'))
>> +--
>> +2.17.1
>> +
>> diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch
>> new file mode 100644
>> index 00000000000..96c546f271a
>> --- /dev/null
>> +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch
>> @@ -0,0 +1,39 @@
>> +From 3c4a6c147ae8a0962ba9194373d8a41d14eed44f Mon Sep 17 00:00:00 2001
>> +From: Alexander Kanavin<alex.kanavin at gmail.com>
>> +Date: Fri, 22 Feb 2019 13:23:55 +0100
>> +Subject: [PATCH] Do not run tests when building
>> +
>> +Upstream-Status: Inappropriate [cross-compile specific]
>> +Signed-off-by: Alexander Kanavin<alex.kanavin at gmail.com>
>> +---
>> + tests/meson.build | 17 -----------------
>> + 1 file changed, 17 deletions(-)
>> +
>> +diff --git a/tests/meson.build b/tests/meson.build
>> +index 4fa3fbc..6ef7884 100644
>> +--- a/tests/meson.build
>> ++++ b/tests/meson.build
>> +@@ -138,23 +138,6 @@ foreach t: installed_tests
>> +     install_dir: installed_test_bindir,
>> +   )
>> +
>> +-  # Two particularly slow tests
>> +-  if test_suites.contains('slow')
>> +-    timeout = 300
>> +-  else
>> +-    timeout = 30
>> +-  endif
>> +-
>> +-  test(test_name, test_bin,
>> +-    suite: test_suites,
>> +-    args: [ '-k', '--tap' ],
>> +-    env: [
>> +-      'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
>> +-      'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
>> +-      'GDK_PIXBUF_MODULE_FILE=@0@'.format(loaders_cache.full_path()),
>> +-    ],
>> +-    timeout: timeout,
>> +-  )
>> + endforeach
>> +
>> + executable('pixbuf-read',
>> diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
>> index 7d0d54bafea..25410b11ea2 100644
>> --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
>> +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch
>> @@ -1,7 +1,7 @@
>> -From b6a7b30522455cab39a0b9ea8463313380146e70 Mon Sep 17 00:00:00 2001
>> +From f00603d58d844422363b896ea7d07aaf48ddaa66 Mon Sep 17 00:00:00 2001
>>   From: Ross Burton<ross.burton at intel.com>
>>   Date: Tue, 1 Apr 2014 17:23:36 +0100
>> -Subject: [PATCH 3/4] gdk-pixbuf: add an option so that loader errors are fatal
>> +Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal
>>   
>>   If an environment variable is specified set the return value from main() to
>>   non-zero if the loader had errors (missing libraries, generally).
>> @@ -14,10 +14,10 @@ Signed-off-by: Ross Burton<ross.burton at intel.com>
>>    1 file changed, 15 insertions(+), 4 deletions(-)
>>   
>>   diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
>> -index a81c804..350bec8 100644
>> +index 312aa78..b813d99 100644
>>   --- a/gdk-pixbuf/queryloaders.c
>>   +++ b/gdk-pixbuf/queryloaders.c
>> -@@ -146,7 +146,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
>> +@@ -212,7 +212,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
>>            g_string_append_c (contents, '\n');
>>    }
>>    
>> @@ -26,7 +26,7 @@ index a81c804..350bec8 100644
>>    query_module (GString *contents, const char *dir, const char *file)
>>    {
>>            char *path;
>> -@@ -155,6 +155,7 @@ query_module (GString *contents, const char *dir, const char *file)
>> +@@ -221,6 +221,7 @@ query_module (GString *contents, const char *dir, const char *file)
>>            void                    (*fill_vtable)   (GdkPixbufModule *module);
>>            gpointer fill_info_ptr;
>>            gpointer fill_vtable_ptr;
>> @@ -34,7 +34,7 @@ index a81c804..350bec8 100644
>>    
>>            if (g_path_is_absolute (file))
>>                    path = g_strdup (file);
>> -@@ -204,10 +205,13 @@ query_module (GString *contents, const char *dir, const char *file)
>> +@@ -270,10 +271,13 @@ query_module (GString *contents, const char *dir, const char *file)
>>                                       g_module_error());
>>                    else
>>                            g_fprintf (stderr, "Cannot load loader %s\n", path);
>> @@ -48,26 +48,26 @@ index a81c804..350bec8 100644
>>    }
>>    
>>    #ifdef G_OS_WIN32
>> -@@ -257,6 +261,7 @@ int main (int argc, char **argv)
>> -         GString *contents;
>> -         gchar *cache_file = NULL;
>> +@@ -314,6 +318,7 @@ int main (int argc, char **argv)
>>            gint first_file = 1;
>> +         GFile *pixbuf_libdir_file;
>> +         gchar *pixbuf_libdir;
>>   +        gboolean success = TRUE;
>>    
>>    #ifdef G_OS_WIN32
>>            gchar *libdir;
>> -@@ -370,7 +375,9 @@ int main (int argc, char **argv)
>> +@@ -452,7 +457,9 @@ int main (int argc, char **argv)
>>                    }
>>                    modules = g_list_sort (modules, (GCompareFunc)strcmp);
>>                    for (l = modules; l != NULL; l = l->next)
>> --                        query_module (contents, path, l->data);
>> -+                        if (!query_module (contents, path, l->data))
>> +-                        query_module (contents, moduledir, l->data);
>> ++                        if (!query_module (contents, moduledir, l->data))
>>   +                                success = FALSE;
>>   +
>>                    g_list_free_full (modules, g_free);
>> +                 g_free (moduledir);
>>    #else
>> -                 g_string_append_printf (contents, "# dynamic loading of modules not supported\n"); -@@ -385,7 +392,8 @@ int main (int argc, char **argv) +@@ -468,7 
>> +475,8 @@ int main (int argc, char **argv) infilename = 
>> g_locale_to_utf8 (infilename, -1, NULL, NULL, NULL); #endif @@ -77,9 
>> +77,9 @@ index a81c804..350bec8 100644 } g_free (cwd); } -@@ -401,5 
>> +409,8 @@ int main (int argc, char **argv) - else - g_print ("%s\n", contents->str);
>> +@@ -486,5 +494,8 @@ int main (int argc, char **argv)
>> +
>> +         g_free (pixbuf_libdir);
>>    
>>   -        return 0;
>>   +        if (g_getenv ("GDK_PIXBUF_FATAL_LOADER")) @@ -87,6 +87,3 @@ index a81c804..350bec8 100644 + else + return 
>> 0; } --- -2.14.1 - diff --git 
>> a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb 
>> b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb similarity index 
>> 76% rename from meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb 
>> rename to meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb index 
>> 5f081fbb945..3a544bd8a60 100644 --- 
>> a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.36.11.bb +++ 
>> b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb @@ -2,9 +2,10 @@ 
>> SUMMARY = "Image loading library for GTK+"
>>   HOMEPAGE ="http://www.gtk.org/"
>>   BUGTRACKER ="https://bugzilla.gnome.org/"
>>   
>> -LICENSE = "LGPLv2"
>> -LIC_FILES_CHKSUM ="file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - 
>> file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b"
>> +LICENSE = "LGPLv2.1"
>> +LIC_FILES_CHKSUM ="file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + 
>> file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b 
>> \ + "
>>   
>>   SECTION = "libs"
>>   
>> @@ -18,29 +19,26 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
>>              file://0001-Work-around-thumbnailer-cross-compile-failure.patch  \
>>              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  \
>>              "
>>   
>>   SRC_URI_append_class-target = " \
>> -file://0002-Work-around-thumbnailer-cross-compile-failure.patch  \
>> +file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch  \
>>              "
>>   SRC_URI_append_class-nativesdk = " \
>> -file://0002-Work-around-thumbnailer-cross-compile-failure.patch  \
>> -file://0001-Disable-tests-in-native-builds.patch  \
>> -           "
>> -SRC_URI_append_class-native = " \
>> -file://0001-Disable-tests-in-native-builds.patch  \
>> +file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch  \
>>              "
>>   
>> -SRC_URI[md5sum] = "6e84e5485c17ce7c25df77fe76eb2d6a"
>> -SRC_URI[sha256sum] = "ae62ab87250413156ed72ef756347b10208c00e76b222d82d9ed361ed9dde2f3"
>> +SRC_URI[md5sum] = "77765f24496dc8c90c6e0cbe10fd8f0e"
>> +SRC_URI[sha256sum] = "dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47"
>>   
>>   inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package
>>   
>> -GTKDOC_ENABLE_FLAG = "-Dwith_docs=true"
>> -GTKDOC_DISABLE_FLAG = "-Dwith_docs=false"
>> +GTKDOC_ENABLE_FLAG = "-Ddocs=true"
>> +GTKDOC_DISABLE_FLAG = "-Ddocs=false"
>>   
>> -GI_ENABLE_FLAG = "-Dwith_gir=true"
>> -GI_DISABLE_FLAG = "-Dwith_gir=false"
>> +GI_ENABLE_FLAG = "-Dgir=true"
>> +GI_DISABLE_FLAG = "-Dgir=false"
>>   
>>   EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
>>   
>> @@ -50,6 +48,8 @@ EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'T
>>   EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
>>                                                                                        '${GTKDOC_DISABLE_FLAG}', d)} "
>>   
>> +EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
>> +
>>   LIBV = "2.10.0"
>>   
>>   GDK_PIXBUF_LOADERS ?= "png jpeg"
>> @@ -63,7 +63,7 @@ PACKAGECONFIG[jpeg] = "-Denable_jpeg=true,-Denable_jpeg=false,jpeg"
>>   PACKAGECONFIG[tiff] = "-Denable_tiff=true,-Denable_tiff=false,tiff"
>>   PACKAGECONFIG[jpeg2000] = "-Denable_jasper=true,-Denable_jasper=false,jasper"
>>   
>> -PACKAGECONFIG[x11] = ",,virtual/libx11"
>> +PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,virtual/libx11"
>>   
>>   PACKAGES =+ "${PN}-xlib"
>>   
>> @@ -102,14 +102,10 @@ python populate_packages_prepend () {
>>   }
>>   
>>   do_install_append() {
>> -	# Move gdk-pixbuf-query-loaders into libdir so it is always available
>> +	# Copy gdk-pixbuf-query-loaders into libdir so it is always available
>>   	# in multilib builds.
>> -	mv ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
>> +	cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
>>   
>> -	# Do not install ptests if ptest is not enabled; gdk-pixbuf has no configuration option for this
>> -	if [ "${PTEST_ENABLED}" != "1" ]; then
>> -		rm -rf ${D}${datadir}/installed-tests
>> -	fi
>>   }
>>   
>>   do_install_append_class-native() {
>> @@ -127,5 +123,9 @@ do_install_append_class-native() {
>>   	create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
>>   		GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
>>   		GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
>> +
>> +	create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \
>> +		GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
>> +		GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
>>   }
>>   BBCLASSEXTEND = "native nativesdk"
> -- 
> BRs
>
> Sandy(Li Changqing)
>
-- 
BRs

Sandy(Li Changqing)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20190328/e4525718/attachment-0001.html>


More information about the Openembedded-core mailing list