summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools
Commit message (Collapse)AuthorAgeFilesLines
* Add missing SUMMARY fields to various recipesScott Garman2011-12-192-2/+3
| | | | | | | | | | | | | | | This adds the SUMMARY field to the following recipes which were missing it: * dosfstools * grep * icu * libevent * libnfsidmap * qemu-helper-nativesdk Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* opkg: Drop the offlineroot_varname patchRichard Purdie2011-12-192-22/+1
| | | | | | | This break things for on target opkg usage since $D must remain unset there. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* opkg: Add logic to detect and creak circular dependenciesRichard Purdie2011-12-192-1/+101
| | | | | | | | This addresses some of the concerns about the previous opkg changes allowing it to break out of circular dependency loops with just a notice in the logs rather than effectively going OOM. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libgcc: reintroduce debug package, containing symbolsDmitry Eremin-Solenikov2011-12-161-0/+3
| | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* opkg: Update svn 625 -> 633 and fix preinst issuesRichard Purdie2011-12-164-2/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a major issue with opkg images at the moment as preinst functions are not being executed before their dependencies are installed and this is leading to corruption of images containing avahi/dbus in particular. There are various changes in upstream opkg in the last 8 revisions which make changes in this area but sadly these aren't enough to get things working for us. I've updated to the latest svn revision with this patch since it makes sense to pull in those changes first and then supplement them with the attached patches. There is a full description of the patches in the patch headers but in summary they: a) Ensure preinst functions execute with their dependencies installed. This is a pretty invasive change as it changes the package install ordering in general. b) Ensure opkg sets $D, not $PKG_ROOT which we don't use c) Change opkg to allow execution of postinstall functions which fail resulting in execution on the target device as rootfs_ipk.bbclass currently does manually. The remaining changes interface this with the rest of the OE build infrastructure, adding in the option to tell opkg to run the preinst and postinst functions, ensure the correct environment is present for the postinst scripts and removing the now unneeded rootfs_ipk class code which opkg now does itself. [YOCTO #1711] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* perl: add .pl, pm, pod, sh files to SSTATE_SCANE_FILESSaul Wold2011-12-151-1/+4
| | | | | | | This fixes problems where hardcoded paths in the file were incorrect during sstate reusage of the task output. Signed-off-by: Saul Wold <sgw@linux.intel.com>
* libtool-cross: Add libtool & libtoolize to SSTATE_SCAN_FILESSaul Wold2011-12-151-1/+3
| | | | | | | This fixes problems where hardcoded paths in the file were incorrect during sstate reusage of the task output. Signed-off-by: Saul Wold <sgw@linux.intel.com>
* dosfstools: fix populated image creation with dirsNitin A Kamble2011-12-152-2/+492
| | | | | | | | | | | | | | | | This fixes bug: [YOCTO #1783] Fix populated image creation. Earlier subdirectories support was broken, and files can only be placed in the root directory. Now directory hirarchy is supported in the image. Also support for long names is extended to directory names. There are some outstanding issues as documented in the patch header, these issues can be worked around by running dosfsck tool after populated image creation. The dosfsck tool is also part of this package. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
* cross-recipes: Disable nls in gettext bbclassKhem Raj2011-12-154-4/+0
| | | | | | | | | | | | | | Right now for cross recipes e.g. gcc-cross and binutils-cross we specify --disable-nls .... --enable-nls on configure cmdline the --enable-nls coming from gettext bbclass. So we disable nls for all cross inheriting recipes in gettext bbclass and then we remove the extra --disable-nls in gcc-cross and binutils-cross This patch needs testing. Please help Signed-off-by: Khem Raj <raj.khem@gmail.com>
* qemu: for native, do not fail if kvm is unavailablePaul Eggleton2011-12-154-4/+12
| | | | | | | | When building qemu-native, if the linux kvm header is unavailable (as it is on CentOS 5.x 32-bit) then do not pass the --enable-kvm switch to the configure script, thus avoiding failed do_configure. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* icecc-create-env-native_0.1.bb: drop 'PRIORITY = "optional"' as it is the ↵Otavio Salvador2011-12-151-1/+0
| | | | | | | default Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: bump PR due to arm OVERRIDES changeMartin Jansa2011-12-131-1/+1
| | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* dosfstools: Add patch to disable fat32 autoselection and behave as 2.10Richard Purdie2011-12-132-2/+30
| | | | | | | | | It appears msdos image population and fat32 images are incompatible. This reverts to the 2.10 behaviour of defaulting to fat16 instead of using fat32 for large images, allowing image generation to work correctly. This is a workaround and a proper fix is really needed. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu-0.15.1: Bump recipes from 0.15.0 to 0.15.1Khem Raj2011-12-1217-4/+2
| | | | | | No other changes (except checksum updates) then git mv were needed Signed-off-by: Khem Raj <raj.khem@gmail.com>
* dosfstools: update native to 2.11Otavio Salvador2011-12-127-261/+69
| | | | | | | This unify recipes for target and native builds and also drops the the already merged patches. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* OECore license fixes: meta/*Elizabeth Flanagan2011-12-086-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | This is a quick audit of only the most obviously wrong licenses found within OECore. These fixes fall into four areas: - LICENSE field had incorrect format so that the parser choked - LICENSE field has a license with no version - LICENSE field was actually incorrect - LICENSE field has an imaginary license that didn't exist This fixes most of the LICENSE warnings thrown, along with my prior commit adding additional licenses to common-licenses and additional SPDXLICENSEMAP entries. HOWEVER..... there is much to be done on the license front. For a list of recipes with licenses that need obvious fixing see: https://wiki.yoctoproject.org/wiki/License_Audit That said, I would suggest another license audit as I've found enough inconsistencies. A good suggestion is when in doubt, look at how openSuse or Gentoo or Debian license the package. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
* dpkg: Fix preinst executionRichard Purdie2011-12-082-2/+49
| | | | | | | Add a patch to fix exeuction of pre/post install scripts. See the patch header for more details. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* subversion: update 1.7.0 to 1.7.2 and force libtool recreationKlaus Kurzmann2011-12-072-3/+4
| | | | | | | | | | | | | * subversion-1.7.* had libtool-2.4, oe-core now has 2.4.2 and it was failing: x86_64-linux-libtool: Version mismatch error. This is libtool 2.4.2, but the x86_64-linux-libtool: definition of this LT_INIT comes from libtool 2.4. x86_64-linux-libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2 x86_64-linux-libtool: and run autoconf again. Signed-off-by: Klaus Kurzmann <mok@fluxnetz.de> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Backport patch from trunk to fix ICE seen on armv7 with mesa-xlibKhem Raj2011-12-062-1/+36
| | | | | | | This patch is a backport of http://patchwork.ozlabs.org/patch/110517/ Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openjade-native_1.3.2.bb: remove CONFIGUREOPTS as vardep for do_configureMatthew McClintock2011-12-051-0/+5
| | | | | | | | | This variable was being expanded immediately and pulling in paths to the variable dependecies which causes it's sstate-cache to never be reused Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dpkg-native: Fix perl pathRichard Purdie2011-12-021-1/+2
| | | | | | | The path to the native perl was incorrect leading to rootfs failures. This patch corrects that problem. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ubootchart: update to svn R12Saul Wold2011-12-021-1/+1
| | | | Signed-off-by: Saul Wold <sgw@linux.intel.com>
* libtool: Upgrade from 2.4 -> 2.4.2Nitin A Kamble2011-12-0115-208/+168
| | | | | | | | | | | | | Rebased patches to the newer source code and deleted resolve-sysroot.patch since its already applied upstream merged libtool-2.4.2.inc & libtool.inc files replaced PR with ${INC_PR}.0 Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binutils: fix for .debug files QA warningsNitin A Kamble2011-12-014-3/+5
| | | | | | | | | | | | | | | | | | THis commit fixes these QA warnings for binutils recipe WARNING: For recipe binutils, the following files/directories were installed but not shipped in any package: WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/strip WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/objcopy WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/objdump WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/ld WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/nm WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/as WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/ranlib WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/ld.bfd WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/ar Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gnu-config: Only apply path transformations in the non-native/non-nativesdk caseRichard Purdie2011-12-012-2/+2
| | | | | | | | | The BUILD_ARCH != TARGET_ARCH check isn't a safe one to detect native builds and doesn't cover the nativesdk case. This converts the recipe to use PN instead which is more accurate and ensures the correct entries making it into the correct packages. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* make: expand MAKEFLAGS before we re-exec after rebuilding makefiles.Dexuan Cui2011-12-012-1/+42
| | | | | | | | | This patch was got from the upstream cvs repo of make to fix the bug of make-3.82: http://savannah.gnu.org/bugs/?30723 RP: Tweaked patch status to Backport Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* squashfs-tools: fix PR, those should start with 'r'Martin Jansa2011-11-301-1/+1
| | | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Fix multiarch DISTRO_FEATUREJulian Pidancet2011-11-302-7/+11
| | | | | | | | | | | | Make get_gcc_multiarch_setting more elegant. Use a dictionnary to store the config options and replace bb.data.getVar with d.getVar. Remove i686 from the architecture list because it doesn't seem to be a valid TARGET_ARCH any more in OE. Configure gdb (gdb and gdb-cross) with --enable-64-bit-bfd if multiarch DISTRO_FEATURE is present Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* perl: bump PR for gdbm SOVERSION changeKoen Kooi2011-11-301-1/+1
| | | | | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autoconf: Extend to provide nativesdk recipeWenzong Fan2011-11-301-3/+6
| | | | | | | | | | | | | | As the same reason with automake, extend autoconf to provide nativesdk recipe too. This patch was only used for autoconf that running on target: * path_prog_fixes.patch: replace '@PERL@' with '@bindir@/env perl' It's unavailable for autoconf-native and autoconf-nativesdk, so exclude it for those two recipes. Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* automake: Extend to provide nativesdk recipeWenzong Fan2011-11-302-2/+3
| | | | | | | | | We will provide autotools nativesdk in meta-tookchain for reconfigure any autotools supported projects, as a part of the plan we should extend their recipes first. Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* m4: Extend to provide nativesdk recipeWenzong Fan2011-11-302-2/+6
| | | | | | | | | | We need to provide autoconf-natviesdk in meta-toolchain, the m4-nativesdk is required by it. Both extend the m4 recipes for GPLv2 and GPLv3. Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gnu-config: Extend to provide nativesdk recipeWenzong Fan2011-11-301-2/+2
| | | | | | | | We need to provide autoconf-natviesdk in meta-toolchain, the gnu-config-nativesdk is required by it. Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* PR Bump for OpenSSL 1.0Saul Wold2011-11-304-4/+4
| | | | Signed-off-by: Saul Wold <sgw@linux.intel.com>
* binutils: upgrade from 2.21.1a to 2.22Nitin A Kamble2011-11-2918-577/+542
| | | | | | | | | And rebase the patches to the newer source code This patch is upstream hence deleting it from the recipe. binutils/110-arm-eabi-conf.patch Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
* intltool: remove XML::Parser checkSaul Wold2011-11-292-3/+37
| | | | | | | | | | | | | | | | | | | | | | Add Patch to disable the XML::Parser check in the target intltool.m4, this check will find the host (not native) XML::Parser if it's installed possibly causing Host contamination, but will also fail configuration if XML::Parser is not installed on the host. Since we know that XML::Parser is installed on the image, we don't really need this check, so comment it out. From RP in mail thread: > If the recipe needs perl for > some other reason than intltool, it needs perlnative but it if only > needs perl for intltool, we shouldn't need the dependency. The .m4 macro > checks are well intended but don't fit the way we use perl. I really > don't want to end up in a position where intltool automatically means we > have to add perlnative as a dependency and we've previously seen many > problems related to that. Signed-off-by: Saul Wold <sgw@linux.intel.com>
* rpm_5.4.0.bb: Build rpm without xzMatthew McClintock2011-11-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following issue: Log data follows: | NOTE: Creating RPM package for perf-dbg | NOTE: Creating RPM package for perf | NOTE: Creating EMPTY RPM Package for kernel | NOTE: Creating EMPTY RPM Package for kernel-3.0.9-00348-gec4b357 | NOTE: Creating RPM package for kernel-image-3.0.9-00348-gec4b357 | NOTE: Creating RPM package for kernel-dev | NOTE: Creating RPM package for kernel-vmlinux | NOTE: Not creating empty RPM package for kernel-misc | NOTE: Creating RPM package for kernel-devicetree | NOTE: Creating RPM package for kernel-module-libcrc32c | NOTE: Creating RPM package for kernel-module-crc-itu-t | NOTE: Creating RPM package for kernel-module-sctp | NOTE: Creating RPM package for kernel-module-pcbc | NOTE: Creating RPM package for kernel-module-crc32c | NOTE: Creating RPM package for kernel-module-binfmt-misc | NOTE: Creating RPM package for kernel-module-nfsd | NOTE: Creating RPM package for kernel-module-exportfs | NOTE: Creating RPM package for kernel-module-msdos | NOTE: Creating RPM package for kernel-module-nls-utf8 | NOTE: Creating RPM package for kernel-module-udf | NOTE: Creating RPM package for kernel-module-isofs | NOTE: Creating RPM package for kernel-module-usbhid | NOTE: Creating RPM package for kernel-module-scsi-wait-scan | NOTE: Creating EMPTY RPM Package for kernel-modules | /local/home/mattsm/git/fsl-local-sdk/build_p4080ds_release/tmp/sysroots/x86_64-linux/usr/bin/rpmbuild.real: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory | ERROR: Function 'BUILDSPEC' failed (see /local/home/mattsm/git/fsl-local-sdk/build_p4080ds_release/tmp/work/p4080ds-fsl-linux/linux-qoriq-sdk-3.0.6-r2/temp/log.do_package_write_rpm.18943 for further information) Signed-off-by: Matthew McClintock <msm@freescale.com>
* Introduce multiarch DISTRO_FEATUREJulian Pidancet2011-11-294-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a distro feature which enables gcc to produce both 32bit and 64bit code, and enables binutils to operate on both 32bit and 64bit binaries. It differs from multilib toolchains in that it does not require to compile a version of the libc for each architecture variant. However, the code produced for the secondary architecture will not be linkable against the libc. v2: - Renamed the feature name from "biarch" to "multiarch". The GCC installation manual claims that the mips-linux can be made a tri-arch compiler (http://gcc.gnu.org/install/configure.html) - For x86_64, the compiler is made bi-arch by default, so nothing has to be done in particular. - I analyzed the gcc/config.gcc from GCC sources and added in this patch all the architectures that could be made biarch with the version of gcc currently used in OE, which are powerpc, and sparc, in addition to x86. mips and s390 will probably be supported in future versions of gcc. For x86 and sparc, only the --enable-targets=all option is valid to make this work (this option doesn't have any other side effects than making the compiler bi-arch). For powerpc, I used the --enable-targets=powerpc64 option (although 'all' also works). Note: - Untested on powerpc and sparc. But I believe it works the same as with x86. - gcc in meta-toolchain is also made multiarch. Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
* opkg-utils: handle 6 digit UID fields properlyKoen Kooi2011-11-292-1/+29
| | | | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* python-native: Fix gcc compiler detecting logicKhem Raj2011-11-292-12/+12
| | | | | | | | | | | | | | | | | | | We have a patch unixccompiler.patch where we try to throw away everything except first element of CC string but this does not work if gcc is prepended with something e.g. CC="ccache gcc" then the logic fails and it ends up in some modules failing on you silently (_sqlite3) in my case. The fix here is to drop basename so we keep the whole string as it is and then the detection function searches for gcc string in the whole CC. This works in both cases one the original intent of the patch and the second described above. One place where it will fail is if someone has non-gcc compiler installed in some subdir which has gcc in it e.g. /usr/gcc/fakecc but for OE this should never happen. Ideally the the detection logic should have tried to execute gcc and then parsed --version output or something. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libjson: add 0.9Koen Kooi2011-11-291-0/+14
| | | | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* gcc-package-target.inc: add the symbol link /lib/cppDexuan Cui2011-11-242-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | When I was trying self-hosted-image, eglibc's do_install failed in the target: ERROR: cannot stat bootparam_prot.h: the cause is: rpcgen doesn't work properly: rpcgen can't exec /lib/cpp since it doesn't exist. According to http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/lib.html: "if a C preprocessor is installed, /lib/cpp must be a reference to it, for historical reasons. The usual placement of this binary is /usr/bin/cpp". Typical distros, like Ubuntu, openSuSE, Fedora and RHEL, all comply with the rule. Actually in meta/recipes-devtools/gcc/gcc-package-target.inc, we do try to package ${base_libdir}/cpp: FILES_cpp = "\ ${bindir}/${TARGET_PREFIX}cpp \ ${base_libdir}/cpp \ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1" But unluckily we didn't create a symbol link in do_install. This patch adds the symbol link. Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
* rpm: Flush old logs by change the DB_CONFIGMei Lei2011-11-242-2/+15
| | | | | | | | Fixes [YOCTO #1174] Rpm logs will grow indefinitely, so change the config to flush those old logs. Signed-off-by: Mei Lei <lei.mei@intel.com>
* dosfstools: add Upstream-Status to patchesScott Garman2011-11-247-0/+44
| | | | Signed-off-by: Scott Garman <scott.a.garman@intel.com>
* libtool: Avoid relinking when cross compiling, its pointlessRichard Purdie2011-11-243-2/+105
| | | | | | | | | | | | | | | | | | There is no point in having "executable" binaries in the .libs directory linked with different rpaths to the target which could concivably be run on the build system when cross compiling. This patch removes the extra rpaths ($compile_rpath) so that the output from the "link" stage can be used on the target. We can then avoid having to "relink" during the install stage. This saves some build time (do_install is over 2 minutes faster for pulseaudio). This patch also removes an annoying "seems to be moved" warning which is totally bogus in the sysroot case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* apt: Fix locale header and hardcoded libname issuesRichard Purdie2011-11-236-10/+104
| | | | | | | | | | | apt wasn't building on modern libc/compiler combinations due to missing header includes. The libcpp version was also being hardcoded, this patch generates it dynamically to work on different host systems which no longer have this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-4.6: Fix gcc ICE on qt4-x11-free/armv7-aKhem Raj2011-11-212-4/+68
| | | | | | | | Backport fix for PR 47551 fixes the ICE seen on armv7-a/qt4-x11-free Bump up SRCREV past gcc 4.6.2 release Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libtool-cross: Unbreak and actually use more of itRichard Purdie2011-11-211-11/+15
| | | | | | | | | | | | We should be using libtool-cross for cross compiling but were not. This patch sets datadir so libtoolize ends up containing correct paths. It then installs libtoolize. The path ltmain.sh was installed to was incorrect and this is fixed. We also now install all the libtool m4 macros and config files. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* btrfs-tools: update to the latest git commitNitin A Kamble2011-11-1726-4644/+16
| | | | | | Remove all the upstreamed and not needed patches. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
* python-gst: upgrade from 0.10.21 to 0.10.22Nitin A Kamble2011-11-171-3/+3
| | | | | Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>