As libdrm enables modules automatically, based on what it needs / can build,
it's unlikely we'll *ever* get a situation where all the modules are emitted,
so libdrm-drivers, which depends on all of them, ends up being useless and
non-installable. Make it use rrecommends, so it only pulls in what we have.
Signed-off-by: Christopher Larson <kergoth@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 15 Dec 2013 16:30:29 +0000 (16:30 +0000)]
qemu/local.conf.sample: Add sdl PACKAGECONFIG
Currently the SDL configuration option for qemu floats. This is confusing to new users
and makes the build non-determinstic. This patch adds a PACKAGECONFIG option, defaulting
to off and adds documentation to local.conf.sample leaving it on by default since this
is the configuration our quick start assumes.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 15 Dec 2013 16:33:47 +0000 (16:33 +0000)]
nativesdk: Set LIBCOVERRIDE to a value
nativesdk was just unsetting LIBCOVERRIDE however that causes some build failures
for xorg-libs which used a libc override. This adds in a mechanism to force
nativesdk to glibc and give the option of allowing another selection like
uclibc if anyone ever does the work to make it operational.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Wed, 11 Dec 2013 05:41:36 +0000 (13:41 +0800)]
image.bbclass: fix for zap_root_password
Previously, this function replaces the root password with '*' if
'debug-tweaks' is not in IMAGE_FEATURES. It not only zaps empty root
password, but also zaps non-empty root password. That means, if the
user uses a bbappend file for base-passwd to set the root password, he
would not be able to login as root; if the user uses 'EXTRA_USERS_PARAMS'
to set the root password, he would still not be able to login as root.
What we really want from this function is to disallow empty root password
if 'debug-tweaks' is not in IMAGE_FEATURES. This function should not remove
non-empty root password because that password is usually deliberately set
by the user.
This patch renames zap_root_password to zap_empty_root_password to
better reflect the intent of this function. It also modifies the code
to make this function work correctly.
Chen Qi [Sat, 16 Nov 2013 07:27:47 +0000 (15:27 +0800)]
shadow-native: allow for setting password in clear text
Allow user to set password in clear text. This is convenient when
we're building out an image.
This feature is mainly used by useradd.bbclass and extrausers.bbclass.
This patch adds a new option '-P' to useradd, usermod, groupadd and groupmod
commands provided by shadow-native. The shadow package on target and in SDK
will not be affected.
Chen Qi [Thu, 12 Dec 2013 08:38:04 +0000 (16:38 +0800)]
init-ifupdown: adjust priority of networking to fix system freeze problem
On mpc8315e, a system freeze is encountered at system boot time if
connman and init-ifupdown are installed.
The error message before the freeze is:
"ip: RTNETLINK answers: File exists"
This problem is introduced by the following commit. dc80eea sysvinit: fix problem in switching runlevels
Part of the above commit is to make the networking init script run
at runlevel 2 3 4 5 instead of runlevel S. However, after the change,
networking is run after connman. And this causes the problem stated
above.
Make networking run first when entering runlevel 2 3 4 5, so that we
don't break things.
Martin Jansa [Fri, 13 Dec 2013 02:37:18 +0000 (03:37 +0100)]
ltp: Use patch generated without -M
* in my builds both versions worked, but Saul reported that it fails to
apply with:
Applying patch
0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch
patch: **** Only garbage was found in the patch input.
Now I've see the same issue on different builder (with Ubuntu 12.04).
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Cristian Iorga [Wed, 11 Dec 2013 17:24:01 +0000 (19:24 +0200)]
bluez5: upgrade to 5.12
- Configure options no longer available were removed.
- The content of patch directory was generic, so the name
of directory is now generic.
- Switched to xz format for tarball
(40% decrease in download size).
oe-selftest: Add track_for_cleanup method to be used in cleanup tasks
Added a track_for_cleanup(path) method that removes the given path in the
tearDown method. This mechanism can be used to make sure a file or directory
we created will be removed at the end of a test, regardless of what happens.
Add a new method that can be used by the tester to add a command to the
executed in the tearDown stage of the test. This mechanism can be used to
make sure certain test-specific cleanup tasks are done in the case of a
test failure.
Chen Qi [Wed, 11 Dec 2013 09:06:29 +0000 (17:06 +0800)]
libgcrypt: fix compile error with '-O2' in sysroot path
Characters like '-O2' or '-Ofast' will be replaced by '-O1' when
compiling cipher. If we are cross compiling libgcrypt and sysroot
contains such characters, we would get compile errors because the
sysroot path has been modified.
Fix this by adding whitespaces before and after the original matching
pattern in the sed command.
Koen Kooi [Wed, 11 Dec 2013 08:50:07 +0000 (09:50 +0100)]
distutils bbclass: delete site.py*
Multiple recipes package this generated file and will clash during installation with:
| Collected errors:
| * check_data_file_clashes: Package python-nose wants to install file /build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/work/beaglebone-angstrom-linux-gnueabi/cloud9-gnome-image/1.0-r0/rootfs/usr/lib/python2.7/site-packages/site.pyc
| But that file is already provided by package * python-setuptools
| * check_data_file_clashes: Package python-nose wants to install file /build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/work/beaglebone-angstrom-linux-gnueabi/cloud9-gnome-image/1.0-r0/rootfs/usr/lib/python2.7/site-packages/site.py
| But that file is already provided by package * python-setuptools
Bruce Ashfield [Thu, 5 Dec 2013 19:31:55 +0000 (14:31 -0500)]
linux-yocto-dev: allow static SRCREVs via include
The linux-yocto dev recipe is intended to track the latest revisions of the
kernel tree by default. To control revision churn, and integrate into a
regular build schedule having the ability to specify a set of SRCREVs without
modifying the recipe itself is desired.
So we introduce an optional include file, and variables that control whether
or not the static SRCREVs are used: USE_MACHINE_AUTOREV and USE_META_AUTOREV,
to add this flexibility.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Ross Burton [Wed, 11 Dec 2013 14:04:34 +0000 (14:04 +0000)]
site: add xorg_cv_malloc0_returns_null
util-macros 1.18 will look in the autoconf cache for this value so instead of
using overrides in xorg-lib-common, use the per-libc site cache.
Alert readers may notice that the site file claims that glibc returns NULL from
malloc(), when the previous change (e628c8aba0189de30de2833882b9999ff3b6547a)
claimed that it didn't. The previous change was incorrect, whilst malloc(0)
returns a valid pointer, realloc(p,0) does in fact return NULL, so the Xlib
wrapper functions are needed.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Jackie Huang [Fri, 15 Nov 2013 08:36:20 +0000 (03:36 -0500)]
grub-efi: allow compilation without large model support
-mcmodel=large is not supported by gcc with version lower
than 4.4, but we don't need to use memory over 4GiB, so add
a patch to allow compilation without large model support.
Jackie Huang [Mon, 18 Nov 2013 12:29:07 +0000 (20:29 +0800)]
grub-efi: change to generate EFI image in target package
To generate the target EFI image in a native package, it requires
the host gcc have the ability to do -m32/-m64 compiling, but gcc
doesn't have that support on the 32bit version of some distributions
(e.g. rehl, suse), it would fail when build a 64bit target on these
32bit hosts.
In fact, all we need from grub-efi-native is the grub-mkimage binary,
so change the solution to:
* grub-efi-native only install grub-mkimage
* grub-efi compiles target modules, generates EFI image
with grub-mkimage and deploy, but install nothing.
Paul Eggleton [Fri, 13 Dec 2013 14:42:46 +0000 (14:42 +0000)]
shadow: change to use SHA512 password encryption
The default encryption method for shadow is DES, which limits passwords
to 8 characters. Not only is this undesirable, it's also not how busybox
works so we had different passwd/login length behaviour depending on
whether shadow was installed in the image or not. Change it to SHA512
which is what most Linux distributions seem to be using currently.
(SHA512 also matches up with how we are configuring PAM.)
Fixes [YOCTO #5656].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Steffen Sledz [Thu, 28 Nov 2013 14:09:31 +0000 (15:09 +0100)]
gdb-7.6.1: fix cygwin check in configure script
This is a fix which avoids false positives if the search pattern
"lose" is found in path descriptions in comments generated by the
preprocessor we hit in our development environment.
Paul Eggleton [Thu, 12 Dec 2013 16:07:05 +0000 (16:07 +0000)]
external-sourcery-toolchain: remove
As per discussion on the mailing list [1], remove this largely
unmaintained external toolchain support in favour of the maintained
version in meta-sourcery [2].
Also correct the example and documentation.conf entries for TCMODE to
match up with this change.
Paul Eggleton [Thu, 12 Dec 2013 16:07:04 +0000 (16:07 +0000)]
classes/module_strip: remove
This class has been empty since 2010, so we shouldn't need it anymore. A
check of common layers suggests there shouldn't be any references to it
outside of OE-Core.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 10 Dec 2013 12:13:37 +0000 (12:13 +0000)]
libmatchbox: use PACKAGECONFIG
Use PACKAGECONFIG to offer some flexibility to the libmatchbox configuration,
and remove two spurious build dependencies (expat and libstartup-notification).
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 10 Dec 2013 12:13:36 +0000 (12:13 +0000)]
libmatchbox: fix libpng detection
The configure script looks for libpng12 though pkg-config and if that fails
falls back to looking for library files directly. The result of this is that
the linkage can change between libpng12 or libpng16 depending on what is
installed in the sysroot.
To resolve this, take a patch from upstream to just link using pkg-config.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yue Tao [Thu, 5 Dec 2013 23:52:19 +0000 (17:52 -0600)]
icu: CVE-2013-2924
Use-after-free vulnerability in International Components for Unicode (ICU),
as used in Google Chrome before 30.0.1599.66 and other products, allows
remote attackers to cause a denial of service or possibly have unspecified
other impact via unknown vectors.
Signed-off-by: Yue Tao <Yue.Tao@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yue Tao [Thu, 5 Dec 2013 23:52:18 +0000 (17:52 -0600)]
acpid: CVE-2011-1159
acpid.c in acpid before 2.0.9 does not properly handle a situation in which
a process has connected to acpid.socket but is not reading any data, which
allows local users to cause a denial of service (daemon hang) via a crafted
application that performs a connect system call but no read system calls.
Signed-off-by: Yue Tao <yue.tao@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Li Wang [Thu, 5 Dec 2013 23:52:17 +0000 (17:52 -0600)]
xinetd: CVE-2013-4342
xinetd does not enforce the user and group configuration directives
for TCPMUX services, which causes these services to be run as root
and makes it easier for remote attackers to gain privileges by
leveraging another vulnerability in a service.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4342
the patch come from:
https://bugzilla.redhat.com/attachment.cgi?id=799732&action=diff
Signed-off-by: Li Wang <li.wang@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Baogen Shang [Thu, 5 Dec 2013 23:52:16 +0000 (17:52 -0600)]
libtiff: CVE-2013-4243
cve description:
Heap-based buffer overflow in the readgifimage function in the gif2tiff
tool in libtiff 4.0.3 and earlier allows remote attackers to cause a denial
of service (crash) and possibly execute arbitrary code via a crafted height
and width values in a GIF image.
Signed-off-by: Baogen Shang <baogen.shang@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Baogen Shang [Thu, 5 Dec 2013 23:52:15 +0000 (17:52 -0600)]
libtiff: CVE-2013-4232
cve description:
Use-after-free vulnerability in the t2p_readwrite_pdf_image function
in tools/tiff2pdf.c in libtiff 4.0.3 allows remote attackers to cause
a denial of service (crash) or possible execute arbitrary code via a
crafted TIFF image.
Signed-off-by: Baogen Shang <baogen.shang@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ming Liu [Thu, 5 Dec 2013 23:52:14 +0000 (17:52 -0600)]
libtiff: fix CVE-2013-1960
Heap-based buffer overflow in the tp_process_jpeg_strip function in tiff2pdf
in libtiff 4.0.3 and earlier allows remote attackers to cause a denial of
service (crash) and possibly execute arbitrary code via a crafted TIFF image
file.
Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Jeff Polk <jeff.polk@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrei Gherzan [Sat, 7 Dec 2013 18:12:01 +0000 (20:12 +0200)]
libav: Add v9.10
This version includes libavresample needed for packages like xbmc.
To use this version add:
PREFERRED_VERSION_libav = "9.10".
Removed git version as being an older version of a 9.X release.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Sat, 7 Dec 2013 17:49:42 +0000 (18:49 +0100)]
ltp: set PREFERRED_PROVIDER and rename runtests_noltp.sh script
* ltp installs 2 different runtests_noltp.sh files from different
directories into /opt/ltp/testcases/bin/runtests_noltp.sh
last one installed wins and causes unexpected changes in
buildhistory's files-in-image.txt report, rename them to have
unique name as other ltp scripts have.
* also define PREFERRED_PROVIDER to resolve note shown when
building with meta-oe layer:
NOTE: multiple providers are available for ltp (ltp, ltp-ddt)
NOTE: consider defining a PREFERRED_PROVIDER entry to match ltp
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Roy Li [Tue, 10 Dec 2013 05:46:16 +0000 (13:46 +0800)]
multilib: Ensure we map the SYSTEMD_PACKAGES variable
If we don't do this, systemd.bbclase will complain to unable to find multilib
packages since PACKAGES is expand with mlprefix, but SYSTEMD_PACKAGES is not,
like in ntp.inc:
Herb Kuta [Mon, 9 Dec 2013 17:10:55 +0000 (18:10 +0100)]
makedevs: Add trace option and fix permissions on files if they already exist
* update version to 1.0.1
Signed-off-by: Herb Kuta <herb.kuta@lge.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexandru DAMIAN [Thu, 28 Nov 2013 19:54:01 +0000 (19:54 +0000)]
toaster.bbclass: read package and image information
In the process of removing the local system accesses
from toaster UI (which must be able to run remotely),
the code to read package information is moved
from Bitbake Toaster UI to the server-side
toaster.bbclass
[YOCTO #5604]
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Alexandru DAMIAN [Wed, 27 Nov 2013 16:21:00 +0000 (16:21 +0000)]
toaster.bbclass: read build stats
In the process of removing the local system
accesses from toaster UI (which must be able to
run remotely), the code to read build stats
is moved from Bitbake Toaster UI
to the server-side toaster.bbclass
The code will accumulate a list of stat files
to be read at build completion. When the
build completes, the whole data list is read and
sent through in a single event.
[YOCTO #5604]
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Alexandru DAMIAN [Wed, 27 Nov 2013 13:53:18 +0000 (13:53 +0000)]
toaster.bbclass: read layer information
In the process of removing the local system
accesses from toaster UI (which must be able to
run remotely), the code to read layer information
is moved from Bitbake Toaster UI
to the server-side toaster.bbclass
[YOCTO #5604]
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Hongxu Jia [Tue, 3 Dec 2013 06:03:50 +0000 (06:03 +0000)]
nativesdk.bbclass: support nativesdk to override with the PACKAGES_DYNAMIC statement
While compiling nativesdk-mtools, there was failure:
...
Nothing PROVIDES 'nativesdk-glibc-gconv-ibm850'. Close matches:
...
This patch supports nativesdk to override with the PACKAGES_DYNAMIC statement
[YOCTO #5623] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Scott Garman [Thu, 5 Dec 2013 21:57:31 +0000 (13:57 -0800)]
runqemu: remove core-image-* whitelist
Using a whitelist for image names to default to when none are
specified on the command line is no longer desired. Instead,
choose the most recently created image filename that conforms
to typical image naming conventions.
Fixes [YOCTO #5617].
Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
After 1b8e4abd2d9c0 [bitbake.conf/package: Collapse PKGDATA_DIR into
a single machine specific directory], oe-pkgdata-util does not use
target_suffix parameter, so do not need to loop the vendor
Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Lukas Bulwahn [Thu, 5 Dec 2013 07:58:18 +0000 (08:58 +0100)]
boost: updating to 1.55.0
When updating to 1.55.0, the backport patches for recent versions of
glibc and linking boost-thread to boost-atomic were removed, as they
have been added to the current version.
Although the arm-intrinsics.patch is reported with Status: Backport,
it was not merged to version 1.55.0 yet.
The boost recipe for 1.55.0 was tested intensively for the different
qemu machines with the meta-ros layer, which uses boost in various
recipes. During the compilation, no errors were discovered.
For each recipe, it populated license files to ${LICENSE_DIRECTORY}/${PN},
such as kernel's license dir was ${LICENSE_DIRECTORY}/kernel-3.10.17-yocto-standard;
In do_rootfs task, it copied license directories from ${LICENSE_DIRECTORY}/
${pkg}, and ${pkg} was listed in ${INSTALLED_PKGS};
We got ${INSTALLED_PKGS} by rpm query, such as the kernel were 'kernel-*',
but the kernel's PN was linux-yocto, so searching ${LICENSE_DIRECTORY}/
kernel-* failed.
Copied license directories from ${LICENSE_DIRECTORY}/${PN} fixed this issue.
Konrad Scherer [Thu, 7 Nov 2013 18:36:26 +0000 (13:36 -0500)]
perf: Disable warnings as errors for kernels 3.1+
Turns out the sed command has not been working as intended since
kernel 3.1 due to the trailing space. Adding the WERROR=0 environment
variable is the correct way to disable warnings as errors.
Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Chen Qi [Thu, 21 Nov 2013 07:26:54 +0000 (01:26 -0600)]
nfs-utils: explicitly rdepend on bash
Scripts in nfs-utils need bash as their interpreter, so if nfs-utils
doesn't explicitly rdepend on bash, we would experience build failures
if we add nfs-utils to glibc-small images.
Add bash to RDEPENDS to solve this problem.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Zhang Xiao [Thu, 21 Nov 2013 08:07:24 +0000 (16:07 +0800)]
nfs-utils: separate package as Debain style
Move binaries used for both nfs client and server into client
package. Add an init script for client package and move
necessary progress from server's init script to this one. Make
client package more powerful and let server package depends on
client one, as Debain does.
Qiang Chen [Fri, 22 Nov 2013 04:59:46 +0000 (12:59 +0800)]
shadow: remove reference to locale env files from login and su
/etc/default/locale missing message appears when login
and running su <user>
qemu0 login[4189]: pam_env(login:session): Unable to open env file: /etc/default/locale: No such file or directory
qemu0 login[4189]: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
qemu0 su[999]: pam_env(su:session): Unable to open env file: /etc/default/locale: No such file or directory
qemu0 su[999]: pam_unix(su:session): session opened for user root by root(uid=0)
This commit remove reference from pam.d/login and pam.d/su
to /etc/default/locale env file to avoid the error messages
as RHEL, fedora does.
Bruce Ashfield [Fri, 6 Dec 2013 05:11:03 +0000 (05:11 +0000)]
linux-yocto/*: restore branch designations
The fetcher now confirms that a given SRCREV exists on the branch specified
in the SRC_URI. The linux-yocto recipes used to do this themselves, but that
functionality was removed to allow builds when only the SRCREV was set and
to be similar to other recipes.
Now that the fetcher checks this value, and other recipes must also have
SRCREV + branch information, this extra information can be put back into
the recipes.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mike Looijmans [Fri, 6 Dec 2013 06:46:51 +0000 (07:46 +0100)]
python: Add missing RDEPENDS for python-unittest
After installing python-unittest, the following errors occur when executing
"import unittest" from a python commandline:
ImportError: No module named StringIO
ImportError: No module named pprint
ImportError: No module named difflib
ImportError: No module named pprint
ImportError: No module named fnmatch
Fix this by adding the missing dependencies to the generator script and run
the generator.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Saul Wold [Thu, 5 Dec 2013 16:26:20 +0000 (08:26 -0800)]
tcl: fix tclConfig.sh to point to the correct private headers
When building expect with rm_work enabled, it was not finding the correct private
header files because they were removed from the WORKDIR, this fixes the tclConfig.sh
to point to the sysroot private area instead.
This also fixes the -L directory to point to STAGING_LIBDIR instead if INCDIR!
[YOCTO #5620]
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>