diff options
Diffstat (limited to 'classes')
| -rw-r--r-- | classes/fsl-dynamic-packagearch.bbclass | 4 | ||||
| -rw-r--r-- | classes/fsl-eula-unpack.bbclass | 6 | ||||
| -rw-r--r-- | classes/fsl-kernel-localversion.bbclass | 1 | ||||
| -rw-r--r-- | classes/imx-boot-container.bbclass | 4 | ||||
| -rw-r--r-- | classes/kernel-imximage.bbclass | 2 | ||||
| -rw-r--r-- | classes/machine-overrides-extender.bbclass | 6 | ||||
| -rw-r--r-- | classes/use-imx-security-controller-firmware.bbclass | 3 |
7 files changed, 25 insertions, 1 deletions
diff --git a/classes/fsl-dynamic-packagearch.bbclass b/classes/fsl-dynamic-packagearch.bbclass index 6cb0c0a9f..228dc005f 100644 --- a/classes/fsl-dynamic-packagearch.bbclass +++ b/classes/fsl-dynamic-packagearch.bbclass | |||
| @@ -25,6 +25,10 @@ | |||
| 25 | # | 25 | # |
| 26 | # Copyright 2013-2016 (C) O.S. Systems Software LTDA. | 26 | # Copyright 2013-2016 (C) O.S. Systems Software LTDA. |
| 27 | 27 | ||
| 28 | # Parse-time logic is required: PACKAGE_ARCH and PACKAGE_EXTRA_ARCHS are chosen | ||
| 29 | # by inspecting PROVIDES/DEPENDS against the SOCARCH filters and the multilib | ||
| 30 | # tunes, which cannot be expressed declaratively. | ||
| 31 | # nooelint: oelint.task.noanonpython | ||
| 28 | python __anonymous () { | 32 | python __anonymous () { |
| 29 | machine_arch_filter = set((d.getVar("MACHINE_ARCH_FILTER") or "").split()) | 33 | machine_arch_filter = set((d.getVar("MACHINE_ARCH_FILTER") or "").split()) |
| 30 | machine_socarch_filter = set((d.getVar("MACHINE_SOCARCH_FILTER") or "").split()) | 34 | machine_socarch_filter = set((d.getVar("MACHINE_SOCARCH_FILTER") or "").split()) |
diff --git a/classes/fsl-eula-unpack.bbclass b/classes/fsl-eula-unpack.bbclass index ee938a74d..7ac54734f 100644 --- a/classes/fsl-eula-unpack.bbclass +++ b/classes/fsl-eula-unpack.bbclass | |||
| @@ -133,11 +133,14 @@ FSL_EULA_FILE_MD5SUM ?= "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V63} | |||
| 133 | 133 | ||
| 134 | LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}" | 134 | LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}" |
| 135 | LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE" | 135 | LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE" |
| 136 | # The EULA text is shipped by the layer (FSL_EULA_FILE), not the recipe source | ||
| 137 | # tree, so this reference intentionally points outside the sources. | ||
| 138 | # nooelint: oelint.var.licenseremotefile | ||
| 136 | LIC_FILES_CHKSUM:append = " ${LIC_FILES_CHKSUM_LAYER}" | 139 | LIC_FILES_CHKSUM:append = " ${LIC_FILES_CHKSUM_LAYER}" |
| 137 | 140 | ||
| 138 | LIC_FILES_CHKSUM[vardepsexclude] += "FSL_EULA_FILE" | 141 | LIC_FILES_CHKSUM[vardepsexclude] += "FSL_EULA_FILE" |
| 139 | 142 | ||
| 140 | do_fetch:prepend() { | 143 | python do_fetch:prepend() { |
| 141 | if "Proprietary" not in d.getVar("LICENSE"): | 144 | if "Proprietary" not in d.getVar("LICENSE"): |
| 142 | bb.fatal("The recipe LICENSE should include Proprietary but is " + d.getVar("LICENSE") + ".") | 145 | bb.fatal("The recipe LICENSE should include Proprietary but is " + d.getVar("LICENSE") + ".") |
| 143 | } | 146 | } |
| @@ -164,6 +167,7 @@ python do_unpack() { | |||
| 164 | bb.build.exec_func('fsl_bin_do_unpack', d) | 167 | bb.build.exec_func('fsl_bin_do_unpack', d) |
| 165 | } | 168 | } |
| 166 | 169 | ||
| 170 | fsl_bin_do_unpack[doc] = "Unpack the EULA-gated SRC_URI entries after the EULA has been accepted" | ||
| 167 | python fsl_bin_do_unpack() { | 171 | python fsl_bin_do_unpack() { |
| 168 | src_uri = (d.getVar('SRC_URI') or "").split() | 172 | src_uri = (d.getVar('SRC_URI') or "").split() |
| 169 | if len(src_uri) == 0: | 173 | if len(src_uri) == 0: |
diff --git a/classes/fsl-kernel-localversion.bbclass b/classes/fsl-kernel-localversion.bbclass index 9b44fe194..c5505d463 100644 --- a/classes/fsl-kernel-localversion.bbclass +++ b/classes/fsl-kernel-localversion.bbclass | |||
| @@ -15,6 +15,7 @@ LOCALVERSION ??= "+fslc" | |||
| 15 | # LINUX_VERSION_EXTENSION is used as CONFIG_LOCALVERSION by kernel-yocto class | 15 | # LINUX_VERSION_EXTENSION is used as CONFIG_LOCALVERSION by kernel-yocto class |
| 16 | LINUX_VERSION_EXTENSION ?= "${@bb.utils.contains('SCMVERSION', 'y', '', '${LOCALVERSION}', d)}" | 16 | LINUX_VERSION_EXTENSION ?= "${@bb.utils.contains('SCMVERSION', 'y', '', '${LOCALVERSION}', d)}" |
| 17 | 17 | ||
| 18 | do_kernel_localversion[doc] = "Append the FSL LOCALVERSION and, when SCMVERSION is set, the git revision to the kernel .config" | ||
| 18 | do_kernel_localversion[dirs] += "${S} ${B}" | 19 | do_kernel_localversion[dirs] += "${S} ${B}" |
| 19 | do_kernel_localversion() { | 20 | do_kernel_localversion() { |
| 20 | 21 | ||
diff --git a/classes/imx-boot-container.bbclass b/classes/imx-boot-container.bbclass index 345f71035..71c194d41 100644 --- a/classes/imx-boot-container.bbclass +++ b/classes/imx-boot-container.bbclass | |||
| @@ -27,6 +27,9 @@ inherit use-imx-security-controller-firmware | |||
| 27 | 27 | ||
| 28 | # Define ATF binary file to be deployed to the U-Boot build folder | 28 | # Define ATF binary file to be deployed to the U-Boot build folder |
| 29 | ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin" | 29 | ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin" |
| 30 | # The append concatenates an "-optee" suffix directly onto the filename, so the | ||
| 31 | # missing leading space is intentional (a space would break the name). | ||
| 32 | # nooelint: oelint.vars.inconspaces | ||
| 30 | ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}" | 33 | ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}" |
| 31 | 34 | ||
| 32 | OEI_NAME ?= "oei-${OEI_CORE}-*.bin" | 35 | OEI_NAME ?= "oei-${OEI_CORE}-*.bin" |
| @@ -61,6 +64,7 @@ do_resolve_and_populate_binaries[depends] += " \ | |||
| 61 | 64 | ||
| 62 | # Define an additional task that collects binary output from dependent packages | 65 | # Define an additional task that collects binary output from dependent packages |
| 63 | # and deploys them into the U-Boot build folder | 66 | # and deploys them into the U-Boot build folder |
| 67 | do_resolve_and_populate_binaries[doc] = "Collect the ATF, DDR, SECO/OEI and optional OP-TEE firmware binaries into the U-Boot build folder for the boot container" | ||
| 64 | do_resolve_and_populate_binaries() { | 68 | do_resolve_and_populate_binaries() { |
| 65 | if [ -n "${UBOOT_CONFIG}" ]; then | 69 | if [ -n "${UBOOT_CONFIG}" ]; then |
| 66 | for config in ${UBOOT_MACHINE}; do | 70 | for config in ${UBOOT_MACHINE}; do |
diff --git a/classes/kernel-imximage.bbclass b/classes/kernel-imximage.bbclass index 999840f69..e87e24591 100644 --- a/classes/kernel-imximage.bbclass +++ b/classes/kernel-imximage.bbclass | |||
| @@ -21,10 +21,12 @@ DEPENDS:append = " u-boot-mkimage-native" | |||
| 21 | 21 | ||
| 22 | IMXIMAGE_ENTRYPOINT ?= "${UBOOT_ENTRYPOINT}" | 22 | IMXIMAGE_ENTRYPOINT ?= "${UBOOT_ENTRYPOINT}" |
| 23 | 23 | ||
| 24 | imx_mkimage[doc] = "Wrap uboot-mkimage to add an i.MX imximage DCD header to a kernel binary" | ||
| 24 | imx_mkimage() { | 25 | imx_mkimage() { |
| 25 | uboot-mkimage -n $1 -T imximage -e ${IMXIMAGE_ENTRYPOINT} -d $2 $2.imx | 26 | uboot-mkimage -n $1 -T imximage -e ${IMXIMAGE_ENTRYPOINT} -d $2 $2.imx |
| 26 | } | 27 | } |
| 27 | 28 | ||
| 29 | gen_imximage[doc] = "Generate DCD-header kernel images for each device tree during do_deploy" | ||
| 28 | gen_imximage() { | 30 | gen_imximage() { |
| 29 | if [ -z "${IMXIMAGE_ENTRYPOINT}" ]; then | 31 | if [ -z "${IMXIMAGE_ENTRYPOINT}" ]; then |
| 30 | bbfatal "IMXIMAGE_ENTRYPOINT must have a valid value" | 32 | bbfatal "IMXIMAGE_ENTRYPOINT must have a valid value" |
diff --git a/classes/machine-overrides-extender.bbclass b/classes/machine-overrides-extender.bbclass index 58cb45b14..2da605f35 100644 --- a/classes/machine-overrides-extender.bbclass +++ b/classes/machine-overrides-extender.bbclass | |||
| @@ -43,6 +43,9 @@ def machine_overrides_extender(d): | |||
| 43 | 43 | ||
| 44 | return ':'.join(machine_overrides) | 44 | return ':'.join(machine_overrides) |
| 45 | 45 | ||
| 46 | # This is a ConfigParsed event handler (addhandler below), not a task, so a | ||
| 47 | # task[doc] docstring does not apply. | ||
| 48 | # nooelint: oelint.task.docstrings | ||
| 46 | python machine_overrides_extender_handler() { | 49 | python machine_overrides_extender_handler() { |
| 47 | # Ideally we'd use a separate variable name for this however | 50 | # Ideally we'd use a separate variable name for this however |
| 48 | # historically NXP BSPs used this. We save it to a known good name | 51 | # historically NXP BSPs used this. We save it to a known good name |
| @@ -56,6 +59,9 @@ python machine_overrides_extender_handler() { | |||
| 56 | machine_overrides_extender_handler[eventmask] = "bb.event.ConfigParsed" | 59 | machine_overrides_extender_handler[eventmask] = "bb.event.ConfigParsed" |
| 57 | addhandler machine_overrides_extender_handler | 60 | addhandler machine_overrides_extender_handler |
| 58 | 61 | ||
| 62 | # This is a RecipeParsed event handler (addhandler below), not a task, so a | ||
| 63 | # task[doc] docstring does not apply. | ||
| 64 | # nooelint: oelint.task.docstrings | ||
| 59 | python machineoverrides_filtered_out_qa_handler() { | 65 | python machineoverrides_filtered_out_qa_handler() { |
| 60 | filtered_out = (d.getVar('MACHINEOVERRIDES_EXTENDER_FILTER_OUT') or "").split() | 66 | filtered_out = (d.getVar('MACHINEOVERRIDES_EXTENDER_FILTER_OUT') or "").split() |
| 61 | qa_error = d.getVar('MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR') | 67 | qa_error = d.getVar('MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR') |
diff --git a/classes/use-imx-security-controller-firmware.bbclass b/classes/use-imx-security-controller-firmware.bbclass index 6a39bb684..67c44fd44 100644 --- a/classes/use-imx-security-controller-firmware.bbclass +++ b/classes/use-imx-security-controller-firmware.bbclass | |||
| @@ -26,6 +26,9 @@ SECO_FIRMWARE_NAME:mx91-generic-bsp ?= "mx91${IMX_SOC_REV_LOWER}-ahab-container. | |||
| 26 | SECO_FIRMWARE_NAME:mx93-generic-bsp ?= "mx93${IMX_SOC_REV_LOWER}-ahab-container.img" | 26 | SECO_FIRMWARE_NAME:mx93-generic-bsp ?= "mx93${IMX_SOC_REV_LOWER}-ahab-container.img" |
| 27 | SECO_FIRMWARE_NAME:mx95-generic-bsp ?= "mx95${IMX_SOC_REV_LOWER}-ahab-container.img" | 27 | SECO_FIRMWARE_NAME:mx95-generic-bsp ?= "mx95${IMX_SOC_REV_LOWER}-ahab-container.img" |
| 28 | 28 | ||
| 29 | # Parse-time guard: SoCs that require a SECO firmware must fail parsing early | ||
| 30 | # (SkipRecipe) when SECO_FIRMWARE_NAME is undefined, which needs anonymous python. | ||
| 31 | # nooelint: oelint.task.noanonpython | ||
| 29 | python () { | 32 | python () { |
| 30 | if "mx8m-generic-bsp" in d.getVar('MACHINEOVERRIDES').split(":"): | 33 | if "mx8m-generic-bsp" in d.getVar('MACHINEOVERRIDES').split(":"): |
| 31 | return # We need to allow the recipes to be parsed for this case | 34 | return # We need to allow the recipes to be parsed for this case |
