diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-09 11:20:31 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-11 10:26:06 +0000 |
| commit | 0d0984e1e616c9f1c211b7b980ba2ca54c096e6e (patch) | |
| tree | 1dcc5055444c172a1f432c7e032f41027230ee8f /meta/classes | |
| parent | 1117f74385fe60d7eaeaef13ce5927e4798d6992 (diff) | |
| download | poky-0d0984e1e616c9f1c211b7b980ba2ca54c096e6e.tar.gz | |
nativesdk/sdk: Update sdk dummy providers
When we migrated rpm v5 -> v4, we lost the ability to drop "per file"
dependencies from the rpm backend for things like "/bin/bash" and
"/usr/bin/env" which meant the sdks were becomming 'bloated'.
This restores the functionality using a dummy package, similarly to
the way the buildtools perl issue was addressed. It also removes
the non-functional old code so as not to confuse people in future.
I ran into this problem trying to filter dependencies to only rpms
a build directly depends upon and it turns out we have some determinism issues
in this area so this is something key to fix.
(From OE-Core rev: 9d490dc01dcedb216129b22cbe17a6c99efc4f5c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
| -rw-r--r-- | meta/classes/populate_sdk_base.bbclass | 6 | ||||
| -rw-r--r-- | meta/classes/sstate.bbclass | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index 424c63cbfc..acb91d7d63 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass | |||
| @@ -20,6 +20,9 @@ def complementary_globs(featurevar, d): | |||
| 20 | SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'doc-pkgs', '', d)}" | 20 | SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'doc-pkgs', '', d)}" |
| 21 | SDKIMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("SDKIMAGE_FEATURES", d)}' | 21 | SDKIMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("SDKIMAGE_FEATURES", d)}' |
| 22 | 22 | ||
| 23 | PACKAGE_ARCHS_append_task-populate-sdk = " sdk-provides-dummy-target" | ||
| 24 | SDK_PACKAGE_ARCHS += "sdk-provides-dummy-${SDKPKGSUFFIX}" | ||
| 25 | |||
| 23 | inherit rootfs_${IMAGE_PKGTYPE} | 26 | inherit rootfs_${IMAGE_PKGTYPE} |
| 24 | 27 | ||
| 25 | SDK_DIR = "${WORKDIR}/sdk" | 28 | SDK_DIR = "${WORKDIR}/sdk" |
| @@ -34,7 +37,8 @@ SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}" | |||
| 34 | 37 | ||
| 35 | TOOLCHAIN_HOST_TASK ?= "nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-${MACHINE}" | 38 | TOOLCHAIN_HOST_TASK ?= "nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-${MACHINE}" |
| 36 | TOOLCHAIN_HOST_TASK_ATTEMPTONLY ?= "" | 39 | TOOLCHAIN_HOST_TASK_ATTEMPTONLY ?= "" |
| 37 | TOOLCHAIN_TARGET_TASK ?= "${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')}" | 40 | TOOLCHAIN_TARGET_TASK ?= "${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} \ |
| 41 | ${@multilib_pkg_extend(d, 'target-sdk-provides-dummy')}" | ||
| 38 | TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= "" | 42 | TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= "" |
| 39 | TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}" | 43 | TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}" |
| 40 | 44 | ||
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index 6e41b56861..65f51430ee 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
| @@ -28,6 +28,9 @@ SSTATE_EXTRAPATH[vardepvalue] = "" | |||
| 28 | SSTATE_DUPWHITELIST = "${DEPLOY_DIR_IMAGE}/ ${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR_RPM}/noarch/" | 28 | SSTATE_DUPWHITELIST = "${DEPLOY_DIR_IMAGE}/ ${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR_RPM}/noarch/" |
| 29 | # Avoid docbook/sgml catalog warnings for now | 29 | # Avoid docbook/sgml catalog warnings for now |
| 30 | SSTATE_DUPWHITELIST += "${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml" | 30 | SSTATE_DUPWHITELIST += "${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml" |
| 31 | # sdk-provides-dummy-nativesdk and nativesdk-buildtools-perl-dummy overlap for different SDKMACHINE | ||
| 32 | SSTATE_DUPWHITELIST += "${DEPLOY_DIR_RPM}/sdk_provides_dummy_nativesdk/ ${DEPLOY_DIR_IPK}/sdk-provides-dummy-nativesdk/" | ||
| 33 | SSTATE_DUPWHITELIST += "${DEPLOY_DIR_RPM}/buildtools_dummy_nativesdk/ ${DEPLOY_DIR_IPK}/buildtools-dummy-nativesdk/" | ||
| 31 | # Archive the sources for many architectures in one deploy folder | 34 | # Archive the sources for many architectures in one deploy folder |
| 32 | SSTATE_DUPWHITELIST += "${DEPLOY_DIR_SRC}" | 35 | SSTATE_DUPWHITELIST += "${DEPLOY_DIR_SRC}" |
| 33 | 36 | ||
