diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-15 23:00:15 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-17 10:09:35 +0100 |
| commit | dd8c9b74d3b46aed6d1315af83769ff29109b65a (patch) | |
| tree | 075ae3b1c81896476e752a944796071f1b8e18bb /documentation/ref-manual/migration-1.7.rst | |
| parent | 1c9db6ef7f239dc097ee4d9ef6922d93c3c3c711 (diff) | |
| download | poky-dd8c9b74d3b46aed6d1315af83769ff29109b65a.tar.gz | |
sphinx: ref-manual/migration: Split each release into its own file
This avoids the duplicate heading warnings at the slight expense
of more directory clutter.
(From yocto-docs rev: ef896d71836aa3bd6c926b36976a9c45d5f2ca15)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/migration-1.7.rst')
| -rw-r--r-- | documentation/ref-manual/migration-1.7.rst | 225 |
1 files changed, 225 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration-1.7.rst b/documentation/ref-manual/migration-1.7.rst new file mode 100644 index 0000000000..82fd37d3a9 --- /dev/null +++ b/documentation/ref-manual/migration-1.7.rst | |||
| @@ -0,0 +1,225 @@ | |||
| 1 | Moving to the Yocto Project 1.7 Release | ||
| 2 | ======================================= | ||
| 3 | |||
| 4 | This section provides migration information for moving to the Yocto | ||
| 5 | Project 1.7 Release from the prior release. | ||
| 6 | |||
| 7 | .. _migration-1.7-changes-to-setting-qemu-packageconfig-options: | ||
| 8 | |||
| 9 | Changes to Setting QEMU ``PACKAGECONFIG`` Options in ``local.conf`` | ||
| 10 | ------------------------------------------------------------------- | ||
| 11 | |||
| 12 | The QEMU recipe now uses a number of | ||
| 13 | :term:`PACKAGECONFIG` options to enable various | ||
| 14 | optional features. The method used to set defaults for these options | ||
| 15 | means that existing ``local.conf`` files will need to be be modified to | ||
| 16 | append to ``PACKAGECONFIG`` for ``qemu-native`` and ``nativesdk-qemu`` | ||
| 17 | instead of setting it. In other words, to enable graphical output for | ||
| 18 | QEMU, you should now have these lines in ``local.conf``: | ||
| 19 | :: | ||
| 20 | |||
| 21 | PACKAGECONFIG_append_pn-qemu-native = " sdl" | ||
| 22 | PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" | ||
| 23 | |||
| 24 | .. _migration-1.7-minimum-git-version: | ||
| 25 | |||
| 26 | Minimum Git version | ||
| 27 | ------------------- | ||
| 28 | |||
| 29 | The minimum :ref:`overview-manual/overview-manual-development-environment:git` | ||
| 30 | version required on the | ||
| 31 | build host is now 1.7.8 because the ``--list`` option is now required by | ||
| 32 | BitBake's Git fetcher. As always, if your host distribution does not | ||
| 33 | provide a version of Git that meets this requirement, you can use the | ||
| 34 | ``buildtools-tarball`` that does. See the "`Required Git, tar, Python | ||
| 35 | and gcc Versions <#required-git-tar-python-and-gcc-versions>`__" section | ||
| 36 | for more information. | ||
| 37 | |||
| 38 | .. _migration-1.7-autotools-class-changes: | ||
| 39 | |||
| 40 | Autotools Class Changes | ||
| 41 | ----------------------- | ||
| 42 | |||
| 43 | The following :ref:`autotools <ref-classes-autotools>` class changes | ||
| 44 | occurred: | ||
| 45 | |||
| 46 | - *A separate build directory is now used by default:* The | ||
| 47 | ``autotools`` class has been changed to use a directory for building | ||
| 48 | (:term:`B`), which is separate from the source directory | ||
| 49 | (:term:`S`). This is commonly referred to as ``B != S``, or | ||
| 50 | an out-of-tree build. | ||
| 51 | |||
| 52 | If the software being built is already capable of building in a | ||
| 53 | directory separate from the source, you do not need to do anything. | ||
| 54 | However, if the software is not capable of being built in this | ||
| 55 | manner, you will need to either patch the software so that it can | ||
| 56 | build separately, or you will need to change the recipe to inherit | ||
| 57 | the :ref:`autotools-brokensep <ref-classes-autotools>` class | ||
| 58 | instead of the ``autotools`` or ``autotools_stage`` classes. | ||
| 59 | |||
| 60 | - The ``--foreign`` option is no longer passed to ``automake`` when | ||
| 61 | running ``autoconf``: This option tells ``automake`` that a | ||
| 62 | particular software package does not follow the GNU standards and | ||
| 63 | therefore should not be expected to distribute certain files such as | ||
| 64 | ``ChangeLog``, ``AUTHORS``, and so forth. Because the majority of | ||
| 65 | upstream software packages already tell ``automake`` to enable | ||
| 66 | foreign mode themselves, the option is mostly superfluous. However, | ||
| 67 | some recipes will need patches for this change. You can easily make | ||
| 68 | the change by patching ``configure.ac`` so that it passes "foreign" | ||
| 69 | to ``AM_INIT_AUTOMAKE()``. See `this | ||
| 70 | commit <http://cgit.openembedded.org/openembedded-core/commit/?id=01943188f85ce6411717fb5bf702d609f55813f2>`__ | ||
| 71 | for an example showing how to make the patch. | ||
| 72 | |||
| 73 | .. _migration-1.7-binary-configuration-scripts-disabled: | ||
| 74 | |||
| 75 | Binary Configuration Scripts Disabled | ||
| 76 | ------------------------------------- | ||
| 77 | |||
| 78 | Some of the core recipes that package binary configuration scripts now | ||
| 79 | disable the scripts due to the scripts previously requiring error-prone | ||
| 80 | path substitution. Software that links against these libraries using | ||
| 81 | these scripts should use the much more robust ``pkg-config`` instead. | ||
| 82 | The list of recipes changed in this version (and their configuration | ||
| 83 | scripts) is as follows: | ||
| 84 | :: | ||
| 85 | |||
| 86 | directfb (directfb-config) | ||
| 87 | freetype (freetype-config) | ||
| 88 | gpgme (gpgme-config) | ||
| 89 | libassuan (libassuan-config) | ||
| 90 | libcroco (croco-6.0-config) | ||
| 91 | libgcrypt (libgcrypt-config) | ||
| 92 | libgpg-error (gpg-error-config) | ||
| 93 | libksba (ksba-config) | ||
| 94 | libpcap (pcap-config) | ||
| 95 | libpcre (pcre-config) | ||
| 96 | libpng (libpng-config, libpng16-config) | ||
| 97 | libsdl (sdl-config) | ||
| 98 | libusb-compat (libusb-config) | ||
| 99 | libxml2 (xml2-config) | ||
| 100 | libxslt (xslt-config) | ||
| 101 | ncurses (ncurses-config) | ||
| 102 | neon (neon-config) | ||
| 103 | npth (npth-config) | ||
| 104 | pth (pth-config) | ||
| 105 | taglib (taglib-config) | ||
| 106 | |||
| 107 | Additionally, support for ``pkg-config`` has been added to some recipes in the | ||
| 108 | previous list in the rare cases where the upstream software package does | ||
| 109 | not already provide it. | ||
| 110 | |||
| 111 | .. _migration-1.7-glibc-replaces-eglibc: | ||
| 112 | |||
| 113 | ``eglibc 2.19`` Replaced with ``glibc 2.20`` | ||
| 114 | -------------------------------------------- | ||
| 115 | |||
| 116 | Because ``eglibc`` and ``glibc`` were already fairly close, this | ||
| 117 | replacement should not require any significant changes to other software | ||
| 118 | that links to ``eglibc``. However, there were a number of minor changes | ||
| 119 | in ``glibc 2.20`` upstream that could require patching some software | ||
| 120 | (e.g. the removal of the ``_BSD_SOURCE`` feature test macro). | ||
| 121 | |||
| 122 | ``glibc 2.20`` requires version 2.6.32 or greater of the Linux kernel. | ||
| 123 | Thus, older kernels will no longer be usable in conjunction with it. | ||
| 124 | |||
| 125 | For full details on the changes in ``glibc 2.20``, see the upstream | ||
| 126 | release notes | ||
| 127 | `here <https://sourceware.org/ml/libc-alpha/2014-09/msg00088.html>`__. | ||
| 128 | |||
| 129 | .. _migration-1.7-kernel-module-autoloading: | ||
| 130 | |||
| 131 | Kernel Module Autoloading | ||
| 132 | ------------------------- | ||
| 133 | |||
| 134 | The :term:`module_autoload_* <module_autoload>` variable is now | ||
| 135 | deprecated and a new | ||
| 136 | :term:`KERNEL_MODULE_AUTOLOAD` variable | ||
| 137 | should be used instead. Also, :term:`module_conf_* <module_conf>` | ||
| 138 | must now be used in conjunction with a new | ||
| 139 | :term:`KERNEL_MODULE_PROBECONF` variable. | ||
| 140 | The new variables no longer require you to specify the module name as | ||
| 141 | part of the variable name. This change not only simplifies usage but | ||
| 142 | also allows the values of these variables to be appropriately | ||
| 143 | incorporated into task signatures and thus trigger the appropriate tasks | ||
| 144 | to re-execute when changed. You should replace any references to | ||
| 145 | ``module_autoload_*`` with ``KERNEL_MODULE_AUTOLOAD``, and add any | ||
| 146 | modules for which ``module_conf_*`` is specified to | ||
| 147 | ``KERNEL_MODULE_PROBECONF``. | ||
| 148 | |||
| 149 | .. _migration-1.7-qa-check-changes: | ||
| 150 | |||
| 151 | QA Check Changes | ||
| 152 | ---------------- | ||
| 153 | |||
| 154 | The following changes have occurred to the QA check process: | ||
| 155 | |||
| 156 | - Additional QA checks ``file-rdeps`` and ``build-deps`` have been | ||
| 157 | added in order to verify that file dependencies are satisfied (e.g. | ||
| 158 | package contains a script requiring ``/bin/bash``) and build-time | ||
| 159 | dependencies are declared, respectively. For more information, please | ||
| 160 | see the "`QA Error and Warning Messages <#ref-qa-checks>`__" chapter. | ||
| 161 | |||
| 162 | - Package QA checks are now performed during a new | ||
| 163 | :ref:`ref-tasks-package_qa` task rather than being | ||
| 164 | part of the :ref:`ref-tasks-package` task. This allows | ||
| 165 | more parallel execution. This change is unlikely to be an issue | ||
| 166 | except for highly customized recipes that disable packaging tasks | ||
| 167 | themselves by marking them as ``noexec``. For those packages, you | ||
| 168 | will need to disable the ``do_package_qa`` task as well. | ||
| 169 | |||
| 170 | - Files being overwritten during the | ||
| 171 | :ref:`ref-tasks-populate_sysroot` task now | ||
| 172 | trigger an error instead of a warning. Recipes should not be | ||
| 173 | overwriting files written to the sysroot by other recipes. If you | ||
| 174 | have these types of recipes, you need to alter them so that they do | ||
| 175 | not overwrite these files. | ||
| 176 | |||
| 177 | You might now receive this error after changes in configuration or | ||
| 178 | metadata resulting in orphaned files being left in the sysroot. If | ||
| 179 | you do receive this error, the way to resolve the issue is to delete | ||
| 180 | your :term:`TMPDIR` or to move it out of the way and | ||
| 181 | then re-start the build. Anything that has been fully built up to | ||
| 182 | that point and does not need rebuilding will be restored from the | ||
| 183 | shared state cache and the rest of the build will be able to proceed | ||
| 184 | as normal. | ||
| 185 | |||
| 186 | .. _migration-1.7-removed-recipes: | ||
| 187 | |||
| 188 | Removed Recipes | ||
| 189 | --------------- | ||
| 190 | |||
| 191 | The following recipes have been removed: | ||
| 192 | |||
| 193 | - ``x-load``: This recipe has been superseded by U-boot SPL for all | ||
| 194 | Cortex-based TI SoCs. For legacy boards, the ``meta-ti`` layer, which | ||
| 195 | contains a maintained recipe, should be used instead. | ||
| 196 | |||
| 197 | - ``ubootchart``: This recipe is obsolete. A ``bootchart2`` recipe has | ||
| 198 | been added to functionally replace it. | ||
| 199 | |||
| 200 | - ``linux-yocto 3.4``: Support for the linux-yocto 3.4 kernel has been | ||
| 201 | dropped. Support for the 3.10 and 3.14 kernels remains, while support | ||
| 202 | for version 3.17 has been added. | ||
| 203 | |||
| 204 | - ``eglibc`` has been removed in favor of ``glibc``. See the | ||
| 205 | "```eglibc 2.19`` Replaced with | ||
| 206 | ``glibc 2.20`` <#migration-1.7-glibc-replaces-eglibc>`__" section for | ||
| 207 | more information. | ||
| 208 | |||
| 209 | .. _migration-1.7-miscellaneous-changes: | ||
| 210 | |||
| 211 | Miscellaneous Changes | ||
| 212 | --------------------- | ||
| 213 | |||
| 214 | The following miscellaneous change occurred: | ||
| 215 | |||
| 216 | - The build history feature now writes ``build-id.txt`` instead of | ||
| 217 | ``build-id``. Additionally, ``build-id.txt`` now contains the full | ||
| 218 | build header as printed by BitBake upon starting the build. You | ||
| 219 | should manually remove old "build-id" files from your existing build | ||
| 220 | history repositories to avoid confusion. For information on the build | ||
| 221 | history feature, see the | ||
| 222 | ":ref:`dev-manual/dev-manual-common-tasks:maintaining build output quality`" | ||
| 223 | section in the Yocto Project Development Tasks Manual. | ||
| 224 | |||
| 225 | |||
