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