summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-09-07 12:57:36 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-09-09 22:14:41 +0100
commit6fd8af0d30e555da55e5ca954009f32a84ced4a6 (patch)
treea8f0f66819459f548a9631161adc366bdc0da908 /meta/classes-recipe
parent32c98e6a8cd60aa5d2e60ab7b573ec6abae85ed4 (diff)
downloadpoky-6fd8af0d30e555da55e5ca954009f32a84ced4a6.tar.gz
classes: Drop ';' delimiter from ROOTFS/IMAGE*COMMAND variables
Originally these were shell functions but they have long since been processed by bb.build.exec_func(). Since we no longer need shell syntax, we can drop the ';' delimiters and just use a space separated string. This cleans up the variable and quietly removes any stray ';' that do happen to still make it in. (From OE-Core rev: c3365dfd9ddd7fbe70b62e0f11166e57a8ca6f73) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe')
-rw-r--r--meta/classes-recipe/image-combined-dbg.bbclass2
-rw-r--r--meta/classes-recipe/image.bbclass11
-rw-r--r--meta/classes-recipe/license_image.bbclass2
-rw-r--r--meta/classes-recipe/overlayfs-etc.bbclass2
-rw-r--r--meta/classes-recipe/populate_sdk_base.bbclass13
-rw-r--r--meta/classes-recipe/populate_sdk_ext.bbclass4
-rw-r--r--meta/classes-recipe/rootfs-postcommands.bbclass30
-rw-r--r--meta/classes-recipe/rootfsdebugfiles.bbclass2
8 files changed, 32 insertions, 34 deletions
diff --git a/meta/classes-recipe/image-combined-dbg.bbclass b/meta/classes-recipe/image-combined-dbg.bbclass
index dcf1968538..729313739c 100644
--- a/meta/classes-recipe/image-combined-dbg.bbclass
+++ b/meta/classes-recipe/image-combined-dbg.bbclass
@@ -4,7 +4,7 @@
4# SPDX-License-Identifier: MIT 4# SPDX-License-Identifier: MIT
5# 5#
6 6
7IMAGE_PREPROCESS_COMMAND:append = " combine_dbg_image; " 7IMAGE_PREPROCESS_COMMAND:append = " combine_dbg_image"
8 8
9combine_dbg_image () { 9combine_dbg_image () {
10 if [ "${IMAGE_GEN_DEBUGFS}" = "1" -a -e ${IMAGE_ROOTFS}-dbg ]; then 10 if [ "${IMAGE_GEN_DEBUGFS}" = "1" -a -e ${IMAGE_ROOTFS}-dbg ]; then
diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass
index 21b220a28d..4f00162e78 100644
--- a/meta/classes-recipe/image.bbclass
+++ b/meta/classes-recipe/image.bbclass
@@ -25,7 +25,7 @@ inherit ${IMGCLASSES}
25 25
26TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}" 26TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
27TOOLCHAIN_TARGET_TASK_ATTEMPTONLY += "${PACKAGE_INSTALL_ATTEMPTONLY}" 27TOOLCHAIN_TARGET_TASK_ATTEMPTONLY += "${PACKAGE_INSTALL_ATTEMPTONLY}"
28POPULATE_SDK_POST_TARGET_COMMAND += "rootfs_sysroot_relativelinks; " 28POPULATE_SDK_POST_TARGET_COMMAND += "rootfs_sysroot_relativelinks"
29 29
30LICENSE ?= "MIT" 30LICENSE ?= "MIT"
31PACKAGES = "" 31PACKAGES = ""
@@ -120,8 +120,7 @@ def rootfs_command_variables(d):
120python () { 120python () {
121 variables = rootfs_command_variables(d) 121 variables = rootfs_command_variables(d)
122 for var in variables: 122 for var in variables:
123 if d.getVar(var, False): 123 d.setVarFlag(var, 'vardeps', d.getVar(var))
124 d.setVarFlag(var, 'func', '1')
125} 124}
126 125
127def rootfs_variables(d): 126def rootfs_variables(d):
@@ -657,8 +656,8 @@ create_merged_usr_symlinks_sdk() {
657 create_merged_usr_symlinks ${SDK_OUTPUT}${SDKTARGETSYSROOT} 656 create_merged_usr_symlinks ${SDK_OUTPUT}${SDKTARGETSYSROOT}
658} 657}
659 658
660ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_rootfs; ', '',d)}" 659ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_rootfs', '',d)}"
661POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_sdk; ', '',d)}" 660POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_sdk', '',d)}"
662 661
663reproducible_final_image_task () { 662reproducible_final_image_task () {
664 if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then 663 if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
@@ -678,6 +677,6 @@ systemd_preset_all () {
678 fi 677 fi
679} 678}
680 679
681IMAGE_PREPROCESS_COMMAND:append = " ${@ 'systemd_preset_all;' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''} reproducible_final_image_task; " 680IMAGE_PREPROCESS_COMMAND:append = " ${@ 'systemd_preset_all' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''} reproducible_final_image_task "
682 681
683CVE_PRODUCT = "" 682CVE_PRODUCT = ""
diff --git a/meta/classes-recipe/license_image.bbclass b/meta/classes-recipe/license_image.bbclass
index 8560c27e93..fc859c7c65 100644
--- a/meta/classes-recipe/license_image.bbclass
+++ b/meta/classes-recipe/license_image.bbclass
@@ -272,7 +272,7 @@ def get_deployed_files(man_file):
272 dep_files.append(os.path.basename(f)) 272 dep_files.append(os.path.basename(f))
273 return dep_files 273 return dep_files
274 274
275ROOTFS_POSTPROCESS_COMMAND:prepend = "write_package_manifest; license_create_manifest; " 275ROOTFS_POSTPROCESS_COMMAND:prepend = "write_package_manifest license_create_manifest "
276do_rootfs[recrdeptask] += "do_populate_lic" 276do_rootfs[recrdeptask] += "do_populate_lic"
277 277
278python do_populate_lic_deploy() { 278python do_populate_lic_deploy() {
diff --git a/meta/classes-recipe/overlayfs-etc.bbclass b/meta/classes-recipe/overlayfs-etc.bbclass
index f8343106f3..0c7834d01f 100644
--- a/meta/classes-recipe/overlayfs-etc.bbclass
+++ b/meta/classes-recipe/overlayfs-etc.bbclass
@@ -31,7 +31,7 @@
31# Regardless which mode you choose, update and migration strategy of configuration files under /etc 31# Regardless which mode you choose, update and migration strategy of configuration files under /etc
32# overlay is out of scope of this class 32# overlay is out of scope of this class
33 33
34ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "overlayfs-etc", "create_overlayfs_etc_preinit;", "", d)}' 34ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "overlayfs-etc", "create_overlayfs_etc_preinit", "", d)}'
35IMAGE_FEATURES_CONFLICTS_overlayfs-etc = "${@ 'package-management' if bb.utils.to_boolean(d.getVar('OVERLAYFS_ETC_USE_ORIG_INIT_NAME'), True) else ''}" 35IMAGE_FEATURES_CONFLICTS_overlayfs-etc = "${@ 'package-management' if bb.utils.to_boolean(d.getVar('OVERLAYFS_ETC_USE_ORIG_INIT_NAME'), True) else ''}"
36 36
37OVERLAYFS_ETC_MOUNT_POINT ??= "" 37OVERLAYFS_ETC_MOUNT_POINT ??= ""
diff --git a/meta/classes-recipe/populate_sdk_base.bbclass b/meta/classes-recipe/populate_sdk_base.bbclass
index b23ea26d40..dfd4bb1d4d 100644
--- a/meta/classes-recipe/populate_sdk_base.bbclass
+++ b/meta/classes-recipe/populate_sdk_base.bbclass
@@ -152,12 +152,12 @@ python write_host_sdk_manifest () {
152 output.write(format_pkg_list(pkgs, 'ver')) 152 output.write(format_pkg_list(pkgs, 'ver'))
153} 153}
154 154
155POPULATE_SDK_POST_TARGET_COMMAND:append = " write_sdk_test_data ; " 155POPULATE_SDK_POST_TARGET_COMMAND:append = " write_sdk_test_data"
156POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk = " write_target_sdk_manifest; sdk_prune_dirs; " 156POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk = " write_target_sdk_manifest sdk_prune_dirs"
157POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " write_host_sdk_manifest; " 157POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " write_host_sdk_manifest"
158 158
159SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}" 159SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC}' if '${SDK_PACKAGING_FUNC}' else ''}"
160SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; archive_sdk; ${SDK_PACKAGING_COMMAND} " 160SDK_POSTPROCESS_COMMAND = "create_sdk_files check_sdk_sysroots archive_sdk ${SDK_PACKAGING_COMMAND}"
161 161
162def populate_sdk_common(d): 162def populate_sdk_common(d):
163 from oe.sdk import populate_sdk 163 from oe.sdk import populate_sdk
@@ -372,8 +372,7 @@ do_populate_sdk[vardeps] += "${@sdk_variables(d)}"
372python () { 372python () {
373 variables = sdk_command_variables(d) 373 variables = sdk_command_variables(d)
374 for var in variables: 374 for var in variables:
375 if d.getVar(var, False): 375 d.setVarFlag(var, 'vardeps', d.getVar(var))
376 d.setVarFlag(var, 'func', '1')
377} 376}
378 377
379do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \ 378do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \
diff --git a/meta/classes-recipe/populate_sdk_ext.bbclass b/meta/classes-recipe/populate_sdk_ext.bbclass
index fe656ed824..028d0c1ff5 100644
--- a/meta/classes-recipe/populate_sdk_ext.bbclass
+++ b/meta/classes-recipe/populate_sdk_ext.bbclass
@@ -120,7 +120,7 @@ python write_host_sdk_ext_manifest () {
120 f.write("%s %s %s\n" % (info[1], info[2], info[3])) 120 f.write("%s %s %s\n" % (info[1], info[2], info[3]))
121} 121}
122 122
123SDK_POSTPROCESS_COMMAND:append:task-populate-sdk-ext = " write_target_sdk_ext_manifest; write_host_sdk_ext_manifest; " 123SDK_POSTPROCESS_COMMAND:append:task-populate-sdk-ext = " write_target_sdk_ext_manifest write_host_sdk_ext_manifest"
124 124
125SDK_TITLE:task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} Extensible SDK" 125SDK_TITLE:task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} Extensible SDK"
126 126
@@ -743,7 +743,7 @@ sdk_ext_postinst() {
743 743
744SDK_POST_INSTALL_COMMAND:task-populate-sdk-ext = "${sdk_ext_postinst}" 744SDK_POST_INSTALL_COMMAND:task-populate-sdk-ext = "${sdk_ext_postinst}"
745 745
746SDK_POSTPROCESS_COMMAND:prepend:task-populate-sdk-ext = "copy_buildsystem; install_tools; " 746SDK_POSTPROCESS_COMMAND:prepend:task-populate-sdk-ext = "copy_buildsystem install_tools "
747 747
748SDK_INSTALL_TARGETS = "" 748SDK_INSTALL_TARGETS = ""
749fakeroot python do_populate_sdk_ext() { 749fakeroot python do_populate_sdk_ext() {
diff --git a/meta/classes-recipe/rootfs-postcommands.bbclass b/meta/classes-recipe/rootfs-postcommands.bbclass
index 4492c9c0aa..06388b72fb 100644
--- a/meta/classes-recipe/rootfs-postcommands.bbclass
+++ b/meta/classes-recipe/rootfs-postcommands.bbclass
@@ -5,25 +5,25 @@
5# 5#
6 6
7# Zap the root password if debug-tweaks and empty-root-password features are not enabled 7# Zap the root password if debug-tweaks and empty-root-password features are not enabled
8ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'empty-root-password' ], "", "zap_empty_root_password; ",d)}' 8ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'empty-root-password' ], "", "zap_empty_root_password ",d)}'
9 9
10# Allow dropbear/openssh to accept logins from accounts with an empty password string if debug-tweaks or allow-empty-password is enabled 10# Allow dropbear/openssh to accept logins from accounts with an empty password string if debug-tweaks or allow-empty-password is enabled
11ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-empty-password' ], "ssh_allow_empty_password; ", "",d)}' 11ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-empty-password' ], "ssh_allow_empty_password ", "",d)}'
12 12
13# Allow dropbear/openssh to accept root logins if debug-tweaks or allow-root-login is enabled 13# Allow dropbear/openssh to accept root logins if debug-tweaks or allow-root-login is enabled
14ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], "ssh_allow_root_login; ", "",d)}' 14ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], "ssh_allow_root_login ", "",d)}'
15 15
16# Autologin the root user on the serial console, if empty-root-password and serial-autologin-root are active 16# Autologin the root user on the serial console, if empty-root-password and serial-autologin-root are active
17ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", [ 'empty-root-password', 'serial-autologin-root' ], "serial_autologin_root; ", "",d)}' 17ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", [ 'empty-root-password', 'serial-autologin-root' ], "serial_autologin_root ", "",d)}'
18 18
19# Enable postinst logging if debug-tweaks or post-install-logging is enabled 19# Enable postinst logging if debug-tweaks or post-install-logging is enabled
20ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging; ", "",d)}' 20ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging ", "",d)}'
21 21
22# Create /etc/timestamp during image construction to give a reasonably sane default time setting 22# Create /etc/timestamp during image construction to give a reasonably sane default time setting
23ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp; " 23ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp "
24 24
25# Tweak files in /etc if read-only-rootfs is enabled 25# Tweak files in /etc if read-only-rootfs is enabled
26ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", "read_only_rootfs_hook; ", "",d)}' 26ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", "read_only_rootfs_hook ", "",d)}'
27 27
28# We also need to do the same for the kernel boot parameters, 28# We also need to do the same for the kernel boot parameters,
29# otherwise kernel or initramfs end up mounting the rootfs read/write 29# otherwise kernel or initramfs end up mounting the rootfs read/write
@@ -34,20 +34,20 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only
34APPEND:append = '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", " ro", "", d)}' 34APPEND:append = '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", " ro", "", d)}'
35 35
36# Generates test data file with data store variables expanded in json format 36# Generates test data file with data store variables expanded in json format
37ROOTFS_POSTPROCESS_COMMAND += "write_image_test_data; " 37ROOTFS_POSTPROCESS_COMMAND += "write_image_test_data "
38 38
39# Write manifest 39# Write manifest
40IMAGE_MANIFEST = "${IMGDEPLOYDIR}/${IMAGE_NAME}.manifest" 40IMAGE_MANIFEST = "${IMGDEPLOYDIR}/${IMAGE_NAME}.manifest"
41ROOTFS_POSTUNINSTALL_COMMAND =+ "write_image_manifest ; " 41ROOTFS_POSTUNINSTALL_COMMAND =+ "write_image_manifest"
42# Set default postinst log file 42# Set default postinst log file
43POSTINST_LOGFILE ?= "${localstatedir}/log/postinstall.log" 43POSTINST_LOGFILE ?= "${localstatedir}/log/postinstall.log"
44# Set default target for systemd images 44# Set default target for systemd images
45SYSTEMD_DEFAULT_TARGET ?= '${@bb.utils.contains_any("IMAGE_FEATURES", [ "x11-base", "weston" ], "graphical.target", "multi-user.target", d)}' 45SYSTEMD_DEFAULT_TARGET ?= '${@bb.utils.contains_any("IMAGE_FEATURES", [ "x11-base", "weston" ], "graphical.target", "multi-user.target", d)}'
46ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd", "set_systemd_default_target; systemd_sysusers_check;", "", d)}' 46ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd", "set_systemd_default_target systemd_sysusers_check", "", d)}'
47 47
48ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;' 48ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile'
49 49
50ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check; overlayfs_postprocess;", "", d)}' 50ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check overlayfs_postprocess", "", d)}'
51 51
52inherit image-artifact-names 52inherit image-artifact-names
53 53
@@ -63,10 +63,10 @@ inherit image-artifact-names
63# systemd_sysusers_create and set_user_group. Using :append is not 63# systemd_sysusers_create and set_user_group. Using :append is not
64# enough for that, set_user_group is added that way and would end 64# enough for that, set_user_group is added that way and would end
65# up running after us. 65# up running after us.
66SORT_PASSWD_POSTPROCESS_COMMAND ??= " tidy_shadowutils_files; " 66SORT_PASSWD_POSTPROCESS_COMMAND ??= "tidy_shadowutils_files"
67python () { 67python () {
68 d.appendVar('ROOTFS_POSTPROCESS_COMMAND', '${SORT_PASSWD_POSTPROCESS_COMMAND}') 68 d.appendVar('ROOTFS_POSTPROCESS_COMMAND', ' ${SORT_PASSWD_POSTPROCESS_COMMAND}')
69 d.appendVar('ROOTFS_POSTPROCESS_COMMAND', 'rootfs_reproducible;') 69 d.appendVar('ROOTFS_POSTPROCESS_COMMAND', ' rootfs_reproducible')
70} 70}
71 71
72# Resolve the ID as described in the sysusers.d(5) manual: ID can be a numeric 72# Resolve the ID as described in the sysusers.d(5) manual: ID can be a numeric
diff --git a/meta/classes-recipe/rootfsdebugfiles.bbclass b/meta/classes-recipe/rootfsdebugfiles.bbclass
index cbcf876479..4c2fc1de25 100644
--- a/meta/classes-recipe/rootfsdebugfiles.bbclass
+++ b/meta/classes-recipe/rootfsdebugfiles.bbclass
@@ -34,7 +34,7 @@
34ROOTFS_DEBUG_FILES ?= "" 34ROOTFS_DEBUG_FILES ?= ""
35ROOTFS_DEBUG_FILES[doc] = "Lists additional files or directories to be installed with 'cp -a' in the format 'source1 target1;source2 target2;...'" 35ROOTFS_DEBUG_FILES[doc] = "Lists additional files or directories to be installed with 'cp -a' in the format 'source1 target1;source2 target2;...'"
36 36
37ROOTFS_POSTPROCESS_COMMAND += "rootfs_debug_files;" 37ROOTFS_POSTPROCESS_COMMAND += "rootfs_debug_files"
38rootfs_debug_files () { 38rootfs_debug_files () {
39 #!/bin/sh -e 39 #!/bin/sh -e
40 echo "${ROOTFS_DEBUG_FILES}" | sed -e 's/;/\n/g' | while read source target mode; do 40 echo "${ROOTFS_DEBUG_FILES}" | sed -e 's/;/\n/g' | while read source target mode; do