diff options
Diffstat (limited to 'poky/documentation/ref-manual')
-rw-r--r-- | poky/documentation/ref-manual/classes.rst | 38 | ||||
-rw-r--r-- | poky/documentation/ref-manual/faq.rst | 4 | ||||
-rw-r--r-- | poky/documentation/ref-manual/kickstart.rst | 30 | ||||
-rw-r--r-- | poky/documentation/ref-manual/qa-checks.rst | 22 | ||||
-rw-r--r-- | poky/documentation/ref-manual/variables.rst | 195 |
5 files changed, 163 insertions, 126 deletions
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst index 49905f272..3af023895 100644 --- a/poky/documentation/ref-manual/classes.rst +++ b/poky/documentation/ref-manual/classes.rst @@ -404,6 +404,22 @@ cross-compilation tools used for building SDKs. See the section in the Yocto Project Overview and Concepts Manual for more discussion on these cross-compilation tools. +.. _ref-classes-cve-check: + +``cve-check.bbclass`` +===================== + +The ``cve-check`` class looks for known CVEs (Common Vulnerabilities +and Exposures) while building an image. This class is meant to be +inherited globally from a configuration file:: + + INHERIT += "cve-check" + +You can also look for vulnerabilities in specific packages by passing +``-c cve_check`` to BitBake. You will find details in the +":ref:`dev-manual/common-tasks:checking for vulnerabilities`" +section in the Development Tasks Manual. + .. _ref-classes-debian: ``debian.bbclass`` @@ -456,8 +472,8 @@ recipe that fetches from an alternative URI (e.g. Git) instead of a tarball. Following is an example:: BBCLASSEXTEND = "devupstream:target" - SRC_URI_class-devupstream = "git://git.example.com/example" - SRCREV_class-devupstream = "abcd1234" + SRC_URI:class-devupstream = "git://git.example.com/example" + SRCREV:class-devupstream = "abcd1234" Adding the above statements to your recipe creates a variant that has :term:`DEFAULT_PREFERENCE` set to "-1". @@ -465,8 +481,8 @@ Consequently, you need to select the variant of the recipe to use it. Any development-specific adjustments can be done by using the ``class-devupstream`` override. Here is an example:: - DEPENDS_append_class-devupstream = " gperf-native" - do_configure_prepend_class-devupstream() { + DEPENDS:append:class-devupstream = " gperf-native" + do_configure:prepend:class-devupstream() { touch ${S}/README } @@ -846,7 +862,7 @@ sure that all builders start with the same sstate signatures. After inheriting the class, you can then disable the feature by setting the :term:`ICECC_DISABLED` variable to "1" as follows:: - INHERIT_DISTRO_append = " icecc" + INHERIT_DISTRO:append = " icecc" ICECC_DISABLED ??= "1" This practice @@ -974,7 +990,7 @@ the check for symbolic link ``.so`` files in the main package of a recipe, add the following to the recipe. You need to realize that the package name override, in this example ``${PN}``, must be used:: - INSANE_SKIP_${PN} += "dev-so" + INSANE_SKIP:${PN} += "dev-so" Please keep in mind that the QA checks are meant to detect real or potential problems in the packaged @@ -1182,7 +1198,7 @@ Here are the tests you can list with the :term:`WARN_QA` and its :term:`PN` value matches something already in :term:`OVERRIDES` (e.g. :term:`PN` happens to be the same as :term:`MACHINE` or :term:`DISTRO`), it can have unexpected consequences. - For example, assignments such as ``FILES_${PN} = "xyz"`` effectively + For example, assignments such as ``FILES:${PN} = "xyz"`` effectively turn into ``FILES = "xyz"``. - ``rpaths:`` Checks for rpaths in the binaries that contain build @@ -1208,7 +1224,7 @@ Here are the tests you can list with the :term:`WARN_QA` and - ``unlisted-pkg-lics:`` Checks that all declared licenses applying for a package are also declared on the recipe level (i.e. any license - in ``LICENSE_*`` should appear in :term:`LICENSE`). + in ``LICENSE:*`` should appear in :term:`LICENSE`). - ``useless-rpaths:`` Checks for dynamic library load paths (rpaths) in the binaries that by default on a standard system are searched by @@ -1605,7 +1621,7 @@ a couple different ways: BBCLASSEXTEND = "native" Inside the - recipe, use ``_class-native`` and ``_class-target`` overrides to + recipe, use ``:class-native`` and ``:class-target`` overrides to specify any functionality specific to the respective native or target case. @@ -1636,7 +1652,7 @@ couple different ways: BBCLASSEXTEND = "nativesdk" Inside the - recipe, use ``_class-nativesdk`` and ``_class-target`` overrides to + recipe, use ``:class-nativesdk`` and ``:class-target`` overrides to specify any functionality specific to the respective SDK machine or target case. @@ -2481,7 +2497,7 @@ indicate the package to which the value applies. If the value applies to the recipe's main package, use ``${``\ :term:`PN`\ ``}``. Here is an example from the connman recipe:: - SYSTEMD_SERVICE_${PN} = "connman.service" + SYSTEMD_SERVICE:${PN} = "connman.service" Services are set up to start on boot automatically unless you have set diff --git a/poky/documentation/ref-manual/faq.rst b/poky/documentation/ref-manual/faq.rst index c7322e762..d3a603d4a 100644 --- a/poky/documentation/ref-manual/faq.rst +++ b/poky/documentation/ref-manual/faq.rst @@ -301,7 +301,7 @@ As an example, you could add a specific server for the build system to attempt before any others by adding something like the following to the ``local.conf`` configuration file:: - PREMIRRORS_prepend = "\ + PREMIRRORS:prepend = "\ git://.*/.* http://www.yoctoproject.org/sources/ \n \ ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ http://.*/.* http://www.yoctoproject.org/sources/ \n \ @@ -341,7 +341,7 @@ Finally, consider an example where you are behind an HTTP-only firewall. You could make the following changes to the ``local.conf`` configuration file as long as the :term:`PREMIRRORS` server is current:: - PREMIRRORS_prepend = "\ + PREMIRRORS:prepend = "\ ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ http://.*/.* http://www.yoctoproject.org/sources/ \n \ https://.*/.* http://www.yoctoproject.org/sources/ \n" diff --git a/poky/documentation/ref-manual/kickstart.rst b/poky/documentation/ref-manual/kickstart.rst index fc723ccbe..cac9f2f49 100644 --- a/poky/documentation/ref-manual/kickstart.rst +++ b/poky/documentation/ref-manual/kickstart.rst @@ -65,13 +65,17 @@ Here is an example that uses "/" as the mountpoint. The command uses Here is a list that describes other supported options you can use with the ``part`` and ``partition`` commands: -- ``--size``: The minimum partition size in MBytes. Specify an - integer value such as 500. Do not append the number with "MB". You do - not need this option if you use ``--source``. - -- ``--fixed-size``: The exact partition size in MBytes. You cannot - specify with ``--size``. An error occurs when assembling the disk - image if the partition data is larger than ``--fixed-size``. +- ``--size``: The minimum partition size. Specify as an integer value + optionally followed by one of the units "k" / "K" for kibibyte, + "M" for mebibyte and "G" for gibibyte. The default unit if none is + given is "M". You do not need this option if you use ``--source``. + +- ``--fixed-size``: The exact partition size. Specify as an integer + value optionally followed by one of the units "k" / "K" for kibibyte, + "M" for mebibyte and "G" for gibibyte. The default unit if none is + given is "M". Cannot be specify together with ``--size``. An error + occurs when assembling the disk image if the partition data is larger + than ``--fixed-size``. - ``--source``: This option is a Wic-specific option that names the source of the data that populates the partition. The most common @@ -134,10 +138,13 @@ the ``part`` and ``partition`` commands: - ``--align (in KBytes)``: This option is a Wic-specific option that says to start partitions on boundaries given x KBytes. -- ``--offset (in KBytes)``: This option is a Wic-specific option that +- ``--offset``: This option is a Wic-specific option that says to place a partition at exactly the specified offset. If the partition cannot be placed at the specified offset, the image build - will fail. + will fail. Specify as an integer value optionally followed by one of + the units "s" / "S" for 512 byte sector, "k" / "K" for kibibyte, "M" + for mebibyte and "G" for gibibyte. The default unit if none is given + is "k". - ``--no-table``: This option is a Wic-specific option. Using the option reserves space for the partition and causes it to become @@ -151,7 +158,10 @@ the ``part`` and ``partition`` commands: - ``--extra-space``: This option is a Wic-specific option that adds extra space after the space filled by the content of the partition. The final size can exceed the size specified by the ``--size`` - option. The default value is 10 Mbytes. + option. The default value is 10M. Specify as an integer value + optionally followed by one of the units "k" / "K" for kibibyte, "M" + for mebibyte and "G" for gibibyte. The default unit if none is given + is "M". - ``--overhead-factor``: This option is a Wic-specific option that multiplies the size of the partition by the option's value. You must diff --git a/poky/documentation/ref-manual/qa-checks.rst b/poky/documentation/ref-manual/qa-checks.rst index 0ef203c70..c3e40dba5 100644 --- a/poky/documentation/ref-manual/qa-checks.rst +++ b/poky/documentation/ref-manual/qa-checks.rst @@ -223,7 +223,7 @@ Errors and Warnings software that reads :term:`CFLAGS` when you build it, you could add the following to your recipe:: - CFLAGS_append = " -fPIC " + CFLAGS:append = " -fPIC " For more information on text relocations at runtime, see https://www.akkadia.org/drepper/textrelocs.html. @@ -263,7 +263,7 @@ Errors and Warnings The ``/usr/share/info/dir`` should not be packaged. Add the following line to your :ref:`ref-tasks-install` task or to your - ``do_install_append`` within the recipe as follows:: + ``do_install:append`` within the recipe as follows:: rm ${D}${infodir}/dir @@ -347,7 +347,7 @@ Errors and Warnings .. _qa-check-dep-cmp: -- ``<var>_<packagename> is invalid: <comparison> (<value>) only comparisons <, =, >, <=, and >= are allowed [dep-cmp]`` +- ``<var>:<packagename> is invalid: <comparison> (<value>) only comparisons <, =, >, <=, and >= are allowed [dep-cmp]`` If you are adding a versioned dependency relationship to one of the dependency variables (:term:`RDEPENDS`, @@ -454,14 +454,14 @@ Errors and Warnings ``pkg_preinst``, ``pkg_postinst``, ``pkg_prerm``, ``pkg_postrm``, and :term:`ALLOW_EMPTY`) should always be set specific to a package (i.e. they should be set with a package name override - such as ``RDEPENDS_${PN} = "value"`` rather than + such as ``RDEPENDS:${PN} = "value"`` rather than ``RDEPENDS = "value"``). If you receive this error, correct any assignments to these variables within your recipe. -- ``recipe uses DEPENDS_${PN}, should use DEPENDS [pkgvarcheck]`` +- ``recipe uses DEPENDS:${PN}, should use DEPENDS [pkgvarcheck]`` - This check looks for instances of setting ``DEPENDS_${PN}`` + This check looks for instances of setting ``DEPENDS:${PN}`` which is erroneous (:term:`DEPENDS` is a recipe-wide variable and thus it is not correct to specify it for a particular package, nor will such an assignment actually work.) Set :term:`DEPENDS` instead. @@ -524,7 +524,7 @@ Errors and Warnings following: - Add the files to :term:`FILES` for the package you want them to appear - in (e.g. ``FILES_${``\ :term:`PN`\ ``}`` for the main + in (e.g. ``FILES:${``\ :term:`PN`\ ``}`` for the main package). - Delete the files at the end of the ``do_install`` task if the @@ -539,18 +539,18 @@ Errors and Warnings when a recipe has been renamed. However, if that is not the case, the message might indicate that a private version of a library is being erroneously picked up as the provider for a common library. If that - is the case, you should add the library's ``.so`` file name to + is the case, you should add the library's ``.so`` filename to :term:`PRIVATE_LIBS` in the recipe that provides the private version of the library. .. _qa-check-unlisted-pkg-lics: -- ``LICENSE_<packagename> includes licenses (<licenses>) that are not listed in LICENSE [unlisted-pkg-lics]`` +- ``LICENSE:<packagename> includes licenses (<licenses>) that are not listed in LICENSE [unlisted-pkg-lics]`` The :term:`LICENSE` of the recipe should be a superset of all the licenses of all packages produced by this recipe. In other - words, any license in ``LICENSE_*`` should also appear in + words, any license in ``LICENSE:*`` should also appear in :term:`LICENSE`. @@ -620,7 +620,7 @@ Errors and Warnings .. _qa-check-missing-update-alternatives: -- ``<recipename>: recipe defines ALTERNATIVE_<packagename> but doesn't inherit update-alternatives. This might fail during do_rootfs later! [missing-update-alternatives]`` +- ``<recipename>: recipe defines ALTERNATIVE:<packagename> but doesn't inherit update-alternatives. This might fail during do_rootfs later! [missing-update-alternatives]`` This check ensures that if a recipe sets the :term:`ALTERNATIVE` variable that the recipe also inherits :ref:`update-alternatives <ref-classes-update-alternatives>` such diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst index 115094013..7aecda017 100644 --- a/poky/documentation/ref-manual/variables.rst +++ b/poky/documentation/ref-manual/variables.rst @@ -38,9 +38,9 @@ system and gives an overview of their function and contents. Like all package-controlling variables, you must always use them in conjunction with a package name override, as in:: - ALLOW_EMPTY_${PN} = "1" - ALLOW_EMPTY_${PN}-dev = "1" - ALLOW_EMPTY_${PN}-staticdev = "1" + ALLOW_EMPTY:${PN} = "1" + ALLOW_EMPTY:${PN}-dev = "1" + ALLOW_EMPTY:${PN}-staticdev = "1" :term:`ALTERNATIVE` Lists commands in a package that need an alternative binary naming @@ -53,7 +53,7 @@ system and gives an overview of their function and contents. provided by another package. For example, if the ``busybox`` package has four such commands, you identify them as follows:: - ALTERNATIVE_busybox = "sh sed test bracket" + ALTERNATIVE:busybox = "sh sed test bracket" For more information on the alternatives system, see the ":ref:`update-alternatives.bbclass <ref-classes-update-alternatives>`" @@ -297,7 +297,7 @@ system and gives an overview of their function and contents. can attach it to a specific image recipe by using the recipe name override:: - BAD_RECOMMENDATIONS_pn-target_image = "package_name" + BAD_RECOMMENDATIONS:pn-target_image = "package_name" It is important to realize that if you choose to not install packages using this variable and some other packages are dependent on them @@ -575,7 +575,7 @@ system and gives an overview of their function and contents. Internally, the :term:`BBCLASSEXTEND` mechanism generates recipe variants by rewriting variable values and applying overrides such - as ``_class-native``. For example, to generate a native version of + as ``:class-native``. For example, to generate a native version of a recipe, a :term:`DEPENDS` on "foo" is rewritten to a :term:`DEPENDS` on "foo-native". @@ -1133,7 +1133,7 @@ system and gives an overview of their function and contents. As an example, the following override allows you to install extra files, but only when building for the target:: - do_install_append_class-target() { + do_install:append:class-target() { install my-extra-file ${D}${sysconfdir} } @@ -1141,7 +1141,7 @@ system and gives an overview of their function and contents. "native" when building for the build host, and to "other" when not building for the build host:: - FOO_class-native = "native" + FOO:class-native = "native" FOO = "other" The underlying mechanism behind :term:`CLASSOVERRIDE` is simply @@ -1246,7 +1246,7 @@ system and gives an overview of their function and contents. that identifies the resulting package. Then, provide a space-separated list of files. Here is an example:: - CONFFILES_${PN} += "${sysconfdir}/file1 \ + CONFFILES:${PN} += "${sysconfdir}/file1 \ ${sysconfdir}/file2 ${sysconfdir}/file3" There is a relationship between the :term:`CONFFILES` and :term:`FILES` @@ -1471,11 +1471,22 @@ system and gives an overview of their function and contents. variable only in certain contexts (e.g. when building for kernel and kernel module recipes). + :term:`CVE_CHECK_PN_WHITELIST` + The list of package names (:term:`PN`) for which + CVEs (Common Vulnerabilities and Exposures) are ignored. + + :term:`CVE_CHECK_WHITELIST` + The list of CVE IDs which are ignored. Here is + an example from the :oe_layerindex:`Python3 recipe</layerindex/recipe/23823>`:: + + # This is windows only issue. + CVE_CHECK_WHITELIST += "CVE-2020-15523" + :term:`CVE_PRODUCT` In a recipe, defines the name used to match the recipe name against the name in the upstream `NIST CVE database <https://nvd.nist.gov/>`__. - The default is ${:term:`BPN`}. If it does not match the name in NIST CVE + The default is ${:term:`BPN`}. If it does not match the name in the NIST CVE database or matches with multiple entries in the database, the default value needs to be changed. @@ -1535,7 +1546,7 @@ system and gives an overview of their function and contents. package naming. You must use the package name as an override when you set this variable. Here is an example from the ``fontconfig`` recipe:: - DEBIAN_NOAUTONAME_fontconfig-utils = "1" + DEBIAN_NOAUTONAME:fontconfig-utils = "1" :term:`DEBIANNAME` When the :ref:`debian <ref-classes-debian>` class is inherited, @@ -1545,7 +1556,7 @@ system and gives an overview of their function and contents. override when you set this variable. Here is an example from the ``dbus`` recipe:: - DEBIANNAME_${PN} = "dbus-1" + DEBIANNAME:${PN} = "dbus-1" :term:`DEBUG_BUILD` Specifies to build packages with debugging information. This @@ -2104,7 +2115,7 @@ system and gives an overview of their function and contents. to fix a runtime dependency to the exact same version of another package in the same recipe:: - RDEPENDS_${PN}-additional-module = "${PN} (= ${EXTENDPKGV})" + RDEPENDS:${PN}-additional-module = "${PN} (= ${EXTENDPKGV})" The dependency relationships are intended to force the package manager to upgrade these types of packages in lock-step. @@ -2204,7 +2215,7 @@ system and gives an overview of their function and contents. this variable, use an override for the associated image type. Here is an example:: - EXTRA_IMAGECMD_ext3 ?= "-i 4096" + EXTRA_IMAGECMD:ext3 ?= "-i 4096" :term:`EXTRA_IMAGEDEPENDS` A list of recipes to build that do not provide packages for @@ -2331,7 +2342,7 @@ system and gives an overview of their function and contents. list of files or paths that identify the files you want included as part of the resulting package. Here is an example:: - FILES_${PN} += "${bindir}/mydir1 ${bindir}/mydir2/myfile" + FILES:${PN} += "${bindir}/mydir1 ${bindir}/mydir2/myfile" .. note:: @@ -2347,7 +2358,7 @@ system and gives an overview of their function and contents. rather than ``/usr/bin``. You can find a list of these variables at the top of the ``meta/conf/bitbake.conf`` file in the :term:`Source Directory`. You will also - find the default values of the various ``FILES_*`` variables in + find the default values of the various ``FILES:*`` variables in this file. If some of the files you provide with the :term:`FILES` variable are @@ -2380,7 +2391,7 @@ system and gives an overview of their function and contents. :term:`FILESEXTRAPATHS` from within a ``.bbappend`` file and that you prepend paths as follows:: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" In the above example, the build system first looks for files in a directory that has the same name as the @@ -2402,7 +2413,7 @@ system and gives an overview of their function and contents. Here is another common use:: - FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + FILESEXTRAPATHS:prepend := "${THISDIR}/files:" In this example, the build system extends the :term:`FILESPATH` variable to include a directory named ``files`` that is @@ -2410,13 +2421,13 @@ system and gives an overview of their function and contents. This next example specifically adds three paths:: - FILESEXTRAPATHS_prepend := "path_1:path_2:path_3:" + FILESEXTRAPATHS:prepend := "path_1:path_2:path_3:" A final example shows how you can extend the search path and include a :term:`MACHINE`-specific override, which is useful in a BSP layer:: - FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:" + FILESEXTRAPATHS:prepend:intel-x86-common := "${THISDIR}/${PN}:" The previous statement appears in the ``linux-yocto-dev.bbappend`` file, which is found in the @@ -2664,7 +2675,7 @@ system and gives an overview of their function and contents. Here is an example from the ``dbus`` recipe:: - GROUPADD_PARAM_${PN} = "-r netdev" + GROUPADD_PARAM:${PN} = "-r netdev" For information on the standard Linux shell command ``groupadd``, see https://linux.die.net/man/8/groupadd. @@ -2977,7 +2988,7 @@ system and gives an overview of their function and contents. ``btrfs``, and so forth). When setting this variable, you should use an override for the associated type. Here is an example:: - IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \ + IMAGE_CMD:jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \ --output=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.jffs2 \ ${EXTRA_IMAGECMD}" @@ -3033,8 +3044,8 @@ system and gives an overview of their function and contents. :term:`IMAGE_FSTYPES` prior to using the "inherit image" line. - Due to the way the OpenEmbedded build system processes this - variable, you cannot update its contents by using ``_append`` - or ``_prepend``. You must use the ``+=`` operator to add one or + variable, you cannot update its contents by using ``:append`` + or ``:prepend``. You must use the ``+=`` operator to add one or more options to the :term:`IMAGE_FSTYPES` variable. :term:`IMAGE_INSTALL` @@ -3052,7 +3063,7 @@ system and gives an overview of their function and contents. When you use this variable, it is best to use it as follows:: - IMAGE_INSTALL_append = " package-name" + IMAGE_INSTALL:append = " package-name" Be sure to include the space between the quotation character and the start of the package name or @@ -3144,7 +3155,7 @@ system and gives an overview of their function and contents. IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}" :term:`IMAGE_NAME_SUFFIX` - Suffix used for the image output file name - defaults to ``".rootfs"`` + Suffix used for the image output filename - defaults to ``".rootfs"`` to distinguish the image file from other files created during image building; however if this suffix is redundant or not desired you can clear the value of this variable (set the value to ""). For example, @@ -3292,7 +3303,7 @@ system and gives an overview of their function and contents. Specifies a dependency from one image type on another. Here is an example from the :ref:`image-live <ref-classes-image-live>` class:: - IMAGE_TYPEDEP_live = "ext3" + IMAGE_TYPEDEP:live = "ext3" In the previous example, the variable ensures that when "live" is listed with the :term:`IMAGE_FSTYPES` variable, @@ -3695,7 +3706,7 @@ system and gives an overview of their function and contents. recipe. The package name override must be used, which in this example is ``${PN}``:: - INSANE_SKIP_${PN} += "dev-so" + INSANE_SKIP:${PN} += "dev-so" See the ":ref:`insane.bbclass <ref-classes-insane>`" section for a list of the valid QA checks you can specify using this variable. @@ -3749,10 +3760,10 @@ system and gives an overview of their function and contents. ``meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.12.bbappend``. Here are the related statements from that append file:: - KBRANCH_genericx86 = "standard/base" - KBRANCH_genericx86-64 = "standard/base" - KBRANCH_edgerouter = "standard/edgerouter" - KBRANCH_beaglebone = "standard/beaglebone" + KBRANCH:genericx86 = "standard/base" + KBRANCH:genericx86-64 = "standard/base" + KBRANCH:edgerouter = "standard/edgerouter" + KBRANCH:beaglebone = "standard/beaglebone" The :term:`KBRANCH` statements identify the kernel branch to use when building for each supported @@ -3780,11 +3791,11 @@ system and gives an overview of their function and contents. Here is an example from a "raspberrypi2" :term:`KMACHINE` build that uses a ``defconfig`` file named "bcm2709_defconfig":: - KBUILD_DEFCONFIG_raspberrypi2 = "bcm2709_defconfig" + KBUILD_DEFCONFIG:raspberrypi2 = "bcm2709_defconfig" As an alternative, you can use the following within your append file:: - KBUILD_DEFCONFIG_pn-linux-yocto ?= defconfig_file + KBUILD_DEFCONFIG:pn-linux-yocto ?= "defconfig_file" For more information on how to use the :term:`KBUILD_DEFCONFIG` variable, see the @@ -3932,10 +3943,10 @@ system and gives an overview of their function and contents. statements add specific configurations to targeted machine types:: KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" - KERNEL_FEATURES_append = "${KERNEL_EXTRA_FEATURES}" - KERNEL_FEATURES_append_qemuall = "cfg/virtio.scc" - KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc" - KERNEL_FEATURES_append_qemux86-64 = "cfg/sound.scc" + KERNEL_FEATURES:append = "${KERNEL_EXTRA_FEATURES}" + KERNEL_FEATURES:append:qemuall = "cfg/virtio.scc" + KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc" + KERNEL_FEATURES:append:qemux86-64 = "cfg/sound.scc" :term:`KERNEL_FIT_LINK_NAME` The link name of the kernel flattened image tree (FIT) image. This @@ -4117,13 +4128,13 @@ system and gives an overview of their function and contents. Kernel's ``meta`` branch. As an example take a look in the ``common/recipes-kernel/linux/linux-yocto_3.19.bbappend`` file:: - LINUX_VERSION_core2-32-intel-common = "3.19.0" - COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}" - SRCREV_meta_core2-32-intel-common = "8897ef68b30e7426bc1d39895e71fb155d694974" - SRCREV_machine_core2-32-intel-common = "43b9eced9ba8a57add36af07736344dcc383f711" - KMACHINE_core2-32-intel-common = "intel-core2-32" - KBRANCH_core2-32-intel-common = "standard/base" - KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" + LINUX_VERSION:core2-32-intel-common = "3.19.0" + COMPATIBLE_MACHINE:core2-32-intel-common = "${MACHINE}" + SRCREV_meta:core2-32-intel-common = "8897ef68b30e7426bc1d39895e71fb155d694974" + SRCREV_machine:core2-32-intel-common = "43b9eced9ba8a57add36af07736344dcc383f711" + KMACHINE:core2-32-intel-common = "intel-core2-32" + KBRANCH:core2-32-intel-common = "standard/base" + KERNEL_FEATURES:append:core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" The :term:`KMACHINE` statement says that the kernel understands the machine name as "intel-core2-32". @@ -4303,15 +4314,15 @@ system and gives an overview of their function and contents. Documentation License 1.2 could be specified as follows:: LICENSE = "GFDL-1.2 & GPLv2" - LICENSE_${PN} = "GPLv2" - LICENSE_${PN}-doc = "GFDL-1.2" + LICENSE:${PN} = "GPLv2" + LICENSE:${PN}-doc = "GFDL-1.2" :term:`LICENSE_CREATE_PACKAGE` Setting :term:`LICENSE_CREATE_PACKAGE` to "1" causes the OpenEmbedded build system to create an extra package (i.e. ``${``\ :term:`PN`\ ``}-lic``) for each recipe and to add those packages to the - :term:`RRECOMMENDS`\ ``_${PN}``. + :term:`RRECOMMENDS`\ ``:${PN}``. The ``${PN}-lic`` package installs a directory in ``/usr/share/licenses`` named ``${PN}``, which is the recipe's base @@ -4615,7 +4626,7 @@ system and gives an overview of their function and contents. in QEMU, like in the following example from the ``connman-conf`` recipe:: - SRC_URI_append_qemuall = " file://wired.config \ + SRC_URI:append:qemuall = " file://wired.config \ file://wired-setup \ " @@ -4818,7 +4829,7 @@ system and gives an overview of their function and contents. can attach it to a specific image recipe by using the recipe name override:: - NO_RECOMMENDATIONS_pn-target_image = "1" + NO_RECOMMENDATIONS:pn-target_image = "1" It is important to realize that if you choose to not install packages using this variable and some other packages are dependent on them @@ -4841,14 +4852,14 @@ system and gives an overview of their function and contents. :term:`NOAUTOPACKAGEDEBUG` Disables auto package from splitting ``.debug`` files. If a recipe - requires ``FILES_${PN}-dbg`` to be set manually, the + requires ``FILES:${PN}-dbg`` to be set manually, the :term:`NOAUTOPACKAGEDEBUG` can be defined allowing you to define the content of the debug package. For example:: NOAUTOPACKAGEDEBUG = "1" - FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*" - FILES_${PN}-dbg = "/usr/src/debug/" - FILES_${QT_BASE_NAME}-demos-doc = "${docdir}/${QT_DIR_NAME}/qch/qt.qch" + FILES:${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*" + FILES:${PN}-dbg = "/usr/src/debug/" + FILES:${QT_BASE_NAME}-demos-doc = "${docdir}/${QT_DIR_NAME}/qch/qt.qch" :term:`NON_MULTILIB_RECIPES` A list of recipes that should not be built for multilib. OE-Core's @@ -4944,7 +4955,7 @@ system and gives an overview of their function and contents. assignment will override ``FOO`` with the value "overridden" at the end of parsing:: - FOO_an-override = "overridden" + FOO:an-override = "overridden" See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" @@ -4959,7 +4970,7 @@ system and gives an overview of their function and contents. allows variables to be set for a single recipe within configuration (``.conf``) files. Here is an example:: - FOO_pn-myrecipe = "myrecipe-specific value" + FOO:pn-myrecipe = "myrecipe-specific value" .. note:: @@ -5107,7 +5118,7 @@ system and gives an overview of their function and contents. can attach it to a specific image recipe by using the recipe name override:: - PACKAGE_EXCLUDE_pn-target_image = "package_name" + PACKAGE_EXCLUDE:pn-target_image = "package_name" If you choose to not install a package using this variable and some other package is dependent on it (i.e. listed in a recipe's @@ -5344,18 +5355,18 @@ system and gives an overview of their function and contents. Or, you can just append the variable:: - PACKAGECONFIG_append = " f4" + PACKAGECONFIG:append = " f4" - *Configuration file:* This method is identical to changing the block through an append file except you edit your ``local.conf`` or ``mydistro.conf`` file. As with append files previously described, you can either completely override the variable:: - PACKAGECONFIG_pn-recipename = "f4 f5" + PACKAGECONFIG:pn-recipename = "f4 f5" Or, you can just amend the variable:: - PACKAGECONFIG_append_pn-recipename = " f4" + PACKAGECONFIG:append:pn-recipename = " f4" :term:`PACKAGECONFIG_CONFARGS` A space-separated list of configuration options generated from the @@ -5390,7 +5401,7 @@ system and gives an overview of their function and contents. (leftmost) package. Packages in the variable's list that are empty (i.e. where none of - the patterns in ``FILES_``\ pkg match any files installed by the + the patterns in ``FILES:``\ pkg match any files installed by the :ref:`ref-tasks-install` task) are not generated, unless generation is forced through the :term:`ALLOW_EMPTY` variable. @@ -5541,7 +5552,7 @@ system and gives an overview of their function and contents. For example, when the :ref:`debian <ref-classes-debian>` class renames the output package, it does so by setting - ``PKG_packagename``. + ``PKG:packagename``. :term:`PKG_CONFIG_PATH` The path to ``pkg-config`` files for the current build context. @@ -5775,17 +5786,17 @@ system and gives an overview of their function and contents. :term:`OVERRIDES` to set a machine-specific override. Here is an example:: - PREFERRED_VERSION_linux-yocto_qemux86 = "5.0%" + PREFERRED_VERSION_linux-yocto:qemux86 = "5.0%" Although not recommended, worst case, you can also use the "forcevariable" override, which is the strongest override possible. Here is an example:: - PREFERRED_VERSION_linux-yocto_forcevariable = "5.0%" + PREFERRED_VERSION_linux-yocto:forcevariable = "5.0%" .. note:: - The ``\_forcevariable`` override is not handled specially. This override + The ``:forcevariable`` override is not handled specially. This override only works because the default value of :term:`OVERRIDES` includes "forcevariable". If a recipe with the specified version is not available, a warning @@ -5809,7 +5820,7 @@ system and gives an overview of their function and contents. the ``local.conf`` configuration file in the :term:`Build Directory`:: - PREMIRRORS_prepend = "\ + PREMIRRORS:prepend = "\ git://.*/.* http://www.yoctoproject.org/sources/ \n \ ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ http://.*/.* http://www.yoctoproject.org/sources/ \n \ @@ -5992,7 +6003,7 @@ system and gives an overview of their function and contents. Like all package-controlling variables, you must always use them in conjunction with a package name override. Here is an example:: - RCONFLICTS_${PN} = "another_conflicting_package_name" + RCONFLICTS:${PN} = "another_conflicting_package_name" BitBake, which the OpenEmbedded build system uses, supports specifying versioned dependencies. Although the syntax varies @@ -6000,7 +6011,7 @@ system and gives an overview of their function and contents. from you. Here is the general syntax to specify versions with the :term:`RCONFLICTS` variable:: - RCONFLICTS_${PN} = "package (operator version)" + RCONFLICTS:${PN} = "package (operator version)" For ``operator``, you can specify the following: @@ -6013,7 +6024,7 @@ system and gives an overview of their function and contents. For example, the following sets up a dependency on version 1.2 or greater of the package ``foo``:: - RCONFLICTS_${PN} = "foo (>= 1.2)" + RCONFLICTS:${PN} = "foo (>= 1.2)" :term:`RDEPENDS` Lists runtime dependencies of a package. These dependencies are other @@ -6022,7 +6033,7 @@ system and gives an overview of their function and contents. package ``foo`` needs the packages ``bar`` and ``baz`` to be installed:: - RDEPENDS_foo = "bar baz" + RDEPENDS:foo = "bar baz" The most common types of package runtime dependencies are automatically detected and added. Therefore, @@ -6063,7 +6074,7 @@ system and gives an overview of their function and contents. on the ``perl`` package. In this case, you would use the following :term:`RDEPENDS` statement:: - RDEPENDS_${PN}-dev += "perl" + RDEPENDS:${PN}-dev += "perl" In the example, the development package depends on the ``perl`` package. Thus, the @@ -6072,10 +6083,10 @@ system and gives an overview of their function and contents. .. note:: - ``RDEPENDS_${PN}-dev`` includes ``${``\ :term:`PN`\ ``}`` + ``RDEPENDS:${PN}-dev`` includes ``${``\ :term:`PN`\ ``}`` by default. This default is set in the BitBake configuration file (``meta/conf/bitbake.conf``). Be careful not to accidentally remove - ``${PN}`` when modifying ``RDEPENDS_${PN}-dev``. Use the "+=" operator + ``${PN}`` when modifying ``RDEPENDS:${PN}-dev``. Use the "+=" operator rather than the "=" operator. The package names you use with :term:`RDEPENDS` must appear as they would @@ -6092,7 +6103,7 @@ system and gives an overview of their function and contents. from you. Here is the general syntax to specify versions with the :term:`RDEPENDS` variable:: - RDEPENDS_${PN} = "package (operator version)" + RDEPENDS:${PN} = "package (operator version)" For ``operator``, you can specify the following: @@ -6112,7 +6123,7 @@ system and gives an overview of their function and contents. For example, the following sets up a dependency on version 1.2 or greater of the package ``foo``:: - RDEPENDS_${PN} = "foo (>= 1.2)" + RDEPENDS:${PN} = "foo (>= 1.2)" For information on build-time dependencies, see the :term:`DEPENDS` variable. You can also see the @@ -6247,7 +6258,7 @@ system and gives an overview of their function and contents. variable in conjunction with a package name override. Here is an example:: - RPROVIDES_${PN} = "widget-abi-2" + RPROVIDES:${PN} = "widget-abi-2" :term:`RRECOMMENDS` A list of packages that extends the usability of a package being @@ -6278,7 +6289,7 @@ system and gives an overview of their function and contents. support wireless functionality. In this case, you would use the following:: - RRECOMMENDS_${PN}-dev += "wireless_package_name" + RRECOMMENDS:${PN}-dev += "wireless_package_name" In the example, the package name (``${PN}-dev``) must appear as it would in @@ -6291,7 +6302,7 @@ system and gives an overview of their function and contents. Here is the general syntax to specify versions with the :term:`RRECOMMENDS` variable:: - RRECOMMENDS_${PN} = "package (operator version)" + RRECOMMENDS:${PN} = "package (operator version)" For ``operator``, you can specify the following: @@ -6304,7 +6315,7 @@ system and gives an overview of their function and contents. For example, the following sets up a recommend on version 1.2 or greater of the package ``foo``:: - RRECOMMENDS_${PN} = "foo (>= 1.2)" + RRECOMMENDS:${PN} = "foo (>= 1.2)" :term:`RREPLACES` A list of packages replaced by a package. The package manager uses @@ -6316,7 +6327,7 @@ system and gives an overview of their function and contents. As with all package-controlling variables, you must use this variable in conjunction with a package name override. Here is an example:: - RREPLACES_${PN} = "other_package_being_replaced" + RREPLACES:${PN} = "other_package_being_replaced" BitBake, which the OpenEmbedded build system uses, supports specifying versioned replacements. Although the syntax varies @@ -6324,7 +6335,7 @@ system and gives an overview of their function and contents. from you. Here is the general syntax to specify versions with the :term:`RREPLACES` variable:: - RREPLACES_${PN} = "package (operator version)" + RREPLACES:${PN} = "package (operator version)" For ``operator``, you can specify the following: @@ -6337,7 +6348,7 @@ system and gives an overview of their function and contents. For example, the following sets up a replacement using version 1.2 or greater of the package ``foo``:: - RREPLACES_${PN} = "foo (>= 1.2)" + RREPLACES:${PN} = "foo (>= 1.2)" :term:`RSUGGESTS` A list of additional packages that you can suggest for installation @@ -6348,7 +6359,7 @@ system and gives an overview of their function and contents. variable in conjunction with a package name override. Here is an example:: - RSUGGESTS_${PN} = "useful_package another_package" + RSUGGESTS:${PN} = "useful_package another_package" :term:`S` The location in the :term:`Build Directory` where @@ -6862,7 +6873,7 @@ system and gives an overview of their function and contents. defined in the ``meta/conf/bitbake.conf`` configuration file. You will see this variable referenced in the default values of - ``FILES_${PN}``. + ``FILES:${PN}``. :term:`SOLIBSDEV` Defines the suffix for the development symbolic link (symlink) for @@ -6871,7 +6882,7 @@ system and gives an overview of their function and contents. ``meta/conf/bitbake.conf`` configuration file. You will see this variable referenced in the default values of - ``FILES_${PN}-dev``. + ``FILES:${PN}-dev``. :term:`SOURCE_MIRROR_FETCH` When you are fetching files to create a mirror of sources (i.e. @@ -7609,7 +7620,7 @@ system and gives an overview of their function and contents. override to indicate the package to which the value applies. Here is an example from the connman recipe:: - SYSTEMD_SERVICE_${PN} = "connman.service" + SYSTEMD_SERVICE:${PN} = "connman.service" :term:`SYSVINIT_ENABLED_GETTYS` When using @@ -7947,14 +7958,14 @@ system and gives an overview of their function and contents. your own tests to the list of tests by appending :term:`TEST_SUITES` as follows:: - TEST_SUITES_append = " mytest" + TEST_SUITES:append = " mytest" Alternatively, you can provide the "auto" option to have all applicable tests run against the image. :: - TEST_SUITES_append = " auto" + TEST_SUITES:append = " auto" Using this option causes the build system to automatically run tests that are applicable to the @@ -8215,7 +8226,7 @@ system and gives an overview of their function and contents. The BitBake configuration file (``meta/conf/bitbake.conf``) defines :term:`TUNE_FEATURES` as follows:: - TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}" + TUNE_FEATURES ??= "${TUNE_FEATURES:tune-${DEFAULTTUNE}}" See the :term:`DEFAULTTUNE` variable for more information. @@ -8241,13 +8252,13 @@ system and gives an overview of their function and contents. the architecture, ABI, and tuning of output packages. The specific tune is defined using the "_tune" override as follows:: - TUNE_PKGARCH_tune-tune = "tune" + TUNE_PKGARCH:tune-tune = "tune" These tune-specific package architectures are defined in the machine include files. Here is an example of the "core2-32" tuning as used in the ``meta/conf/machine/include/tune-core2.inc`` file:: - TUNE_PKGARCH_tune-core2-32 = "core2-32" + TUNE_PKGARCH:tune-core2-32 = "core2-32" :term:`TUNEABI` An underlying Application Binary Interface (ABI) used by a particular @@ -8614,7 +8625,7 @@ system and gives an overview of their function and contents. Here is an example from the ``dbus`` recipe:: - USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \ + USERADD_PARAM:${PN} = "--system --home ${localstatedir}/lib/dbus \ --no-create-home --shell /bin/false \ --user-group messagebus" |