Commit Graph

16 Commits

Author SHA1 Message Date
Joshua Lock c4e2c59088 meta: remove True option to getVar calls
getVar() now defaults to expanding by default, thus remove the True
option from getVar() calls with a regex search and replace.

Search made with the following regex: getVar ?\(( ?[^,()]*), True\)

(From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16 10:23:23 +00:00
Ross Burton 7c32a77cac pixbufcache: handle gdk-pixbuf not being present
It's possible - albeit unlikely - that gdk-pixbuf isn't present in the sysroot
when a recipe inheriting this class is and the sysroot is finalised.

One example would be if the sstate archive has librsvg but not gdk-pixbuf:
librsvg will be extracted from the sstate but gdk-pixbuf will be built to "fill
in the gap".  In this situation the setscene completion hook installed by
pixbufcache.bbclass will attempt to execute gdk-pixbuf-query-loaders, but that
binary hasn't been installed by gdk-pixbuf yet.

Also add gdk-pixbuf-native to DEPENDS in native builds to ensure that the
binaries we expect will be present, as it's possible to build loaders without
linking to GdkPixbuf.

[ YOCTO #10420 ]

(From OE-Core rev: 03cdb3366ded46cd760656e4cda0be37c1f82109)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-15 10:01:42 +01:00
Ross Burton c356961f15 gtk-icon-cache/pixbufcache: don't set GDK_PIXBUF_MODULEDIR
In normal use gdk-pixbuf knows where to find its own loaders and explicitly
stating this will cause work in the future if the ABI version changes.

(From OE-Core rev: 87eea290a799be0e852d8b3c357879680abedb77)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-28 12:00:17 +01:00
Ross Burton 8a12632e97 gdk-pixbuf: move gdk-pixbuf-query-loaders to $libdir for multilib safety
If for example gdk-pixbuf and lib32-gdk-pixbuf are in an image then only one
${bindir}/gdk-pixbuf-query-loaders will be installed, so only one variant will
actually be usable.

Solve this by moving gdk-pixbuf-query-loaders into ${libdir} as it's intimately
tied to the library and rarely directly invoked by the user, and update the
callers to use the right path.

(From OE-Core rev: 69df75f268e2b3d5874f05e2b5a6125f6d990a03)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-28 12:00:16 +01:00
Richard Purdie e384d9ba0c pixbufcache: Use sceneQueueComplete event to simplify usage
Ensuring the native pixbuf cache is correct after new loaders have
been installed is tricky. This needs to be done without races
and work regardless of whether the build is from sstate or freshly
built for one or more modules.

This adds a hook into base.bbclass which is then triggered by the
code from pixbufcache. This patch is an improved version which
means base.bbclass has no pixbuf knowledge and the mechanism can
be reused in other cases.

(From OE-Core rev: b411085fefc8582d24c172db5f6610705eb44c2f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-31 10:32:45 +01:00
Robert Yang c03c82a707 pixbufcache.bbclass: add harfbuzz-native to PIXBUFCACHE_SYSROOT_DEP
Fixed:
DEBUG: Executing shell function pixbufcache_sstate_postinst
g_module_open() failed for sysroots/x86_64-linux/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: libharfbuzz.so.0: cannot open shared object file: No such file or directory

(From OE-Core rev: 892c8d80e7cf36b3a45dca248969d49ce78c0cbf)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:56 +00:00
Joe Slater 2a129dd370 pixbufcache: add error exit in pixbufcache_sstate_postinst
In order to attempt recovery of a failed populate_sysroot_setscene,
we need to explicitly error exit an SSTATEPOSTINSTFUNC.  So, we test
the return value of gdk-pixbuf-query-loaders.

(From OE-Core rev: 17bdb2538e6b723e11afb1079c71363603dba63d)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-24 17:55:13 +01:00
Ross Burton 1eae7d2503 gdk-pixbuf: pass GDK_PIXBUF_FATAL_LOADER where relevant
Pass GDK_PIXBUF_FATAL_LOADER to the sstate postinst and intercept so that any
problems are flagged as errors instead of being silently ignored.

(From OE-Core rev: 0a97b1571821848af11d8651c7145ed9592f9e31)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 23:39:14 +01:00
Richard Purdie cfd1c4e79e pixbufcache: Fix librsvg-native build
bitbake librsvg-native would fail with an error about missing icu-native.
The reason is that bitbake doesn't directly parse setscene dependencies. This
change ensures bitbake does see the dependencies and avoids the error.

Ideally we'd teach bitbake about those but that is a significant and complex
change so this resolves the problem for now.

[YOCTO #5926]

(From OE-Core rev: 33fa7c8f28d343ecec354a551d45f23643becd59)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-18 23:05:53 +00:00
Konrad Scherer b2e86f77b9 pixbufcache.bbclass: gdk-pixbuf-query-loaders depends on libz
ldd sysroots/x86_64-linux/usr/bin/gdk-pixbuf-query-loaders.real
<snip>
libz.so.1 => /sysroots/x86_64-linux/usr/bin/../../usr/lib/libz.so.1 (0x00007fab55393000)

If zlib-native has not been unpacked, host libz is used which can fail.

(From OE-Core rev: 8422c759ae674856aaaee176eab5a395a620443c)

Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-30 13:39:10 +00:00
Ross Burton 2ab5dfceef pixbufcache: add more documentation
Add some more documentation to the PIXBUFCACHE_SYSROOT_DEPS variable to clarify
the usage.

(From OE-Core rev: b2f2d6a2b166b3c79cc5a0d386ee1dda2d4fa010)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-30 20:59:09 +01:00
Ross Burton 204b92c663 pixbufcache: update the loader cache when installing natively
Register a sstate postinst function so that when installing a native package,
the gdk-pixbuf loader cache is updated.

(From OE-Core rev: 7cbde5d8f2b88ec4e79cb0d564ee0f3c9baa7c2d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-24 14:14:38 +01:00
Laurentiu Palcu 4a3d4b8d7a Pass the mlprefix to postinst_intercept script
This is needed in order to have separate multilib intercept hooks.

(From OE-Core rev: 44eae13c164ca6e15a6013eafeab3eb44f24c8e0)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-29 14:45:10 +01:00
Laurentiu Palcu 5e702edaa4 pixbufcache.bbclass: do not exit 1 after installing intercept hook
This will allow to register, in a single postinstall, multiple hooks.

(From OE-Core rev: b396138ee081c8f5dddbaab0e374787ba2e31029)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-22 14:45:02 +01:00
Laurentiu Palcu 2435d807d1 postinst-intercepts, qemu.bbclass: fix segfaults in postinstalls
Postinstalls that use qemu are throwing a segmentation fault when
building for qemux86-64 on a 64bit host (it might also happen for
qemux86 if building on a 32bit host but I didn't test). It looks like
qemu looks for ld.so.cache which is not found because it is generated
after rootfs_(rpm|ipk|deb)_do_rootfs is called and then it tries to load
libraries from the default paths (which are the host's). In order to
avoid this, pass the LD_LIBRARY_PATH explicitly to the target's dynamic
loader.

(From OE-Core rev: 48e8b613b3f5c7b1d917bf3147606d44072ce49e)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-10 12:56:52 +01:00
Laurentiu Palcu 2b2416098e Add pixbufcache class
All packages exporting pixbuf loaders should inherit this class in order
to generate the correct postinst/postrm scriptlets.

[YOCTO #3852]

(From OE-Core rev: 61afa98f96f5c62473cb2db383b48d3d23c5d7ac)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-13 16:52:29 +00:00