Just a rough proof of concept, but the benefits seem worthwhile. Time to run 'bitbake -c populate_sdk <myimage>' on a 12 core build server reduces from 5m8 to 3m35.
Signed-off-by: Andre McCurdy <armccu...@gmail.com> --- meta/classes/populate_sdk_base.bbclass | 6 +++--- meta/recipes-extended/pbzip2/pbzip2_1.1.12.bb | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-extended/pbzip2/pbzip2_1.1.12.bb diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index 7f7a87f..f3a2e75 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass @@ -40,7 +40,7 @@ TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= "" TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}" SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" -SDK_DEPENDS = "virtual/fakeroot-native" +SDK_DEPENDS = "virtual/fakeroot-native pbzip2-native" # We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not PACKAGE_ARCH as it # could be set to the MACHINE_ARCH @@ -108,13 +108,13 @@ fakeroot create_sdk_files() { sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py } -SDKTAROPTS = "--owner=root --group=root -j" +SDKTAROPTS = "--owner=root --group=root" fakeroot tar_sdk() { # Package it up mkdir -p ${SDK_DEPLOY} cd ${SDK_OUTPUT}/${SDKPATH} - tar ${SDKTAROPTS} -c --file=${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . + tar ${SDKTAROPTS} -cf - . | pbzip2 > ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 } fakeroot create_shar() { diff --git a/meta/recipes-extended/pbzip2/pbzip2_1.1.12.bb b/meta/recipes-extended/pbzip2/pbzip2_1.1.12.bb new file mode 100644 index 0000000..fb70d0c --- /dev/null +++ b/meta/recipes-extended/pbzip2/pbzip2_1.1.12.bb @@ -0,0 +1,27 @@ +SUMMARY = "PBZIP2 is a parallel implementation of bzip2" +DESCRIPTION = "PBZIP2 is a parallel implementation of the bzip2 block-sorting \ +file compressor that uses pthreads and achieves near-linear speedup on SMP \ +machines. The output of this version is fully compatible with bzip2 v1.0.2 or \ +newer (ie: anything compressed with pbzip2 can be decompressed with bzip2)." +HOMEPAGE = "http://compression.ca/pbzip2/" +SECTION = "console/utils" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=4c4f2edec9679d5abef3514a816b54a4" + +DEPENDS = "bzip2" + +SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz" + +SRC_URI[md5sum] = "91a4911b13305850423840eb0fa6f4f9" +SRC_URI[sha256sum] = "573bb358a5a7d3bf5f42f881af324cedf960c786e8d66dd03d448ddd8a0166ee" + +do_configure[noexec] = "1" + +EXTRA_OEMAKE = "CXX='${CXX} ${CXXFLAGS}' LDFLAGS='${LDFLAGS}'" + +do_install() { + install -d ${D}${bindir} + install -m 0755 pbzip2 ${D}${bindir}/ +} + +BBCLASSEXTEND = "native" -- 1.9.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core