summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2022-01-06 18:16:24 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-01-08 14:17:35 +0000
commit5d653957d599e3e5bf5ed453d7098aed92c2de3c (patch)
tree5c515c01ca6c700a75718ff3ad26160e3f3a921d
parentd55fbf4779483d2cfd71df78d0f733b599fef739 (diff)
downloadpoky-5d653957d599e3e5bf5ed453d7098aed92c2de3c.tar.gz
populate_sdk_base: remove unneeded dirs such as /dev
We met a problem that core-image-tiny-initramfs's SDK cannot be installed. The error message is like below. tar: ./sysroots/core2-64-poky-linux/dev/console: Cannot mknod: Operation not permitted In fact, the '/dev' direcotry is not needed by SDK. So remove it. This patches uses a variable, SDK_PRUNE_SYSROOT_DIRS, to hold useless dir entries so that it could be extended. For example, '/usr/bin' could be added if wanted. (From OE-Core rev: 9154f71c7267e9731156c1dfd57397103e9e6a2b) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/populate_sdk_base.bbclass11
1 files changed, 10 insertions, 1 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index fafdd96749..16f929bf59 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -92,6 +92,8 @@ SDK_HOST_MANIFEST = "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"
92SDK_EXT_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest" 92SDK_EXT_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"
93SDK_EXT_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest" 93SDK_EXT_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"
94 94
95SDK_PRUNE_SYSROOT_DIRS ?= "/dev"
96
95python write_target_sdk_manifest () { 97python write_target_sdk_manifest () {
96 from oe.sdk import sdk_list_installed_packages 98 from oe.sdk import sdk_list_installed_packages
97 from oe.utils import format_pkg_list 99 from oe.utils import format_pkg_list
@@ -103,6 +105,12 @@ python write_target_sdk_manifest () {
103 output.write(format_pkg_list(pkgs, 'ver')) 105 output.write(format_pkg_list(pkgs, 'ver'))
104} 106}
105 107
108sdk_prune_dirs () {
109 for d in ${SDK_PRUNE_SYSROOT_DIRS}; do
110 rm -rf ${SDK_OUTPUT}${SDKTARGETSYSROOT}$d
111 done
112}
113
106python write_sdk_test_data() { 114python write_sdk_test_data() {
107 from oe.data import export2json 115 from oe.data import export2json
108 testdata = "%s/%s.testdata.json" % (d.getVar('SDKDEPLOYDIR'), d.getVar('TOOLCHAIN_OUTPUTNAME')) 116 testdata = "%s/%s.testdata.json" % (d.getVar('SDKDEPLOYDIR'), d.getVar('TOOLCHAIN_OUTPUTNAME'))
@@ -122,8 +130,9 @@ python write_host_sdk_manifest () {
122} 130}
123 131
124POPULATE_SDK_POST_TARGET_COMMAND:append = " write_sdk_test_data ; " 132POPULATE_SDK_POST_TARGET_COMMAND:append = " write_sdk_test_data ; "
125POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk = " write_target_sdk_manifest ; " 133POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk = " write_target_sdk_manifest; sdk_prune_dirs; "
126POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " write_host_sdk_manifest; " 134POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " write_host_sdk_manifest; "
135
127SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}" 136SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}"
128SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; archive_sdk; ${SDK_PACKAGING_COMMAND} " 137SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; archive_sdk; ${SDK_PACKAGING_COMMAND} "
129 138