diff options
author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2021-05-12 11:30:55 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-05-22 12:16:41 +0100 |
commit | 5386f28c44700acf92169f80de4d5628ecb40e18 (patch) | |
tree | c7920c2982b40af749b6202acb86a664e990864d /documentation/dev-manual | |
parent | 020562cfbc3129c3cad7ebc8a5a8447681e5efed (diff) | |
download | poky-5386f28c44700acf92169f80de4d5628ecb40e18.tar.gz |
dev-manual: simplify style
(From yocto-docs rev: a8b3c1a5cbfa7fb0bca0d7dd8f38ac59acf032fa)
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r-- | documentation/dev-manual/common-tasks.rst | 139 | ||||
-rw-r--r-- | documentation/dev-manual/qemu.rst | 4 | ||||
-rw-r--r-- | documentation/dev-manual/start.rst | 26 |
3 files changed, 79 insertions, 90 deletions
diff --git a/documentation/dev-manual/common-tasks.rst b/documentation/dev-manual/common-tasks.rst index 5c3fc41772..1307341730 100644 --- a/documentation/dev-manual/common-tasks.rst +++ b/documentation/dev-manual/common-tasks.rst | |||
@@ -346,7 +346,7 @@ The application consists of the following sections: | |||
346 | of the Yocto Project for which your layer is compatible. | 346 | of the Yocto Project for which your layer is compatible. |
347 | 347 | ||
348 | - *Acceptance Criteria:* Provide "Yes" or "No" answers for each of the | 348 | - *Acceptance Criteria:* Provide "Yes" or "No" answers for each of the |
349 | items in the checklist. Space exists at the bottom of the form for | 349 | items in the checklist. There is space at the bottom of the form for |
350 | any explanations for items for which you answered "No". | 350 | any explanations for items for which you answered "No". |
351 | 351 | ||
352 | - *Recommendations:* Provide answers for the questions regarding Linux | 352 | - *Recommendations:* Provide answers for the questions regarding Linux |
@@ -542,7 +542,7 @@ important as it ensures that items in the list remain colon-separated. | |||
542 | paths in the final list. | 542 | paths in the final list. |
543 | 543 | ||
544 | Also, not all append files add extra files. Many append files simply | 544 | Also, not all append files add extra files. Many append files simply |
545 | exist to add build options (e.g. ``systemd``). For these cases, your | 545 | allow to add build options (e.g. ``systemd``). For these cases, your |
546 | append file would not even use the ``FILESEXTRAPATHS`` statement. | 546 | append file would not even use the ``FILESEXTRAPATHS`` statement. |
547 | 547 | ||
548 | Prioritizing Your Layer | 548 | Prioritizing Your Layer |
@@ -1060,8 +1060,8 @@ The remainder of the section provides details for the steps. | |||
1060 | Locate or Automatically Create a Base Recipe | 1060 | Locate or Automatically Create a Base Recipe |
1061 | -------------------------------------------- | 1061 | -------------------------------------------- |
1062 | 1062 | ||
1063 | You can always write a recipe from scratch. However, three choices exist | 1063 | You can always write a recipe from scratch. However, there are three choices |
1064 | that can help you quickly get a start on a new recipe: | 1064 | that can help you quickly get started with a new recipe: |
1065 | 1065 | ||
1066 | - ``devtool add``: A command that assists in creating a recipe and an | 1066 | - ``devtool add``: A command that assists in creating a recipe and an |
1067 | environment conducive to development. | 1067 | environment conducive to development. |
@@ -1521,8 +1521,8 @@ software is built; and runtime dependencies, which are required to be | |||
1521 | installed on the target in order for the software to run. | 1521 | installed on the target in order for the software to run. |
1522 | 1522 | ||
1523 | Within a recipe, you specify build-time dependencies using the | 1523 | Within a recipe, you specify build-time dependencies using the |
1524 | :term:`DEPENDS` variable. Although | 1524 | :term:`DEPENDS` variable. Although there are nuances, |
1525 | nuances exist, items specified in ``DEPENDS`` should be names of other | 1525 | items specified in ``DEPENDS`` should be names of other |
1526 | recipes. It is important that you specify all build-time dependencies | 1526 | recipes. It is important that you specify all build-time dependencies |
1527 | explicitly. | 1527 | explicitly. |
1528 | 1528 | ||
@@ -2183,8 +2183,8 @@ script to first boot is undesirable and for read-only rootfs impossible. | |||
2183 | 2183 | ||
2184 | .. note:: | 2184 | .. note:: |
2185 | 2185 | ||
2186 | Equivalent support for pre-install, pre-uninstall, and post-uninstall | 2186 | There is equivalent support for pre-install, pre-uninstall, and post-uninstall |
2187 | scripts exist by way of ``pkg_preinst``, ``pkg_prerm``, and ``pkg_postrm``, | 2187 | scripts by way of ``pkg_preinst``, ``pkg_prerm``, and ``pkg_postrm``, |
2188 | respectively. These scrips work in exactly the same way as does | 2188 | respectively. These scrips work in exactly the same way as does |
2189 | ``pkg_postinst`` with the exception that they run at different times. Also, | 2189 | ``pkg_postinst`` with the exception that they run at different times. Also, |
2190 | because of when they run, they are not applicable to being run at image | 2190 | because of when they run, they are not applicable to being run at image |
@@ -2376,7 +2376,7 @@ Packaging Externally Produced Binaries | |||
2376 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 2376 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
2377 | 2377 | ||
2378 | Sometimes, you need to add pre-compiled binaries to an image. For | 2378 | Sometimes, you need to add pre-compiled binaries to an image. For |
2379 | example, suppose that binaries for proprietary code exist, which are | 2379 | example, suppose that there are binaries for proprietary code, |
2380 | created by a particular division of a company. Your part of the company | 2380 | created by a particular division of a company. Your part of the company |
2381 | needs to use those binaries as part of an image that you are building | 2381 | needs to use those binaries as part of an image that you are building |
2382 | using the OpenEmbedded build system. Since you only have the binaries | 2382 | using the OpenEmbedded build system. Since you only have the binaries |
@@ -2832,7 +2832,7 @@ Over time, upstream developers publish new versions for software built | |||
2832 | by layer recipes. It is recommended to keep recipes up-to-date with | 2832 | by layer recipes. It is recommended to keep recipes up-to-date with |
2833 | upstream version releases. | 2833 | upstream version releases. |
2834 | 2834 | ||
2835 | While several methods exist that allow you upgrade a recipe, you might | 2835 | While there are several methods to upgrade a recipe, you might |
2836 | consider checking on the upgrade status of a recipe first. You can do so | 2836 | consider checking on the upgrade status of a recipe first. You can do so |
2837 | using the ``devtool check-upgrade-status`` command. See the | 2837 | using the ``devtool check-upgrade-status`` command. See the |
2838 | ":ref:`devtool-checking-on-the-upgrade-status-of-a-recipe`" | 2838 | ":ref:`devtool-checking-on-the-upgrade-status-of-a-recipe`" |
@@ -2861,8 +2861,8 @@ commit messages in the layer's tree for the changes made to recipes. | |||
2861 | 2861 | ||
2862 | .. note:: | 2862 | .. note:: |
2863 | 2863 | ||
2864 | Conditions do exist when you should not use AUH to upgrade recipes | 2864 | In some conditions, you should not use AUH to upgrade recipes |
2865 | and you should instead use either ``devtool upgrade`` or upgrade your | 2865 | and should instead use either ``devtool upgrade`` or upgrade your |
2866 | recipes manually: | 2866 | recipes manually: |
2867 | 2867 | ||
2868 | - When AUH cannot complete the upgrade sequence. This situation | 2868 | - When AUH cannot complete the upgrade sequence. This situation |
@@ -2922,7 +2922,7 @@ The following steps describe how to set up the AUH utility: | |||
2922 | undesirably. | 2922 | undesirably. |
2923 | 2923 | ||
2924 | 5. *Make Configurations in Your Local Configuration File:* Several | 2924 | 5. *Make Configurations in Your Local Configuration File:* Several |
2925 | settings need to exist in the ``local.conf`` file in the build | 2925 | settings are needed in the ``local.conf`` file in the build |
2926 | directory you just created for AUH. Make these following | 2926 | directory you just created for AUH. Make these following |
2927 | configurations: | 2927 | configurations: |
2928 | 2928 | ||
@@ -3131,8 +3131,8 @@ newly upgraded recipe:: | |||
3131 | NOTE: nano: compiling from external source tree /home/scottrif/poky/build/workspace/sources/nano | 3131 | NOTE: nano: compiling from external source tree /home/scottrif/poky/build/workspace/sources/nano |
3132 | NOTE: Tasks Summary: Attempted 520 tasks of which 304 didn't need to be rerun and all succeeded. | 3132 | NOTE: Tasks Summary: Attempted 520 tasks of which 304 didn't need to be rerun and all succeeded. |
3133 | 3133 | ||
3134 | Within the ``devtool upgrade`` workflow, opportunity | 3134 | Within the ``devtool upgrade`` workflow, you can |
3135 | exists to deploy and test your rebuilt software. For this example, | 3135 | deploy and test your rebuilt software. For this example, |
3136 | however, running ``devtool finish`` cleans up the workspace once the | 3136 | however, running ``devtool finish`` cleans up the workspace once the |
3137 | source in your workspace is clean. This usually means using Git to stage | 3137 | source in your workspace is clean. This usually means using Git to stage |
3138 | and submit commits for the changes generated by the upgrade process. | 3138 | and submit commits for the changes generated by the upgrade process. |
@@ -3214,7 +3214,7 @@ To manually upgrade recipe versions, follow these general steps: | |||
3214 | if the recipe is to be released publicly. | 3214 | if the recipe is to be released publicly. |
3215 | 3215 | ||
3216 | 5. *Check the Upstream Change Log or Release Notes:* Checking both these | 3216 | 5. *Check the Upstream Change Log or Release Notes:* Checking both these |
3217 | reveals if new features exist that could break | 3217 | reveals if there are new features that could break |
3218 | backwards-compatibility. If so, you need to take steps to mitigate or | 3218 | backwards-compatibility. If so, you need to take steps to mitigate or |
3219 | eliminate that situation. | 3219 | eliminate that situation. |
3220 | 3220 | ||
@@ -3517,7 +3517,7 @@ Building a Simple Image | |||
3517 | 3517 | ||
3518 | In the development environment, you need to build an image whenever you | 3518 | In the development environment, you need to build an image whenever you |
3519 | change hardware support, add or change system libraries, or add or | 3519 | change hardware support, add or change system libraries, or add or |
3520 | change services that have dependencies. Several methods exist that allow | 3520 | change services that have dependencies. There are several methods that allow |
3521 | you to build an image within the Yocto Project. This section presents | 3521 | you to build an image within the Yocto Project. This section presents |
3522 | the basic steps you need to build a simple image using BitBake from a | 3522 | the basic steps you need to build a simple image using BitBake from a |
3523 | build host running Linux. | 3523 | build host running Linux. |
@@ -4215,7 +4215,7 @@ your tunings to best consider build times and package feed maintenance. | |||
4215 | sysroot for each machine is generated, the software is not recompiled | 4215 | sysroot for each machine is generated, the software is not recompiled |
4216 | and only one package feed exists. | 4216 | and only one package feed exists. |
4217 | 4217 | ||
4218 | - *Manage Granular Level Packaging:* Sometimes cases exist where | 4218 | - *Manage Granular Level Packaging:* Sometimes there are cases where |
4219 | injecting another level of package architecture beyond the three | 4219 | injecting another level of package architecture beyond the three |
4220 | higher levels noted earlier can be useful. For example, consider how | 4220 | higher levels noted earlier can be useful. For example, consider how |
4221 | NXP (formerly Freescale) allows for the easy reuse of binary packages | 4221 | NXP (formerly Freescale) allows for the easy reuse of binary packages |
@@ -4281,7 +4281,7 @@ By default, the OpenEmbedded build system uses the | |||
4281 | code. The build process involves fetching the source files, unpacking | 4281 | code. The build process involves fetching the source files, unpacking |
4282 | them, and then patching them if necessary before the build takes place. | 4282 | them, and then patching them if necessary before the build takes place. |
4283 | 4283 | ||
4284 | Situations exist where you might want to build software from source | 4284 | There are situations where you might want to build software from source |
4285 | files that are external to and thus outside of the OpenEmbedded build | 4285 | files that are external to and thus outside of the OpenEmbedded build |
4286 | system. For example, suppose you have a project that includes a new BSP | 4286 | system. For example, suppose you have a project that includes a new BSP |
4287 | with a heavily customized kernel. And, you want to minimize exposing the | 4287 | with a heavily customized kernel. And, you want to minimize exposing the |
@@ -4648,7 +4648,7 @@ libraries and other binaries to use a different set of libraries. The | |||
4648 | libraries could differ in architecture, compiler options, or other | 4648 | libraries could differ in architecture, compiler options, or other |
4649 | optimizations. | 4649 | optimizations. |
4650 | 4650 | ||
4651 | Several examples exist in the ``meta-skeleton`` layer found in the | 4651 | There are several examples in the ``meta-skeleton`` layer found in the |
4652 | :term:`Source Directory`: | 4652 | :term:`Source Directory`: |
4653 | 4653 | ||
4654 | - ``conf/multilib-example.conf`` configuration file | 4654 | - ``conf/multilib-example.conf`` configuration file |
@@ -4661,7 +4661,7 @@ Preparing to Use Multilib | |||
4661 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | 4661 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
4662 | 4662 | ||
4663 | User-specific requirements drive the Multilib feature. Consequently, | 4663 | User-specific requirements drive the Multilib feature. Consequently, |
4664 | there is no one "out-of-the-box" configuration that likely exists to | 4664 | there is no one "out-of-the-box" configuration that would |
4665 | meet your needs. | 4665 | meet your needs. |
4666 | 4666 | ||
4667 | In order to enable Multilib, you first need to ensure your recipe is | 4667 | In order to enable Multilib, you first need to ensure your recipe is |
@@ -4724,8 +4724,8 @@ specifically with a command like this:: | |||
4724 | Additional Implementation Details | 4724 | Additional Implementation Details |
4725 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 4725 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
4726 | 4726 | ||
4727 | Generic implementation details as well as details that are specific to | 4727 | There are generic implementation details as well as details that are specific to |
4728 | package management systems exist. Following are implementation details | 4728 | package management systems. Following are implementation details |
4729 | that exist regardless of the package management system: | 4729 | that exist regardless of the package management system: |
4730 | 4730 | ||
4731 | - The typical convention used for the class extension code as used by | 4731 | - The typical convention used for the class extension code as used by |
@@ -4742,8 +4742,7 @@ that exist regardless of the package management system: | |||
4742 | vendor string presently break Autoconf's ``config.sub``, and other | 4742 | vendor string presently break Autoconf's ``config.sub``, and other |
4743 | separators are problematic for different reasons. | 4743 | separators are problematic for different reasons. |
4744 | 4744 | ||
4745 | For the RPM Package Management System, the following implementation | 4745 | Here are the implementation details for the RPM Package Management System: |
4746 | details exist: | ||
4747 | 4746 | ||
4748 | - A unique architecture is defined for the Multilib packages, along | 4747 | - A unique architecture is defined for the Multilib packages, along |
4749 | with creating a unique deploy folder under ``tmp/deploy/rpm`` in the | 4748 | with creating a unique deploy folder under ``tmp/deploy/rpm`` in the |
@@ -4764,8 +4763,7 @@ details exist: | |||
4764 | - The build system relies on RPM to resolve the identical files in the | 4763 | - The build system relies on RPM to resolve the identical files in the |
4765 | two (or more) Multilib packages. | 4764 | two (or more) Multilib packages. |
4766 | 4765 | ||
4767 | For the IPK Package Management System, the following implementation | 4766 | Here are the implementation details for the IPK Package Management System: |
4768 | details exist: | ||
4769 | 4767 | ||
4770 | - The ``${MLPREFIX}`` is not stripped from ``${PN}`` during IPK | 4768 | - The ``${MLPREFIX}`` is not stripped from ``${PN}`` during IPK |
4771 | packaging. The naming for a normal RPM package and a Multilib IPK | 4769 | packaging. The naming for a normal RPM package and a Multilib IPK |
@@ -4783,9 +4781,9 @@ details exist: | |||
4783 | Installing Multiple Versions of the Same Library | 4781 | Installing Multiple Versions of the Same Library |
4784 | ------------------------------------------------ | 4782 | ------------------------------------------------ |
4785 | 4783 | ||
4786 | Situations can exist where you need to install and use multiple versions | 4784 | There are be situations where you need to install and use multiple versions |
4787 | of the same library on the same system at the same time. These | 4785 | of the same library on the same system at the same time. This |
4788 | situations almost always exist when a library API changes and you have | 4786 | almost always happens when a library API changes and you have |
4789 | multiple pieces of software that depend on the separate versions of the | 4787 | multiple pieces of software that depend on the separate versions of the |
4790 | library. To accommodate these situations, you can install multiple | 4788 | library. To accommodate these situations, you can install multiple |
4791 | versions of the same library in parallel on the same system. | 4789 | versions of the same library in parallel on the same system. |
@@ -4850,9 +4848,9 @@ follows: | |||
4850 | - You can create and boot ``core-image-minimal`` and | 4848 | - You can create and boot ``core-image-minimal`` and |
4851 | ``core-image-sato`` images. | 4849 | ``core-image-sato`` images. |
4852 | 4850 | ||
4853 | - RPM Package Manager (RPM) support exists for x32 binaries. | 4851 | - There is RPM Package Manager (RPM) support for x32 binaries. |
4854 | 4852 | ||
4855 | - Support for large images exists. | 4853 | - There is support for large images. |
4856 | 4854 | ||
4857 | To use the x32 psABI, you need to edit your ``conf/local.conf`` | 4855 | To use the x32 psABI, you need to edit your ``conf/local.conf`` |
4858 | configuration file as follows:: | 4856 | configuration file as follows:: |
@@ -4918,7 +4916,7 @@ library package involves the following: | |||
4918 | :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` | 4916 | :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` |
4919 | and that "qemu-usermode" is not in | 4917 | and that "qemu-usermode" is not in |
4920 | :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`. | 4918 | :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`. |
4921 | If either of these conditions exist, nothing will happen. | 4919 | In either of these conditions, nothing will happen. |
4922 | 4920 | ||
4923 | 3. Try to build the recipe. If you encounter build errors that look like | 4921 | 3. Try to build the recipe. If you encounter build errors that look like |
4924 | something is unable to find ``.so`` libraries, check where these | 4922 | something is unable to find ``.so`` libraries, check where these |
@@ -5005,7 +5003,7 @@ working in an image: | |||
5005 | Known Issues | 5003 | Known Issues |
5006 | ------------ | 5004 | ------------ |
5007 | 5005 | ||
5008 | The following know issues exist for GObject Introspection Support: | 5006 | Here are know issues in GObject Introspection Support: |
5009 | 5007 | ||
5010 | - ``qemu-ppc64`` immediately crashes. Consequently, you cannot build | 5008 | - ``qemu-ppc64`` immediately crashes. Consequently, you cannot build |
5011 | introspection data on that architecture. | 5009 | introspection data on that architecture. |
@@ -5184,7 +5182,7 @@ For example, the following returns overview help for Wic:: | |||
5184 | 5182 | ||
5185 | $ wic help overview | 5183 | $ wic help overview |
5186 | 5184 | ||
5187 | One additional level of help exists for Wic. You can get help on | 5185 | There is one additional level of help for Wic. You can get help on |
5188 | individual images through the ``list`` command. You can use the ``list`` | 5186 | individual images through the ``list`` command. You can use the ``list`` |
5189 | command to return the available Wic images as follows:: | 5187 | command to return the available Wic images as follows:: |
5190 | 5188 | ||
@@ -5872,8 +5870,8 @@ your image more secure. | |||
5872 | General Considerations | 5870 | General Considerations |
5873 | ---------------------- | 5871 | ---------------------- |
5874 | 5872 | ||
5875 | General considerations exist that help you create more secure images. | 5873 | There are general considerations that help you create more secure images. |
5876 | You should consider the following suggestions to help make your device | 5874 | You should consider the following suggestions to make your device |
5877 | more secure: | 5875 | more secure: |
5878 | 5876 | ||
5879 | - Scan additional code you are adding to the system (e.g. application | 5877 | - Scan additional code you are adding to the system (e.g. application |
@@ -6210,8 +6208,8 @@ or to not install a package at all. | |||
6210 | 6208 | ||
6211 | The following list introduces variables you can use to prevent packages | 6209 | The following list introduces variables you can use to prevent packages |
6212 | from being installed into your image. Each of these variables only works | 6210 | from being installed into your image. Each of these variables only works |
6213 | with IPK and RPM package types. Support for Debian packages does not | 6211 | with IPK and RPM package types, not for Debian packages. |
6214 | exist. Also, you can use these variables from your ``local.conf`` file | 6212 | Also, you can use these variables from your ``local.conf`` file |
6215 | or attach them to a specific image recipe by using a recipe name | 6213 | or attach them to a specific image recipe by using a recipe name |
6216 | override. For more detail on the variables, see the descriptions in the | 6214 | override. For more detail on the variables, see the descriptions in the |
6217 | Yocto Project Reference Manual's glossary chapter. | 6215 | Yocto Project Reference Manual's glossary chapter. |
@@ -6285,7 +6283,7 @@ maintain a package feed that is compatible with existing package manager | |||
6285 | applications such as RPM, APT, and OPKG, using an automated system is | 6283 | applications such as RPM, APT, and OPKG, using an automated system is |
6286 | much preferred over a manual system. In either system, the main | 6284 | much preferred over a manual system. In either system, the main |
6287 | requirement is that binary package version numbering increases in a | 6285 | requirement is that binary package version numbering increases in a |
6288 | linear fashion and that a number of version components exist that | 6286 | linear fashion and that there is a number of version components that |
6289 | support that linear progression. For information on how to ensure | 6287 | support that linear progression. For information on how to ensure |
6290 | package revisioning remains linear, see the | 6288 | package revisioning remains linear, see the |
6291 | ":ref:`dev-manual/common-tasks:automatically incrementing a package version number`" | 6289 | ":ref:`dev-manual/common-tasks:automatically incrementing a package version number`" |
@@ -6342,7 +6340,7 @@ generated are just "self consistent". The build system adds and removes | |||
6342 | packages and there are no guarantees about upgrade paths but images will | 6340 | packages and there are no guarantees about upgrade paths but images will |
6343 | be consistent and correct with the latest changes. | 6341 | be consistent and correct with the latest changes. |
6344 | 6342 | ||
6345 | The simplest form for a PR Service is for it to exist for a single host | 6343 | The simplest form for a PR Service is for a single host |
6346 | development system that builds the package feed (building system). For | 6344 | development system that builds the package feed (building system). For |
6347 | this scenario, you can enable a local PR Service by setting | 6345 | this scenario, you can enable a local PR Service by setting |
6348 | :term:`PRSERV_HOST` in your | 6346 | :term:`PRSERV_HOST` in your |
@@ -6545,7 +6543,7 @@ The previous example specifies a number of things in the call to | |||
6545 | "Lighttpd module for alias". | 6543 | "Lighttpd module for alias". |
6546 | 6544 | ||
6547 | Often, packaging modules is as simple as the previous example. However, | 6545 | Often, packaging modules is as simple as the previous example. However, |
6548 | more advanced options exist that you can use within | 6546 | there are more advanced options that you can use within |
6549 | ``do_split_packages`` to modify its behavior. And, if you need to, you | 6547 | ``do_split_packages`` to modify its behavior. And, if you need to, you |
6550 | can add more logic by specifying a hook function that is called for each | 6548 | can add more logic by specifying a hook function that is called for each |
6551 | package. It is also perfectly acceptable to call ``do_split_packages`` | 6549 | package. It is also perfectly acceptable to call ``do_split_packages`` |
@@ -7024,7 +7022,7 @@ file:: | |||
7024 | `passphrase`. | 7022 | `passphrase`. |
7025 | 7023 | ||
7026 | Aside from the ``RPM_GPG_NAME`` and ``RPM_GPG_PASSPHRASE`` variables in | 7024 | Aside from the ``RPM_GPG_NAME`` and ``RPM_GPG_PASSPHRASE`` variables in |
7027 | the previous example, two optional variables related to signing exist: | 7025 | the previous example, two optional variables related to signing are available: |
7028 | 7026 | ||
7029 | - *GPG_BIN:* Specifies a ``gpg`` binary/wrapper that is executed | 7027 | - *GPG_BIN:* Specifies a ``gpg`` binary/wrapper that is executed |
7030 | when the package is signed. | 7028 | when the package is signed. |
@@ -7046,14 +7044,14 @@ your ``local.config`` or ``distro.config`` file:: | |||
7046 | PACKAGE_FEED_GPG_NAME = "key_name" | 7044 | PACKAGE_FEED_GPG_NAME = "key_name" |
7047 | PACKAGE_FEED_GPG_PASSPHRASE_FILE = "path_to_file_containing_passphrase" | 7045 | PACKAGE_FEED_GPG_PASSPHRASE_FILE = "path_to_file_containing_passphrase" |
7048 | 7046 | ||
7049 | For signed package feeds, the passphrase must exist in a separate file, | 7047 | For signed package feeds, the passphrase must be specified in a separate file, |
7050 | which is pointed to by the ``PACKAGE_FEED_GPG_PASSPHRASE_FILE`` | 7048 | which is pointed to by the ``PACKAGE_FEED_GPG_PASSPHRASE_FILE`` |
7051 | variable. Regarding security, keeping a plain text passphrase out of the | 7049 | variable. Regarding security, keeping a plain text passphrase out of the |
7052 | configuration is more secure. | 7050 | configuration is more secure. |
7053 | 7051 | ||
7054 | Aside from the ``PACKAGE_FEED_GPG_NAME`` and | 7052 | Aside from the ``PACKAGE_FEED_GPG_NAME`` and |
7055 | ``PACKAGE_FEED_GPG_PASSPHRASE_FILE`` variables, three optional variables | 7053 | ``PACKAGE_FEED_GPG_PASSPHRASE_FILE`` variables, three optional variables |
7056 | related to signed package feeds exist: | 7054 | related to signed package feeds are available: |
7057 | 7055 | ||
7058 | - *GPG_BIN* Specifies a ``gpg`` binary/wrapper that is executed | 7056 | - *GPG_BIN* Specifies a ``gpg`` binary/wrapper that is executed |
7059 | when the package is signed. | 7057 | when the package is signed. |
@@ -7192,7 +7190,7 @@ use this fetcher in combination with | |||
7192 | :doc:`devtool </ref-manual/devtool-reference>` to create | 7190 | :doc:`devtool </ref-manual/devtool-reference>` to create |
7193 | recipes that produce NPM packages. | 7191 | recipes that produce NPM packages. |
7194 | 7192 | ||
7195 | Two workflows exist that allow you to create NPM packages using | 7193 | There are two workflows that allow you to create NPM packages using |
7196 | ``devtool``: the NPM registry modules method and the NPM project code | 7194 | ``devtool``: the NPM registry modules method and the NPM project code |
7197 | method. | 7195 | method. |
7198 | 7196 | ||
@@ -7296,7 +7294,7 @@ The ``devtool edit-recipe`` command lets you take a look at the recipe:: | |||
7296 | ... | 7294 | ... |
7297 | LICENSE_${PN}-vary = "MIT" | 7295 | LICENSE_${PN}-vary = "MIT" |
7298 | 7296 | ||
7299 | Three key points exist in the previous example: | 7297 | Here are three key points in the previous example: |
7300 | 7298 | ||
7301 | - :term:`SRC_URI` uses the NPM | 7299 | - :term:`SRC_URI` uses the NPM |
7302 | scheme so that the NPM fetcher is used. | 7300 | scheme so that the NPM fetcher is used. |
@@ -7488,7 +7486,7 @@ Selecting an Initialization Manager | |||
7488 | =================================== | 7486 | =================================== |
7489 | 7487 | ||
7490 | By default, the Yocto Project uses SysVinit as the initialization | 7488 | By default, the Yocto Project uses SysVinit as the initialization |
7491 | manager. However, support also exists for systemd, which is a full | 7489 | manager. However, there is also support for systemd, which is a full |
7492 | replacement for init with parallel starting of services, reduced shell | 7490 | replacement for init with parallel starting of services, reduced shell |
7493 | overhead and other features that are used by many distributions. | 7491 | overhead and other features that are used by many distributions. |
7494 | 7492 | ||
@@ -7794,7 +7792,7 @@ link to the built library and that library will be pulled into your | |||
7794 | image along with the new software even if you did not want the library. | 7792 | image along with the new software even if you did not want the library. |
7795 | 7793 | ||
7796 | The :ref:`buildhistory <ref-classes-buildhistory>` | 7794 | The :ref:`buildhistory <ref-classes-buildhistory>` |
7797 | class exists to help you maintain the quality of your build output. You | 7795 | class helps you maintain the quality of your build output. You |
7798 | can use the class to highlight unexpected and possibly unwanted changes | 7796 | can use the class to highlight unexpected and possibly unwanted changes |
7799 | in the build output. When you enable build history, it records | 7797 | in the build output. When you enable build history, it records |
7800 | information about the contents of each package and image and then | 7798 | information about the contents of each package and image and then |
@@ -7849,7 +7847,7 @@ variable. Here is an example abbreviated listing: | |||
7849 | .. image:: figures/buildhistory.png | 7847 | .. image:: figures/buildhistory.png |
7850 | :align: center | 7848 | :align: center |
7851 | 7849 | ||
7852 | At the top level, a ``metadata-revs`` file exists that lists the | 7850 | At the top level, there is a ``metadata-revs`` file that lists the |
7853 | revisions of the repositories for the enabled layers when the build was | 7851 | revisions of the repositories for the enabled layers when the build was |
7854 | produced. The rest of the data splits into separate ``packages``, | 7852 | produced. The rest of the data splits into separate ``packages``, |
7855 | ``images`` and ``sdk`` directories, the contents of which are described | 7853 | ``images`` and ``sdk`` directories, the contents of which are described |
@@ -7885,7 +7883,7 @@ The exceptions are ``FILELIST``, which is the actual list of files in | |||
7885 | the package, and ``PKGSIZE``, which is the total size of files in the | 7883 | the package, and ``PKGSIZE``, which is the total size of files in the |
7886 | package in bytes. | 7884 | package in bytes. |
7887 | 7885 | ||
7888 | A file also exists that corresponds to the recipe from which the package | 7886 | There is also a file that corresponds to the recipe from which the package |
7889 | came (e.g. ``buildhistory/packages/i586-poky-linux/busybox/latest``): | 7887 | came (e.g. ``buildhistory/packages/i586-poky-linux/busybox/latest``): |
7890 | 7888 | ||
7891 | .. code-block:: none | 7889 | .. code-block:: none |
@@ -7900,8 +7898,8 @@ came (e.g. ``buildhistory/packages/i586-poky-linux/busybox/latest``): | |||
7900 | busybox-staticdev busybox-dev busybox-doc busybox-locale busybox | 7898 | busybox-staticdev busybox-dev busybox-doc busybox-locale busybox |
7901 | 7899 | ||
7902 | Finally, for those recipes fetched from a version control system (e.g., | 7900 | Finally, for those recipes fetched from a version control system (e.g., |
7903 | Git), a file exists that lists source revisions that are specified in | 7901 | Git), there is a file that lists source revisions that are specified in |
7904 | the recipe and lists the actual revisions used during the build. Listed | 7902 | the recipe and the actual revisions used during the build. Listed |
7905 | and actual revisions might differ when | 7903 | and actual revisions might differ when |
7906 | :term:`SRCREV` is set to | 7904 | :term:`SRCREV` is set to |
7907 | ${:term:`AUTOREV`}. Here is an | 7905 | ${:term:`AUTOREV`}. Here is an |
@@ -8141,7 +8139,7 @@ You need to realize, | |||
8141 | however, that this method does show changes that are not significant | 8139 | however, that this method does show changes that are not significant |
8142 | (e.g. a package's size changing by a few bytes). | 8140 | (e.g. a package's size changing by a few bytes). |
8143 | 8141 | ||
8144 | A command-line tool called ``buildhistory-diff`` does exist, though, | 8142 | There is a command-line tool called ``buildhistory-diff``, though, |
8145 | that queries the Git repository and prints just the differences that | 8143 | that queries the Git repository and prints just the differences that |
8146 | might be significant in human-readable form. Here is an example:: | 8144 | might be significant in human-readable form. Here is an example:: |
8147 | 8145 | ||
@@ -8315,7 +8313,7 @@ the MAC address of the device. | |||
8315 | In order to run tests on hardware, you need to set ``TEST_TARGET`` to an | 8313 | In order to run tests on hardware, you need to set ``TEST_TARGET`` to an |
8316 | appropriate value. For QEMU, you do not have to change anything, the | 8314 | appropriate value. For QEMU, you do not have to change anything, the |
8317 | default value is "qemu". For running tests on hardware, the following | 8315 | default value is "qemu". For running tests on hardware, the following |
8318 | options exist: | 8316 | options are available: |
8319 | 8317 | ||
8320 | - *"simpleremote":* Choose "simpleremote" if you are going to run tests | 8318 | - *"simpleremote":* Choose "simpleremote" if you are going to run tests |
8321 | on a target system that is already running the image to be tested and | 8319 | on a target system that is already running the image to be tested and |
@@ -8639,7 +8637,7 @@ layer's ``layer.conf`` file as normal). Just remember the following: | |||
8639 | 8637 | ||
8640 | - Do not use module names that collide with existing core tests. | 8638 | - Do not use module names that collide with existing core tests. |
8641 | 8639 | ||
8642 | - Minimally, an empty ``__init__.py`` file must exist in the runtime | 8640 | - Minimally, an empty ``__init__.py`` file must be present in the runtime |
8643 | directory. | 8641 | directory. |
8644 | 8642 | ||
8645 | To create a new test, start by copying an existing module (e.g. | 8643 | To create a new test, start by copying an existing module (e.g. |
@@ -8719,7 +8717,7 @@ Class attributes are as follows: | |||
8719 | Instance Attributes | 8717 | Instance Attributes |
8720 | ~~~~~~~~~~~~~~~~~~~ | 8718 | ~~~~~~~~~~~~~~~~~~~ |
8721 | 8719 | ||
8722 | A single instance attribute exists, which is ``target``. The ``target`` | 8720 | There is a single instance attribute, which is ``target``. The ``target`` |
8723 | instance attribute is identical to the class attribute of the same name, | 8721 | instance attribute is identical to the class attribute of the same name, |
8724 | which is described in the previous section. This attribute exists as | 8722 | which is described in the previous section. This attribute exists as |
8725 | both an instance and class attribute so tests can use | 8723 | both an instance and class attribute so tests can use |
@@ -9348,7 +9346,7 @@ Recipe Logging Mechanisms | |||
9348 | 9346 | ||
9349 | The Yocto Project provides several logging functions for producing | 9347 | The Yocto Project provides several logging functions for producing |
9350 | debugging output and reporting errors and warnings. For Python | 9348 | debugging output and reporting errors and warnings. For Python |
9351 | functions, the following logging functions exist. All of these functions | 9349 | functions, the following logging functions are available. All of these functions |
9352 | log to ``${T}/log.do_``\ `task`, and can also log to standard output | 9350 | log to ``${T}/log.do_``\ `task`, and can also log to standard output |
9353 | (stdout) with the right settings: | 9351 | (stdout) with the right settings: |
9354 | 9352 | ||
@@ -9454,8 +9452,8 @@ A parallel ``make`` race occurs when the build consists of several parts | |||
9454 | that are run simultaneously and a situation occurs when the output or | 9452 | that are run simultaneously and a situation occurs when the output or |
9455 | result of one part is not ready for use with a different part of the | 9453 | result of one part is not ready for use with a different part of the |
9456 | build that depends on that output. Parallel make races are annoying and | 9454 | build that depends on that output. Parallel make races are annoying and |
9457 | can sometimes be difficult to reproduce and fix. However, some simple | 9455 | can sometimes be difficult to reproduce and fix. However, there are some simple |
9458 | tips and tricks exist that can help you debug and fix them. This section | 9456 | tips and tricks that can help you debug and fix them. This section |
9459 | presents a real-world example of an error encountered on the Yocto | 9457 | presents a real-world example of an error encountered on the Yocto |
9460 | Project autobuilder and the process used to fix it. | 9458 | Project autobuilder and the process used to fix it. |
9461 | 9459 | ||
@@ -9578,7 +9576,7 @@ In the ``devshell``, do the following:: | |||
9578 | $ make tools/snep-send.o | 9576 | $ make tools/snep-send.o |
9579 | 9577 | ||
9580 | The ``devshell`` commands cause the failure to clearly | 9578 | The ``devshell`` commands cause the failure to clearly |
9581 | be visible. In this case, a missing dependency exists for the "neard" | 9579 | be visible. In this case, there is a missing dependency for the ``neard`` |
9582 | Makefile target. Here is some abbreviated, sample output with the | 9580 | Makefile target. Here is some abbreviated, sample output with the |
9583 | missing dependency clearly visible at the end:: | 9581 | missing dependency clearly visible at the end:: |
9584 | 9582 | ||
@@ -9623,9 +9621,8 @@ patch:: | |||
9623 | $ quilt refresh | 9621 | $ quilt refresh |
9624 | Refreshed patch patches/parallelmake.patch | 9622 | Refreshed patch patches/parallelmake.patch |
9625 | 9623 | ||
9626 | Once | 9624 | Once the patch file is created, you need to add it back to the originating |
9627 | the patch file exists, you need to add it back to the originating recipe | 9625 | recipe folder. Here is an example assuming a top-level |
9628 | folder. Here is an example assuming a top-level | ||
9629 | :term:`Source Directory` named ``poky``:: | 9626 | :term:`Source Directory` named ``poky``:: |
9630 | 9627 | ||
9631 | $ cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard | 9628 | $ cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard |
@@ -10119,7 +10116,7 @@ specific uses. | |||
10119 | 10116 | ||
10120 | The Yocto Project uses a mailing list and a patch-based workflow that is | 10117 | The Yocto Project uses a mailing list and a patch-based workflow that is |
10121 | similar to the Linux kernel but contains important differences. In | 10118 | similar to the Linux kernel but contains important differences. In |
10122 | general, a mailing list exists through which you can submit patches. You | 10119 | general, there is a mailing list through which you can submit patches. You |
10123 | should send patches to the appropriate mailing list so that they can be | 10120 | should send patches to the appropriate mailing list so that they can be |
10124 | reviewed and merged by the appropriate maintainer. The specific mailing | 10121 | reviewed and merged by the appropriate maintainer. The specific mailing |
10125 | list you need to use depends on the location of the code you are | 10122 | list you need to use depends on the location of the code you are |
@@ -10796,8 +10793,8 @@ Here are some other scenarios: | |||
10796 | Other Variables Related to Commercial Licenses | 10793 | Other Variables Related to Commercial Licenses |
10797 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 10794 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
10798 | 10795 | ||
10799 | Other helpful variables related to commercial license handling exist and | 10796 | There are other helpful variables related to commercial license handling, |
10800 | are defined in the | 10797 | defined in the |
10801 | ``poky/meta/conf/distro/include/default-distrovars.inc`` file:: | 10798 | ``poky/meta/conf/distro/include/default-distrovars.inc`` file:: |
10802 | 10799 | ||
10803 | COMMERCIAL_AUDIO_PLUGINS ?= "" | 10800 | COMMERCIAL_AUDIO_PLUGINS ?= "" |
@@ -10841,7 +10838,7 @@ requirements during a software release. | |||
10841 | With hundreds of different open source licenses that the Yocto Project | 10838 | With hundreds of different open source licenses that the Yocto Project |
10842 | tracks, it is difficult to know the requirements of each and every | 10839 | tracks, it is difficult to know the requirements of each and every |
10843 | license. However, the requirements of the major FLOSS licenses can begin | 10840 | license. However, the requirements of the major FLOSS licenses can begin |
10844 | to be covered by assuming that three main areas of concern exist: | 10841 | to be covered by assuming that there are three main areas of concern: |
10845 | 10842 | ||
10846 | - Source code must be provided. | 10843 | - Source code must be provided. |
10847 | 10844 | ||
@@ -11105,9 +11102,9 @@ portion is integrated with the installed Yocto Project | |||
11105 | The server receives the information collected and saves it in a | 11102 | The server receives the information collected and saves it in a |
11106 | database. | 11103 | database. |
11107 | 11104 | ||
11108 | A live instance of the error reporting server exists at | 11105 | There is a live instance of the error reporting server at |
11109 | https://errors.yoctoproject.org. This server exists so that when | 11106 | https://errors.yoctoproject.org. |
11110 | you want to get help with build failures, you can submit all of the | 11107 | When you want to get help with build failures, you can submit all of the |
11111 | information on the failure easily and then point to the URL in your bug | 11108 | information on the failure easily and then point to the URL in your bug |
11112 | report or send an email to the mailing list. | 11109 | report or send an email to the mailing list. |
11113 | 11110 | ||
diff --git a/documentation/dev-manual/qemu.rst b/documentation/dev-manual/qemu.rst index f7366938dd..88a63c1808 100644 --- a/documentation/dev-manual/qemu.rst +++ b/documentation/dev-manual/qemu.rst | |||
@@ -275,7 +275,7 @@ present, the toolchain is also automatically used. | |||
275 | 275 | ||
276 | .. note:: | 276 | .. note:: |
277 | 277 | ||
278 | Several mechanisms exist that let you connect to the system running | 278 | There are several mechanisms to connect to the system running |
279 | on the QEMU emulator: | 279 | on the QEMU emulator: |
280 | 280 | ||
281 | - QEMU provides a framebuffer interface that makes standard consoles | 281 | - QEMU provides a framebuffer interface that makes standard consoles |
@@ -286,7 +286,7 @@ present, the toolchain is also automatically used. | |||
286 | that port to run a console. The connection uses standard IP | 286 | that port to run a console. The connection uses standard IP |
287 | networking. | 287 | networking. |
288 | 288 | ||
289 | - SSH servers exist in some QEMU images. The ``core-image-sato`` | 289 | - SSH servers are available in some QEMU images. The ``core-image-sato`` |
290 | QEMU image has a Dropbear secure shell (SSH) server that runs with | 290 | QEMU image has a Dropbear secure shell (SSH) server that runs with |
291 | the root password disabled. The ``core-image-full-cmdline`` and | 291 | the root password disabled. The ``core-image-full-cmdline`` and |
292 | ``core-image-lsb`` QEMU images have OpenSSH instead of Dropbear. | 292 | ``core-image-lsb`` QEMU images have OpenSSH instead of Dropbear. |
diff --git a/documentation/dev-manual/start.rst b/documentation/dev-manual/start.rst index 18fd8ccf60..c3276c9502 100644 --- a/documentation/dev-manual/start.rst +++ b/documentation/dev-manual/start.rst | |||
@@ -36,7 +36,7 @@ particular working environment and set of practices. | |||
36 | equipment together and set up your development environment's | 36 | equipment together and set up your development environment's |
37 | hardware topology. | 37 | hardware topology. |
38 | 38 | ||
39 | The following roles exist: | 39 | Here are possible roles: |
40 | 40 | ||
41 | - *Application Developer:* This type of developer does application | 41 | - *Application Developer:* This type of developer does application |
42 | level work on top of an existing software stack. | 42 | level work on top of an existing software stack. |
@@ -99,8 +99,7 @@ particular working environment and set of practices. | |||
99 | .. note:: | 99 | .. note:: |
100 | 100 | ||
101 | The setup of these services is beyond the scope of this manual. | 101 | The setup of these services is beyond the scope of this manual. |
102 | However, sites such as the following exist that describe how to | 102 | However, here are sites describing how to perform setup: |
103 | perform setup: | ||
104 | 103 | ||
105 | - `Gitolite <https://gitolite.com>`__: Information for | 104 | - `Gitolite <https://gitolite.com>`__: Information for |
106 | ``gitolite``. | 105 | ``gitolite``. |
@@ -190,7 +189,7 @@ particular working environment and set of practices. | |||
190 | develop locally using their primary development system. | 189 | develop locally using their primary development system. |
191 | 190 | ||
192 | 9. *Document Policies and Change Flow:* The Yocto Project uses a | 191 | 9. *Document Policies and Change Flow:* The Yocto Project uses a |
193 | hierarchical structure and a pull model. Scripts exist to create and | 192 | hierarchical structure and a pull model. There are scripts to create and |
194 | send pull requests (i.e. ``create-pull-request`` and | 193 | send pull requests (i.e. ``create-pull-request`` and |
195 | ``send-pull-request``). This model is in line with other open source | 194 | ``send-pull-request``). This model is in line with other open source |
196 | projects where maintainers are responsible for specific areas of the | 195 | projects where maintainers are responsible for specific areas of the |
@@ -215,8 +214,8 @@ particular working environment and set of practices. | |||
215 | someone else in the community needs them also. | 214 | someone else in the community needs them also. |
216 | 215 | ||
217 | 10. *Development Environment Summary:* Aside from the previous steps, | 216 | 10. *Development Environment Summary:* Aside from the previous steps, |
218 | some best practices exist within the Yocto Project development | 217 | here are best practices within the Yocto Project development |
219 | environment. Consider the following: | 218 | environment: |
220 | 219 | ||
221 | - Use :ref:`overview-manual/development-environment:git` as the source control | 220 | - Use :ref:`overview-manual/development-environment:git` as the source control |
222 | system. | 221 | system. |
@@ -607,8 +606,8 @@ of a given component. | |||
607 | 606 | ||
608 | The recommended method for accessing Yocto Project components is to | 607 | The recommended method for accessing Yocto Project components is to |
609 | use Git to clone the upstream repository and work from within that | 608 | use Git to clone the upstream repository and work from within that |
610 | locally cloned repository. The procedure in this section exists | 609 | locally cloned repository. However, this section documents how to |
611 | should you desire a tarball snapshot of any given component. | 610 | use a tarball snapshot of any given component. |
612 | 611 | ||
613 | Follow these steps to locate and download a particular tarball: | 612 | Follow these steps to locate and download a particular tarball: |
614 | 613 | ||
@@ -645,13 +644,6 @@ release. Rather than Git repositories, these files represent snapshot | |||
645 | tarballs similar to the tarballs located in the Index of Releases | 644 | tarballs similar to the tarballs located in the Index of Releases |
646 | described in the ":ref:`dev-manual/start:accessing index of releases`" section. | 645 | described in the ":ref:`dev-manual/start:accessing index of releases`" section. |
647 | 646 | ||
648 | .. note:: | ||
649 | |||
650 | The recommended method for accessing Yocto Project components is to | ||
651 | use Git to clone a repository and work from within that local | ||
652 | repository. The procedure in this section exists should you desire a | ||
653 | tarball snapshot of any given component. | ||
654 | |||
655 | 1. *Go to the Yocto Project Website:* Open The | 647 | 1. *Go to the Yocto Project Website:* Open The |
656 | :yocto_home:`Yocto Project Website <>` in your browser. | 648 | :yocto_home:`Yocto Project Website <>` in your browser. |
657 | 649 | ||
@@ -750,8 +742,8 @@ Follow these steps to create a local version of the upstream | |||
750 | ":ref:`dev-manual/start:checking out by tag in poky`" sections, respectively. | 742 | ":ref:`dev-manual/start:checking out by tag in poky`" sections, respectively. |
751 | 743 | ||
752 | Once the local repository is created, you can change to that | 744 | Once the local repository is created, you can change to that |
753 | directory and check its status. Here, the single "master" branch | 745 | directory and check its status. The ``master`` branch is checked out |
754 | exists on your system and by default, it is checked out:: | 746 | by default:: |
755 | 747 | ||
756 | $ cd poky | 748 | $ cd poky |
757 | $ git status | 749 | $ git status |