summaryrefslogtreecommitdiff
path: root/meta/recipes-gnome/gdk-pixbuf
AgeCommit message (Collapse)AuthorFiles
2017-01-23Switch to Recipe Specific SysrootsRichard Purdie1
This patch is comparatively large and invasive. It does only do one thing, switching the system to build using recipe specific sysroots and where changes could be isolated from it, that has been done. With the current single sysroot approach, its possible for software to find things which aren't in their dependencies. This leads to a determinism problem and is a growing issue in several of the market segments where OE makes sense. The way to solve this problem for OE is to have seperate sysroots for each recipe and these will only contain the dependencies for that recipe. Its worth noting that this is not task specific sysroots and that OE's dependencies do vary enormously by task. This did result in some implementation challenges. There is nothing stopping the implementation of task specific sysroots at some later point based on this work but that as deemed a bridge too far right now. Implementation details: * Rather than installing the sysroot artefacts into a combined sysroots, they are now placed in TMPDIR/sysroot-components/PACKAGE_ARCH/PN. * WORKDIR/recipe-sysroot and WORKDIR/recipe-sysroot-native are built by hardlinking in files from the sysroot-component trees. These new directories are known as RECIPE_SYSROOT and RECIPE_SYSROOT_NATIVE. * This construction is primarily done by a new do_prepare_recipe_sysroot task which runs before do_configure and consists of a call to the extend_recipe_sysroot function. * Other tasks need things in the sysroot before/after this, e.g. do_patch needs quilt-native and do_package_write_deb needs dpkg-native. The code therefore inspects the dependencies for each task and adds extend_recipe_sysroot as a prefunc if it has populate_sysroot dependencies. * We have to do a search/replace 'fixme' operation on the files installed into the sysroot to change hardcoded paths into the correct ones. We create a fixmepath file in the component directory which lists the files which need this operation. * Some files have "postinstall" commands which need to run against them, e.g. gdk-pixbuf each time a new loader is added. These are handled by adding files in bindir with the name prefixed by "postinst-" and are run in each sysroot as its created if they're present. This did mean most sstate postinstalls have to be rewritten but there shouldn't be many of them. * Since a recipe can have multiple tasks and these tasks can run against each other at the same time we have to have a lock when we perform write operations against the sysroot. We also have to maintain manifests of what we install against a task checksum of the dependency. If the checksum changes, we remove its files and then add the new ones. * The autotools logic for filtering the view of m4 files is no longer needed (and was the model for the way extend_recipe_sysroot works). * For autotools, we used to build a combined m4 macros directory which had both the native and target m4 files. We can no longer do this so we use the target sysroot as the default and add the native sysroot as an extra backup include path. If we don't do this, we'd have to build target pkg-config before we could built anything using pkg-config for example (ditto gettext). Such dependencies would be painful so we haven't required that. * PKDDATA_DIR was moved out the sysroot and works as before using sstate to build a hybrid copy for each machine. The paths therefore changed, the behaviour did not. * The ccache class had to be reworked to function with rss. * The TCBOOTSTRAP sysroot for compiler bootstrap is no longer needed but the -initial data does have to be filtered out from the main recipe sysroots. Putting "-initial" in a normal recipe name therefore remains a bad idea. * The logic in insane needed tweaks to deal with the new path layout, as did the debug source file extraction code in package.bbclass. * The logic in sstate.bbclass had to be rewritten since it previously only performed search and replace on extracted sstate and we now need this to happen even if the compiled path was "correct". This in theory could cause a mild performance issue but since the sysroot data was the main data that needed this and we'd have to do it there regardless with rss, I've opted just to change the way the class for everything. The built output used to build the sstate output is now retained and installed rather than deleted. * The search and replace logic used in sstate objects also seemed weak/incorrect and didn't hold up against testing. This has been rewritten too. There are some assumptions made about paths, we save the 'proper' search and replace operations to fixmepath.cmd but then ignore this. What is here works but is a little hardcoded and an area for future improvement. * In order to work with eSDK we need a way to build something that looks like the old style sysroot. "bitbake build-sysroots" will construct such a sysroot based on everything in the components directory that matches the current MACHINE. It will allow transition of external tools and can built target or native variants or both. It also supports a clean task. I'd suggest not relying on this for anything other than transitional purposes though. To see XXX in that sysroot, you'd have to have built that in a previous bitbake invocation. * pseudo is run out of its components directory. This is fine as its statically linked. * The hacks for wayland to see allarch dependencies in the multilib case are no longer needed and can be dropped. * wic needed more extensive changes to work with rss and the fixes are in a separate commit series * Various oe-selftest tweaks were needed since tests did assume the location to binaries and the combined sysroot in several cases. * Most missing dependencies this work found have been sent out as separate patches as they were found but a few tweaks are still included here. * A late addition is that extend_recipe_sysroot became multilib aware and able to populate multilib sysroots. I had hoped not to have to add that complexity but the meta-environment recipe forced my hand. That implementation can probably be neater but this is on the list of things to cleanup later at this point. In summary, the impact people will likely see after this change: * Recipes may fail with missing dependencies, particularly native tools like gettext-native, glib-2.0-native and libxml2.0-native. Some hosts have these installed and will mask these errors * Any recipe/class using SSTATEPOSTINSTFUNCS will need that code rewriting into a postinst * There was a separate patch series dealing with roots postinst native dependency issues. Any postinst which expects native tools at rootfs time will need to mark that dependency with PACKAGE_WRITE_DEPS. There could well be other issues. This has been tested repeatedly against our autobuilders and oe-selftest and issues found have been fixed. We believe at least OE-Core is in good shape but that doesn't mean we've found all the issues. Also, the logging is a bit chatty at the moment. It does help if something goes wrong and goes to the task logfiles, not the console so I've intentionally left this like that for now. We can turn it down easily enough in due course. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-19gdk-pixbuf: Upgrade 2.36.0 -> 2.36.1Jussi Kukkonen1
New binary gdk-pixbuf-thumbnailer packaged in ${PN}-bin. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16meta: remove True option to getVar callsJoshua Lock1
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\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-10-31gdk-pixbuf: 2.34.0 -> 2.36.0Jussi Kukkonen1
Six-monthly feature release, mostly bug fixes. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-09gdk-pixbuf: enable gtk-docAlexander Kanavin1
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2016-05-17gdk-pixbuf: Upgrade 2.32.3 -> 2.34.0Jussi Kukkonen1
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12recipes-gnome: fix introspection supportAlexander Kanavin1
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26gdk-pixbuf: update to 2.32.3Alexander Kanavin2
Drop backported libc_memfuncs.patch Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-22gdk-pixbuf: Fix latent build issue exposed by muslKhem Raj2
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2015-12-16meta: more removals of redunant FILES_${PN}-dbgRoss Burton1
In some recipes overly-split -dbg packages were merged into PN-dbg. Unless there's a very good reason, recipes should have a single -dev and -dbg package. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-08package_regex.inc: split entries with odd-even versioning into their own recipesAlexander Kanavin1
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-25gdk-pixbuf: Upgrade 2.30.8 -> 2.32.1Jussi Kukkonen2
Remove a backported patch. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-28gdk-pixbuf: Only apply native cleaning in normal task, not setsceneRichard Purdie1
The previous fix works well for normal tasks since the ordering is always correct and gdk-pixbuf-native comes first. Setscene ordering is reversed so we can't rely on this there. Remove the fix in that case since it breaks more than it solves. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-26gdk-pixbuf: move gdk-pixbuf-query-loaders to $libdir for multilib safetyRoss Burton1
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. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-26gdk-pixbuf: move gdk-pixbuf-pixdata to gdk-pixbuf-devRoss Burton1
This is a development tool, similar to gdk-pixbuf-csource, so move it to the -dev package. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-24gdk-pixbuf: Avoid rebuild failuresRichard Purdie1
If gdkpixbuf-native rebuilds and there are stale (broken) modules lying around, it can fail to run the postinst. E.g. svg links to harfbuzz and if harfbuzz is removed from the sysroot but the svg loader isn't, we get a symbol linking issue. The reproducer is along the lines of build gdk-pixbuf-native along with harfbuzz-native and librsvg-native, then make a small change to the gdk-pixbuf recipe that would cause it to rebuild, clean harfbuzz-native and then build gdk-pixbuf. To fix this, when we install gdk-pixbuf, we wipe out any previous loaders. The idea is that gdk would always come first and anything else installing itself will come later and rerun the postinst if needed. We can therefore just remove any other loaders. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-21gdk-pixbuf: remove redundant libx11 DEPENDS lineCarlos Rafael Giani1
The x11 packageconfig already takes care of the X11 dependency, and also respects the DISTRO_FEATURES Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-08-19gdk-pixbuf: Security Advisory - gdk-pixbuf - CVE-2015-4491Li Zhou2
pixops: Be more careful about integer overflow Integer overflow in the make_filter_table function in pixops/pixops.c in gdk-pixbuf before 2.31.5, as used in Mozilla Firefox before 40.0 and Firefox ESR 38.x before 38.2 on Linux, Google Chrome on Linux, and other products, allows remote attackers to execute arbitrary code or cause a denial of service (heap-based buffer overflow and application crash) via crafted bitmap dimensions that are mishandled during scaling. Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-11-25gdk-pixbuf: use ptest-gnomeRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-07-23gdk-pixbuf: upgrade to 2.30.8Ross Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-10gdk-pixbuf: fix paths to test binariesRoss Burton1
The tests are installed to $libexecdir not $libdir/gdk-pixbuf. By default these are the same location but they can be changed independently. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-13gdk-pixbuf: upgrade to 2.30.7Ross Burton2
Drop tests-check.patch as it has been merged into this release. License checksums updated as the FSF address was changed. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25Globally replace 'base_contains' calls with 'bb.utils.contains'Otavio Salvador1
The base_contains is kept as a compatibility method and we ought to not use it in OE-Core so we can remove it from base metadata in future. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01gdk-pixbuf: add an option so that loader errors are fatalRoss Burton2
So that gdk-pixbuf-query-loader failures can be identified as such (and executed later, or run on the target) add a magic environment variable return loader failures from main(). Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-08gdk-pixbuf: enable ptestRoss Burton3
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-21gdk-pixbuf: use PACKAGECONFIG to control loaders with external dependenciesRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-21gdk-pixbuf: don't forcibly disable GIO sniffing, use PACKAGECONFIG.Ross Burton2
There's a configure option for GIO sniffing so don't use a patch to disable it. Instead use a PACKAGECONFIG for this and default to off, as using GIO for sniffing means a hard dependency on shared-mime-info. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-21gdk-pixbuf: upgrade to 2.30.3Ross Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02Replace one-line DESCRIPTION with SUMMARYPaul Eggleton1
A lot of our recipes had short one-line DESCRIPTION values and no SUMMARY value set. In this case it's much better to just set SUMMARY since DESCRIPTION is defaulted from SUMMARY anyway and then the SUMMARY is at least useful. I also took the opportunity to fix up a lot of the new SUMMARY values, making them concisely explain the function of the recipe / package where possible. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-11-18gdk-pixbuf: upgrade to 2.30.1Ross Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-26gdk-pixbuf: use PACKAGECONFIG to control legacy X11 sub-libraryRoss Burton1
Instead of appending and using overrides, turn gdk-pixbuf-xlib into a PACKAGECONFIG option and enable it for LSB-builds only. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-05gdk-pixbuf: upgrade to 2.28.2Ionut Radu1
Signed-off-by: Ionut Radu <ionutx.radu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-25gdk-pixbuf: add a wrapper for gdk-pixbuf-pixdataRoss Burton1
gdk-pixbuf 2.26 added a new binary gdk-pixbuf-pixdata, but no wrapper script was added for it. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-04gdk-pixbuf: upgrade to 2.28.1Ross Burton5
Something along the lines of pngversion.patch was merged upstream, so drop that patch. Also use the new trim_version() function for a future-proof SRC_URI. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-24gdk-pixbuf: remove native loader cache generation, use the classRoss Burton1
We assumed that the only relevant gdk-pixbuf loaders in the native environment were the ones in gdk-pixbuf itself, as the icon cache is only for PNG files. However, glib-compile-resources can transform SVG files to raw image data, and done natively this requires the SVG loader to be registered. The current implementation relies on this assumption by generating the cache based on the staging directory during install, so if gdk-pixbuf-native is re-installed to the sysroot after librsvg-native it will overwrite the loader cache. So, remove the code in do_install that updated the cache, and rely on the new logic in pixbufcache.bbclass that updates the cache when it's installed into the sysroot itself. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-13gdk-pixbuf: Fix libpng determinism issuesRichard Purdie2
We now have libpng 1.6. If we build libpng12 as well as libpng 1.6, the 1.2 version gets preferred which is not desirable and does not give deterministic builds. We really do want to use libpng since the item in DEPENDS will provide this so manipulate the search list so the one we DEPEND on gets chosen. This was the cause of a recent autobuilder failure. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-12gdk-pixbuf: use the new pixbufcache classLaurentiu Palcu1
[YOCTO #3582] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-04gdk-pixbuf: use correct build path when installingRoss Burton1
The native install was invoking a binary in $S, but it's been built into $B. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-18gdk-pixbuf: update to upstream version 2.26.5Marko Lindqvist5
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-13gdk-pixbuf: handle postinstall errors differentlyLaurentiu Palcu1
Apparently gdk-pixbuf-query-loaders always returns 0 but writes any errors to stderr. So, the conditional exit at the end of the command was useless. Write the errors to a file and exit only if the file size is greater than 0. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-06gdk-pixbuf: generate the pixbuf loader's cache ar rootfs timeLaurentiu Palcu1
This will generate the loaders.cache file for pixbuf, at rootfs time. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-11-02recipes-gnome: replace virtclass-native(sdk) with class-native(sdk)Robert Yang1
The overrides virtclass-native and virtclass-nativesdk are deprecated, which should be replaced by class-native and class-nativesdk. [YOCTO #3297] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-19PACKAGES_DYNAMIC: use regexp not globMartin Jansa1
* bitbake uses PACKAGES_DYNAMIC as regexp ^ could make matching faster (and it will be more clear that we're expecting regexp not glob) * made all those last '-' optional, use .* (or nothing) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02gdk-pixbuf: Ensure gdk-pixbuf-native dependencies are correct with linuxstdbaseRichard Purdie1
Without this change, anything using linuxstdbase would incorrectly try and pull in X dependencies. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-18recipes: bump PR to rebuild after libffi5 -> libffi6Martin Jansa1
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-25gdk-pixbuf: call gtk-update-icon-cache with -t in postinstall scriptJackie Huang1
gtk-update-icon-cache is called for each subdir of ${datadir}/icons, but there are some themes without an index.theme file such as xcursor-transparent, so add -t(--ignore-theme-index) option to avoid errors of gtk-update-icon-cache. Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
2012-08-15gdk-pixbuf: fix the postinstall script failure when no icon is installedJackie Huang1
If gtk+ is added to core-image-minimal, postinstall script failed on boot: Running postinst /etc/rpm-postinsts/104... gtk-update-icon-cache: No theme index file. ERROR: postinst /etc/rpm-postinsts/104 failed. This patch fixed the postinstall script to check for the icon file first and not run the gtk-update-icon-cache if no icon is installed. [YOCTO #2905] Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-06gdk-pixbuf: fix parallel install issueWenzong Fan2
This patch fixes parallel install issue that lib libpixbufloader-png.la depends on libgdk_pixbuf-2.0.la which will be regenerated during insta- llation, if libgdk_pixbuf-2.0.la is regenerating and at the same time libpixbufloader-png.la links it, the error will happen. Error message is: * usr/bin/ld: cannot find -lgdk_pixbuf-2.0 * collect2: ld returned 1 exit status Make an explicit dependency to the libs install targets would fix this issue. [YOCTO #2883] Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19Convert tab indentation in python functions into four-spaceRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15gdk-pixbuf: Fix lsb builds where dependency may be missingRichard Purdie1
We turn on the xlib depdendency for linuxstdbase builds but were missing the dependency on libx11. This adds the missing dependency. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>