diff options
author | Nicolas Dechesne <nicolas.dechesne@linaro.org> | 2020-11-20 20:17:33 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-01-04 10:55:00 +0000 |
commit | fa0cb4d34b1073f215fa3c680f2316208739d53d (patch) | |
tree | ba89c1f4289fd6456af4409a6a19caf6548dfb9c /documentation/ref-manual/migration-2.0.rst | |
parent | a038e58f3cd82c56102444bdc5ac76c9f1550a0d (diff) | |
download | poky-fa0cb4d34b1073f215fa3c680f2316208739d53d.tar.gz |
sphinx: import docs
The Yocto Project docs was migrated from Docbook to Sphinx in YP
3.2. This 3.1 is an LTS release, and since 3.1 docs are 'close to'
the docs in 3.2, we agreed to backport sphinx docs onto 3.1.
This first patch brings all changes done in 3.2 until:
7f64574f7 README: include detailed information about sphinx
There are other changes after this commit, but they will be
selectively backported in individual patches.
This patch was generated with the following command:
git cherry-pick -n \
$(git log --reverse --oneline \
ac352ad7f95db7eeacb53c2778caa31800bd7c26..7f64574f7 \
| cut -f1 -d' ')
The following commits were applies in the dunfell docs, but not in
master, so they were first reverted (and squashed into this change). A
commit will reintroduce the content from these patches in the Sphinx
files in a followup patch.
069c27574 Documenation: Prepared for the 3.1.1 release
bd140f0f9 Documentation: Add 3.1.1 version updates missing from previous commit
17cc71a8f Documenation: Prepared for the 3.1.2 release
1a69e2c02 Documenation: Prepared for the 3.1.3 release
8910ac1c7 Documenation: Prepared for the 3.1.4 release
(From yocto-docs rev: c25fe058b88b893b0d146f3ed27320b47cdec236)
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/migration-2.0.rst')
-rw-r--r-- | documentation/ref-manual/migration-2.0.rst | 281 |
1 files changed, 281 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration-2.0.rst b/documentation/ref-manual/migration-2.0.rst new file mode 100644 index 0000000000..570486ba00 --- /dev/null +++ b/documentation/ref-manual/migration-2.0.rst | |||
@@ -0,0 +1,281 @@ | |||
1 | Moving to the Yocto Project 2.0 Release | ||
2 | ======================================= | ||
3 | |||
4 | This section provides migration information for moving to the Yocto | ||
5 | Project 2.0 Release from the prior release. | ||
6 | |||
7 | .. _migration-2.0-gcc-5: | ||
8 | |||
9 | GCC 5 | ||
10 | ----- | ||
11 | |||
12 | The default compiler is now GCC 5.2. This change has required fixes for | ||
13 | compilation errors in a number of other recipes. | ||
14 | |||
15 | One important example is a fix for when the Linux kernel freezes at boot | ||
16 | time on ARM when built with GCC 5. If you are using your own kernel | ||
17 | recipe or source tree and building for ARM, you will likely need to | ||
18 | apply this | ||
19 | `patch <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=a077224fd35b2f7fbc93f14cf67074fc792fbac2>`__. | ||
20 | The standard ``linux-yocto`` kernel source tree already has a workaround | ||
21 | for the same issue. | ||
22 | |||
23 | For further details, see https://gcc.gnu.org/gcc-5/changes.html | ||
24 | and the porting guide at | ||
25 | https://gcc.gnu.org/gcc-5/porting_to.html. | ||
26 | |||
27 | Alternatively, you can switch back to GCC 4.9 or 4.8 by setting | ||
28 | ``GCCVERSION`` in your configuration, as follows: | ||
29 | :: | ||
30 | |||
31 | GCCVERSION = "4.9%" | ||
32 | |||
33 | .. _migration-2.0-Gstreamer-0.10-removed: | ||
34 | |||
35 | Gstreamer 0.10 Removed | ||
36 | ---------------------- | ||
37 | |||
38 | Gstreamer 0.10 has been removed in favor of Gstreamer 1.x. As part of | ||
39 | the change, recipes for Gstreamer 0.10 and related software are now | ||
40 | located in ``meta-multimedia``. This change results in Qt4 having Phonon | ||
41 | and Gstreamer support in QtWebkit disabled by default. | ||
42 | |||
43 | .. _migration-2.0-removed-recipes: | ||
44 | |||
45 | Removed Recipes | ||
46 | --------------- | ||
47 | |||
48 | The following recipes have been moved or removed: | ||
49 | |||
50 | - ``bluez4``: The recipe is obsolete and has been moved due to | ||
51 | ``bluez5`` becoming fully integrated. The ``bluez4`` recipe now | ||
52 | resides in ``meta-oe``. | ||
53 | |||
54 | - ``gamin``: The recipe is obsolete and has been removed. | ||
55 | |||
56 | - ``gnome-icon-theme``: The recipe's functionally has been replaced by | ||
57 | ``adwaita-icon-theme``. | ||
58 | |||
59 | - Gstreamer 0.10 Recipes: Recipes for Gstreamer 0.10 have been removed | ||
60 | in favor of the recipes for Gstreamer 1.x. | ||
61 | |||
62 | - ``insserv``: The recipe is obsolete and has been removed. | ||
63 | |||
64 | - ``libunique``: The recipe is no longer used and has been moved to | ||
65 | ``meta-oe``. | ||
66 | |||
67 | - ``midori``: The recipe's functionally has been replaced by | ||
68 | ``epiphany``. | ||
69 | |||
70 | - ``python-gst``: The recipe is obsolete and has been removed since it | ||
71 | only contains bindings for Gstreamer 0.10. | ||
72 | |||
73 | - ``qt-mobility``: The recipe is obsolete and has been removed since it | ||
74 | requires ``Gstreamer 0.10``, which has been replaced. | ||
75 | |||
76 | - ``subversion``: All 1.6.x versions of this recipe have been removed. | ||
77 | |||
78 | - ``webkit-gtk``: The older 1.8.3 version of this recipe has been | ||
79 | removed in favor of ``webkitgtk``. | ||
80 | |||
81 | .. _migration-2.0-bitbake-datastore-improvements: | ||
82 | |||
83 | BitBake datastore improvements | ||
84 | ------------------------------ | ||
85 | |||
86 | The method by which BitBake's datastore handles overrides has changed. | ||
87 | Overrides are now applied dynamically and ``bb.data.update_data()`` is | ||
88 | now a no-op. Thus, ``bb.data.update_data()`` is no longer required in | ||
89 | order to apply the correct overrides. In practice, this change is | ||
90 | unlikely to require any changes to Metadata. However, these minor | ||
91 | changes in behavior exist: | ||
92 | |||
93 | - All potential overrides are now visible in the variable history as | ||
94 | seen when you run the following: | ||
95 | :: | ||
96 | |||
97 | $ bitbake -e | ||
98 | |||
99 | - ``d.delVar('``\ VARNAME\ ``')`` and | ||
100 | ``d.setVar('``\ VARNAME\ ``', None)`` result in the variable and all | ||
101 | of its overrides being cleared out. Before the change, only the | ||
102 | non-overridden values were cleared. | ||
103 | |||
104 | .. _migration-2.0-shell-message-function-changes: | ||
105 | |||
106 | Shell Message Function Changes | ||
107 | ------------------------------ | ||
108 | |||
109 | The shell versions of the BitBake message functions (i.e. ``bbdebug``, | ||
110 | ``bbnote``, ``bbwarn``, ``bbplain``, ``bberror``, and ``bbfatal``) are | ||
111 | now connected through to their BitBake equivalents ``bb.debug()``, | ||
112 | ``bb.note()``, ``bb.warn()``, ``bb.plain()``, ``bb.error()``, and | ||
113 | ``bb.fatal()``, respectively. Thus, those message functions that you | ||
114 | would expect to be printed by the BitBake UI are now actually printed. | ||
115 | In practice, this change means two things: | ||
116 | |||
117 | - If you now see messages on the console that you did not previously | ||
118 | see as a result of this change, you might need to clean up the calls | ||
119 | to ``bbwarn``, ``bberror``, and so forth. Or, you might want to | ||
120 | simply remove the calls. | ||
121 | |||
122 | - The ``bbfatal`` message function now suppresses the full error log in | ||
123 | the UI, which means any calls to ``bbfatal`` where you still wish to | ||
124 | see the full error log should be replaced by ``die`` or | ||
125 | ``bbfatal_log``. | ||
126 | |||
127 | .. _migration-2.0-extra-development-debug-package-cleanup: | ||
128 | |||
129 | Extra Development/Debug Package Cleanup | ||
130 | --------------------------------------- | ||
131 | |||
132 | The following recipes have had extra ``dev/dbg`` packages removed: | ||
133 | |||
134 | - ``acl`` | ||
135 | |||
136 | - ``apmd`` | ||
137 | |||
138 | - ``aspell`` | ||
139 | |||
140 | - ``attr`` | ||
141 | |||
142 | - ``augeas`` | ||
143 | |||
144 | - ``bzip2`` | ||
145 | |||
146 | - ``cogl`` | ||
147 | |||
148 | - ``curl`` | ||
149 | |||
150 | - ``elfutils`` | ||
151 | |||
152 | - ``gcc-target`` | ||
153 | |||
154 | - ``libgcc`` | ||
155 | |||
156 | - ``libtool`` | ||
157 | |||
158 | - ``libxmu`` | ||
159 | |||
160 | - ``opkg`` | ||
161 | |||
162 | - ``pciutils`` | ||
163 | |||
164 | - ``rpm`` | ||
165 | |||
166 | - ``sysfsutils`` | ||
167 | |||
168 | - ``tiff`` | ||
169 | |||
170 | - ``xz`` | ||
171 | |||
172 | All of the above recipes now conform to the standard packaging scheme | ||
173 | where a single ``-dev``, ``-dbg``, and ``-staticdev`` package exists per | ||
174 | recipe. | ||
175 | |||
176 | .. _migration-2.0-recipe-maintenance-tracking-data-moved-to-oe-core: | ||
177 | |||
178 | Recipe Maintenance Tracking Data Moved to OE-Core | ||
179 | ------------------------------------------------- | ||
180 | |||
181 | Maintenance tracking data for recipes that was previously part of | ||
182 | ``meta-yocto`` has been moved to :term:`OpenEmbedded-Core (OE-Core)`. The change | ||
183 | includes ``package_regex.inc`` and ``distro_alias.inc``, which are | ||
184 | typically enabled when using the ``distrodata`` class. Additionally, the | ||
185 | contents of ``upstream_tracking.inc`` has now been split out to the | ||
186 | relevant recipes. | ||
187 | |||
188 | .. _migration-2.0-automatic-stale-sysroot-file-cleanup: | ||
189 | |||
190 | Automatic Stale Sysroot File Cleanup | ||
191 | ------------------------------------ | ||
192 | |||
193 | Stale files from recipes that no longer exist in the current | ||
194 | configuration are now automatically removed from sysroot as well as | ||
195 | removed from any other place managed by shared state. This automatic | ||
196 | cleanup means that the build system now properly handles situations such | ||
197 | as renaming the build system side of recipes, removal of layers from | ||
198 | ``bblayers.conf``, and :term:`DISTRO_FEATURES` | ||
199 | changes. | ||
200 | |||
201 | Additionally, work directories for old versions of recipes are now | ||
202 | pruned. If you wish to disable pruning old work directories, you can set | ||
203 | the following variable in your configuration: | ||
204 | :: | ||
205 | |||
206 | SSTATE_PRUNE_OBSOLETEWORKDIR = "0" | ||
207 | |||
208 | .. _migration-2.0-linux-yocto-kernel-metadata-repository-now-split-from-source: | ||
209 | |||
210 | ``linux-yocto`` Kernel Metadata Repository Now Split from Source | ||
211 | ---------------------------------------------------------------- | ||
212 | |||
213 | The ``linux-yocto`` tree has up to now been a combined set of kernel | ||
214 | changes and configuration (meta) data carried in a single tree. While | ||
215 | this format is effective at keeping kernel configuration and source | ||
216 | modifications synchronized, it is not always obvious to developers how | ||
217 | to manipulate the Metadata as compared to the source. | ||
218 | |||
219 | Metadata processing has now been removed from the | ||
220 | :ref:`kernel-yocto <ref-classes-kernel-yocto>` class and the external | ||
221 | Metadata repository ``yocto-kernel-cache``, which has always been used | ||
222 | to seed the ``linux-yocto`` "meta" branch. This separate ``linux-yocto`` | ||
223 | cache repository is now the primary location for this data. Due to this | ||
224 | change, ``linux-yocto`` is no longer able to process combined trees. | ||
225 | Thus, if you need to have your own combined kernel repository, you must | ||
226 | do the split there as well and update your recipes accordingly. See the | ||
227 | ``meta/recipes-kernel/linux/linux-yocto_4.1.bb`` recipe for an example. | ||
228 | |||
229 | .. _migration-2.0-additional-qa-checks: | ||
230 | |||
231 | Additional QA checks | ||
232 | -------------------- | ||
233 | |||
234 | The following QA checks have been added: | ||
235 | |||
236 | - Added a "host-user-contaminated" check for ownership issues for | ||
237 | packaged files outside of ``/home``. The check looks for files that | ||
238 | are incorrectly owned by the user that ran BitBake instead of owned | ||
239 | by a valid user in the target system. | ||
240 | |||
241 | - Added an "invalid-chars" check for invalid (non-UTF8) characters in | ||
242 | recipe metadata variable values (i.e. | ||
243 | :term:`DESCRIPTION`, | ||
244 | :term:`SUMMARY`, :term:`LICENSE`, and | ||
245 | :term:`SECTION`). Some package managers do not support | ||
246 | these characters. | ||
247 | |||
248 | - Added an "invalid-packageconfig" check for any options specified in | ||
249 | :term:`PACKAGECONFIG` that do not match any | ||
250 | ``PACKAGECONFIG`` option defined for the recipe. | ||
251 | |||
252 | .. _migration-2.0-miscellaneous: | ||
253 | |||
254 | Miscellaneous Changes | ||
255 | --------------------- | ||
256 | |||
257 | These additional changes exist: | ||
258 | |||
259 | - ``gtk-update-icon-cache`` has been renamed to ``gtk-icon-utils``. | ||
260 | |||
261 | - The ``tools-profile`` :term:`IMAGE_FEATURES` | ||
262 | item as well as its corresponding packagegroup and | ||
263 | ``packagegroup-core-tools-profile`` no longer bring in ``oprofile``. | ||
264 | Bringing in ``oprofile`` was originally added to aid compilation on | ||
265 | resource-constrained targets. However, this aid has not been widely | ||
266 | used and is not likely to be used going forward due to the more | ||
267 | powerful target platforms and the existence of better | ||
268 | cross-compilation tools. | ||
269 | |||
270 | - The :term:`IMAGE_FSTYPES` variable's default | ||
271 | value now specifies ``ext4`` instead of ``ext3``. | ||
272 | |||
273 | - All support for the ``PRINC`` variable has been removed. | ||
274 | |||
275 | - The ``packagegroup-core-full-cmdline`` packagegroup no longer brings | ||
276 | in ``lighttpd`` due to the fact that bringing in ``lighttpd`` is not | ||
277 | really in line with the packagegroup's purpose, which is to add full | ||
278 | versions of command-line tools that by default are provided by | ||
279 | ``busybox``. | ||
280 | |||
281 | |||