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 | |||