aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* rootfs.py: fix logic error so that warnings are checkedChenQi/rootfs-log-checkChen Qi2015-03-121-1/+1
| | | | | | | | | | | | | | | | | The following commit caused log checking for warnings not working for RPM rootfs. rootfs.py: ignore "NOTE:" when catching warnings The problem is that checking for warnings is always skipped because the following statement is always true. if 'log_check' or 'NOTE:' in line: This patch fixes the above problem so that warning checking in RPM rootfs can work again. Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
* layer.conf: bump version as error-report interface changedRoss Burton2015-03-101-1/+1
| | | | | | | | The error-report tooling command-line options were changed and anyone doing automated builds and using error-reports needs to know what options to parse. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* xserver-xorg: don't close already-closed connectionsRoss Burton2015-03-092-0/+39
| | | | | | | | On shutdown xserver was closing connections that were already closed, resulting in a segfault. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemtap: Upgrade to 2.7Saul Wold2015-03-091-2/+2
| | | | | | | | | | This address issues with the 3.19 kernel and the number of patches to back port would be to great [YOCTO #7401] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* systemd: Fix the problem of an empty journal on bootRandy Witt2015-03-092-0/+8
| | | | | | | | | | | | | | | | | | systemd by default tries to write the journal to /var/log/journal. But base-files has a symlink /var/log -> /var/volatile/log. And /var/volatile is a tmpfs mount in /etc/fstab. If the journal service started before /var/volatile was mounted (which was the typical scenario) then the journal would appear empty since the old location was mounted over. This change fixes the problem by ensuring that the journal doesn't start until after the mount happens. [Yocto #7388] Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* mailx: fix SRC_URIRobert Yang2015-03-091-2/+2
| | | | | | | The old one is not available any more. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* systemd: Fix runtime failures in systemd-tmpfiles-setup.service.Randy Witt2015-03-092-0/+186
| | | | | | | | | | | | | There were failures at boot from systemd-tmpfiles-setup.service due to tmpfiles.d not honoring the ordering of entries in the files. The patch here fixes the ordering issue which subsequently fixes the failures on boot. [Yocto #7393] Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* glibc: 'yes' within the path sets wrong variablesBenjamin Esquivel2015-03-092-0/+246
| | | | | | | | | | | | | | | | The AC_EGREP_CPP macro is looking for a 'yes' string that is likely to be found in the path where the file is stored. This false positive match causes variables to be mistakenly set. The fix is to use a more elaborated string instead. This has to be done at the configure and the configure.ac files, because a reconfigure does not happen in the regular build flow. [YOCTO #6614] Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* opkg: Fix error when recompiledGary Thomas2015-03-091-4/+1
| | | | | | | | | | If this package were ever recompiled, i.e. do_compile is rerun as a result of a compiler change, etc., the 'opkg.conf' file would be incorrectly updated, leading to an error: * opkg_conf_set_option: Duplicate option lists_dir, using first seen value "/var/lib/opkg". Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* gdb: add whitespace to _appendRoss Burton2015-03-091-1/+1
| | | | | | | Add leading whitepace to EXTRA_OECONF_append so it doesn't rely on the original value ending with trailing whitespace. Spotted by Robert P. J. Day. Signed-off-by: Ross Burton <ross.burton@intel.com>
* systemd: correct permission mode of /var/volatile/tmpKai Kang2015-03-091-1/+1
| | | | | | | | Permission mode of directory /var/volatile/tmp should be 1777, correct it. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* systemd: Create packageconfig for ldconfig supportKhem Raj2015-03-091-1/+2
| | | | | | | | | | Useful when we disable ldconfig in glibc, we need to be able to turn it off in systemd too, otherwise systemd tries to launch the service and it fails Change-Id: I170307f809a13def0cafc282e88d4eafa0313c31 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* image_types: Fix MIN_BTRFS_SIZE to be 1024 blocks to match ROOTFS_SIZESaul Wold2015-03-091-1/+1
| | | | | | | [YOCTO #7392] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* systemd: fix systemd-tmpfiles ACL issuesDan McGregor2015-03-093-0/+222
| | | | | | | | | | | On systems where /var/log is not a volatile systemd-tmpfiles creates duplicate ACL entries. This causes systemd-tmpfiles service to fail. Also quietly ignore ACL settings on filesystems that don't support ACLs. Backport the fixes from systemd master to fix these issues. Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Ross Burton <ross.burton@intel.com>
* openssl: Upgrade to 1.0.2Saul Wold2015-03-0916-467/+522
| | | | | | | | | | Rebased numerous patches removed aarch64 initial work since it's part of upstream now Imported a few additional patches from Debian to support the version-script and blacklist additional bad certificates. Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* bash 3.2.48: disable parallel buildRobert Yang2015-03-091-0/+2
| | | | | | | | | | | | | | | | | | | It's Makefile has the two rules: $(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h version.h @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libbuiltins.a ) || exit 1 ${DEFDIR}/builtext.h: $(BUILTIN_DEFS) @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1 which causes parallel issues: mkbuiltins.o: file not recognized: File truncated collect2: ld returned 1 exit status I don't have any good ideas to fix the problem, so disable parallel build for it. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* create-pull-request: fix git GIT_VERSIONRobert Yang2015-03-091-1/+1
| | | | | | | | | | | | | If the git version is 1.7.9.5, then 1795 is bigger than 210 which causes errors like: fatal: No such ref: :rbt/bash fatal: Needed a single revision ERROR: git request-pull reported an error Use the first 3 numbers to fix the problem. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* pkg-config: strip system library paths reliablyRoss Burton2015-03-092-0/+31
| | | | | | | | | | pkg-config was skipping every other link flag due to a list manipulation bug, backport a commit from git to fix this. This will stop users of zlib.pc from inserting the sysroot directory indirectly into builds. Signed-off-by: Ross Burton <ross.burton@intel.com>
* rpm: don't put LDFLAGS into the .pc fileRoss Burton2015-03-092-0/+15
| | | | | | | The LDFLAGS are not generally useful with pkg-config and mean that the .pc file contains references to the sysroot directory, so remove it. Signed-off-by: Ross Burton <ross.burton@intel.com>
* oeqa/selftest: Added a testcase to verify INCOMPATIBLE_LICENSE option.Lucian Musat2015-03-091-0/+11
| | | | | | | Fixes bug 6933 Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* lib/oeqa/selftest/lic-checksum: Verify failure when checksum changes.Randy Witt2015-03-092-0/+33
| | | | | | | | | | | The test added verifies that when a file with an absolute path in LIC_FILES_CHKSUM changes without a corresponding change to the md5sum, it triggers the license qa test again with a failure. [Yocto #6450] Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* base.bbclass: Add LIC_FILES_CHKSUM files to checksum files.Randy Witt2015-03-091-0/+17
| | | | | | | | | | | | | | | Previously, files with absolute paths in LIC_FILES_CHKSUM such as "file://${COMMON_LICENSE_DIR}/foo" would not result in a qa failure when the license file changed. To fix this problem, add any files with absolute paths from LIC_FILES_CHKSUM to the file-checksums varflag, so that changes in the license file are detected and cause the qa task for licenses to run. [Yocto #6450] Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* sed: Cope with ${bindir} and ${base_bindir} being the sameMike Crowe2015-03-092-4/+8
| | | | | | | | ${bindir} and ${base_bindir} may be the same. If they are don't try and move files onto themselves. Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* libtool: put libltdl.la in the right package.Li Zhou2015-03-091-0/+1
| | | | | | | | | The libltdl libraries are put in libltdl-* packages, but libltdl.la is packaged in libtool-dev. This change puts libltdl.la in libltdl-dev package instead of libtool-dev. Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* glibc_2.21.bb: Fix condition to skip parsing the recipe for non-glibc libcKhem Raj2015-03-091-1/+1
| | | | | | | | | | The condition should be uclibc 'or' musl then we know its not glibc right now it checks with 'and' operator, that condition will never be true Change-Id: Ifc48e81fd0b3c18d8e1ef76a18c216dc6acda092 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* libgpg-error: Add -P option to CPPFLAGSKhem Raj2015-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1301822.html libgpg-error FTBFS when built with gcc-5. Here is the relevant excerpt: | Making all in src | make[4]: Entering directory '/tmp/buildd/libgpg-error/libgpg-error-1.17/src' | gawk -f ./mkstrtable.awk -v textidx=3 \ | ./err-sources.h.in >err-sources.h | gawk -f ./mkstrtable.awk -v textidx=3 \ | ./err-codes.h.in >err-codes.h | gawk -f ./mkerrnos.awk ./errnos.in >code-to-errno.h | gawk -f ./mkerrcodes1.awk ./errnos.in >_mkerrcodes.h | gcc -E -D_FORTIFY_SOURCE=2 _mkerrcodes.h | grep GPG_ERR_ | \ | gawk -f ./mkerrcodes.awk >mkerrcodes.h | rm _mkerrcodes.h | gcc -I. -I. -o mkerrcodes ./mkerrcodes.c | In file included from ./mkerrcodes.c:26:0: | ./mkerrcodes.h:9:5: error: expected expression before ',' token | { , "GPG_ERR_E2BIG" }, | ^ It makes invalid assumptions on undefined behaviour of gcc. To see why, let us look at the contents of the intermediate steps: _mkerrcodes.h (deleted): | ... | #ifdef E2BIG | E2BIG GPG_ERR_E2BIG | #endif | #ifdef WSAE2BIG | WSAE2BIG GPG_ERR_E2BIG | #endif | ... gcc -E -D_FORTIFY_SOURCE=2 _mkerrcodes.h | grep -v '^$': | ... | # 26 "_mkerrcodes.h" 2 | 7 | # 31 "_mkerrcodes.h" | GPG_ERR_E2BIG | # 37 "_mkerrcodes.h" 3 4 | 13 | # 37 "_mkerrcodes.h" | GPG_ERR_EACCES | ... As can be seen here, the cpp from gcc-5 can split lines and "grep GPG_ERR_" fails to account for that. Change-Id: I6f1476e4afc7163ebc3a05106ceaa3b83e3fab3e Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* wic: rawcopy: support skippingAlexandre Belloni2015-03-091-2/+9
| | | | | | | | Add support for skipping the beginning of a file with the rawcopy plugin. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* wic: add fsimage pluginAlexandre Belloni2015-03-091-0/+70
| | | | | | | | The fsimage plugin allows to add an already existing filesystem image in the partition layout. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* wic: fix fstab generationAlexandre Belloni2015-03-091-2/+3
| | | | | | | | | Commit 0a6668f6e60b4195ff4163c00fc972bacdb27b4b still included some debug and is not working properly as the new fstab is generated too late. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* systemd: avoid parsing error when 'networkd' is enabled in PACKAGECONFIGChen Qi2015-03-091-1/+1
| | | | | | | | | | | | | | If 'networkd' is enabled in PACKAGECONFIG, the do_install variable cannot be correctly expanded. Error message is like below. Failure expanding variable do_install: ShellSyntaxError: LexToken(Fi,'fi',0,0) followed by: LexToken(NEWLINE,'\n',0,0) This patch fixes the above problem. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* gcc-source: fix bug to avoid building error.Bian Naimeng2015-03-091-0/+1
| | | | | | | | | | | | | gcc-source don't do do_package_write_rpm, so we should set PACKAGES = "" to avoid the building error if we want generate srpm, otherwise, we get the error as below. ERROR: Task do_deploy_archives in meta/recipes-devtools/gcc/gcc-source_4.9.bb \ depends upon non-existent task do_package_write_rpm in \ meta/recipes-devtools/gcc/gcc-source_4.9.bb Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* meta/lib/oe/utils.py: properly implement both_contain()Cristian Iorga2015-03-091-1/+9
| | | | | | | | | | | | | | | | | | | oe.utils.both_contain() just does a find() on the value rather than splitting the value and then looking in the list of split items. The result is that if you add a feature to MACHINE_FEATURES that itself has a substring that matches one of the values looked for when building COMBINED_FEATURES, you end up with an incomprehensible error (here with "ext2i" in MACHINE_FEATURES): ERROR: Nothing RPROVIDES 'packagegroup-base-ext2' (but /home/balister/src/oe-core/oe-core/meta/recipes-core/ /packagegroups/packagegroup-base.bb RDEPENDS on or otherwise requires it) Fix [YOCTO #6888]. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* report-error: Update information on the submission processMichael Wood2015-03-091-2/+2
| | | | | | | | The new send-error-report will prompt for review of items and the server is now specified by using the -s argument. Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* scripts/send-error-report: Rework script to support new featuresMichael Wood2015-03-091-96/+178
| | | | | | | | | | | | | | | | | | | - Add arguments to allow for non-prompted sending, json encoded response and link backs. - Add feature to check the server's max_log_size - Add feature to allow reviewing of the final data - Be a bit more helpful if the expected fields aren't filled in instead of exiting. - Remove the redundant urlencode - Add a user-agent so that the server can identify the encoding method. - Remove custom proxy handling - urllib should 'just work' [YOCTO #6736] [YOCTO #7245] [YOCTO #7105] Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* recipes: add x11 to required DISTRO_FEATURESMartin Jansa2015-03-0920-17/+63
| | | | | | | | | * it's not complete, but recipes depending on virtual/libx11 are easiest to spot, I've long list of PNBLACKLIST for all recipes which cannot be built in distro without x11 in DISTRO_FEATURES Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/runqemu: clarify help textBernhard Reutner-Fischer2015-03-051-1/+1
| | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qt4: add patch for BMP denial-of-service vulnerabilityJonathan Liu2015-03-052-0/+45
| | | | | | | | For further details, see: https://bugreports.qt.io/browse/QTBUG-44547 Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* man: fix bugs of makewhatis scriptJian Liu2015-03-053-1/+30
| | | | | | | | | - man-1.6e-whatis2.patch does not delete the tail "fi" fix it to avoid syntax error - Use the command "which" to get the path of awk Signed-off-by: Jian Liu <jian.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* build-appliance-image: Update to master head revisionRichard Purdie2015-03-031-1/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: fix tmpfiles error on images without PAMRoss Burton2015-03-032-0/+31
| | | | | | | | | | | | | | If PAM isn't enabled then systemd-tmpfiles on boot will fail to start with the following error message: Failed to copy files to /etc/pam.d: No such file or directory This is because systemd-tmpfiles is attempting to build a usable /etc from the skeleton in /usr/share/factory but pam.d isn't present because PAM is disabled. Fix this by not attempting to copy pam.d in non-PAM configurations. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gstreamer1.0-plugins-bad: disable Yadif on X32Ross Burton2015-03-021-0/+1
| | | | | | | | | | | | | | Yadif generates bad assembler when the x32 tune is enabled: gst/yadif/yadif_template.c:244: Error: `(%edx,%r11)' is not a valid base/index expression This should be fixed upstream but until then we can disable the Yadif plugin if x32 is enabled. [ YOCTO #7385 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Fix check for -Os.Peter Urbanec2015-03-021-1/+1
| | | | | | | The check is supposed to be for -Os, but it's actually testing -O0. Signed-off-by: Peter Urbanec <openembedded-devel@urbanec.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gst-player: port to GTK+ 2Ross Burton2015-03-022-1/+73
| | | | | | | | | | | | Whilst Sato still uses GTK+ 2 we don't want the overhead of building both GTK+ 2 and GKT+ 3. Luckily gtk-play is a simple application and it's just a small patch away from building with GTK+ 2. When Sato is ported to GTK+ 3 (the mythical Shuku proposal) this patch can be removed. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: improve patch application performanceBruce Ashfield2015-03-021-1/+1
| | | | | | | | | | | | | | | | | | | Update the SRCREV for the following incremental improvement in patch processing time: kgit-meta: skip patches on non-leaf nodes In a similar way as commit 0768d697 [kgit-meta: dont run kgit-s2q for non-leaf nodes], we can save even more processing time by not even analysing and linking patches if we aren't on the leaf node of the tree. This early exit can save nearly 95% of the time required to "patch" a tree when no changes are actually applied. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto/3.14: OcteonIII supportBruce Ashfield2015-03-023-11/+11
| | | | | | | | | | | | | | | | | | | | | | | With these SRCREV updates, we add the following support to the kernel: The following has been verified with the branch sources: On 68xx: * SGMII, XAUI Packet IO interfaces. * PCIe devices * EHCI/OHCI USB driver On 78XX: * Ran LTP testsuite * SGMII, XAUI Packet IO interfaces * MMC driver (which covers GPIO interrupts in the driver) * PCIe devices * XHCI USB driver Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: inhibit BSP description warnings for custom linux-yocto kernelsBruce Ashfield2015-03-027-6/+13
| | | | | | | | | | | | | | | | We don't require that a yocto custom kernel + defconfig have a full BSP description (but of course it would be better if they did). Since this isn't a requirement, we shouldn't alarm users by generating a BSP description warning. To implement this, we add a bsp audit level flag (like the one that exists for kconfig audits), and only set it to activate in the versioned linux-yocto recipes. [YOCTO: #7370] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: fix qemux86-64 config warningBruce Ashfield2015-03-022-2/+2
| | | | | | | | | | | | | | | | | During the 3.19 update a 32 bit option in the 64 bit config was missed, which results in the option being dropped (and reported as a warning): Value requested for CONFIG_PCI_GOANY not in final ".config" Requested value: "CONFIG_PCI_GOANY=y" Actual value set: "" So we split the 32bit only drivers out of the common driver include and the problem goes away. [YOCTO: 7354] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* taglib: Fix cmake floating dependency on boostRichard Purdie2015-03-021-1/+1
| | | | | | | | The previous fix for this issue was incomplete. We also need to change the source file to avoid this error. Grepping the build directory for boost will show the issue when building taglib after boost has been built. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* security_flags: remove PIE flags from flex and gstreamer1.0-plugins-badRoss Burton2015-03-021-0/+2
| | | | | | | | | These recipes both fail to build with "relocation R_X86_64_PC32 against undefined hidden symbol `__init_array_start' can not be used when making a shared object" when using PIE. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* build-appliance-image: Update to master head revisionRichard Purdie2015-02-271-1/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>