Split task-core to reduce build time
cover Split task-core to reduce build time
This patch makes a significant reduction in the build time for console-only images that use task-core-apps-console (from ~4000 down to ~2700 in my tests) by avoiding building X11 applications unnecessarily.
The following changes since commit 8df322abfd3fa8c460fd73c83c1ef0b5e419dc11:
core-image-minimal: Add missing POKY_EXTRA_IMAGE variable (2011-09-14 01:27:08 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/task-core-split
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/task-core-split
Paul Eggleton (1):
task-core: split into task-core-console and task-core-x11
.../conf/distro/include/distro_tracking_fields.inc | 10 +++++--
meta/conf/multilib.conf | 3 +-
meta/recipes-core/tasks/task-core-console.bb | 28 ++++++++++++++++++++
.../tasks/{task-core.bb => task-core-x11.bb} | 15 +---------
4 files changed, 39 insertions(+), 17 deletions(-)
create mode 100644 meta/recipes-core/tasks/task-core-console.bb
rename meta/recipes-sato/tasks/{task-core.bb => task-core-x11.bb} (82%)Signature · 1 line
1.7.4.1
PATCH 1/1 task-core: split into task-core-console and task-core-x11
Since tasks are referred to almost exclusively via RDEPENDS, and bitbake will build an entire task recipe when only one of its task packages are actually needed, building a console-only image that uses task-core-apps-console (or less directly, has apps-console in its IMAGE_FEATURES) will cause a build of a whole list of X11 applications that aren't needed. Splitting the task-core recipe into X11 and console portions prevents this issue.
---
.../conf/distro/include/distro_tracking_fields.inc | 10 +++++--
meta/conf/multilib.conf | 3 +-
meta/recipes-core/tasks/task-core-console.bb | 28 ++++++++++++++++++++
.../tasks/{task-core.bb => task-core-x11.bb} | 15 +---------
4 files changed, 39 insertions(+), 17 deletions(-)
create mode 100644 meta/recipes-core/tasks/task-core-console.bb
rename meta/recipes-sato/tasks/{task-core.bb => task-core-x11.bb} (82%)meta/conf/distro/include/distro_tracking_fields.inc +7 -3
@@ -2459,9 +2459,13 @@ RECIPE_LATEST_VERSION_pn-core-image-sato-sdk = "1.0" RECIPE_MAINTAINER_pn-core-image-sato-sdk = "Dongxiao Xu <[email protected]>" DISTRO_PN_ALIAS_pn-core-image-sdk = "OE-Core" -RECIPE_STATUS_pn-task-core = "green" -RECIPE_LATEST_VERSION_pn-task-core = "1.0" -RECIPE_MAINTAINER_pn-task-core = "Dongxiao Xu <[email protected]>" +RECIPE_STATUS_pn-task-core-console = "green" +RECIPE_LATEST_VERSION_pn-task-core-console = "1.0" +RECIPE_MAINTAINER_pn-task-core-console = "Dongxiao Xu <[email protected]>" + +RECIPE_STATUS_pn-task-core-x11 = "green" +RECIPE_LATEST_VERSION_pn-task-core-x11 = "1.0" +RECIPE_MAINTAINER_pn-task-core-x11 = "Dongxiao Xu <[email protected]>" RECIPE_STATUS_pn-task-core-basic = "green" RECIPE_LATEST_VERSION_pn-task-core-basic = "1.0"
meta/conf/multilib.conf +2 -1
@@ -368,12 +368,13 @@ BBCLASSEXTEND_append_pn-task-base = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-task-core-apps-x11-pimlico = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-task-core-basic = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-task-core-boot = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-task-core-console = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-task-core-lsb = " ${MULTILIBS}" -BBCLASSEXTEND_append_pn-task-core = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-task-core-nfs = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-task-core-ssh-dropbear = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-task-core-ssh-openssh = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-task-core-tools = " ${MULTILIBS}" +BBCLASSEXTEND_append_pn-task-core-x11 = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-task-core-x11-sato = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-tasks = " ${MULTILIBS}" BBCLASSEXTEND_append_pn-tcf-agent = " ${MULTILIBS}"
meta/recipes-core/tasks/task-core-console.bb new file +28 -0
@@ -0,0 +1,28 @@ +# +# Copyright (C) 2007-2008 OpenedHand Ltd. +# + +DESCRIPTION = "Tasks for core console applications" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PR = "r35" + +PACKAGES = "\ + task-core-apps-console \ + task-core-apps-console-dbg \ + task-core-apps-console-dev \ + " + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +ALLOW_EMPTY = "1" + +SPLASH ?= "psplash" + +RDEPENDS_task-core-apps-console = "\ + avahi-daemon \ + dbus \ + portmap \ + ${SPLASH}" +
meta/recipes-sato/tasks/task-core-x11.bb renamed from meta/recipes-sato/tasks/task-core.bb +2 -13
@@ -2,16 +2,13 @@ # Copyright (C) 2007-2008 OpenedHand Ltd. # -DESCRIPTION = "Tasks for OpenedHand Poky" +DESCRIPTION = "Tasks for core X11 applications" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" -PR = "r34" +PR = "r35" PACKAGES = "\ - task-core-apps-console \ - task-core-apps-console-dbg \ - task-core-apps-console-dev \ task-core-apps-x11-core \ task-core-apps-x11-core-dbg \ task-core-apps-x11-core-dev \
@@ -29,18 +26,10 @@ XSERVER ?= "xserver-kdrive-fbdev" ALLOW_EMPTY = "1" -SPLASH ?= "psplash" - # pcmanfm doesn't work on mips/powerpc FILEMANAGER ?= "pcmanfm" FILEMANAGER_mips ?= "" -RDEPENDS_task-core-apps-console = "\ - avahi-daemon \ - dbus \ - portmap \ - ${SPLASH}" - RDEPENDS_task-core-x11-base = "\ dbus \
Signature · 1 line
1.7.4.1
Oops, missed something... ignore this, v2 on its way.
Cheers,
Paul
Signature · 2 lines
Paul Eggleton Intel Open Source Technology Centre