diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
commit | 972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch) | |
tree | 97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /documentation/ref-manual/migration.xml | |
download | poky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz |
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'documentation/ref-manual/migration.xml')
-rw-r--r-- | documentation/ref-manual/migration.xml | 2019 |
1 files changed, 2019 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml new file mode 100644 index 0000000000..d072ecfa0e --- /dev/null +++ b/documentation/ref-manual/migration.xml | |||
@@ -0,0 +1,2019 @@ | |||
1 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
2 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" | ||
3 | [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > | ||
4 | |||
5 | <chapter id='migration'> | ||
6 | <title>Migrating to a Newer Yocto Project Release</title> | ||
7 | |||
8 | <para> | ||
9 | This chapter provides information you can use to migrate work to a | ||
10 | newer Yocto Project release. You can find the same information in the | ||
11 | release notes for a given release. | ||
12 | </para> | ||
13 | |||
14 | <section id='general-migration-considerations'> | ||
15 | <title>General Migration Considerations</title> | ||
16 | |||
17 | <para> | ||
18 | Some considerations are not tied to a specific Yocto Project | ||
19 | release. | ||
20 | This section presents information you should consider when | ||
21 | migrating to any new Yocto Project release. | ||
22 | <itemizedlist> | ||
23 | <listitem><para><emphasis>Dealing with Customized Recipes</emphasis>: | ||
24 | Issues could arise if you take older recipes that contain | ||
25 | customizations and simply copy them forward expecting them | ||
26 | to work after you migrate to new Yocto Project metadata. | ||
27 | For example, suppose you have a recipe in your layer that is | ||
28 | a customized version of a core recipe copied from the earlier | ||
29 | release, rather than through the use of an append file. | ||
30 | When you migrate to a newer version of Yocto Project, the | ||
31 | metadata (e.g. perhaps an include file used by the recipe) | ||
32 | could have changed in a way that would break the build. | ||
33 | Say, for example, a function is removed from an include file | ||
34 | and the customized recipe tries to call that function. | ||
35 | </para> | ||
36 | |||
37 | <para>You could "forward-port" all your customizations in your | ||
38 | recipe so that everything works for the new release. | ||
39 | However, this is not the optimal solution as you would have | ||
40 | to repeat this process with each new release if changes | ||
41 | occur that give rise to problems.</para> | ||
42 | |||
43 | <para>The better solution (where practical) is to use append | ||
44 | files (<filename>*.bbappend</filename>) to capture any | ||
45 | customizations you want to make to a recipe. | ||
46 | Doing so, isolates your changes from the main recipe making | ||
47 | them much more manageable. | ||
48 | However, sometimes it is not practical to use an append | ||
49 | file. | ||
50 | A good example of this is when introducing a newer or older | ||
51 | version of a recipe in another layer.</para> | ||
52 | </listitem> | ||
53 | <listitem><para><emphasis>Updating Append Files</emphasis>: | ||
54 | Since append files generally only contain your customizations, | ||
55 | they often do not need to be adjusted for new releases. | ||
56 | However, if the <filename>.bbappend</filename> file is | ||
57 | specific to a particular version of the recipe (i.e. its | ||
58 | name does not use the % wildcard) and the version of the | ||
59 | recipe to which it is appending has changed, then you will | ||
60 | at a minimum need to rename the append file to match the | ||
61 | name of the recipe file. | ||
62 | A mismatch between an append file and its corresponding | ||
63 | recipe file (<filename>.bb</filename>) will | ||
64 | trigger an error during parsing.</para> | ||
65 | <para>Depending on the type of customization the append file | ||
66 | applies, other incompatibilities might occur when you | ||
67 | upgrade. | ||
68 | For example, if your append file applies a patch and the | ||
69 | recipe to which it is appending is updated to a newer | ||
70 | version, the patch might no longer apply. | ||
71 | If this is the case and assuming the patch is still needed, | ||
72 | you must modify the patch file so that it does apply. | ||
73 | </para></listitem> | ||
74 | </itemizedlist> | ||
75 | </para> | ||
76 | </section> | ||
77 | |||
78 | <section id='moving-to-the-yocto-project-1.3-release'> | ||
79 | <title>Moving to the Yocto Project 1.3 Release</title> | ||
80 | |||
81 | <para> | ||
82 | This section provides migration information for moving to the | ||
83 | Yocto Project 1.3 Release from the prior release. | ||
84 | </para> | ||
85 | |||
86 | <section id='1.3-local-configuration'> | ||
87 | <title>Local Configuration</title> | ||
88 | |||
89 | <para> | ||
90 | Differences include changes for | ||
91 | <link linkend='var-SSTATE_MIRRORS'><filename>SSTATE_MIRRORS</filename></link> | ||
92 | and <filename>bblayers.conf</filename>. | ||
93 | </para> | ||
94 | |||
95 | <section id='migration-1.3-sstate-mirrors'> | ||
96 | <title>SSTATE_MIRRORS</title> | ||
97 | |||
98 | <para> | ||
99 | The shared state cache (sstate-cache), as pointed to by | ||
100 | <link linkend='var-SSTATE_DIR'><filename>SSTATE_DIR</filename></link>, by default | ||
101 | now has two-character subdirectories to prevent issues arising | ||
102 | from too many files in the same directory. | ||
103 | Also, native sstate-cache packages will go into a subdirectory named using | ||
104 | the distro ID string. | ||
105 | If you copy the newly structured sstate-cache to a mirror location | ||
106 | (either local or remote) and then point to it in | ||
107 | <link linkend='var-SSTATE_MIRRORS'><filename>SSTATE_MIRRORS</filename></link>, | ||
108 | you need to append "PATH" to the end of the mirror URL so that | ||
109 | the path used by BitBake before the mirror substitution is | ||
110 | appended to the path used to access the mirror. | ||
111 | Here is an example: | ||
112 | <literallayout class='monospaced'> | ||
113 | SSTATE_MIRRORS = "file://.* http://<replaceable>someserver</replaceable>.tld/share/sstate/PATH" | ||
114 | </literallayout> | ||
115 | </para> | ||
116 | </section> | ||
117 | |||
118 | <section id='migration-1.3-bblayers-conf'> | ||
119 | <title>bblayers.conf</title> | ||
120 | |||
121 | <para> | ||
122 | The <filename>meta-yocto</filename> layer consists of two parts | ||
123 | that correspond to the Poky reference distribution and the | ||
124 | reference hardware Board Support Packages (BSPs), respectively: | ||
125 | <filename>meta-yocto</filename> and | ||
126 | <filename>meta-yocto-bsp</filename>. | ||
127 | When running BitBake or Hob for the first time after upgrading, | ||
128 | your <filename>conf/bblayers.conf</filename> file will be | ||
129 | updated to handle this change and you will be asked to | ||
130 | re-run or restart for the changes to take effect. | ||
131 | </para> | ||
132 | </section> | ||
133 | </section> | ||
134 | |||
135 | <section id='1.3-recipes'> | ||
136 | <title>Recipes</title> | ||
137 | |||
138 | <para> | ||
139 | Differences include changes for the following: | ||
140 | <itemizedlist> | ||
141 | <listitem><para>Python function whitespace</para></listitem> | ||
142 | <listitem><para><filename>proto=</filename> in <filename>SRC_URI</filename></para></listitem> | ||
143 | <listitem><para><filename>nativesdk</filename></para></listitem> | ||
144 | <listitem><para>Task recipes</para></listitem> | ||
145 | <listitem><para><filename>IMAGE_FEATURES</filename></para></listitem> | ||
146 | <listitem><para>Removed recipes</para></listitem> | ||
147 | </itemizedlist> | ||
148 | </para> | ||
149 | |||
150 | <section id='migration-1.3-python-function-whitespace'> | ||
151 | <title>Python Function Whitespace</title> | ||
152 | |||
153 | <para> | ||
154 | All Python functions must now use four spaces for indentation. | ||
155 | Previously, an inconsistent mix of spaces and tabs existed, | ||
156 | which made extending these functions using | ||
157 | <filename>_append</filename> or <filename>_prepend</filename> | ||
158 | complicated given that Python treats whitespace as | ||
159 | syntactically significant. | ||
160 | If you are defining or extending any Python functions (e.g. | ||
161 | <filename>populate_packages</filename>, <filename>do_unpack</filename>, | ||
162 | <filename>do_patch</filename> and so forth) in custom recipes | ||
163 | or classes, you need to ensure you are using consistent | ||
164 | four-space indentation. | ||
165 | </para> | ||
166 | </section> | ||
167 | |||
168 | <section id='migration-1.3-proto=-in-src-uri'> | ||
169 | <title>proto= in SRC_URI</title> | ||
170 | |||
171 | <para> | ||
172 | Any use of <filename>proto=</filename> in | ||
173 | <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link> | ||
174 | needs to be changed to <filename>protocol=</filename>. | ||
175 | In particular, this applies to the following URIs: | ||
176 | <itemizedlist> | ||
177 | <listitem><para><filename>svn://</filename></para></listitem> | ||
178 | <listitem><para><filename>bzr://</filename></para></listitem> | ||
179 | <listitem><para><filename>hg://</filename></para></listitem> | ||
180 | <listitem><para><filename>osc://</filename></para></listitem> | ||
181 | </itemizedlist> | ||
182 | Other URIs were already using <filename>protocol=</filename>. | ||
183 | This change improves consistency. | ||
184 | </para> | ||
185 | </section> | ||
186 | |||
187 | <section id='migration-1.3-nativesdk'> | ||
188 | <title>nativesdk</title> | ||
189 | |||
190 | <para> | ||
191 | The suffix <filename>nativesdk</filename> is now implemented | ||
192 | as a prefix, which simplifies a lot of the packaging code for | ||
193 | <filename>nativesdk</filename> recipes. | ||
194 | All custom <filename>nativesdk</filename> recipes and any | ||
195 | references need to be updated to use | ||
196 | <filename>nativesdk-*</filename> instead of | ||
197 | <filename>*-nativesdk</filename>. | ||
198 | </para> | ||
199 | </section> | ||
200 | |||
201 | <section id='migration-1.3-task-recipes'> | ||
202 | <title>Task Recipes</title> | ||
203 | |||
204 | <para> | ||
205 | "Task" recipes are now known as "Package groups" and have | ||
206 | been renamed from <filename>task-*.bb</filename> to | ||
207 | <filename>packagegroup-*.bb</filename>. | ||
208 | Existing references to the previous <filename>task-*</filename> | ||
209 | names should work in most cases as there is an automatic | ||
210 | upgrade path for most packages. | ||
211 | However, you should update references in your own recipes and | ||
212 | configurations as they could be removed in future releases. | ||
213 | You should also rename any custom <filename>task-*</filename> | ||
214 | recipes to <filename>packagegroup-*</filename>, and change | ||
215 | them to inherit <filename>packagegroup</filename> instead of | ||
216 | <filename>task</filename>, as well as taking the opportunity | ||
217 | to remove anything now handled by | ||
218 | <filename>packagegroup.bbclass</filename>, such as providing | ||
219 | <filename>-dev</filename> and <filename>-dbg</filename> | ||
220 | packages, setting | ||
221 | <link linkend='var-LIC_FILES_CHKSUM'><filename>LIC_FILES_CHKSUM</filename></link>, | ||
222 | and so forth. | ||
223 | See the | ||
224 | "<link linkend='ref-classes-packagegroup'><filename>packagegroup.bbclass</filename></link>" | ||
225 | section for further details. | ||
226 | </para> | ||
227 | </section> | ||
228 | |||
229 | <section id='migration-1.3-image-features'> | ||
230 | <title>IMAGE_FEATURES</title> | ||
231 | |||
232 | <para> | ||
233 | Image recipes that previously included "apps-console-core" | ||
234 | in <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link> | ||
235 | should now include "splash" instead to enable the boot-up | ||
236 | splash screen. | ||
237 | Retaining "apps-console-core" will still include the splash | ||
238 | screen but generates a warning. | ||
239 | The "apps-x11-core" and "apps-x11-games" | ||
240 | <filename>IMAGE_FEATURES</filename> features have been removed. | ||
241 | </para> | ||
242 | </section> | ||
243 | |||
244 | <section id='migration-1.3-removed-recipes'> | ||
245 | <title>Removed Recipes</title> | ||
246 | |||
247 | <para> | ||
248 | The following recipes have been removed. | ||
249 | For most of them, it is unlikely that you would have any | ||
250 | references to them in your own | ||
251 | <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>. | ||
252 | However, you should check your metadata against this list to be sure: | ||
253 | <itemizedlist> | ||
254 | <listitem><para><emphasis><filename>libx11-trim</filename></emphasis>: | ||
255 | Replaced by <filename>libx11</filename>, which has a negligible | ||
256 | size difference with modern Xorg.</para></listitem> | ||
257 | <listitem><para><emphasis><filename>xserver-xorg-lite</filename></emphasis>: | ||
258 | Use <filename>xserver-xorg</filename>, which has a negligible | ||
259 | size difference when DRI and GLX modules are not installed.</para></listitem> | ||
260 | <listitem><para><emphasis><filename>xserver-kdrive</filename></emphasis>: | ||
261 | Effectively unmaintained for many years.</para></listitem> | ||
262 | <listitem><para><emphasis><filename>mesa-xlib</filename></emphasis>: | ||
263 | No longer serves any purpose.</para></listitem> | ||
264 | <listitem><para><emphasis><filename>galago</filename></emphasis>: | ||
265 | Replaced by telepathy.</para></listitem> | ||
266 | <listitem><para><emphasis><filename>gail</filename></emphasis>: | ||
267 | Functionality was integrated into GTK+ 2.13.</para></listitem> | ||
268 | <listitem><para><emphasis><filename>eggdbus</filename></emphasis>: | ||
269 | No longer needed.</para></listitem> | ||
270 | <listitem><para><emphasis><filename>gcc-*-intermediate</filename></emphasis>: | ||
271 | The build has been restructured to avoid the need for | ||
272 | this step.</para></listitem> | ||
273 | <listitem><para><emphasis><filename>libgsmd</filename></emphasis>: | ||
274 | Unmaintained for many years. | ||
275 | Functionality now provided by | ||
276 | <filename>ofono</filename> instead.</para></listitem> | ||
277 | <listitem><para><emphasis>contacts, dates, tasks, eds-tools</emphasis>: | ||
278 | Largely unmaintained PIM application suite. | ||
279 | It has been moved to <filename>meta-gnome</filename> | ||
280 | in <filename>meta-openembedded</filename>.</para></listitem> | ||
281 | </itemizedlist> | ||
282 | In addition to the previously listed changes, the | ||
283 | <filename>meta-demoapps</filename> directory has also been removed | ||
284 | because the recipes in it were not being maintained and many | ||
285 | had become obsolete or broken. | ||
286 | Additionally, these recipes were not parsed in the default configuration. | ||
287 | Many of these recipes are already provided in an updated and | ||
288 | maintained form within the OpenEmbedded community layers such as | ||
289 | <filename>meta-oe</filename> and <filename>meta-gnome</filename>. | ||
290 | For the remainder, you can now find them in the | ||
291 | <filename>meta-extras</filename> repository, which is in the | ||
292 | Yocto Project | ||
293 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-repositories'>Source Repositories</ulink>. | ||
294 | </para> | ||
295 | </section> | ||
296 | </section> | ||
297 | |||
298 | <section id='1.3-linux-kernel-naming'> | ||
299 | <title>Linux Kernel Naming</title> | ||
300 | |||
301 | <para> | ||
302 | The naming scheme for kernel output binaries has been changed to | ||
303 | now include | ||
304 | <link linkend='var-PE'><filename>PE</filename></link> as part of the | ||
305 | filename: | ||
306 | <literallayout class='monospaced'> | ||
307 | KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}" | ||
308 | </literallayout> | ||
309 | </para> | ||
310 | |||
311 | <para> | ||
312 | Because the <filename>PE</filename> variable is not set by default, | ||
313 | these binary files could result with names that include two dash | ||
314 | characters. | ||
315 | Here is an example: | ||
316 | <literallayout class='monospaced'> | ||
317 | bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin | ||
318 | </literallayout> | ||
319 | </para> | ||
320 | </section> | ||
321 | </section> | ||
322 | |||
323 | <section id='moving-to-the-yocto-project-1.4-release'> | ||
324 | <title>Moving to the Yocto Project 1.4 Release</title> | ||
325 | |||
326 | <para> | ||
327 | This section provides migration information for moving to the | ||
328 | Yocto Project 1.4 Release from the prior release. | ||
329 | </para> | ||
330 | |||
331 | <section id='migration-1.4-bitbake'> | ||
332 | <title>BitBake</title> | ||
333 | |||
334 | <para> | ||
335 | Differences include the following: | ||
336 | <itemizedlist> | ||
337 | <listitem><para><emphasis>Comment Continuation:</emphasis> | ||
338 | If a comment ends with a line continuation (\) character, | ||
339 | then the next line must also be a comment. | ||
340 | Any instance where this is not the case, now triggers | ||
341 | a warning. | ||
342 | You must either remove the continuation character, or be | ||
343 | sure the next line is a comment. | ||
344 | </para></listitem> | ||
345 | <listitem><para><emphasis>Package Name Overrides:</emphasis> | ||
346 | The runtime package specific variables | ||
347 | <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>, | ||
348 | <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>, | ||
349 | <link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>, | ||
350 | <link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>, | ||
351 | <link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>, | ||
352 | <link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>, | ||
353 | <link linkend='var-FILES'><filename>FILES</filename></link>, | ||
354 | <link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>, | ||
355 | and the pre, post, install, and uninstall script functions | ||
356 | <filename>pkg_preinst</filename>, | ||
357 | <filename>pkg_postinst</filename>, | ||
358 | <filename>pkg_prerm</filename>, and | ||
359 | <filename>pkg_postrm</filename> should always have a | ||
360 | package name override. | ||
361 | For example, use <filename>RDEPENDS_${PN}</filename> for | ||
362 | the main package instead of <filename>RDEPENDS</filename>. | ||
363 | BitBake uses more strict checks when it parses recipes. | ||
364 | </para></listitem> | ||
365 | </itemizedlist> | ||
366 | </para> | ||
367 | </section> | ||
368 | |||
369 | <section id='migration-1.4-build-behavior'> | ||
370 | <title>Build Behavior</title> | ||
371 | |||
372 | <para> | ||
373 | Differences include the following: | ||
374 | <itemizedlist> | ||
375 | <listitem><para><emphasis>Shared State Code:</emphasis> | ||
376 | The shared state code has been optimized to avoid running | ||
377 | unnecessary tasks. | ||
378 | For example, the following no longer populates the target | ||
379 | sysroot since that is not necessary: | ||
380 | <literallayout class='monospaced'> | ||
381 | $ bitbake -c rootfs <replaceable>some-image</replaceable> | ||
382 | </literallayout> | ||
383 | Instead, the system just needs to extract the output | ||
384 | package contents, re-create the packages, and construct | ||
385 | the root filesystem. | ||
386 | This change is unlikely to cause any problems unless | ||
387 | you have missing declared dependencies. | ||
388 | </para></listitem> | ||
389 | <listitem><para><emphasis>Scanning Directory Names:</emphasis> | ||
390 | When scanning for files in | ||
391 | <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>, | ||
392 | the build system now uses | ||
393 | <link linkend='var-FILESOVERRIDES'><filename>FILESOVERRIDES</filename></link> | ||
394 | instead of <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link> | ||
395 | for the directory names. | ||
396 | In general, the values previously in | ||
397 | <filename>OVERRIDES</filename> are now in | ||
398 | <filename>FILESOVERRIDES</filename> as well. | ||
399 | However, if you relied upon an additional value | ||
400 | you previously added to <filename>OVERRIDES</filename>, | ||
401 | you might now need to add it to | ||
402 | <filename>FILESOVERRIDES</filename> unless you are already | ||
403 | adding it through the | ||
404 | <link linkend='var-MACHINEOVERRIDES'><filename>MACHINEOVERRIDES</filename></link> | ||
405 | or <link linkend='var-DISTROOVERRIDES'><filename>DISTROOVERRIDES</filename></link> | ||
406 | variables, as appropriate. | ||
407 | For more related changes, see the | ||
408 | "<link linkend='migration-1.4-variables'>Variables</link>" | ||
409 | section. | ||
410 | </para></listitem> | ||
411 | </itemizedlist> | ||
412 | </para> | ||
413 | </section> | ||
414 | |||
415 | |||
416 | <section id='migration-1.4-proxies-and-fetching-source'> | ||
417 | <title>Proxies and Fetching Source</title> | ||
418 | |||
419 | <para> | ||
420 | A new <filename>oe-git-proxy</filename> script has been added to | ||
421 | replace previous methods of handling proxies and fetching source | ||
422 | from Git. | ||
423 | See the <filename>meta-yocto/conf/site.conf.sample</filename> file | ||
424 | for information on how to use this script. | ||
425 | </para> | ||
426 | </section> | ||
427 | |||
428 | <section id='migration-1.4-custom-interfaces-file-netbase-change'> | ||
429 | <title>Custom Interfaces File (netbase change)</title> | ||
430 | |||
431 | <para> | ||
432 | If you have created your own custom | ||
433 | <filename>etc/network/interfaces</filename> file by creating | ||
434 | an append file for the <filename>netbase</filename> recipe, | ||
435 | you now need to create an append file for the | ||
436 | <filename>init-ifupdown</filename> recipe instead, which you can | ||
437 | find in the | ||
438 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> | ||
439 | at <filename>meta/recipes-core/init-ifupdown</filename>. | ||
440 | For information on how to use append files, see the | ||
441 | "<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>" | ||
442 | in the Yocto Project Development Manual. | ||
443 | </para> | ||
444 | </section> | ||
445 | |||
446 | <section id='migration-1.4-remote-debugging'> | ||
447 | <title>Remote Debugging</title> | ||
448 | |||
449 | <para> | ||
450 | Support for remote debugging with the Eclipse IDE is now | ||
451 | separated into an image feature | ||
452 | (<filename>eclipse-debug</filename>) that corresponds to the | ||
453 | <filename>packagegroup-core-eclipse-debug</filename> package group. | ||
454 | Previously, the debugging feature was included through the | ||
455 | <filename>tools-debug</filename> image feature, which corresponds | ||
456 | to the <filename>packagegroup-core-tools-debug</filename> | ||
457 | package group. | ||
458 | </para> | ||
459 | </section> | ||
460 | |||
461 | <section id='migration-1.4-variables'> | ||
462 | <title>Variables</title> | ||
463 | |||
464 | <para> | ||
465 | The following variables have changed: | ||
466 | <itemizedlist> | ||
467 | <listitem><para><emphasis><filename>SANITY_TESTED_DISTROS</filename>:</emphasis> | ||
468 | This variable now uses a distribution ID, which is composed | ||
469 | of the host distributor ID followed by the release. | ||
470 | Previously, | ||
471 | <link linkend='var-SANITY_TESTED_DISTROS'><filename>SANITY_TESTED_DISTROS</filename></link> | ||
472 | was composed of the description field. | ||
473 | For example, "Ubuntu 12.10" becomes "Ubuntu-12.10". | ||
474 | You do not need to worry about this change if you are not | ||
475 | specifically setting this variable, or if you are | ||
476 | specifically setting it to "". | ||
477 | </para></listitem> | ||
478 | <listitem><para><emphasis><filename>SRC_URI</filename>:</emphasis> | ||
479 | The <filename>${</filename><link linkend='var-PN'><filename>PN</filename></link><filename>}</filename>, | ||
480 | <filename>${</filename><link linkend='var-PF'><filename>PF</filename></link><filename>}</filename>, | ||
481 | <filename>${</filename><link linkend='var-P'><filename>P</filename></link><filename>}</filename>, | ||
482 | and <filename>FILE_DIRNAME</filename> directories have been | ||
483 | dropped from the default value of the | ||
484 | <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link> | ||
485 | variable, which is used as the search path for finding files | ||
486 | referred to in | ||
487 | <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>. | ||
488 | If you have a recipe that relied upon these directories, | ||
489 | which would be unusual, then you will need to add the | ||
490 | appropriate paths within the recipe or, alternatively, | ||
491 | rearrange the files. | ||
492 | The most common locations are still covered by | ||
493 | <filename>${BP}</filename>, <filename>${BPN}</filename>, | ||
494 | and "files", which all remain in the default value of | ||
495 | <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>. | ||
496 | </para></listitem> | ||
497 | </itemizedlist> | ||
498 | </para> | ||
499 | </section> | ||
500 | |||
501 | <section id='migration-target-package-management-with-rpm'> | ||
502 | <title>Target Package Management with RPM</title> | ||
503 | |||
504 | <para> | ||
505 | If runtime package management is enabled and the RPM backend | ||
506 | is selected, Smart is now installed for package download, dependency | ||
507 | resolution, and upgrades instead of Zypper. | ||
508 | For more information on how to use Smart, run the following command | ||
509 | on the target: | ||
510 | <literallayout class='monospaced'> | ||
511 | smart --help | ||
512 | </literallayout> | ||
513 | </para> | ||
514 | </section> | ||
515 | |||
516 | <section id='migration-1.4-recipes-moved'> | ||
517 | <title>Recipes Moved</title> | ||
518 | |||
519 | <para> | ||
520 | The following recipes were moved from their previous locations | ||
521 | because they are no longer used by anything in | ||
522 | the OpenEmbedded-Core: | ||
523 | <itemizedlist> | ||
524 | <listitem><para><emphasis><filename>clutter-box2d</filename>:</emphasis> | ||
525 | Now resides in the <filename>meta-oe</filename> layer. | ||
526 | </para></listitem> | ||
527 | <listitem><para><emphasis><filename>evolution-data-server</filename>:</emphasis> | ||
528 | Now resides in the <filename>meta-gnome</filename> layer. | ||
529 | </para></listitem> | ||
530 | <listitem><para><emphasis><filename>gthumb</filename>:</emphasis> | ||
531 | Now resides in the <filename>meta-gnome</filename> layer. | ||
532 | </para></listitem> | ||
533 | <listitem><para><emphasis><filename>gtkhtml2</filename>:</emphasis> | ||
534 | Now resides in the <filename>meta-oe</filename> layer. | ||
535 | </para></listitem> | ||
536 | <listitem><para><emphasis><filename>gupnp</filename>:</emphasis> | ||
537 | Now resides in the <filename>meta-multimedia</filename> layer. | ||
538 | </para></listitem> | ||
539 | <listitem><para><emphasis><filename>gypsy</filename>:</emphasis> | ||
540 | Now resides in the <filename>meta-oe</filename> layer. | ||
541 | </para></listitem> | ||
542 | <listitem><para><emphasis><filename>libcanberra</filename>:</emphasis> | ||
543 | Now resides in the <filename>meta-gnome</filename> layer. | ||
544 | </para></listitem> | ||
545 | <listitem><para><emphasis><filename>libgdata</filename>:</emphasis> | ||
546 | Now resides in the <filename>meta-gnome</filename> layer. | ||
547 | </para></listitem> | ||
548 | <listitem><para><emphasis><filename>libmusicbrainz</filename>:</emphasis> | ||
549 | Now resides in the <filename>meta-multimedia</filename> layer. | ||
550 | </para></listitem> | ||
551 | <listitem><para><emphasis><filename>metacity</filename>:</emphasis> | ||
552 | Now resides in the <filename>meta-gnome</filename> layer. | ||
553 | </para></listitem> | ||
554 | <listitem><para><emphasis><filename>polkit</filename>:</emphasis> | ||
555 | Now resides in the <filename>meta-oe</filename> layer. | ||
556 | </para></listitem> | ||
557 | <listitem><para><emphasis><filename>zeroconf</filename>:</emphasis> | ||
558 | Now resides in the <filename>meta-networking</filename> layer. | ||
559 | </para></listitem> | ||
560 | </itemizedlist> | ||
561 | </para> | ||
562 | </section> | ||
563 | |||
564 | <section id='migration-1.4-removals-and-renames'> | ||
565 | <title>Removals and Renames</title> | ||
566 | |||
567 | <para> | ||
568 | The following list shows what has been removed or renamed: | ||
569 | <itemizedlist> | ||
570 | <listitem><para><emphasis><filename>evieext</filename>:</emphasis> | ||
571 | Removed because it has been removed from | ||
572 | <filename>xserver</filename> since 2008. | ||
573 | </para></listitem> | ||
574 | <listitem><para><emphasis>Gtk+ DirectFB:</emphasis> | ||
575 | Removed support because upstream Gtk+ no longer supports it | ||
576 | as of version 2.18. | ||
577 | </para></listitem> | ||
578 | <listitem><para><emphasis><filename>libxfontcache / xfontcacheproto</filename>:</emphasis> | ||
579 | Removed because they were removed from the Xorg server in 2008. | ||
580 | </para></listitem> | ||
581 | <listitem><para><emphasis><filename>libxp / libxprintapputil / libxprintutil / printproto</filename>:</emphasis> | ||
582 | Removed because the XPrint server was removed from | ||
583 | Xorg in 2008. | ||
584 | </para></listitem> | ||
585 | <listitem><para><emphasis><filename>libxtrap / xtrapproto</filename>:</emphasis> | ||
586 | Removed because their functionality was broken upstream. | ||
587 | </para></listitem> | ||
588 | <listitem><para><emphasis>linux-yocto 3.0 kernel:</emphasis> | ||
589 | Removed with linux-yocto 3.8 kernel being added. | ||
590 | The linux-yocto 3.2 and linux-yocto 3.4 kernels remain | ||
591 | as part of the release. | ||
592 | </para></listitem> | ||
593 | <listitem><para><emphasis><filename>lsbsetup</filename>:</emphasis> | ||
594 | Removed with functionality now provided by | ||
595 | <filename>lsbtest</filename>. | ||
596 | </para></listitem> | ||
597 | <listitem><para><emphasis><filename>matchbox-stroke</filename>:</emphasis> | ||
598 | Removed because it was never more than a proof-of-concept. | ||
599 | </para></listitem> | ||
600 | <listitem><para><emphasis><filename>matchbox-wm-2 / matchbox-theme-sato-2</filename>:</emphasis> | ||
601 | Removed because they are not maintained. | ||
602 | However, <filename>matchbox-wm</filename> and | ||
603 | <filename>matchbox-theme-sato</filename> are still | ||
604 | provided. | ||
605 | </para></listitem> | ||
606 | <listitem><para><emphasis><filename>mesa-dri</filename>:</emphasis> | ||
607 | Renamed to <filename>mesa</filename>. | ||
608 | </para></listitem> | ||
609 | <listitem><para><emphasis><filename>mesa-xlib</filename>:</emphasis> | ||
610 | Removed because it was no longer useful. | ||
611 | </para></listitem> | ||
612 | <listitem><para><emphasis><filename>mutter</filename>:</emphasis> | ||
613 | Removed because nothing ever uses it and the recipe is | ||
614 | very old. | ||
615 | </para></listitem> | ||
616 | <listitem><para><emphasis><filename>orinoco-conf</filename>:</emphasis> | ||
617 | Removed because it has become obsolete. | ||
618 | </para></listitem> | ||
619 | <listitem><para><emphasis><filename>update-modules</filename>:</emphasis> | ||
620 | Removed because it is no longer used. | ||
621 | The kernel module <filename>postinstall</filename> and | ||
622 | <filename>postrm</filename> scripts can now do the same | ||
623 | task without the use of this script. | ||
624 | </para></listitem> | ||
625 | <listitem><para><emphasis><filename>web</filename>:</emphasis> | ||
626 | Removed because it is not maintained. Superseded by | ||
627 | <filename>web-webkit</filename>. | ||
628 | </para></listitem> | ||
629 | <listitem><para><emphasis><filename>xf86bigfontproto</filename>:</emphasis> | ||
630 | Removed because upstream it has been disabled by default | ||
631 | since 2007. | ||
632 | Nothing uses <filename>xf86bigfontproto</filename>. | ||
633 | </para></listitem> | ||
634 | <listitem><para><emphasis><filename>xf86rushproto</filename>:</emphasis> | ||
635 | Removed because its dependency in | ||
636 | <filename>xserver</filename> was spurious and it was | ||
637 | removed in 2005. | ||
638 | </para></listitem> | ||
639 | <listitem><para><emphasis><filename>zypper / libzypp / sat-solver</filename>:</emphasis> | ||
640 | Removed and been functionally replaced with Smart | ||
641 | (<filename>python-smartpm</filename>) when RPM packaging | ||
642 | is used and package management is enabled on the target. | ||
643 | </para></listitem> | ||
644 | </itemizedlist> | ||
645 | </para> | ||
646 | </section> | ||
647 | </section> | ||
648 | |||
649 | <section id='moving-to-the-yocto-project-1.5-release'> | ||
650 | <title>Moving to the Yocto Project 1.5 Release</title> | ||
651 | |||
652 | <para> | ||
653 | This section provides migration information for moving to the | ||
654 | Yocto Project 1.5 Release from the prior release. | ||
655 | </para> | ||
656 | |||
657 | <section id='migration-1.5-host-dependency-changes'> | ||
658 | <title>Host Dependency Changes</title> | ||
659 | |||
660 | <para> | ||
661 | The OpenEmbedded build system now has some additional requirements | ||
662 | on the host system: | ||
663 | <itemizedlist> | ||
664 | <listitem><para>Python 2.7.3+</para></listitem> | ||
665 | <listitem><para>Tar 1.24+</para></listitem> | ||
666 | <listitem><para>Git 1.7.8+</para></listitem> | ||
667 | <listitem><para>Patched version of Make if you are using | ||
668 | 3.82. | ||
669 | Most distributions that provide Make 3.82 use the patched | ||
670 | version.</para></listitem> | ||
671 | </itemizedlist> | ||
672 | If the Linux distribution you are using on your build host | ||
673 | does not provide packages for these, you can install and use | ||
674 | the Buildtools tarball, which provides an SDK-like environment | ||
675 | containing them. | ||
676 | </para> | ||
677 | |||
678 | <para> | ||
679 | For more information on this requirement, see the | ||
680 | "<link linkend='required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</link>" | ||
681 | section. | ||
682 | </para> | ||
683 | </section> | ||
684 | |||
685 | <section id='migration-1.5-atom-pc-bsp'> | ||
686 | <title><filename>atom-pc</filename> Board Support Package (BSP)</title> | ||
687 | |||
688 | <para> | ||
689 | The <filename>atom-pc</filename> hardware reference BSP has been | ||
690 | replaced by a <filename>genericx86</filename> BSP. | ||
691 | This BSP is not necessarily guaranteed to work on all x86 | ||
692 | hardware, but it will run on a wider range of systems than the | ||
693 | <filename>atom-pc</filename> did. | ||
694 | <note> | ||
695 | Additionally, a <filename>genericx86-64</filename> BSP has | ||
696 | been added for 64-bit Atom systems. | ||
697 | </note> | ||
698 | </para> | ||
699 | </section> | ||
700 | |||
701 | <section id='migration-1.5-bitbake'> | ||
702 | <title>BitBake</title> | ||
703 | |||
704 | <para> | ||
705 | The following changes have been made that relate to BitBake: | ||
706 | <itemizedlist> | ||
707 | <listitem><para> | ||
708 | BitBake now supports a <filename>_remove</filename> | ||
709 | operator. | ||
710 | The addition of this operator means you will have to | ||
711 | rename any items in recipe space (functions, variables) | ||
712 | whose names currently contain | ||
713 | <filename>_remove_</filename> or end with | ||
714 | <filename>_remove</filename> to avoid unexpected behavior. | ||
715 | </para></listitem> | ||
716 | <listitem><para> | ||
717 | BitBake's global method pool has been removed. | ||
718 | This method is not particularly useful and led to clashes | ||
719 | between recipes containing functions that had the | ||
720 | same name.</para></listitem> | ||
721 | <listitem><para> | ||
722 | The "none" server backend has been removed. | ||
723 | The "process" server backend has been serving well as the | ||
724 | default for a long time now.</para></listitem> | ||
725 | <listitem><para> | ||
726 | The <filename>bitbake-runtask</filename> script has been | ||
727 | removed.</para></listitem> | ||
728 | <listitem><para> | ||
729 | <filename>${</filename><link linkend='var-P'><filename>P</filename></link><filename>}</filename> | ||
730 | and | ||
731 | <filename>${</filename><link linkend='var-PF'><filename>PF</filename></link><filename>}</filename> | ||
732 | are no longer added to | ||
733 | <link linkend='var-PROVIDES'><filename>PROVIDES</filename></link> | ||
734 | by default in <filename>bitbake.conf</filename>. | ||
735 | These version-specific <filename>PROVIDES</filename> | ||
736 | items were seldom used. | ||
737 | Attempting to use them could result in two versions being | ||
738 | built simultaneously rather than just one version due to | ||
739 | the way BitBake resolves dependencies.</para></listitem> | ||
740 | </itemizedlist> | ||
741 | </para> | ||
742 | </section> | ||
743 | |||
744 | <section id='migration-1.5-qa-warnings'> | ||
745 | <title>QA Warnings</title> | ||
746 | |||
747 | <para> | ||
748 | The following changes have been made to the package QA checks: | ||
749 | <itemizedlist> | ||
750 | <listitem><para> | ||
751 | If you have customized | ||
752 | <link linkend='var-ERROR_QA'><filename>ERROR_QA</filename></link> | ||
753 | or <link linkend='var-WARN_QA'><filename>WARN_QA</filename></link> | ||
754 | values in your configuration, check that they contain all of | ||
755 | the issues that you wish to be reported. | ||
756 | Previous Yocto Project versions contained a bug that meant | ||
757 | that any item not mentioned in <filename>ERROR_QA</filename> | ||
758 | or <filename>WARN_QA</filename> would be treated as a | ||
759 | warning. | ||
760 | Consequently, several important items were not already in | ||
761 | the default value of <filename>WARN_QA</filename>. | ||
762 | All of the possible QA checks are now documented in the | ||
763 | "<link linkend='ref-classes-insane'><filename>insane.bbclass</filename></link>" | ||
764 | section.</para></listitem> | ||
765 | <listitem><para> | ||
766 | An additional QA check has been added to check if | ||
767 | <filename>/usr/share/info/dir</filename> is being installed. | ||
768 | Your recipe should delete this file within | ||
769 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> | ||
770 | if "make install" is installing it. | ||
771 | </para></listitem> | ||
772 | <listitem><para> | ||
773 | If you are using the buildhistory class, the check for the | ||
774 | package version going backwards is now controlled using a | ||
775 | standard QA check. | ||
776 | Thus, if you have customized your | ||
777 | <filename>ERROR_QA</filename> or | ||
778 | <filename>WARN_QA</filename> values and still wish to have | ||
779 | this check performed, you should add | ||
780 | "version-going-backwards" to your value for one or the | ||
781 | other variables depending on how you wish it to be handled. | ||
782 | See the documented QA checks in the | ||
783 | "<link linkend='ref-classes-insane'><filename>insane.bbclass</filename></link>" | ||
784 | section. | ||
785 | </para></listitem> | ||
786 | </itemizedlist> | ||
787 | </para> | ||
788 | </section> | ||
789 | |||
790 | <section id='migration-1.5-directory-layout-changes'> | ||
791 | <title>Directory Layout Changes</title> | ||
792 | |||
793 | <para> | ||
794 | The following directory changes exist: | ||
795 | <itemizedlist> | ||
796 | <listitem><para> | ||
797 | Output SDK installer files are now named to include the | ||
798 | image name and tuning architecture through the | ||
799 | <link linkend='var-SDK_NAME'><filename>SDK_NAME</filename></link> | ||
800 | variable.</para></listitem> | ||
801 | <listitem><para> | ||
802 | Images and related files are now installed into a directory | ||
803 | that is specific to the machine, instead of a parent | ||
804 | directory containing output files for multiple machines. | ||
805 | The | ||
806 | <link linkend='var-DEPLOY_DIR_IMAGE'><filename>DEPLOY_DIR_IMAGE</filename></link> | ||
807 | variable continues to point to the directory containing | ||
808 | images for the current | ||
809 | <link linkend='var-MACHINE'><filename>MACHINE</filename></link> | ||
810 | and should be used anywhere there is a need to refer to | ||
811 | this directory. | ||
812 | The <filename>runqemu</filename> script now uses this | ||
813 | variable to find images and kernel binaries and will use | ||
814 | BitBake to determine the directory. | ||
815 | Alternatively, you can set the | ||
816 | <filename>DEPLOY_DIR_IMAGE</filename> variable in the | ||
817 | external environment.</para></listitem> | ||
818 | <listitem><para> | ||
819 | When buildhistory is enabled, its output is now written | ||
820 | under the | ||
821 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> | ||
822 | rather than | ||
823 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>. | ||
824 | Doing so makes it easier to delete | ||
825 | <filename>TMPDIR</filename> and preserve the build history. | ||
826 | Additionally, data for produced SDKs is now split by | ||
827 | <link linkend='var-IMAGE_NAME'><filename>IMAGE_NAME</filename></link>. | ||
828 | </para></listitem> | ||
829 | <listitem><para> | ||
830 | The <filename>pkgdata</filename> directory produced as | ||
831 | part of the packaging process has been collapsed into a | ||
832 | single machine-specific directory. | ||
833 | This directory is located under | ||
834 | <filename>sysroots</filename> and uses a machine-specific | ||
835 | name (i.e. | ||
836 | <filename>tmp/sysroots/<replaceable>machine</replaceable>/pkgdata</filename>). | ||
837 | </para></listitem> | ||
838 | </itemizedlist> | ||
839 | </para> | ||
840 | </section> | ||
841 | |||
842 | <section id='migration-1.5-shortened-git-srcrev-values'> | ||
843 | <title>Shortened Git <filename>SRCREV</filename> Values</title> | ||
844 | |||
845 | <para> | ||
846 | BitBake will now shorten revisions from Git repositories from the | ||
847 | normal 40 characters down to 10 characters within | ||
848 | <link linkend='var-SRCPV'><filename>SRCPV</filename></link> | ||
849 | for improved usability in path and file names. | ||
850 | This change should be safe within contexts where these revisions | ||
851 | are used because the chances of spatially close collisions | ||
852 | is very low. | ||
853 | Distant collisions are not a major issue in the way | ||
854 | the values are used. | ||
855 | </para> | ||
856 | </section> | ||
857 | |||
858 | <section id='migration-1.5-image-features'> | ||
859 | <title><filename>IMAGE_FEATURES</filename></title> | ||
860 | |||
861 | <para> | ||
862 | The following changes have been made that relate to | ||
863 | <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>: | ||
864 | <itemizedlist> | ||
865 | <listitem><para> | ||
866 | The value of | ||
867 | <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link> | ||
868 | is now validated to ensure invalid feature items are not | ||
869 | added. | ||
870 | Some users mistakenly add package names to this variable | ||
871 | instead of using | ||
872 | <link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link> | ||
873 | in order to have the package added to the image, which does | ||
874 | not work. | ||
875 | This change is intended to catch those kinds of situations. | ||
876 | Valid <filename>IMAGE_FEATURES</filename> are drawn from | ||
877 | <link linkend='var-PACKAGE_GROUP'><filename>PACKAGE_GROUP</filename></link> | ||
878 | definitions, | ||
879 | <link linkend='var-COMPLEMENTARY_GLOB'><filename>COMPLEMENTARY_GLOB</filename></link> | ||
880 | and a new "validitems" varflag on | ||
881 | <filename>IMAGE_FEATURES</filename>. | ||
882 | The "validitems" varflag change allows additional features | ||
883 | to be added if they are not provided using the previous | ||
884 | two mechanisms. | ||
885 | </para></listitem> | ||
886 | <listitem><para> | ||
887 | The previously deprecated "apps-console-core" | ||
888 | <filename>IMAGE_FEATURES</filename> item is no longer | ||
889 | supported. | ||
890 | Add "splash" to <filename>IMAGE_FEATURES</filename> if you | ||
891 | wish to have the splash screen enabled, since this is | ||
892 | all that apps-console-core was doing.</para></listitem> | ||
893 | </itemizedlist> | ||
894 | </para> | ||
895 | </section> | ||
896 | |||
897 | <section id='migration-1.5-run'> | ||
898 | <title><filename>/run</filename></title> | ||
899 | |||
900 | <para> | ||
901 | The <filename>/run</filename> directory from the Filesystem | ||
902 | Hierarchy Standard 3.0 has been introduced. | ||
903 | You can find some of the implications for this change | ||
904 | <ulink url='http://cgit.openembedded.org/openembedded-core/commit/?id=0e326280a15b0f2c4ef2ef4ec441f63f55b75873'>here</ulink>. | ||
905 | The change also means that recipes that install files to | ||
906 | <filename>/var/run</filename> must be changed. | ||
907 | You can find a guide on how to make these changes | ||
908 | <ulink url='http://permalink.gmane.org/gmane.comp.handhelds.openembedded/58530'>here</ulink>. | ||
909 | </para> | ||
910 | </section> | ||
911 | |||
912 | <section id='migration-1.5-removal-of-package-manager-database-within-image-recipes'> | ||
913 | <title>Removal of Package Manager Database Within Image Recipes</title> | ||
914 | |||
915 | <para> | ||
916 | The image <filename>core-image-minimal</filename> no longer adds | ||
917 | <filename>remove_packaging_data_files</filename> to | ||
918 | <link linkend='var-ROOTFS_POSTPROCESS_COMMAND'><filename>ROOTFS_POSTPROCESS_COMMAND</filename></link>. | ||
919 | This addition is now handled automatically when "package-management" | ||
920 | is not in | ||
921 | <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>. | ||
922 | If you have custom image recipes that make this addition, | ||
923 | you should remove the lines, as they are not needed and might | ||
924 | interfere with correct operation of postinstall scripts. | ||
925 | </para> | ||
926 | </section> | ||
927 | |||
928 | <section id='migration-1.5-images-now-rebuild-only-on-changes-instead-of-every-time'> | ||
929 | <title>Images Now Rebuild Only on Changes Instead of Every Time</title> | ||
930 | |||
931 | <para> | ||
932 | The | ||
933 | <link linkend='ref-tasks-rootfs'><filename>do_rootfs</filename></link> | ||
934 | and other related image | ||
935 | construction tasks are no longer marked as "nostamp". | ||
936 | Consequently, they will only be re-executed when their inputs have | ||
937 | changed. | ||
938 | Previous versions of the OpenEmbedded build system always rebuilt | ||
939 | the image when requested rather when necessary. | ||
940 | </para> | ||
941 | </section> | ||
942 | |||
943 | <section id='migration-1.5-task-recipes'> | ||
944 | <title>Task Recipes</title> | ||
945 | |||
946 | <para> | ||
947 | The previously deprecated <filename>task.bbclass</filename> has | ||
948 | now been dropped. | ||
949 | For recipes that previously inherited from this class, you should | ||
950 | rename them from <filename>task-*</filename> to | ||
951 | <filename>packagegroup-*</filename> and inherit packagegroup | ||
952 | instead. | ||
953 | </para> | ||
954 | |||
955 | <para> | ||
956 | For more information, see the | ||
957 | "<link linkend='ref-classes-packagegroup'><filename>packagegroup.bbclass</filename></link>" | ||
958 | section. | ||
959 | </para> | ||
960 | </section> | ||
961 | |||
962 | <section id='migration-1.5-busybox'> | ||
963 | <title>BusyBox</title> | ||
964 | |||
965 | <para> | ||
966 | By default, we now split BusyBox into two binaries: | ||
967 | one that is suid root for those components that need it, and | ||
968 | another for the rest of the components. | ||
969 | Splitting BusyBox allows for optimization that eliminates the | ||
970 | <filename>tinylogin</filename> recipe as recommended by upstream. | ||
971 | You can disable this split by setting | ||
972 | <link linkend='var-BUSYBOX_SPLIT_SUID'><filename>BUSYBOX_SPLIT_SUID</filename></link> | ||
973 | to "0". | ||
974 | </para> | ||
975 | </section> | ||
976 | |||
977 | <section id='migration-1.5-automated-image-testing'> | ||
978 | <title>Automated Image Testing</title> | ||
979 | |||
980 | <para> | ||
981 | A new automated image testing framework has been added | ||
982 | through the | ||
983 | <link linkend='ref-classes-testimage'><filename>testimage*.bbclass</filename></link> | ||
984 | class. | ||
985 | This framework replaces the older | ||
986 | <filename>imagetest-qemu</filename> framework. | ||
987 | </para> | ||
988 | |||
989 | <para> | ||
990 | You can learn more about performing automated image tests in the | ||
991 | "<ulink url='&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing'>Performing Automated Runtime Testing</ulink>" | ||
992 | section. | ||
993 | </para> | ||
994 | </section> | ||
995 | |||
996 | <section id='migration-1.5-build-history'> | ||
997 | <title>Build History</title> | ||
998 | |||
999 | <para> | ||
1000 | Following are changes to Build History: | ||
1001 | <itemizedlist> | ||
1002 | <listitem><para> | ||
1003 | Installed package sizes: | ||
1004 | <filename>installed-package-sizes.txt</filename> for an | ||
1005 | image now records the size of the files installed by each | ||
1006 | package instead of the size of each compressed package | ||
1007 | archive file.</para></listitem> | ||
1008 | <listitem><para> | ||
1009 | The dependency graphs (<filename>depends*.dot</filename>) | ||
1010 | now use the actual package names instead of replacing | ||
1011 | dashes, dots and plus signs with underscores. | ||
1012 | </para></listitem> | ||
1013 | <listitem><para> | ||
1014 | The <filename>buildhistory-diff</filename> and | ||
1015 | <filename>buildhistory-collect-srcrevs</filename> | ||
1016 | utilities have improved command-line handling. | ||
1017 | Use the <filename>‐‐help</filename> option for | ||
1018 | each utility for more information on the new syntax. | ||
1019 | </para></listitem> | ||
1020 | </itemizedlist> | ||
1021 | For more information on Build History, see the | ||
1022 | "<link linkend='maintaining-build-output-quality'>Maintaining Build Output Quality</link>" | ||
1023 | section. | ||
1024 | </para> | ||
1025 | </section> | ||
1026 | |||
1027 | <section id='migration-1.5-udev'> | ||
1028 | <title><filename>udev</filename></title> | ||
1029 | |||
1030 | <para> | ||
1031 | Following are changes to <filename>udev</filename>: | ||
1032 | <itemizedlist> | ||
1033 | <listitem><para> | ||
1034 | <filename>udev</filename> no longer brings in | ||
1035 | <filename>udev-extraconf</filename> automatically | ||
1036 | through | ||
1037 | <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>, | ||
1038 | since this was originally intended to be optional. | ||
1039 | If you need the extra rules, then add | ||
1040 | <filename>udev-extraconf</filename> to your image. | ||
1041 | </para></listitem> | ||
1042 | <listitem><para> | ||
1043 | <filename>udev</filename> no longer brings in | ||
1044 | <filename>pciutils-ids</filename> or | ||
1045 | <filename>usbutils-ids</filename> through | ||
1046 | <filename>RRECOMMENDS</filename>. | ||
1047 | These are not needed by <filename>udev</filename> itself | ||
1048 | and removing them saves around 350KB. | ||
1049 | </para></listitem> | ||
1050 | </itemizedlist> | ||
1051 | </para> | ||
1052 | </section> | ||
1053 | |||
1054 | <section id='migration-1.5-removed-renamed-recipes'> | ||
1055 | <title>Removed and Renamed Recipes</title> | ||
1056 | |||
1057 | <itemizedlist> | ||
1058 | <listitem><para> | ||
1059 | The <filename>linux-yocto</filename> 3.2 kernel has been | ||
1060 | removed.</para></listitem> | ||
1061 | <listitem><para> | ||
1062 | <filename>libtool-nativesdk</filename> has been renamed to | ||
1063 | <filename>nativesdk-libtool</filename>.</para></listitem> | ||
1064 | <listitem><para> | ||
1065 | <filename>tinylogin</filename> has been removed. | ||
1066 | It has been replaced by a suid portion of Busybox. | ||
1067 | See the | ||
1068 | "<link linkend='migration-1.5-busybox'>BusyBox</link>" section | ||
1069 | for more information.</para></listitem> | ||
1070 | <listitem><para> | ||
1071 | <filename>external-python-tarball</filename> has been renamed | ||
1072 | to <filename>buildtools-tarball</filename>. | ||
1073 | </para></listitem> | ||
1074 | <listitem><para> | ||
1075 | <filename>web-webkit</filename> has been removed. | ||
1076 | It has been functionally replaced by | ||
1077 | <filename>midori</filename>.</para></listitem> | ||
1078 | <listitem><para> | ||
1079 | <filename>imake</filename> has been removed. | ||
1080 | It is no longer needed by any other recipe. | ||
1081 | </para></listitem> | ||
1082 | <listitem><para> | ||
1083 | <filename>transfig-native</filename> has been removed. | ||
1084 | It is no longer needed by any other recipe. | ||
1085 | </para></listitem> | ||
1086 | <listitem><para> | ||
1087 | <filename>anjuta-remote-run</filename> has been removed. | ||
1088 | Anjuta IDE integration has not been officially supported for | ||
1089 | several releases.</para></listitem> | ||
1090 | </itemizedlist> | ||
1091 | </section> | ||
1092 | |||
1093 | <section id='migration-1.5-other-changes'> | ||
1094 | <title>Other Changes</title> | ||
1095 | |||
1096 | <para> | ||
1097 | Following is a list of short entries describing other changes: | ||
1098 | <itemizedlist> | ||
1099 | <listitem><para> | ||
1100 | <filename>run-postinsts</filename>: Make this generic. | ||
1101 | </para></listitem> | ||
1102 | <listitem><para> | ||
1103 | <filename>base-files</filename>: Remove the unnecessary | ||
1104 | <filename>media/</filename><replaceable>xxx</replaceable> directories. | ||
1105 | </para></listitem> | ||
1106 | <listitem><para> | ||
1107 | <filename>alsa-state</filename>: Provide an empty | ||
1108 | <filename>asound.conf</filename> by default. | ||
1109 | </para></listitem> | ||
1110 | <listitem><para> | ||
1111 | <filename>classes/image</filename>: Ensure | ||
1112 | <link linkend='var-BAD_RECOMMENDATIONS'><filename>BAD_RECOMMENDATIONS</filename></link> | ||
1113 | supports pre-renamed package names.</para></listitem> | ||
1114 | <listitem><para> | ||
1115 | <filename>classes/rootfs_rpm</filename>: Implement | ||
1116 | <link linkend='var-BAD_RECOMMENDATIONS'><filename>BAD_RECOMMENDATIONS</filename></link> | ||
1117 | for RPM.</para></listitem> | ||
1118 | <listitem><para> | ||
1119 | <filename>systemd</filename>: Remove | ||
1120 | <filename>systemd_unitdir</filename> if | ||
1121 | <filename>systemd</filename> is not in | ||
1122 | <link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link>. | ||
1123 | </para></listitem> | ||
1124 | <listitem><para> | ||
1125 | <filename>systemd</filename>: Remove | ||
1126 | <filename>init.d</filename> dir if | ||
1127 | <filename>systemd</filename> unit file is present and | ||
1128 | <filename>sysvinit</filename> is not a distro feature. | ||
1129 | </para></listitem> | ||
1130 | <listitem><para> | ||
1131 | <filename>libpam</filename>: Deny all services for the | ||
1132 | <filename>OTHER</filename> entries. | ||
1133 | </para></listitem> | ||
1134 | <listitem><para> | ||
1135 | <filename>image.bbclass</filename>: Move | ||
1136 | <filename>runtime_mapping_rename</filename> to avoid | ||
1137 | conflict with <filename>multilib</filename>. | ||
1138 | See | ||
1139 | <ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=4993'><filename>YOCTO #4993</filename></ulink> | ||
1140 | in Bugzilla for more information. | ||
1141 | </para></listitem> | ||
1142 | <listitem><para> | ||
1143 | <filename>linux-dtb</filename>: Use kernel build system | ||
1144 | to generate the <filename>dtb</filename> files. | ||
1145 | </para></listitem> | ||
1146 | <listitem><para> | ||
1147 | <filename>kern-tools</filename>: Switch from guilt to | ||
1148 | new <filename>kgit-s2q</filename> tool. | ||
1149 | </para></listitem> | ||
1150 | </itemizedlist> | ||
1151 | </para> | ||
1152 | </section> | ||
1153 | </section> | ||
1154 | |||
1155 | <section id='moving-to-the-yocto-project-1.6-release'> | ||
1156 | <title>Moving to the Yocto Project 1.6 Release</title> | ||
1157 | |||
1158 | <para> | ||
1159 | This section provides migration information for moving to the | ||
1160 | Yocto Project 1.6 Release from the prior release. | ||
1161 | </para> | ||
1162 | |||
1163 | |||
1164 | <section id='migration-1.6-archiver-class'> | ||
1165 | <title><filename>archiver</filename> Class</title> | ||
1166 | |||
1167 | <para> | ||
1168 | The | ||
1169 | <link linkend='ref-classes-archiver'><filename>archiver</filename></link> | ||
1170 | class has been rewritten and its configuration has been simplified. | ||
1171 | For more details on the source archiver, see the | ||
1172 | "<ulink url='&YOCTO_DOCS_DEV_URL;#maintaining-open-source-license-compliance-during-your-products-lifecycle'>Maintaining Open Source License Compliance During Your Product's Lifecycle</ulink>" | ||
1173 | section in the Yocto Project Development Manual. | ||
1174 | </para> | ||
1175 | </section> | ||
1176 | |||
1177 | <section id='migration-1.6-packaging-changes'> | ||
1178 | <title>Packaging Changes</title> | ||
1179 | |||
1180 | <para> | ||
1181 | The following packaging changes have been made: | ||
1182 | <itemizedlist> | ||
1183 | <listitem><para> | ||
1184 | The <filename>binutils</filename> recipe no longer produces | ||
1185 | a <filename>binutils-symlinks</filename> package. | ||
1186 | <filename>update-alternatives</filename> is now used to | ||
1187 | handle the preferred <filename>binutils</filename> | ||
1188 | variant on the target instead. | ||
1189 | </para></listitem> | ||
1190 | <listitem><para> | ||
1191 | The tc (traffic control) utilities have been split out of | ||
1192 | the main <filename>iproute2</filename> package and put | ||
1193 | into the <filename>iproute2-tc</filename> package. | ||
1194 | </para></listitem> | ||
1195 | <listitem><para> | ||
1196 | The <filename>gtk-engines</filename> schemas have been | ||
1197 | moved to a dedicated | ||
1198 | <filename>gtk-engines-schemas</filename> package. | ||
1199 | </para></listitem> | ||
1200 | <listitem><para> | ||
1201 | The <filename>armv7a</filename> with thumb package | ||
1202 | architecture suffix has changed. | ||
1203 | The suffix for these packages with the thumb | ||
1204 | optimization enabled is "t2" as it should be. | ||
1205 | Use of this suffix was not the case in the 1.5 release. | ||
1206 | Architecture names will change within package feeds as a | ||
1207 | result. | ||
1208 | </para></listitem> | ||
1209 | </itemizedlist> | ||
1210 | </para> | ||
1211 | </section> | ||
1212 | |||
1213 | <section id='migration-1.6-bitbake'> | ||
1214 | <title>BitBake</title> | ||
1215 | |||
1216 | <para> | ||
1217 | The following changes have been made to | ||
1218 | <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>. | ||
1219 | </para> | ||
1220 | |||
1221 | <section id='migration-1.6-matching-branch-requirement-for-git-fetching'> | ||
1222 | <title>Matching Branch Requirement for Git Fetching</title> | ||
1223 | |||
1224 | <para> | ||
1225 | When fetching source from a Git repository using | ||
1226 | <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>, | ||
1227 | BitBake will now validate the | ||
1228 | <link linkend='var-SRCREV'><filename>SRCREV</filename></link> | ||
1229 | value against the branch. | ||
1230 | You can specify the branch using the following form: | ||
1231 | <literallayout class='monospaced'> | ||
1232 | SRC_URI = "git://server.name/repository;branch=<replaceable>branchname</replaceable>" | ||
1233 | </literallayout> | ||
1234 | If you do not specify a branch, BitBake looks | ||
1235 | in the default "master" branch. | ||
1236 | </para> | ||
1237 | |||
1238 | <para> | ||
1239 | Alternatively, if you need to bypass this check (e.g. | ||
1240 | if you are fetching a revision corresponding to a tag that | ||
1241 | is not on any branch), you can add ";nobranch=1" to | ||
1242 | the end of the URL within <filename>SRC_URI</filename>. | ||
1243 | </para> | ||
1244 | </section> | ||
1245 | |||
1246 | <section id='migration-1.6-bitbake-deps'> | ||
1247 | <title>Python Definition substitutions</title> | ||
1248 | |||
1249 | <para> | ||
1250 | BitBake had some previously deprecated Python definitions | ||
1251 | within its <filename>bb</filename> module removed. | ||
1252 | You should use their sub-module counterparts instead: | ||
1253 | <itemizedlist> | ||
1254 | <listitem><para><filename>bb.MalformedUrl</filename>: | ||
1255 | Use <filename>bb.fetch.MalformedUrl</filename>. | ||
1256 | </para></listitem> | ||
1257 | <listitem><para><filename>bb.fetch.encodeurl</filename>: | ||
1258 | Use <filename>bb.fetch.encodeurl</filename>. | ||
1259 | </para></listitem> | ||
1260 | <listitem><para><filename>bb.decodeurl</filename>: | ||
1261 | Use <filename>bb.fetch.decodeurl</filename> | ||
1262 | </para></listitem> | ||
1263 | <listitem><para><filename>bb.mkdirhier</filename>: | ||
1264 | Use <filename>bb.utils.mkdirhier</filename>. | ||
1265 | </para></listitem> | ||
1266 | <listitem><para><filename>bb.movefile</filename>: | ||
1267 | Use <filename>bb.utils.movefile</filename>. | ||
1268 | </para></listitem> | ||
1269 | <listitem><para><filename>bb.copyfile</filename>: | ||
1270 | Use <filename>bb.utils.copyfile</filename>. | ||
1271 | </para></listitem> | ||
1272 | <listitem><para><filename>bb.which</filename>: | ||
1273 | Use <filename>bb.utils.which</filename>. | ||
1274 | </para></listitem> | ||
1275 | <listitem><para><filename>bb.vercmp_string</filename>: | ||
1276 | Use <filename>bb.utils.vercmp_string</filename>. | ||
1277 | </para></listitem> | ||
1278 | <listitem><para><filename>bb.vercmp</filename>: | ||
1279 | Use <filename>bb.utils.vercmp</filename>. | ||
1280 | </para></listitem> | ||
1281 | </itemizedlist> | ||
1282 | </para> | ||
1283 | </section> | ||
1284 | |||
1285 | <section id='migration-1.6-bitbake-fetcher'> | ||
1286 | <title>SVK Fetcher</title> | ||
1287 | |||
1288 | <para> | ||
1289 | The SVK fetcher has been removed from BitBake. | ||
1290 | </para> | ||
1291 | </section> | ||
1292 | |||
1293 | <section id='migration-1.6-bitbake-console-output'> | ||
1294 | <title>Console Output Error Redirection</title> | ||
1295 | |||
1296 | <para> | ||
1297 | The BitBake console UI will now output errors to | ||
1298 | <filename>stderr</filename> instead of | ||
1299 | <filename>stdout</filename>. | ||
1300 | Consequently, if you are piping or redirecting the output of | ||
1301 | <filename>bitbake</filename> to somewhere else, and you wish | ||
1302 | to retain the errors, you will need to add | ||
1303 | <filename>2>&1</filename> (or something similar) to the | ||
1304 | end of your <filename>bitbake</filename> command line. | ||
1305 | </para> | ||
1306 | </section> | ||
1307 | |||
1308 | <section id='migration-1.6-task-taskname-overrides'> | ||
1309 | <title><filename>task-</filename><replaceable>taskname</replaceable> Overrides</title> | ||
1310 | |||
1311 | <para> | ||
1312 | <filename>task-</filename><replaceable>taskname</replaceable> overrides have been | ||
1313 | adjusted so that tasks whose names contain underscores have the | ||
1314 | underscores replaced by hyphens for the override so that they | ||
1315 | now function properly. | ||
1316 | For example, the task override for | ||
1317 | <link linkend='ref-tasks-populate_sdk'><filename>do_populate_sdk</filename></link> | ||
1318 | is <filename>task-populate-sdk</filename>. | ||
1319 | </para> | ||
1320 | </section> | ||
1321 | </section> | ||
1322 | |||
1323 | <section id='migration-1.6-variable-changes'> | ||
1324 | <title>Changes to Variables</title> | ||
1325 | |||
1326 | <para> | ||
1327 | The following variables have changed. | ||
1328 | For information on the OpenEmbedded build system variables, see the | ||
1329 | "<link linkend='ref-variables-glos'>Variables Glossary</link>" Chapter. | ||
1330 | </para> | ||
1331 | |||
1332 | <section id='migration-1.6-variable-changes-TMPDIR'> | ||
1333 | <title><filename>TMPDIR</filename></title> | ||
1334 | |||
1335 | <para> | ||
1336 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> | ||
1337 | can no longer be on an NFS mount. | ||
1338 | NFS does not offer full POSIX locking and inode consistency | ||
1339 | and can cause unexpected issues if used to store | ||
1340 | <filename>TMPDIR</filename>. | ||
1341 | </para> | ||
1342 | |||
1343 | <para> | ||
1344 | The check for this occurs on startup. | ||
1345 | If <filename>TMPDIR</filename> is detected on an NFS mount, | ||
1346 | an error occurs. | ||
1347 | </para> | ||
1348 | </section> | ||
1349 | |||
1350 | <section id='migration-1.6-variable-changes-PRINC'> | ||
1351 | <title><filename>PRINC</filename></title> | ||
1352 | |||
1353 | <para> | ||
1354 | The | ||
1355 | <link linkend='var-PRINC'><filename>PRINC</filename></link> | ||
1356 | variable has been deprecated and triggers a warning if | ||
1357 | detected during a build. | ||
1358 | For | ||
1359 | <link linkend='var-PR'><filename>PR</filename></link> | ||
1360 | increments on changes, use the PR service instead. | ||
1361 | You can find out more about this service in the | ||
1362 | "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-a-pr-service'>Working With a PR Service</ulink>" | ||
1363 | section in the Yocto Project Development Manual. | ||
1364 | </para> | ||
1365 | </section> | ||
1366 | |||
1367 | <section id='migration-1.6-variable-changes-IMAGE_TYPES'> | ||
1368 | <title><filename>IMAGE_TYPES</filename></title> | ||
1369 | |||
1370 | <para> | ||
1371 | The "sum.jffs2" option for | ||
1372 | <link linkend='var-IMAGE_TYPES'><filename>IMAGE_TYPES</filename></link> | ||
1373 | has been replaced by the "jffs2.sum" option, which fits the | ||
1374 | processing order. | ||
1375 | </para> | ||
1376 | </section> | ||
1377 | |||
1378 | <section id='migration-1.6-variable-changes-COPY_LIC_MANIFEST'> | ||
1379 | <title><filename>COPY_LIC_MANIFEST</filename></title> | ||
1380 | |||
1381 | <para> | ||
1382 | The | ||
1383 | <link linkend='var-COPY_LIC_MANIFEST'><filename>COPY_LIC_MANIFEST</filename></link> | ||
1384 | variable must | ||
1385 | now be set to "1" rather than any value in order to enable | ||
1386 | it. | ||
1387 | </para> | ||
1388 | </section> | ||
1389 | |||
1390 | <section id='migration-1.6-variable-changes-COPY_LIC_DIRS'> | ||
1391 | <title><filename>COPY_LIC_DIRS</filename></title> | ||
1392 | |||
1393 | <para> | ||
1394 | The | ||
1395 | <link linkend='var-COPY_LIC_DIRS'><filename>COPY_LIC_DIRS</filename></link> | ||
1396 | variable must | ||
1397 | now be set to "1" rather than any value in order to enable | ||
1398 | it. | ||
1399 | </para> | ||
1400 | </section> | ||
1401 | |||
1402 | <section id='migration-1.6-variable-changes-PACKAGE_GROUP'> | ||
1403 | <title><filename>PACKAGE_GROUP</filename></title> | ||
1404 | |||
1405 | <para> | ||
1406 | The | ||
1407 | <link linkend='var-PACKAGE_GROUP'><filename>PACKAGE_GROUP</filename></link> | ||
1408 | variable has been renamed to | ||
1409 | <link linkend='var-FEATURE_PACKAGES'><filename>FEATURE_PACKAGES</filename></link> | ||
1410 | to more accurately reflect its purpose. | ||
1411 | You can still use <filename>PACKAGE_GROUP</filename> but | ||
1412 | the OpenEmbedded build system produces a warning message when | ||
1413 | it encounters the variable. | ||
1414 | </para> | ||
1415 | </section> | ||
1416 | </section> | ||
1417 | |||
1418 | <section id='migration-1.6-directory-layout-changes'> | ||
1419 | <title>Directory Layout Changes</title> | ||
1420 | |||
1421 | <para> | ||
1422 | The <filename>meta-hob</filename> layer has been removed from | ||
1423 | the top-level of the | ||
1424 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. | ||
1425 | The contents of this layer are no longer needed by the Hob | ||
1426 | user interface for building images and toolchains. | ||
1427 | </para> | ||
1428 | </section> | ||
1429 | |||
1430 | <section id='migration-1.6-package-test-ptest'> | ||
1431 | <title>Package Test (ptest)</title> | ||
1432 | |||
1433 | <para> | ||
1434 | Package Tests (ptest) are built but not installed by default. | ||
1435 | For information on using Package Tests, see the | ||
1436 | "<ulink url='&YOCTO_DOCS_DEV_URL;#testing-packages-with-ptest'>Setting up and running package test (ptest)</ulink>" | ||
1437 | section in the Yocto Project Development Manual. | ||
1438 | For information on the <filename>ptest</filename> class, see the | ||
1439 | "<link linkend='ref-classes-ptest'><filename>ptest.bbclass</filename></link>" | ||
1440 | section. | ||
1441 | </para> | ||
1442 | </section> | ||
1443 | |||
1444 | <section id='migration-1.6-build-changes'> | ||
1445 | <title>Build Changes</title> | ||
1446 | |||
1447 | <para> | ||
1448 | Separate build and source directories have been enabled | ||
1449 | by default for selected recipes where it is known to work | ||
1450 | (a whitelist) and for all recipes that inherit the | ||
1451 | <link linkend='ref-classes-cmake'><filename>cmake</filename></link> | ||
1452 | class. | ||
1453 | In future releases the | ||
1454 | <link linkend='ref-classes-autotools'><filename>autotools</filename></link> | ||
1455 | class will enable a separate build directory by default as | ||
1456 | well. | ||
1457 | Recipes building Autotools-based | ||
1458 | software that fails to build with a separate build directory | ||
1459 | should be changed to inherit from the | ||
1460 | <link linkend='ref-classes-autotools-brokensep'><filename>autotools-brokensep</filename></link> | ||
1461 | class instead of the <filename>autotools</filename> class. | ||
1462 | </para> | ||
1463 | </section> | ||
1464 | |||
1465 | <section id='migration-1.6-building-qemu-native'> | ||
1466 | <title><filename>qemu-native</filename></title> | ||
1467 | |||
1468 | <para> | ||
1469 | <filename>qemu-native</filename> now builds without | ||
1470 | SDL-based graphical output support by default. | ||
1471 | The following additional lines are needed in your | ||
1472 | <filename>local.conf</filename> to enable it: | ||
1473 | <literallayout class='monospaced'> | ||
1474 | PACKAGECONFIG_pn-qemu-native = "sdl" | ||
1475 | ASSUME_PROVIDED += "libsdl-native" | ||
1476 | </literallayout> | ||
1477 | <note> | ||
1478 | The default <filename>local.conf</filename> | ||
1479 | contains these statements. | ||
1480 | Consequently, if you are building a headless system and using | ||
1481 | a default <filename>local.conf</filename> file, you will need | ||
1482 | comment these two lines out. | ||
1483 | </note> | ||
1484 | </para> | ||
1485 | </section> | ||
1486 | |||
1487 | <section id='migration-1.6-core-image-basic'> | ||
1488 | <title><filename>core-image-basic</filename></title> | ||
1489 | |||
1490 | <para> | ||
1491 | <filename>core-image-basic</filename> has been renamed to | ||
1492 | <filename>core-image-full-cmdline</filename>. | ||
1493 | </para> | ||
1494 | |||
1495 | <para> | ||
1496 | In addition to <filename>core-image-basic</filename> being renamed, | ||
1497 | <filename>packagegroup-core-basic</filename> has been renamed to | ||
1498 | <filename>packagegroup-core-full-cmdline</filename> to match. | ||
1499 | </para> | ||
1500 | </section> | ||
1501 | |||
1502 | <section id='migration-1.6-licensing'> | ||
1503 | <title>Licensing</title> | ||
1504 | |||
1505 | <para> | ||
1506 | The top-level <filename>LICENSE</filename> file has been changed | ||
1507 | to better describe the license of the various components of | ||
1508 | OE-Core. | ||
1509 | However, the licensing itself remains unchanged. | ||
1510 | </para> | ||
1511 | |||
1512 | <para> | ||
1513 | Normally, this change would not cause any side-effects. | ||
1514 | However, some recipes point to this file within | ||
1515 | <link linkend='var-LIC_FILES_CHKSUM'><filename>LIC_FILES_CHKSUM</filename></link> | ||
1516 | (as <filename>${COREBASE}/LICENSE</filename>) and thus the | ||
1517 | accompanying checksum must be changed from | ||
1518 | 3f40d7994397109285ec7b81fdeb3b58 to | ||
1519 | 4d92cd373abda3937c2bc47fbc49d690. | ||
1520 | A better alternative is to have | ||
1521 | <filename>LIC_FILES_CHKSUM</filename> point to a file | ||
1522 | describing the license that is distributed with the source | ||
1523 | that the recipe is building, if possible, rather than pointing | ||
1524 | to <filename>${COREBASE}/LICENSE</filename>. | ||
1525 | </para> | ||
1526 | </section> | ||
1527 | |||
1528 | <section id='migration-1.6-cflags-options'> | ||
1529 | <title><filename>CFLAGS</filename> Options</title> | ||
1530 | |||
1531 | <para> | ||
1532 | The "-fpermissive" option has been removed from the default | ||
1533 | <link linkend='var-CFLAGS'><filename>CFLAGS</filename></link> | ||
1534 | value. | ||
1535 | You need to take action on individual recipes that fail when | ||
1536 | building with this option. | ||
1537 | You need to either patch the recipes to fix the issues reported by | ||
1538 | the compiler, or you need to add "-fpermissive" to | ||
1539 | <filename>CFLAGS</filename> in the recipes. | ||
1540 | </para> | ||
1541 | </section> | ||
1542 | |||
1543 | <section id='migration-1.6-custom-images'> | ||
1544 | <title>Custom Image Output Types</title> | ||
1545 | |||
1546 | <para> | ||
1547 | Custom image output types, as selected using | ||
1548 | <link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link>, | ||
1549 | must declare their dependencies on other image types (if any) using | ||
1550 | a new | ||
1551 | <link linkend='var-IMAGE_TYPEDEP'><filename>IMAGE_TYPEDEP</filename></link> | ||
1552 | variable. | ||
1553 | </para> | ||
1554 | </section> | ||
1555 | |||
1556 | <section id='migration-1.6-do-package-write-task'> | ||
1557 | <title>Tasks</title> | ||
1558 | |||
1559 | <para> | ||
1560 | The <filename>do_package_write</filename> task has been removed. | ||
1561 | The task is no longer needed. | ||
1562 | </para> | ||
1563 | </section> | ||
1564 | |||
1565 | <section id='migration-1.6-update-alternatives-provider'> | ||
1566 | <title><filename>update-alternative</filename> Provider</title> | ||
1567 | |||
1568 | <para> | ||
1569 | The default <filename>update-alternatives</filename> provider has | ||
1570 | been changed from <filename>opkg</filename> to | ||
1571 | <filename>opkg-utils</filename>. | ||
1572 | This change resolves some troublesome circular dependencies. | ||
1573 | The runtime package has also been renamed from | ||
1574 | <filename>update-alternatives-cworth</filename> | ||
1575 | to <filename>update-alternatives-opkg</filename>. | ||
1576 | </para> | ||
1577 | </section> | ||
1578 | |||
1579 | <section id='migration-1.6-virtclass-overrides'> | ||
1580 | <title><filename>virtclass</filename> Overrides</title> | ||
1581 | |||
1582 | <para> | ||
1583 | The <filename>virtclass</filename> overrides are now deprecated. | ||
1584 | Use the equivalent class overrides instead (e.g. | ||
1585 | <filename>virtclass-native</filename> becomes | ||
1586 | <filename>class-native</filename>.) | ||
1587 | </para> | ||
1588 | </section> | ||
1589 | |||
1590 | <section id='migration-1.6-removed-renamed-recipes'> | ||
1591 | <title>Removed and Renamed Recipes</title> | ||
1592 | |||
1593 | <para> | ||
1594 | The following recipes have been removed: | ||
1595 | <itemizedlist> | ||
1596 | <listitem><para><filename>packagegroup-toolset-native</filename> - | ||
1597 | This recipe is largely unused. | ||
1598 | </para></listitem> | ||
1599 | <listitem><para><filename>linux-yocto-3.8</filename> - | ||
1600 | Support for the Linux yocto 3.8 kernel has been dropped. | ||
1601 | Support for the 3.10 and 3.14 kernels have been added | ||
1602 | with the <filename>linux-yocto-3.10</filename> and | ||
1603 | <filename>linux-yocto-3.14</filename> recipes. | ||
1604 | </para></listitem> | ||
1605 | <listitem><para><filename>ocf-linux</filename> - | ||
1606 | This recipe has been functionally replaced using | ||
1607 | <filename>cryptodev-linux</filename>. | ||
1608 | </para></listitem> | ||
1609 | <listitem><para><filename>genext2fs</filename> - | ||
1610 | <filename>genext2fs</filename> is no longer used by the | ||
1611 | build system and is unmaintained upstream. | ||
1612 | </para></listitem> | ||
1613 | <listitem><para><filename>js</filename> - | ||
1614 | This provided an ancient version of Mozilla's javascript | ||
1615 | engine that is no longer needed. | ||
1616 | </para></listitem> | ||
1617 | <listitem><para><filename>zaurusd</filename> - | ||
1618 | The recipe has been moved to the | ||
1619 | <filename>meta-handheld</filename> layer. | ||
1620 | </para></listitem> | ||
1621 | <listitem><para><filename>eglibc 2.17</filename> - | ||
1622 | Replaced by the <filename>eglibc 2.19</filename> | ||
1623 | recipe. | ||
1624 | </para></listitem> | ||
1625 | <listitem><para><filename>gcc 4.7.2</filename> - | ||
1626 | Replaced by the now stable | ||
1627 | <filename>gcc 4.8.2</filename>. | ||
1628 | </para></listitem> | ||
1629 | <listitem><para><filename>external-sourcery-toolchain</filename> - | ||
1630 | this recipe is now maintained in the | ||
1631 | <filename>meta-sourcery</filename> layer. | ||
1632 | </para></listitem> | ||
1633 | <listitem><para><filename>linux-libc-headers-yocto 3.4+git</filename> - | ||
1634 | Now using version 3.10 of the | ||
1635 | <filename>linux-libc-headers</filename> by default. | ||
1636 | </para></listitem> | ||
1637 | <listitem><para><filename>meta-toolchain-gmae</filename> - | ||
1638 | This recipe is obsolete. | ||
1639 | </para></listitem> | ||
1640 | <listitem><para><filename>packagegroup-core-sdk-gmae</filename> - | ||
1641 | This recipe is obsolete. | ||
1642 | </para></listitem> | ||
1643 | <listitem><para><filename>packagegroup-core-standalone-gmae-sdk-target</filename> - | ||
1644 | This recipe is obsolete. | ||
1645 | </para></listitem> | ||
1646 | </itemizedlist> | ||
1647 | </para> | ||
1648 | </section> | ||
1649 | |||
1650 | <section id='migration-1.6-removed-classes'> | ||
1651 | <title>Removed Classes</title> | ||
1652 | |||
1653 | <para> | ||
1654 | The following classes have become obsolete and have been removed: | ||
1655 | <itemizedlist> | ||
1656 | <listitem><para><filename>module_strip</filename> | ||
1657 | </para></listitem> | ||
1658 | <listitem><para><filename>pkg_metainfo</filename> | ||
1659 | </para></listitem> | ||
1660 | <listitem><para><filename>pkg_distribute</filename> | ||
1661 | </para></listitem> | ||
1662 | <listitem><para><filename>image-empty</filename> | ||
1663 | </para></listitem> | ||
1664 | </itemizedlist> | ||
1665 | </para> | ||
1666 | </section> | ||
1667 | |||
1668 | <section id='migration-1.6-reference-bsps'> | ||
1669 | <title>Reference Board Support Packages (BSPs)</title> | ||
1670 | |||
1671 | <para> | ||
1672 | The following reference BSPs changes occurred: | ||
1673 | <itemizedlist> | ||
1674 | <listitem><para>The BeagleBoard | ||
1675 | (<filename>beagleboard</filename>) ARM reference hardware | ||
1676 | has been replaced by the BeagleBone | ||
1677 | (<filename>beaglebone</filename>) hardware. | ||
1678 | </para></listitem> | ||
1679 | <listitem><para>The RouterStation Pro | ||
1680 | (<filename>routerstationpro</filename>) MIPS reference | ||
1681 | hardware has been replaced by the EdgeRouter Lite | ||
1682 | (<filename>edgerouter</filename>) hardware. | ||
1683 | </para></listitem> | ||
1684 | </itemizedlist> | ||
1685 | The previous reference BSPs for the | ||
1686 | <filename>beagleboard</filename> and | ||
1687 | <filename>routerstationpro</filename> machines are still available | ||
1688 | in a new <filename>meta-yocto-bsp-old</filename> layer in the | ||
1689 | <ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink> | ||
1690 | at | ||
1691 | <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto-bsp-old/'>http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto-bsp-old/</ulink>. | ||
1692 | </para> | ||
1693 | </section> | ||
1694 | </section> | ||
1695 | |||
1696 | <section id='moving-to-the-yocto-project-1.7-release'> | ||
1697 | <title>Moving to the Yocto Project 1.7 Release</title> | ||
1698 | |||
1699 | <para> | ||
1700 | This section provides migration information for moving to the | ||
1701 | Yocto Project 1.7 Release from the prior release. | ||
1702 | </para> | ||
1703 | |||
1704 | <section id='migration-1.7-changes-to-setting-qemu-packageconfig-options'> | ||
1705 | <title>Changes to Setting QEMU <filename>PACKAGECONFIG</filename> Options in <filename>local.conf</filename></title> | ||
1706 | |||
1707 | <para> | ||
1708 | The QEMU recipe now uses a number of | ||
1709 | <link linkend='var-PACKAGECONFIG'><filename>PACKAGECONFIG</filename></link> | ||
1710 | options to enable various optional features. | ||
1711 | The method used to set defaults for these options means that | ||
1712 | existing | ||
1713 | <filename>local.conf</filename> files will need to be be | ||
1714 | modified to append to <filename>PACKAGECONFIG</filename> for | ||
1715 | <filename>qemu-native</filename> and | ||
1716 | <filename>nativesdk-qemu</filename> instead of setting it. | ||
1717 | In other words, to enable graphical output for QEMU, you should | ||
1718 | now have these lines in <filename>local.conf</filename>: | ||
1719 | <literallayout class='monospaced'> | ||
1720 | PACKAGECONFIG_append_pn-qemu-native = " sdl" | ||
1721 | PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" | ||
1722 | </literallayout> | ||
1723 | </para> | ||
1724 | </section> | ||
1725 | |||
1726 | <section id='migration-1.7-minimum-git-version'> | ||
1727 | <title>Minimum Git version</title> | ||
1728 | |||
1729 | <para> | ||
1730 | The minimum | ||
1731 | <ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink> version required | ||
1732 | on the build host is now 1.7.8 because the | ||
1733 | <filename>‐‐list</filename> option is now required by | ||
1734 | BitBake's Git fetcher. | ||
1735 | As always, if your host distribution does not provide a version of | ||
1736 | Git that meets this requirement, you can use the | ||
1737 | <filename>buildtools-tarball</filename> that does. | ||
1738 | See the | ||
1739 | "<link linkend='required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</link>" | ||
1740 | section for more information. | ||
1741 | </para> | ||
1742 | </section> | ||
1743 | |||
1744 | <section id='migration-1.7-autotools-class-changes'> | ||
1745 | <title>Autotools Class Changes</title> | ||
1746 | |||
1747 | <para> | ||
1748 | The following | ||
1749 | <link linkend='ref-classes-autotools'><filename>autotools</filename></link> | ||
1750 | class changes occurred: | ||
1751 | <itemizedlist> | ||
1752 | <listitem><para><emphasis> | ||
1753 | A separate build directory is now used by default:</emphasis> | ||
1754 | The <filename>autotools</filename> class has been changed | ||
1755 | to use a directory for building | ||
1756 | (<link linkend='var-B'><filename>B</filename></link>), | ||
1757 | which is separate from the source directory | ||
1758 | (<link linkend='var-S'><filename>S</filename></link>). | ||
1759 | This is commonly referred to as | ||
1760 | <filename>B != S</filename>, or an out-of-tree build.</para> | ||
1761 | <para>If the software being built is already capable of | ||
1762 | building in a directory separate from the source, you | ||
1763 | do not need to do anything. | ||
1764 | However, if the software is not capable of being built | ||
1765 | in this manner, you will | ||
1766 | need to either patch the software so that it can build | ||
1767 | separately, or you will need to change the recipe to | ||
1768 | inherit the | ||
1769 | <link linkend='ref-classes-autotools-brokensep'><filename>autotools-brokensep</filename></link> | ||
1770 | class instead of the <filename>autotools</filename> class. | ||
1771 | </para></listitem> | ||
1772 | <listitem><para><emphasis> | ||
1773 | The <filename>‐‐foreign</filename> option is | ||
1774 | no longer passed to <filename>automake</filename> when | ||
1775 | running <filename>autoconf</filename>:</emphasis> | ||
1776 | This option tells <filename>automake</filename> that a | ||
1777 | particular software package does not follow the GNU | ||
1778 | standards and therefore should not be expected | ||
1779 | to distribute certain files such as | ||
1780 | <filename>ChangeLog</filename>, | ||
1781 | <filename>AUTHORS</filename>, and so forth. | ||
1782 | Because the majority of upstream software packages already | ||
1783 | tell <filename>automake</filename> to enable foreign mode | ||
1784 | themselves, the option is mostly superfluous. | ||
1785 | However, some recipes will need patches for this change. | ||
1786 | You can easily make the change by patching | ||
1787 | <filename>configure.ac</filename> so that it passes | ||
1788 | "foreign" to <filename>AM_INIT_AUTOMAKE()</filename>. | ||
1789 | See | ||
1790 | <ulink url='http://cgit.openembedded.org/openembedded-core/commit/?id=01943188f85ce6411717fb5bf702d609f55813f2'>this commit</ulink> | ||
1791 | for an example showing how to make the patch. | ||
1792 | </para></listitem> | ||
1793 | </itemizedlist> | ||
1794 | </para> | ||
1795 | </section> | ||
1796 | |||
1797 | <section id='migration-1.7-binary-configuration-scripts-disabled'> | ||
1798 | <title>Binary Configuration Scripts Disabled</title> | ||
1799 | |||
1800 | <para> | ||
1801 | Some of the core recipes that package binary configuration scripts | ||
1802 | now disable the scripts due to the | ||
1803 | scripts previously requiring error-prone path substitution. | ||
1804 | Software that links against these libraries using these scripts | ||
1805 | should use the much more robust <filename>pkg-config</filename> | ||
1806 | instead. | ||
1807 | The list of recipes changed in this version (and their | ||
1808 | configuration scripts) is as follows: | ||
1809 | <literallayout class='monospaced'> | ||
1810 | directfb (directfb-config) | ||
1811 | freetype (freetype-config) | ||
1812 | gpgme (gpgme-config) | ||
1813 | libassuan (libassuan-config) | ||
1814 | libcroco (croco-6.0-config) | ||
1815 | libgcrypt (libgcrypt-config) | ||
1816 | libgpg-error (gpg-error-config) | ||
1817 | libksba (ksba-config) | ||
1818 | libpcap (pcap-config) | ||
1819 | libpcre (pcre-config) | ||
1820 | libpng (libpng-config, libpng16-config) | ||
1821 | libsdl (sdl-config) | ||
1822 | libusb-compat (libusb-config) | ||
1823 | libxml2 (xml2-config) | ||
1824 | libxslt (xslt-config) | ||
1825 | ncurses (ncurses-config) | ||
1826 | neon (neon-config) | ||
1827 | npth (npth-config) | ||
1828 | pth (pth-config) | ||
1829 | taglib (taglib-config) | ||
1830 | </literallayout> | ||
1831 | Additionally, support for <filename>pkg-config</filename> has been | ||
1832 | added to some recipes in the previous list in the rare cases | ||
1833 | where the upstream software package does not already provide | ||
1834 | it. | ||
1835 | </para> | ||
1836 | </section> | ||
1837 | |||
1838 | <section id='migration-1.7-glibc-replaces-eglibc'> | ||
1839 | <title><filename>eglibc 2.19</filename> Replaced with <filename>glibc 2.20</filename></title> | ||
1840 | |||
1841 | <para> | ||
1842 | Because <filename>eglibc</filename> and | ||
1843 | <filename>glibc</filename> were already fairly close, this | ||
1844 | replacement should not require any significant changes to other | ||
1845 | software that links to <filename>eglibc</filename>. | ||
1846 | However, there were a number of minor changes in | ||
1847 | <filename>glibc 2.20</filename> upstream that could require | ||
1848 | patching some software (e.g. the removal of the | ||
1849 | <filename>_BSD_SOURCE</filename> feature test macro). | ||
1850 | </para> | ||
1851 | |||
1852 | <para> | ||
1853 | <filename>glibc 2.20</filename> requires version 2.6.32 or greater | ||
1854 | of the Linux kernel. | ||
1855 | Thus, older kernels will no longer be usable in conjunction with it. | ||
1856 | </para> | ||
1857 | |||
1858 | <para> | ||
1859 | For full details on the changes in <filename>glibc 2.20</filename>, | ||
1860 | see the upstream release notes | ||
1861 | <ulink url='https://sourceware.org/ml/libc-alpha/2014-09/msg00088.html'>here</ulink>. | ||
1862 | </para> | ||
1863 | </section> | ||
1864 | |||
1865 | <section id='migration-1.7-kernel-module-autoloading'> | ||
1866 | <title>Kernel Module Autoloading</title> | ||
1867 | |||
1868 | <para> | ||
1869 | The | ||
1870 | <link linkend='var-module_autoload'><filename>module_autoload_*</filename></link> | ||
1871 | variable is now deprecated and a new | ||
1872 | <link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link> | ||
1873 | variable should be used instead. | ||
1874 | Also, | ||
1875 | <link linkend='var-module_conf'><filename>module_conf_*</filename></link> | ||
1876 | must now be used in conjunction with a new | ||
1877 | <link linkend='var-KERNEL_MODULE_PROBECONF'><filename>KERNEL_MODULE_PROBECONF</filename></link> | ||
1878 | variable. | ||
1879 | The new variables no longer require you to specify the module name | ||
1880 | as part of the variable name. | ||
1881 | This change not only simplifies usage but also allows the values | ||
1882 | of these variables to be appropriately incorporated into task | ||
1883 | signatures and thus trigger the appropriate tasks to re-execute | ||
1884 | when changed. | ||
1885 | You should replace any references to | ||
1886 | <filename>module_autoload_*</filename> with | ||
1887 | <filename>KERNEL_MODULE_AUTOLOAD</filename>, and add any modules | ||
1888 | for which <filename>module_conf_*</filename> is specified to | ||
1889 | <filename>KERNEL_MODULE_PROBECONF</filename>. | ||
1890 | </para> | ||
1891 | |||
1892 | <para> | ||
1893 | For more information, see the | ||
1894 | <link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link> | ||
1895 | and | ||
1896 | <link linkend='var-KERNEL_MODULE_PROBECONF'><filename>KERNEL_MODULE_PROBECONF</filename></link> | ||
1897 | variables. | ||
1898 | </para> | ||
1899 | </section> | ||
1900 | |||
1901 | <section id='migration-1.7-qa-check-changes'> | ||
1902 | <title>QA Check Changes</title> | ||
1903 | |||
1904 | <para> | ||
1905 | The following changes have occurred to the QA check process: | ||
1906 | <itemizedlist> | ||
1907 | <listitem><para> | ||
1908 | Additional QA checks <filename>file-rdeps</filename> | ||
1909 | and <filename>build-deps</filename> have been added in | ||
1910 | order to verify that file dependencies are satisfied | ||
1911 | (e.g. package contains a script requiring | ||
1912 | <filename>/bin/bash</filename>) and build-time dependencies | ||
1913 | are declared, respectively. | ||
1914 | For more information, please see the | ||
1915 | "<link linkend='ref-qa-checks'>QA Error and Warning Messages</link>" | ||
1916 | chapter. | ||
1917 | </para></listitem> | ||
1918 | <listitem><para> | ||
1919 | Package QA checks are now performed during a new | ||
1920 | <link linkend='ref-tasks-package_qa'><filename>do_package_qa</filename></link> | ||
1921 | task rather than being part of the | ||
1922 | <link linkend='ref-tasks-package'><filename>do_package</filename></link> | ||
1923 | task. | ||
1924 | This allows more parallel execution. | ||
1925 | This change is unlikely to be an issue except for highly | ||
1926 | customized recipes that disable packaging tasks themselves | ||
1927 | by marking them as <filename>noexec</filename>. | ||
1928 | For those packages, you will need to disable the | ||
1929 | <filename>do_package_qa</filename> task as well. | ||
1930 | </para></listitem> | ||
1931 | <listitem><para> | ||
1932 | Files being overwritten during the | ||
1933 | <link linkend='ref-tasks-populate_sysroot'><filename>do_populate_sysroot</filename></link> | ||
1934 | task now trigger an error instead of a warning. | ||
1935 | Recipes should not be overwriting files written to the | ||
1936 | sysroot by other recipes. | ||
1937 | If you have these types of recipes, you need to alter them | ||
1938 | so that they do not overwrite these files.</para> | ||
1939 | <para>You might now receive this error after changes in | ||
1940 | configuration or metadata resulting in orphaned files | ||
1941 | being left in the sysroot. | ||
1942 | If you do receive this error, the way to resolve the issue | ||
1943 | is to delete your | ||
1944 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> | ||
1945 | or to move it out of the way and then re-start the build. | ||
1946 | Anything that has been fully built up to that point and | ||
1947 | does not need rebuilding will be restored from the shared | ||
1948 | state cache and the rest of the build will be able to | ||
1949 | proceed as normal. | ||
1950 | </para></listitem> | ||
1951 | </itemizedlist> | ||
1952 | </para> | ||
1953 | </section> | ||
1954 | |||
1955 | <section id='migration-1.7-removed-recipes'> | ||
1956 | <title>Removed Recipes</title> | ||
1957 | |||
1958 | <para> | ||
1959 | The following recipes have been removed: | ||
1960 | <itemizedlist> | ||
1961 | <listitem><para> | ||
1962 | <filename>x-load</filename>: | ||
1963 | This recipe has been superseded by | ||
1964 | U-boot SPL for all Cortex-based TI SoCs. | ||
1965 | For legacy boards, the <filename>meta-ti</filename> | ||
1966 | layer, which contains a maintained recipe, should be used | ||
1967 | instead. | ||
1968 | </para></listitem> | ||
1969 | <listitem><para> | ||
1970 | <filename>ubootchart</filename>: | ||
1971 | This recipe is obsolete. | ||
1972 | A <filename>bootchart2</filename> recipe has been added | ||
1973 | to functionally replace it. | ||
1974 | </para></listitem> | ||
1975 | <listitem><para> | ||
1976 | <filename>linux-yocto 3.4</filename>: | ||
1977 | Support for the linux-yocto 3.4 kernel has been dropped. | ||
1978 | Support for the 3.10 and 3.14 kernels remains, while | ||
1979 | support for version 3.17 has been added. | ||
1980 | </para></listitem> | ||
1981 | <listitem><para> | ||
1982 | <filename>eglibc</filename> has been removed in favor of | ||
1983 | <filename>glibc</filename>. | ||
1984 | See the | ||
1985 | "<link linkend='migration-1.7-glibc-replaces-eglibc'><filename>eglibc 2.19</filename> Replaced with <filename>glibc 2.20</filename></link>" | ||
1986 | section for more information. | ||
1987 | </para></listitem> | ||
1988 | </itemizedlist> | ||
1989 | </para> | ||
1990 | </section> | ||
1991 | |||
1992 | <section id='migration-1.7-miscellaneous-changes'> | ||
1993 | <title>Miscellaneous Changes</title> | ||
1994 | |||
1995 | <para> | ||
1996 | The following miscellaneous change occurred: | ||
1997 | <itemizedlist> | ||
1998 | <listitem><para> | ||
1999 | The build history feature now writes | ||
2000 | <filename>build-id.txt</filename> instead of | ||
2001 | <filename>build-id</filename>. | ||
2002 | Additionally, <filename>build-id.txt</filename> | ||
2003 | now contains the full build header as printed by | ||
2004 | BitBake upon starting the build. | ||
2005 | You should manually remove old "build-id" files from your | ||
2006 | existing build history repositories to avoid confusion. | ||
2007 | For information on the build history feature, see the | ||
2008 | "<link linkend='maintaining-build-output-quality'>Maintaining Build Output Quality</link>" | ||
2009 | section. | ||
2010 | </para></listitem> | ||
2011 | </itemizedlist> | ||
2012 | </para> | ||
2013 | </section> | ||
2014 | </section> | ||
2015 | |||
2016 | </chapter> | ||
2017 | <!-- | ||
2018 | vim: expandtab tw=80 ts=4 | ||
2019 | --> | ||