aboutsummaryrefslogtreecommitdiffstats
path: root/meta
AgeCommit message (Collapse)Author
2017-09-13python*native.bbclass: suppress user site dirsMartin Kelly
Currently, $HOME/.local is being added into sys.path for the native Python, causing subtle host contamination. Suppress this by exporting PYTHONNOUSERSITE = "1" as documented in PEP 370. Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13bluez5: fix out-of-bounds access in SDP server (CVE-2017-1000250)Ross Burton
All versions of the SDP server in BlueZ 5.46 and earlier are vulnerable to an information disclosure vulnerability which allows remote attackers to obtain sensitive information from the bluetoothd process memory. This vulnerability lies in the processing of SDP search attribute requests. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go: update to go 1.9Matt Madison
* Rebased patches - dropped armhf-elf patch, should no longer be needed - dropped syslog patch which should not have been imported to begin with - reworked other patches as needed for the updated code base * Updated native, cross, cross-canadian .inc files to remove some testdata directories that contain .a files that strip chokes on during sysroot staging Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13goarch.bbclass: set ARM_INSTRUCTION_SET to "arm"Matt Madison
Go does not play well with thumb, so ensure that the toolchain and any packages use arm, not thumb, instructions. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go.bbclass: Add ptest supportOtavio Salvador
This adds ptest support for Go packages so its unittest content is packaged and integrated onto the test framework. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go.bbclass: Add "ldflags" to QA skip listOtavio Salvador
Currently every Go package will end with GNU_HASH in the ELF binary however adding it to every recipe is cumbersome so instead we handle that here. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go.bbclass: add support linking against shared runtimeMatt Madison
For architectures that support it, use the -linkshared build option to build packages against the shared Go runtime. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go-runtime: build the Go runtime as a shared libraryMatt Madison
If the target architecture supports, it build the Go runtime as a shared library in addition to building the static libraries. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go-1.8: add patch for set soname in ELF shared objectsMatt Madison
The go link tool does not set the soname by default, which prevents package.bbclass's shlibs processing from seeing shared libraries built with go. This patch passes appropriate options to go's linker and the external linker to set the soname. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13goarch.bbclass: identify archs with Go dynamic linking supportMatt Madison
Go only supports shared libraries for some architectures, so add a variable for use elsewhere that gets a non-null value only for those architectures. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go-runtime: extend to nativesdk buildsMatt Madison
Missed this when addding SDK support. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13meta/conf/layers.conf: Add ca-certificates as ABISAFEMark Hatle
meta-oe was doing this before, but it was triggering a yocto-compat-script failure during the signature checking. The ca-certificates changing is ABISAFE, as the certificates themselves do not modify the compiles behavior of the applications. This should permit easier upgrades without as much rebuilding. The original value was set in meta-oe by commit ff7a4b13c4efeffc5853a93c6ff7265fa3d6c143. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13insane: consider INSANE_SKIP without package-specifier tooRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13linux-firmware: package Marvell PCIe WiFi firmwaresStefan Agner
Add packages for Marvell Avastar 88W8897 and 88W8997 PCIe WiFi chips. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13insane: don't pass skip list to functions which don't respect itRoss Burton
When these functions are being called INSANE_SKIP has already been taken into account, so don't confuse the code by passing the skip list. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13u-boot: Upgrade to 2017.09Otavio Salvador
This upgrades the U-Boot to the 2017.09 release. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13m4: Add HOMEPAGE info into recipe file.Huang Qiyu
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13at-spi2-core: Add HOMEPAGE info into recipe file.Huang Qiyu
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13at-spi2-atk: Add HOMEPAGE info into recipe file.Huang Qiyu
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13hostap-utils: use w1.fi for SRC_URIMaxin B. John
epitest.fi is down and hostap-utils source is now available in w1.fi. So, move SRC_URI to https://w1.fi Since hostap-utils is only meant for old Intersil Prism2/2.5/3 wifi cards, this recipe will be removed from oe-core in future (most likely to meta-handheld) [YOCTO #12051] Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13python-nose: Add HOMEPAGE info into recipe file.Huang Qiyu
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13python-mako: Add HOMEPAGE info into recipe file.Huang Qiyu
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13dpkg: Support muslx32 buildsweeaun
Modified ostable and tupletable to support muslx32 build. Signed-off-by: sweeaun <swee.aun.khor@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13qemu conf: Fix kernel module autoloading for uvesafb on genericx86Alejandro Hernandez
After commit e8b1c653946ef921b65d47e52aea0dc530ef4286, we started seeing errors like the following during boot on genericx86 machines: uvesafb: failed to execute /sbin/v86d uvesafb: probe of uvesafb.0 failed with error -22 uvesafb: vbe_init() failed with -22 uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2) These were caused because the uvesa module was being loaded during boot, when it is only meant to be loaded on qemu according to: 6af89812e8a9931ffed63768ed85367519bf7aef Since genericx86-common.inc includes qemuboot-x86, the module also tries to be loaded on genericx86 machines, this patch removes the instruction from qemuboot-x86 and adds it in specific to both qemux86 machines confs so it is correctly loaded only on those. [YOCTO #11879] (From OE-Core rev: 261f9c382121c73b72556a151fdd4c7938b32a92) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13busybox: using ip instead of ifconfig for ifup/ifdownYi Zhao
There is an issue for requesting dynamic IP with ifup/ifdown command when using dhclient. Steps to reproduce: 1. Build a full-cmdline image and install dhcp-client as the default DHCP client. 2. Configure a static IP for eth0 in /etc/networking/interfaces and reboot. $ ifconfig eth0 eth0 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 $ ifdown eth0 3. Modify /etc/networking/interfaces to configure a dynamic IP for eth0 $ ifup eth0 $ ifconfig eth0 eth0 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 You could see the eth0 still has a static IP. But actually it also has a dynamic IP: $ ip addr show eth0 eth0: inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0 inet 128.224.162.173/23 brd 128.224.163.255 scope global eth0 The root cause is the ifdown invokes "ifconfig" to down the eth0 but doesn't remove its IP. The dhclient would invoke "ip" to configure the interface. It can not remove an IP from down interface with "ip addr flush" and "ip addr add" command can set multiple IPs on one interface. To fix this issue, we should use the "ip" command to implement ifup/ifdown, rather than using the older "ifconfig". It will flush the IP before down the interface. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13binutils: bump SRCREV to latest 2.29 branchYi Zhao
Update to the latest commit on the 2.29 branch to fix CVEs: CVE-2017-12448, CVE-2017-12449. CVE-2017-12451, CVE-2017-12452, CVE-2017-12454, CVE-2017-12455, CVE-2017-12456, CVE-2017-12457, CVE-2017-12458, CVE-2017-12459, CVE-2017-12799, CVE-2017-12967, CVE-2017-13710 References: https://nvd.nist.gov/vuln/detail/CVE-2017-12448 https://nvd.nist.gov/vuln/detail/CVE-2017-12449 https://nvd.nist.gov/vuln/detail/CVE-2017-12451 https://nvd.nist.gov/vuln/detail/CVE-2017-12452 https://nvd.nist.gov/vuln/detail/CVE-2017-12454 https://nvd.nist.gov/vuln/detail/CVE-2017-12455 https://nvd.nist.gov/vuln/detail/CVE-2017-12456 https://nvd.nist.gov/vuln/detail/CVE-2017-12457 https://nvd.nist.gov/vuln/detail/CVE-2017-12458 https://nvd.nist.gov/vuln/detail/CVE-2017-12459 https://nvd.nist.gov/vuln/detail/CVE-2017-12799 https://nvd.nist.gov/vuln/detail/CVE-2017-12967 https://nvd.nist.gov/vuln/detail/CVE-2017-13710 Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13kernel: Move Device Tree support to kernel.bbclassOtavio Salvador
The Device Tree is commonly used but it is still kept as a .inc file instead of a proper class. Instead now we move the Device Tree code to a kernel-devicetree class and automatically enable it when the KERNEL_DEVICETREE variable is set. To avoid breakage in existing layers, we kept a linux-dtb.inc file which raises a warning telling the user about the change so in next release this can be removed. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13qemurunner.py: wait for PID to appear in procfsJuro Bystricky
We need QEMU PID in order to access "/proc/<qemupid>/cmdline" Having a valid QEMU PID does not mean we can access the proc entry immediately, we need to wait for the /proc/<qemupid> to appear before we can access it. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13oe-selftest: devtool: fix test_devtool_add hanging on some machinesPaul Eggleton
The code in scriptutils which implements the logic for running the editor used by devtool edit-recipe looks at the VISUAL environment variable before EDITOR, and thus if VISUAL is set in the environment it will override the EDITOR value we are setting here, the editor (usually vim) launches and there's nothing to stop it running forever short of manually killing it. Set VISUAL instead to fix this. Apparently VISUAL is in fact the variable we should really be preferring here - I don't think I knew that but somehow I got it right in the code, just not in the test. Here are the details for the curious: https://unix.stackexchange.com/questions/4859/visual-vs-editor-whats-the-difference Fixes [YOCTO #12074]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12image_types: support lz4 compressed squashfsEnrico Scholz
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-cross-canadian: add recipeMatt Madison
Enable cross-canadian builds of the Go toolchain. This requires an additional patch to the Go source to allow us to use the native GOTOOLDIR during the bootstrap phase. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go.bbclass: enable nativesdk builds for Go packagesMatt Madison
Adding the necessary overrides for nativesdk builds. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-crosssdk: add recipeMatt Madison
Enable crosssdk builds for the Go toolchain. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go: enable nativesdk builds for the toolchainMatt Madison
All that's needed is setting BBCLASSEXTEND. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-cross: take GOARM environment settingMatt Madison
Instead of hard-coding GOARM to ${TARGET_GOARM} in the wrapper script, take it from an existing environment setting if present. This allows the same cross-compiler to be used for different ARM targets. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go: rename go.inc -> go-target.incMatt Madison
to make it clearer that it is only used for building the toolchain for the target. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go.bbclass: clean up CGO_xxx settingsMatt Madison
* use conditional assignment for the CGO_xxx variables, so they can be overridden more easily * remove the TOOLCHAIN_OPTIONS and TARGET_CC_ARCH references, since those are already present in CC and CXX * remove the TARGET_ prefix so the values are appropriate for native, nativesdk, etc. builds * move the GOROOT export away from the CGO settings and closer to its definition Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-dep: Move bash dependency to -dev packageOtavio Salvador
The src content has been moved to -dev package, so does the test routines. Fix the runtime dependency accordingly. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go.bbclass: remove some xxx_FINAL variablesMatt Madison
GOROOT_FINAL is used by the Go linker for rewriting source paths when the build GOROOT is not the same as the runtime GOROOT, but the other _FINAL variables aren't really needed. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go.bbclass: remove GO_GCFLAGS nad GO_LDFLAGSMatt Madison
These variables are not used anywhere. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go: split out go-runtime into separate recipeMatt Madison
Reorganize the Go toolchain build to split out the Go standard runtime libraries into a separate recipe. This simplifies the extension to crosssdk and cross-canadian builds. * Adds a patch to the go build tool to prevent it from trying to rebuild anything in GOROOT, which is now resident in the target sysroot. * 'go' bb and inc files are now for building the compiler for the target only. * 'go-cross' bb and inc files are now just for the cross-compiler. * Adds virtual/<prefix> PROVIDES for the compiler and runtime * Removes testdata directories from the sysroot during staging, as they are unnecessary and can cause strip errors (some of the test files are ELF files). * Re-enables pacakage QA checks, adding selective INSANE_SKIP settings where needed. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-bootstrap-native: remove recipeMatt Madison
No longer needed, with go-native handling its own bootstrap phase. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-native: remove dependency on go-bootstrap-nativeMatt Madison
The go1.4 toolchain is only required for bootstrapping go-native, and should not be used for anything else, so build it as part of the go-native build. This way, we don't have to carry around its built artifacts in the native sysroot. The go-cross and target toolchains can then just depend on go-native, using that for their 'bootstrap' toolchain. Also removed some unnecessary package-related noexec settings, since native recipes inherit nopackages. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12iproute2: Default to tipc enabled, and include libmnl dependencyMark Hatle
iproute2 has the ability to include a tipc tool. When enabled this requires the libmnl package (formerly supplied by meta-openembedded). So both are needed at the same time. The change itself is needed because of the tipc-utils package (in meta-openembedded) which RDEPENDS on iproute2-tipc. Without this package the yocto-compat-layer script indicates there is no way for me to have meta-openembedded pass the checker. This is because meta-openembedded is not allowed to just enable 'tipc' on it's own. (A layer may not make distro wide changes without a user saying to do it.) The checker script invokes bitbake -S none world, which will fail on dependency resolution due to there being no iproute2-tipc package. The tipc-utils package does not have a way to check the PACKAGECONFIG of the iproute2 package so disable itself if the dependency can not be met. So the default system behavior needs to be: iproute2 w/ tipc enabled tipc-utils RDEPENDS on iproute2-tipc Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12libarchive: fix bug929 and CVE-2017-14166Andrej Valek
Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12selftest/cases/signing: ignore removal errors when cleaning temporary gpg ↵Leonardo Sandoval
directory The high-level method tempfile.TemporaryDirectory give us no way to ignore erros on removal thus use tempfile.mkdtemp instead. Ignoring possible issues on removal is neccesary because it contains gpg sockets that are automatically removed by the system once the process terminates, otherwise the following log is observed: .. .. File "/usr/lib/python3.5/shutil.py", line 436, in _rmtree_safe_fd os.unlink(name, dir_fd=topfd) FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.browser' [YOCTO #11821] Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12selftest/devtool: Avoid writing on TOPDIR on kernel test caseJose Perez Carranza
Use a tempdir to copy the .config file from the kernel instead of being copied to build directory. Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12bitbake.conf: add bzr to HOSTTOOLS_NONFATALMartin Jansa
* it's used by bzr fetcher: meta/conf/bitbake.conf:FETCHCMD_bzr = "/usr/bin/env bzr" and when it isn't available in PATH do_fetch tasks fail with: /usr/bin/env: ‘bzr’: No such file or directory * it was also added in: https://patchwork.openembedded.org/patch/140107/ but this change wasn't merged (nor rejected AFAIS) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12Revert "kernel-module-split: rrecommend kernel-image instead of rdepend"Martin Hundebøll
This reverts commit e0ed52c51464855e9a6a37ea49df7efde7e91076. Commit e0ed52c514 ('kernel-module-split: rrecommend kernel-image instead of rdepend') changed kernel modules to rrecommend kernel-image instead of rdepend on kernel. This broke existing setups, where the kernel is omitted by setting RDEPEND_kernel-base = "". Revert the patch, as the existing way of omitting kernel-image in images works just fine. Signed-off-by: Martin Hundebøll <mnhu@prevas.dk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12musl: Upgrade to latest masterKhem Raj
Alexander Monakov (3): overhaul environment functions free allocations in clearenv fix OOB reads in Xbyte_memmem Bartosz Brachaczek (1): handle whitespace before %% in scanf Rich Felker (6): fix erroneous stop before input limit in mbsnrtowcs and wcsnrtombs fix erroneous acceptance of f4 9x xx xx code sequences by utf-8 decoder fix signal masking race in pthread_create with priority attributes don't treat numeric port strings as servent records in getservby*() fix glob descent into . and .. with GLOB_PERIOD work around incorrect EPERM from mmap syscall Szabolcs Nagy (4): s390x: add bits/hwcap.h add a_clz_64 helper function arm: add HWCAP_ARM_ hwcap macros make syscall.h consistent with linux Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>