diff options
Diffstat (limited to 'documentation/ref-manual/migration.xml')
-rw-r--r-- | documentation/ref-manual/migration.xml | 1697 |
1 files changed, 1697 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml new file mode 100644 index 0000000..d51bc4d --- /dev/null +++ b/documentation/ref-manual/migration.xml | |||
@@ -0,0 +1,1697 @@ | |||
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://someserver.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, | ||
379 | <filename>bitbake -c rootfs some-image</filename> from | ||
380 | shared state no longer populates the target sysroot | ||
381 | since that is not necessary. | ||
382 | Instead, the system just needs to extract the output | ||
383 | package contents, re-create the packages, and construct | ||
384 | the root filesystem. | ||
385 | This change is unlikely to cause any problems unless | ||
386 | you have missing declared dependencies. | ||
387 | </para></listitem> | ||
388 | <listitem><para><emphasis>Scanning Directory Names:</emphasis> | ||
389 | When scanning for files in | ||
390 | <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>, | ||
391 | the build system now uses | ||
392 | <link linkend='var-FILESOVERRIDES'><filename>FILESOVERRIDES</filename></link> | ||
393 | instead of <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link> | ||
394 | for the directory names. | ||
395 | In general, the values previously in | ||
396 | <filename>OVERRIDES</filename> are now in | ||
397 | <filename>FILESOVERRIDES</filename> as well. | ||
398 | However, if you relied upon an additional value | ||
399 | you previously added to <filename>OVERRIDES</filename>, | ||
400 | you might now need to add it to | ||
401 | <filename>FILESOVERRIDES</filename> unless you are already | ||
402 | adding it through the | ||
403 | <link linkend='var-MACHINEOVERRIDES'><filename>MACHINEOVERRIDES</filename></link> | ||
404 | or <link linkend='var-DISTROOVERRIDES'><filename>DISTROOVERRIDES</filename></link> | ||
405 | variables, as appropriate. | ||
406 | For more related changes, see the | ||
407 | "<link linkend='migration-1.4-variables'>Variables</link>" | ||
408 | section. | ||
409 | </para></listitem> | ||
410 | </itemizedlist> | ||
411 | </para> | ||
412 | </section> | ||
413 | |||
414 | |||
415 | <section id='migration-1.4-proxies-and-fetching-source'> | ||
416 | <title>Proxies and Fetching Source</title> | ||
417 | |||
418 | <para> | ||
419 | A new <filename>oe-git-proxy</filename> script has been added to | ||
420 | replace previous methods of handling proxies and fetching source | ||
421 | from Git. | ||
422 | See the <filename>meta-yocto/conf/site.conf.sample</filename> file | ||
423 | for information on how to use this script. | ||
424 | </para> | ||
425 | </section> | ||
426 | |||
427 | <section id='migration-1.4-custom-interfaces-file-netbase-change'> | ||
428 | <title>Custom Interfaces File (netbase change)</title> | ||
429 | |||
430 | <para> | ||
431 | If you have created your own custom | ||
432 | <filename>etc/network/interfaces</filename> file by creating | ||
433 | an append file for the <filename>netbase</filename> recipe, | ||
434 | you now need to create an append file for the | ||
435 | <filename>init-ifupdown</filename> recipe instead, which you can | ||
436 | find in the | ||
437 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> | ||
438 | at <filename>meta/recipes-core/init-ifupdown</filename>. | ||
439 | For information on how to use append files, see the | ||
440 | "<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>" | ||
441 | in the Yocto Project Development Manual. | ||
442 | </para> | ||
443 | </section> | ||
444 | |||
445 | <section id='migration-1.4-remote-debugging'> | ||
446 | <title>Remote Debugging</title> | ||
447 | |||
448 | <para> | ||
449 | Support for remote debugging with the Eclipse IDE is now | ||
450 | separated into an image feature | ||
451 | (<filename>eclipse-debug</filename>) that corresponds to the | ||
452 | <filename>packagegroup-core-eclipse-debug</filename> package group. | ||
453 | Previously, the debugging feature was included through the | ||
454 | <filename>tools-debug</filename> image feature, which corresponds | ||
455 | to the <filename>packagegroup-core-tools-debug</filename> | ||
456 | package group. | ||
457 | </para> | ||
458 | </section> | ||
459 | |||
460 | <section id='migration-1.4-variables'> | ||
461 | <title>Variables</title> | ||
462 | |||
463 | <para> | ||
464 | The following variables have changed: | ||
465 | <itemizedlist> | ||
466 | <listitem><para><emphasis><filename>SANITY_TESTED_DISTROS</filename>:</emphasis> | ||
467 | This variable now uses a distribution ID, which is composed | ||
468 | of the host distributor ID followed by the release. | ||
469 | Previously, | ||
470 | <link linkend='var-SANITY_TESTED_DISTROS'><filename>SANITY_TESTED_DISTROS</filename></link> | ||
471 | was composed of the description field. | ||
472 | For example, "Ubuntu 12.10" becomes "Ubuntu-12.10". | ||
473 | You do not need to worry about this change if you are not | ||
474 | specifically setting this variable, or if you are | ||
475 | specifically setting it to "". | ||
476 | </para></listitem> | ||
477 | <listitem><para><emphasis><filename>SRC_URI</filename>:</emphasis> | ||
478 | The <filename>${</filename><link linkend='var-PN'><filename>PN</filename></link><filename>}</filename>, | ||
479 | <filename>${</filename><link linkend='var-PF'><filename>PF</filename></link><filename>}</filename>, | ||
480 | <filename>${</filename><link linkend='var-P'><filename>P</filename></link><filename>}</filename>, | ||
481 | and <filename>FILE_DIRNAME</filename> directories have been | ||
482 | dropped from the default value of the | ||
483 | <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link> | ||
484 | variable, which is used as the search path for finding files | ||
485 | referred to in | ||
486 | <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>. | ||
487 | If you have a recipe that relied upon these directories, | ||
488 | which would be unusual, then you will need to add the | ||
489 | appropriate paths within the recipe or, alternatively, | ||
490 | rearrange the files. | ||
491 | The most common locations are still covered by | ||
492 | <filename>${BP}</filename>, <filename>${BPN}</filename>, | ||
493 | and "files", which all remain in the default value of | ||
494 | <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>. | ||
495 | </para></listitem> | ||
496 | </itemizedlist> | ||
497 | </para> | ||
498 | </section> | ||
499 | |||
500 | <section id='migration-target-package-management-with-rpm'> | ||
501 | <title>Target Package Management with RPM</title> | ||
502 | |||
503 | <para> | ||
504 | If runtime package management is enabled and the RPM backend | ||
505 | is selected, Smart is now installed for package download, dependency | ||
506 | resolution, and upgrades instead of Zypper. | ||
507 | For more information on how to use Smart, run the following command | ||
508 | on the target: | ||
509 | <literallayout class='monospaced'> | ||
510 | smart --help | ||
511 | </literallayout> | ||
512 | </para> | ||
513 | </section> | ||
514 | |||
515 | <section id='migration-1.4-recipes-moved'> | ||
516 | <title>Recipes Moved</title> | ||
517 | |||
518 | <para> | ||
519 | The following recipes were moved from their previous locations | ||
520 | because they are no longer used by anything in | ||
521 | the OpenEmbedded-Core: | ||
522 | <itemizedlist> | ||
523 | <listitem><para><emphasis><filename>clutter-box2d</filename>:</emphasis> | ||
524 | Now resides in the <filename>meta-oe</filename> layer. | ||
525 | </para></listitem> | ||
526 | <listitem><para><emphasis><filename>evolution-data-server</filename>:</emphasis> | ||
527 | Now resides in the <filename>meta-gnome</filename> layer. | ||
528 | </para></listitem> | ||
529 | <listitem><para><emphasis><filename>gthumb</filename>:</emphasis> | ||
530 | Now resides in the <filename>meta-gnome</filename> layer. | ||
531 | </para></listitem> | ||
532 | <listitem><para><emphasis><filename>gtkhtml2</filename>:</emphasis> | ||
533 | Now resides in the <filename>meta-oe</filename> layer. | ||
534 | </para></listitem> | ||
535 | <listitem><para><emphasis><filename>gupnp</filename>:</emphasis> | ||
536 | Now resides in the <filename>meta-multimedia</filename> layer. | ||
537 | </para></listitem> | ||
538 | <listitem><para><emphasis><filename>gypsy</filename>:</emphasis> | ||
539 | Now resides in the <filename>meta-oe</filename> layer. | ||
540 | </para></listitem> | ||
541 | <listitem><para><emphasis><filename>libcanberra</filename>:</emphasis> | ||
542 | Now resides in the <filename>meta-gnome</filename> layer. | ||
543 | </para></listitem> | ||
544 | <listitem><para><emphasis><filename>libgdata</filename>:</emphasis> | ||
545 | Now resides in the <filename>meta-gnome</filename> layer. | ||
546 | </para></listitem> | ||
547 | <listitem><para><emphasis><filename>libmusicbrainz</filename>:</emphasis> | ||
548 | Now resides in the <filename>meta-multimedia</filename> layer. | ||
549 | </para></listitem> | ||
550 | <listitem><para><emphasis><filename>metacity</filename>:</emphasis> | ||
551 | Now resides in the <filename>meta-gnome</filename> layer. | ||
552 | </para></listitem> | ||
553 | <listitem><para><emphasis><filename>polkit</filename>:</emphasis> | ||
554 | Now resides in the <filename>meta-oe</filename> layer. | ||
555 | </para></listitem> | ||
556 | <listitem><para><emphasis><filename>zeroconf</filename>:</emphasis> | ||
557 | Now resides in the <filename>meta-networking</filename> layer. | ||
558 | </para></listitem> | ||
559 | </itemizedlist> | ||
560 | </para> | ||
561 | </section> | ||
562 | |||
563 | <section id='migration-1.4-removals-and-renames'> | ||
564 | <title>Removals and Renames</title> | ||
565 | |||
566 | <para> | ||
567 | The following list shows what has been removed or renamed: | ||
568 | <itemizedlist> | ||
569 | <listitem><para><emphasis><filename>evieext</filename>:</emphasis> | ||
570 | Removed because it has been removed from | ||
571 | <filename>xserver</filename> since 2008. | ||
572 | </para></listitem> | ||
573 | <listitem><para><emphasis>Gtk+ DirectFB:</emphasis> | ||
574 | Removed support because upstream Gtk+ no longer supports it | ||
575 | as of version 2.18. | ||
576 | </para></listitem> | ||
577 | <listitem><para><emphasis><filename>libxfontcache / xfontcacheproto</filename>:</emphasis> | ||
578 | Removed because they were removed from the Xorg server in 2008. | ||
579 | </para></listitem> | ||
580 | <listitem><para><emphasis><filename>libxp / libxprintapputil / libxprintutil / printproto</filename>:</emphasis> | ||
581 | Removed because the XPrint server was removed from | ||
582 | Xorg in 2008. | ||
583 | </para></listitem> | ||
584 | <listitem><para><emphasis><filename>libxtrap / xtrapproto</filename>:</emphasis> | ||
585 | Removed because their functionality was broken upstream. | ||
586 | </para></listitem> | ||
587 | <listitem><para><emphasis>linux-yocto 3.0 kernel:</emphasis> | ||
588 | Removed with linux-yocto 3.8 kernel being added. | ||
589 | The linux-yocto 3.2 and linux-yocto 3.4 kernels remain | ||
590 | as part of the release. | ||
591 | </para></listitem> | ||
592 | <listitem><para><emphasis><filename>lsbsetup</filename>:</emphasis> | ||
593 | Removed with functionality now provided by | ||
594 | <filename>lsbtest</filename>. | ||
595 | </para></listitem> | ||
596 | <listitem><para><emphasis><filename>matchbox-stroke</filename>:</emphasis> | ||
597 | Removed because it was never more than a proof-of-concept. | ||
598 | </para></listitem> | ||
599 | <listitem><para><emphasis><filename>matchbox-wm-2 / matchbox-theme-sato-2</filename>:</emphasis> | ||
600 | Removed because they are not maintained. | ||
601 | However, <filename>matchbox-wm</filename> and | ||
602 | <filename>matchbox-theme-sato</filename> are still | ||
603 | provided. | ||
604 | </para></listitem> | ||
605 | <listitem><para><emphasis><filename>mesa-dri</filename>:</emphasis> | ||
606 | Renamed to <filename>mesa</filename>. | ||
607 | </para></listitem> | ||
608 | <listitem><para><emphasis><filename>mesa-xlib</filename>:</emphasis> | ||
609 | Removed because it was no longer useful. | ||
610 | </para></listitem> | ||
611 | <listitem><para><emphasis><filename>mutter</filename>:</emphasis> | ||
612 | Removed because nothing ever uses it and the recipe is | ||
613 | very old. | ||
614 | </para></listitem> | ||
615 | <listitem><para><emphasis><filename>orinoco-conf</filename>:</emphasis> | ||
616 | Removed because it has become obsolete. | ||
617 | </para></listitem> | ||
618 | <listitem><para><emphasis><filename>update-modules</filename>:</emphasis> | ||
619 | Removed because it is no longer used. | ||
620 | The kernel module <filename>postinstall</filename> and | ||
621 | <filename>postrm</filename> scripts can now do the same | ||
622 | task without the use of this script. | ||
623 | </para></listitem> | ||
624 | <listitem><para><emphasis><filename>web</filename>:</emphasis> | ||
625 | Removed because it is not maintained. Superseded by | ||
626 | <filename>web-webkit</filename>. | ||
627 | </para></listitem> | ||
628 | <listitem><para><emphasis><filename>xf86bigfontproto</filename>:</emphasis> | ||
629 | Removed because upstream it has been disabled by default | ||
630 | since 2007. | ||
631 | Nothing uses <filename>xf86bigfontproto</filename>. | ||
632 | </para></listitem> | ||
633 | <listitem><para><emphasis><filename>xf86rushproto</filename>:</emphasis> | ||
634 | Removed because its dependency in | ||
635 | <filename>xserver</filename> was spurious and it was | ||
636 | removed in 2005. | ||
637 | </para></listitem> | ||
638 | <listitem><para><emphasis><filename>zypper / libzypp / sat-solver</filename>:</emphasis> | ||
639 | Removed and been functionally replaced with Smart | ||
640 | (<filename>python-smartpm</filename>) when RPM packaging | ||
641 | is used and package management is enabled on the target. | ||
642 | </para></listitem> | ||
643 | </itemizedlist> | ||
644 | </para> | ||
645 | </section> | ||
646 | </section> | ||
647 | |||
648 | <section id='moving-to-the-yocto-project-1.5-release'> | ||
649 | <title>Moving to the Yocto Project 1.5 Release</title> | ||
650 | |||
651 | <para> | ||
652 | This section provides migration information for moving to the | ||
653 | Yocto Project 1.5 Release from the prior release. | ||
654 | </para> | ||
655 | |||
656 | <section id='migration-1.5-host-dependency-changes'> | ||
657 | <title>Host Dependency Changes</title> | ||
658 | |||
659 | <para> | ||
660 | The OpenEmbedded build system now has some additional requirements | ||
661 | on the host system: | ||
662 | <itemizedlist> | ||
663 | <listitem><para>Python 2.7.3+</para></listitem> | ||
664 | <listitem><para>Tar 1.24+</para></listitem> | ||
665 | <listitem><para>Git 1.7.5+</para></listitem> | ||
666 | <listitem><para>Patched version of Make if you are using | ||
667 | 3.82. | ||
668 | Most distributions that provide Make 3.82 use the patched | ||
669 | version.</para></listitem> | ||
670 | </itemizedlist> | ||
671 | If the Linux distribution you are using on your build host | ||
672 | does not provide packages for these, you can install and use | ||
673 | the Buildtools tarball, which provides an SDK-like environment | ||
674 | containing them. | ||
675 | </para> | ||
676 | |||
677 | <para> | ||
678 | For more information on this requirement, see the | ||
679 | "<link linkend='required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</link>" | ||
680 | section. | ||
681 | </para> | ||
682 | </section> | ||
683 | |||
684 | <section id='migration-1.5-atom-pc-bsp'> | ||
685 | <title><filename>atom-pc</filename> Board Support Package (BSP)</title> | ||
686 | |||
687 | <para> | ||
688 | The <filename>atom-pc</filename> hardware reference BSP has been | ||
689 | replaced by a <filename>genericx86</filename> BSP. | ||
690 | This BSP is not necessarily guaranteed to work on all x86 | ||
691 | hardware, but it will run on a wider range of systems than the | ||
692 | <filename>atom-pc</filename> did. | ||
693 | <note> | ||
694 | Additionally, a <filename>genericx86-64</filename> BSP has | ||
695 | been added for 64-bit Atom systems. | ||
696 | </note> | ||
697 | </para> | ||
698 | </section> | ||
699 | |||
700 | <section id='migration-1.5-bitbake'> | ||
701 | <title>BitBake</title> | ||
702 | |||
703 | <para> | ||
704 | The following changes have been made that relate to BitBake: | ||
705 | <itemizedlist> | ||
706 | <listitem><para> | ||
707 | BitBake now supports a <filename>_remove</filename> | ||
708 | operator. | ||
709 | The addition of this operator means you will have to | ||
710 | rename any items in recipe space (functions, variables) | ||
711 | whose names currently contain | ||
712 | <filename>_remove_</filename> or end with | ||
713 | <filename>_remove</filename> to avoid unexpected behavior. | ||
714 | </para></listitem> | ||
715 | <listitem><para> | ||
716 | BitBake's global method pool has been removed. | ||
717 | This method is not particularly useful and led to clashes | ||
718 | between recipes containing functions that had the | ||
719 | same name.</para></listitem> | ||
720 | <listitem><para> | ||
721 | The "none" server backend has been removed. | ||
722 | The "process" server backend has been serving well as the | ||
723 | default for a long time now.</para></listitem> | ||
724 | <listitem><para> | ||
725 | The <filename>bitbake-runtask</filename> script has been | ||
726 | removed.</para></listitem> | ||
727 | <listitem><para> | ||
728 | <filename>${</filename><link linkend='var-P'><filename>P</filename></link><filename>}</filename> | ||
729 | and | ||
730 | <filename>${</filename><link linkend='var-PF'><filename>PF</filename></link><filename>}</filename> | ||
731 | are no longer added to | ||
732 | <link linkend='var-PROVIDES'><filename>PROVIDES</filename></link> | ||
733 | by default in <filename>bitbake.conf</filename>. | ||
734 | These version-specific <filename>PROVIDES</filename> | ||
735 | items were seldom used. | ||
736 | Attempting to use them could result in two versions being | ||
737 | built simultaneously rather than just one version due to | ||
738 | the way BitBake resolves dependencies.</para></listitem> | ||
739 | </itemizedlist> | ||
740 | </para> | ||
741 | </section> | ||
742 | |||
743 | <section id='migration-1.5-qa-warnings'> | ||
744 | <title>QA Warnings</title> | ||
745 | |||
746 | <para> | ||
747 | The following changes have been made to the package QA checks: | ||
748 | <itemizedlist> | ||
749 | <listitem><para> | ||
750 | If you have customized | ||
751 | <link linkend='var-ERROR_QA'><filename>ERROR_QA</filename></link> | ||
752 | or <link linkend='var-WARN_QA'><filename>WARN_QA</filename></link> | ||
753 | values in your configuration, check that they contain all of | ||
754 | the issues that you wish to be reported. | ||
755 | Previous Yocto Project versions contained a bug that meant | ||
756 | that any item not mentioned in <filename>ERROR_QA</filename> | ||
757 | or <filename>WARN_QA</filename> would be treated as a | ||
758 | warning. | ||
759 | Consequently, several important items were not already in | ||
760 | the default value of <filename>WARN_QA</filename>. | ||
761 | All of the possible QA checks are now documented in the | ||
762 | "<link linkend='ref-classes-insane'><filename>insane.bbclass</filename></link>" | ||
763 | section.</para></listitem> | ||
764 | <listitem><para> | ||
765 | An additional QA check has been added to check if | ||
766 | <filename>/usr/share/info/dir</filename> is being installed. | ||
767 | Your recipe should delete this file within | ||
768 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> | ||
769 | if "make install" is installing it. | ||
770 | </para></listitem> | ||
771 | <listitem><para> | ||
772 | If you are using the buildhistory class, the check for the | ||
773 | package version going backwards is now controlled using a | ||
774 | standard QA check. | ||
775 | Thus, if you have customized your | ||
776 | <filename>ERROR_QA</filename> or | ||
777 | <filename>WARN_QA</filename> values and still wish to have | ||
778 | this check performed, you should add | ||
779 | "version-going-backwards" to your value for one or the | ||
780 | other variables depending on how you wish it to be handled. | ||
781 | See the documented QA checks in the | ||
782 | "<link linkend='ref-classes-insane'><filename>insane.bbclass</filename></link>" | ||
783 | section. | ||
784 | </para></listitem> | ||
785 | </itemizedlist> | ||
786 | </para> | ||
787 | </section> | ||
788 | |||
789 | <section id='migration-1.5-directory-layout-changes'> | ||
790 | <title>Directory Layout Changes</title> | ||
791 | |||
792 | <para> | ||
793 | The following directory changes exist: | ||
794 | <itemizedlist> | ||
795 | <listitem><para> | ||
796 | Output SDK installer files are now named to include the | ||
797 | image name and tuning architecture through the | ||
798 | <link linkend='var-SDK_NAME'><filename>SDK_NAME</filename></link> | ||
799 | variable.</para></listitem> | ||
800 | <listitem><para> | ||
801 | Images and related files are now installed into a directory | ||
802 | that is specific to the machine, instead of a parent | ||
803 | directory containing output files for multiple machines. | ||
804 | The | ||
805 | <link linkend='var-DEPLOY_DIR_IMAGE'><filename>DEPLOY_DIR_IMAGE</filename></link> | ||
806 | variable continues to point to the directory containing | ||
807 | images for the current | ||
808 | <link linkend='var-MACHINE'><filename>MACHINE</filename></link> | ||
809 | and should be used anywhere there is a need to refer to | ||
810 | this directory. | ||
811 | The <filename>runqemu</filename> script now uses this | ||
812 | variable to find images and kernel binaries and will use | ||
813 | BitBake to determine the directory. | ||
814 | Alternatively, you can set the | ||
815 | <filename>DEPLOY_DIR_IMAGE</filename> variable in the | ||
816 | external environment.</para></listitem> | ||
817 | <listitem><para> | ||
818 | When buildhistory is enabled, its output is now written | ||
819 | under the | ||
820 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> | ||
821 | rather than | ||
822 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>. | ||
823 | Doing so makes it easier to delete | ||
824 | <filename>TMPDIR</filename> and preserve the build history. | ||
825 | Additionally, data for produced SDKs is now split by | ||
826 | <link linkend='var-IMAGE_NAME'><filename>IMAGE_NAME</filename></link>. | ||
827 | </para></listitem> | ||
828 | <listitem><para> | ||
829 | The <filename>pkgdata</filename> directory produced as | ||
830 | part of the packaging process has been collapsed into a | ||
831 | single machine-specific directory. | ||
832 | This directory is located under | ||
833 | <filename>sysroots</filename> and uses a machine-specific | ||
834 | name (i.e. | ||
835 | <filename>tmp/sysroots/<machine>/pkgdata</filename>). | ||
836 | </para></listitem> | ||
837 | </itemizedlist> | ||
838 | </para> | ||
839 | </section> | ||
840 | |||
841 | <section id='migration-1.5-shortened-git-srcrev-values'> | ||
842 | <title>Shortened Git <filename>SRCREV</filename> Values</title> | ||
843 | |||
844 | <para> | ||
845 | BitBake will now shorten revisions from Git repositories from the | ||
846 | normal 40 characters down to 10 characters within | ||
847 | <link linkend='var-SRCPV'><filename>SRCPV</filename></link> | ||
848 | for improved usability in path and file names. | ||
849 | This change should be safe within contexts where these revisions | ||
850 | are used because the chances of spatially close collisions | ||
851 | is very low. | ||
852 | Distant collisions are not a major issue in the way | ||
853 | the values are used. | ||
854 | </para> | ||
855 | </section> | ||
856 | |||
857 | <section id='migration-1.5-image-features'> | ||
858 | <title><filename>IMAGE_FEATURES</filename></title> | ||
859 | |||
860 | <para> | ||
861 | The following changes have been made that relate to | ||
862 | <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>: | ||
863 | <itemizedlist> | ||
864 | <listitem><para> | ||
865 | The value of | ||
866 | <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link> | ||
867 | is now validated to ensure invalid feature items are not | ||
868 | added. | ||
869 | Some users mistakenly add package names to this variable | ||
870 | instead of using | ||
871 | <link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link> | ||
872 | in order to have the package added to the image, which does | ||
873 | not work. | ||
874 | This change is intended to catch those kinds of situations. | ||
875 | Valid <filename>IMAGE_FEATURES</filename> are drawn from | ||
876 | <link linkend='var-PACKAGE_GROUP'><filename>PACKAGE_GROUP</filename></link> | ||
877 | definitions, | ||
878 | <link linkend='var-COMPLEMENTARY_GLOB'><filename>COMPLEMENTARY_GLOB</filename></link> | ||
879 | and a new "validitems" varflag on | ||
880 | <filename>IMAGE_FEATURES</filename>. | ||
881 | The "validitems" varflag change allows additional features | ||
882 | to be added if they are not provided using the previous | ||
883 | two mechanisms. | ||
884 | </para></listitem> | ||
885 | <listitem><para> | ||
886 | The previously deprecated "apps-console-core" | ||
887 | <filename>IMAGE_FEATURES</filename> item is no longer | ||
888 | supported. | ||
889 | Add "splash" to <filename>IMAGE_FEATURES</filename> if you | ||
890 | wish to have the splash screen enabled, since this is | ||
891 | all that apps-console-core was doing.</para></listitem> | ||
892 | </itemizedlist> | ||
893 | </para> | ||
894 | </section> | ||
895 | |||
896 | <section id='migration-1.5-run'> | ||
897 | <title><filename>/run</filename></title> | ||
898 | |||
899 | <para> | ||
900 | The <filename>/run</filename> directory from the Filesystem | ||
901 | Hierarchy Standard 3.0 has been introduced. | ||
902 | You can find some of the implications for this change | ||
903 | <ulink url='http://cgit.openembedded.org/openembedded-core/commit/?id=0e326280a15b0f2c4ef2ef4ec441f63f55b75873'>here</ulink>. | ||
904 | The change also means that recipes that install files to | ||
905 | <filename>/var/run</filename> must be changed. | ||
906 | You can find a guide on how to make these changes | ||
907 | <ulink url='http://permalink.gmane.org/gmane.comp.handhelds.openembedded/58530'>here</ulink>. | ||
908 | </para> | ||
909 | </section> | ||
910 | |||
911 | <section id='migration-1.5-removal-of-package-manager-database-within-image-recipes'> | ||
912 | <title>Removal of Package Manager Database Within Image Recipes</title> | ||
913 | |||
914 | <para> | ||
915 | The image <filename>core-image-minimal</filename> no longer adds | ||
916 | <filename>remove_packaging_data_files</filename> to | ||
917 | <link linkend='var-ROOTFS_POSTPROCESS_COMMAND'><filename>ROOTFS_POSTPROCESS_COMMAND</filename></link>. | ||
918 | This addition is now handled automatically when "package-management" | ||
919 | is not in | ||
920 | <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>. | ||
921 | If you have custom image recipes that make this addition, | ||
922 | you should remove the lines, as they are not needed and might | ||
923 | interfere with correct operation of postinstall scripts. | ||
924 | </para> | ||
925 | </section> | ||
926 | |||
927 | <section id='migration-1.5-images-now-rebuild-only-on-changes-instead-of-every-time'> | ||
928 | <title>Images Now Rebuild Only on Changes Instead of Every Time</title> | ||
929 | |||
930 | <para> | ||
931 | The | ||
932 | <link linkend='ref-tasks-rootfs'><filename>do_rootfs</filename></link> | ||
933 | and other related image | ||
934 | construction tasks are no longer marked as "nostamp". | ||
935 | Consequently, they will only be re-executed when their inputs have | ||
936 | changed. | ||
937 | Previous versions of the OpenEmbedded build system always rebuilt | ||
938 | the image when requested rather when necessary. | ||
939 | </para> | ||
940 | </section> | ||
941 | |||
942 | <section id='migration-1.5-task-recipes'> | ||
943 | <title>Task Recipes</title> | ||
944 | |||
945 | <para> | ||
946 | The previously deprecated <filename>task.bbclass</filename> has | ||
947 | now been dropped. | ||
948 | For recipes that previously inherited from this class, you should | ||
949 | rename them from <filename>task-*</filename> to | ||
950 | <filename>packagegroup-*</filename> and inherit packagegroup | ||
951 | instead. | ||
952 | </para> | ||
953 | |||
954 | <para> | ||
955 | For more information, see the | ||
956 | "<link linkend='ref-classes-packagegroup'><filename>packagegroup.bbclass</filename></link>" | ||
957 | section. | ||
958 | </para> | ||
959 | </section> | ||
960 | |||
961 | <section id='migration-1.5-busybox'> | ||
962 | <title>BusyBox</title> | ||
963 | |||
964 | <para> | ||
965 | By default, we now split BusyBox into two binaries: | ||
966 | one that is suid root for those components that need it, and | ||
967 | another for the rest of the components. | ||
968 | Splitting BusyBox allows for optimization that eliminates the | ||
969 | <filename>tinylogin</filename> recipe as recommended by upstream. | ||
970 | You can disable this split by setting | ||
971 | <link linkend='var-BUSYBOX_SPLIT_SUID'><filename>BUSYBOX_SPLIT_SUID</filename></link> | ||
972 | to "0". | ||
973 | </para> | ||
974 | </section> | ||
975 | |||
976 | <section id='migration-1.5-automated-image-testing'> | ||
977 | <title>Automated Image Testing</title> | ||
978 | |||
979 | <para> | ||
980 | A new automated image testing framework has been added | ||
981 | through the | ||
982 | <link linkend='ref-classes-testimage'><filename>testimage*.bbclass</filename></link> | ||
983 | class. | ||
984 | This framework replaces the older | ||
985 | <filename>imagetest-qemu</filename> framework. | ||
986 | </para> | ||
987 | |||
988 | <para> | ||
989 | You can learn more about performing automated image tests in the | ||
990 | "<ulink url='&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing'>Performing Automated Runtime Testing</ulink>" | ||
991 | section. | ||
992 | </para> | ||
993 | </section> | ||
994 | |||
995 | <section id='migration-1.5-build-history'> | ||
996 | <title>Build History</title> | ||
997 | |||
998 | <para> | ||
999 | Following are changes to Build History: | ||
1000 | <itemizedlist> | ||
1001 | <listitem><para> | ||
1002 | Installed package sizes: | ||
1003 | <filename>installed-package-sizes.txt</filename> for an | ||
1004 | image now records the size of the files installed by each | ||
1005 | package instead of the size of each compressed package | ||
1006 | archive file.</para></listitem> | ||
1007 | <listitem><para> | ||
1008 | The dependency graphs (<filename>depends*.dot</filename>) | ||
1009 | now use the actual package names instead of replacing | ||
1010 | dashes, dots and plus signs with underscores. | ||
1011 | </para></listitem> | ||
1012 | <listitem><para> | ||
1013 | The <filename>buildhistory-diff</filename> and | ||
1014 | <filename>buildhistory-collect-srcrevs</filename> | ||
1015 | utilities have improved command-line handling. | ||
1016 | Use the <filename>‐‐help</filename> option for | ||
1017 | each utility for more information on the new syntax. | ||
1018 | </para></listitem> | ||
1019 | </itemizedlist> | ||
1020 | For more information on Build History, see the | ||
1021 | "<link linkend='maintaining-build-output-quality'>Maintaining Build Output Quality</link>" | ||
1022 | section. | ||
1023 | </para> | ||
1024 | </section> | ||
1025 | |||
1026 | <section id='migration-1.5-udev'> | ||
1027 | <title><filename>udev</filename></title> | ||
1028 | |||
1029 | <para> | ||
1030 | Following are changes to <filename>udev</filename>: | ||
1031 | <itemizedlist> | ||
1032 | <listitem><para> | ||
1033 | <filename>udev</filename> no longer brings in | ||
1034 | <filename>udev-extraconf</filename> automatically | ||
1035 | through | ||
1036 | <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>, | ||
1037 | since this was originally intended to be optional. | ||
1038 | If you need the extra rules, then add | ||
1039 | <filename>udev-extraconf</filename> to your image. | ||
1040 | </para></listitem> | ||
1041 | <listitem><para> | ||
1042 | <filename>udev</filename> no longer brings in | ||
1043 | <filename>pciutils-ids</filename> or | ||
1044 | <filename>usbutils-ids</filename> through | ||
1045 | <filename>RRECOMMENDS</filename>. | ||
1046 | These are not needed by <filename>udev</filename> itself | ||
1047 | and removing them saves around 350KB. | ||
1048 | </para></listitem> | ||
1049 | </itemizedlist> | ||
1050 | </para> | ||
1051 | </section> | ||
1052 | |||
1053 | <section id='migration-1.5-removed-renamed-recipes'> | ||
1054 | <title>Removed and Renamed Recipes</title> | ||
1055 | |||
1056 | <itemizedlist> | ||
1057 | <listitem><para> | ||
1058 | The <filename>linux-yocto</filename> 3.2 kernel has been | ||
1059 | removed.</para></listitem> | ||
1060 | <listitem><para> | ||
1061 | <filename>libtool-nativesdk</filename> has been renamed to | ||
1062 | <filename>nativesdk-libtool</filename>.</para></listitem> | ||
1063 | <listitem><para> | ||
1064 | <filename>tinylogin</filename> has been removed. | ||
1065 | It has been replaced by a suid portion of Busybox. | ||
1066 | See the | ||
1067 | "<link linkend='migration-1.5-busybox'>BusyBox</link>" section | ||
1068 | for more information.</para></listitem> | ||
1069 | <listitem><para> | ||
1070 | <filename>external-python-tarball</filename> has been renamed | ||
1071 | to <filename>buildtools-tarball</filename>. | ||
1072 | </para></listitem> | ||
1073 | <listitem><para> | ||
1074 | <filename>web-webkit</filename> has been removed. | ||
1075 | It has been functionally replaced by | ||
1076 | <filename>midori</filename>.</para></listitem> | ||
1077 | <listitem><para> | ||
1078 | <filename>imake</filename> has been removed. | ||
1079 | It is no longer needed by any other recipe. | ||
1080 | </para></listitem> | ||
1081 | <listitem><para> | ||
1082 | <filename>transfig-native</filename> has been removed. | ||
1083 | It is no longer needed by any other recipe. | ||
1084 | </para></listitem> | ||
1085 | <listitem><para> | ||
1086 | <filename>anjuta-remote-run</filename> has been removed. | ||
1087 | Anjuta IDE integration has not been officially supported for | ||
1088 | several releases.</para></listitem> | ||
1089 | </itemizedlist> | ||
1090 | </section> | ||
1091 | |||
1092 | <section id='migration-1.5-other-changes'> | ||
1093 | <title>Other Changes</title> | ||
1094 | |||
1095 | <para> | ||
1096 | Following is a list of short entries describing other changes: | ||
1097 | <itemizedlist> | ||
1098 | <listitem><para> | ||
1099 | <filename>run-postinsts</filename>: Make this generic. | ||
1100 | </para></listitem> | ||
1101 | <listitem><para> | ||
1102 | <filename>base-files</filename>: Remove the unnecessary | ||
1103 | <filename>media/xxx</filename> directories. | ||
1104 | </para></listitem> | ||
1105 | <listitem><para> | ||
1106 | <filename>alsa-state</filename>: Provide an empty | ||
1107 | <filename>asound.conf</filename> by default. | ||
1108 | </para></listitem> | ||
1109 | <listitem><para> | ||
1110 | <filename>classes/image</filename>: Ensure | ||
1111 | <link linkend='var-BAD_RECOMMENDATIONS'><filename>BAD_RECOMMENDATIONS</filename></link> | ||
1112 | supports pre-renamed package names.</para></listitem> | ||
1113 | <listitem><para> | ||
1114 | <filename>classes/rootfs_rpm</filename>: Implement | ||
1115 | <link linkend='var-BAD_RECOMMENDATIONS'><filename>BAD_RECOMMENDATIONS</filename></link> | ||
1116 | for RPM.</para></listitem> | ||
1117 | <listitem><para> | ||
1118 | <filename>systemd</filename>: Remove | ||
1119 | <filename>systemd_unitdir</filename> if | ||
1120 | <filename>systemd</filename> is not in | ||
1121 | <link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link>. | ||
1122 | </para></listitem> | ||
1123 | <listitem><para> | ||
1124 | <filename>systemd</filename>: Remove | ||
1125 | <filename>init.d</filename> dir if | ||
1126 | <filename>systemd</filename> unit file is present and | ||
1127 | <filename>sysvinit</filename> is not a distro feature. | ||
1128 | </para></listitem> | ||
1129 | <listitem><para> | ||
1130 | <filename>libpam</filename>: Deny all services for the | ||
1131 | <filename>OTHER</filename> entries. | ||
1132 | </para></listitem> | ||
1133 | <listitem><para> | ||
1134 | <filename>image.bbclass</filename>: Move | ||
1135 | <filename>runtime_mapping_rename</filename> to avoid | ||
1136 | conflict with <filename>multilib</filename>. | ||
1137 | See | ||
1138 | <ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=4993'><filename>YOCTO #4993</filename></ulink> | ||
1139 | in Bugzilla for more information. | ||
1140 | </para></listitem> | ||
1141 | <listitem><para> | ||
1142 | <filename>linux-dtb</filename>: Use kernel build system | ||
1143 | to generate the <filename>dtb</filename> files. | ||
1144 | </para></listitem> | ||
1145 | <listitem><para> | ||
1146 | <filename>kern-tools</filename>: Switch from guilt to | ||
1147 | new <filename>kgit-s2q</filename> tool. | ||
1148 | </para></listitem> | ||
1149 | </itemizedlist> | ||
1150 | </para> | ||
1151 | </section> | ||
1152 | </section> | ||
1153 | |||
1154 | <section id='moving-to-the-yocto-project-1.6-release'> | ||
1155 | <title>Moving to the Yocto Project 1.6 Release</title> | ||
1156 | |||
1157 | <para> | ||
1158 | This section provides migration information for moving to the | ||
1159 | Yocto Project 1.6 Release from the prior release. | ||
1160 | </para> | ||
1161 | |||
1162 | |||
1163 | <section id='migration-1.6-archiver-class'> | ||
1164 | <title><filename>archiver</filename> Class</title> | ||
1165 | |||
1166 | <para> | ||
1167 | The | ||
1168 | <link linkend='ref-classes-archiver'><filename>archiver</filename></link> | ||
1169 | class has been rewritten and its configuration has been simplified. | ||
1170 | For more details on the source archiver, see the | ||
1171 | "<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>" | ||
1172 | section in the Yocto Project Development Manual. | ||
1173 | </para> | ||
1174 | </section> | ||
1175 | |||
1176 | <section id='migration-1.6-packaging-changes'> | ||
1177 | <title>Packaging Changes</title> | ||
1178 | |||
1179 | <para> | ||
1180 | The following packaging changes have been made: | ||
1181 | <itemizedlist> | ||
1182 | <listitem><para> | ||
1183 | The <filename>binutils</filename> recipe no longer produces | ||
1184 | a <filename>binutils-symlinks</filename> package. | ||
1185 | <filename>update-alternatives</filename> is now used to | ||
1186 | handle the preferred <filename>binutils</filename> | ||
1187 | variant on the target instead. | ||
1188 | </para></listitem> | ||
1189 | <listitem><para> | ||
1190 | The tc (traffic control) utilities have been split out of | ||
1191 | the main <filename>iproute2</filename> package and put | ||
1192 | into the <filename>iproute2-tc</filename> package. | ||
1193 | </para></listitem> | ||
1194 | <listitem><para> | ||
1195 | The <filename>gtk-engines</filename> schemas have been | ||
1196 | moved to a dedicated | ||
1197 | <filename>gtk-engines-schemas</filename> package. | ||
1198 | </para></listitem> | ||
1199 | <listitem><para> | ||
1200 | The <filename>armv7a</filename> with thumb package | ||
1201 | architecture suffix has changed. | ||
1202 | The suffix for these packages with the thumb | ||
1203 | optimization enabled is "t2" as it should be. | ||
1204 | Use of this suffix was not the case in the 1.5 release. | ||
1205 | Architecture names will change within package feeds as a | ||
1206 | result. | ||
1207 | </para></listitem> | ||
1208 | </itemizedlist> | ||
1209 | </para> | ||
1210 | </section> | ||
1211 | |||
1212 | <section id='migration-1.6-bitbake'> | ||
1213 | <title>BitBake</title> | ||
1214 | |||
1215 | <para> | ||
1216 | The following changes have been made to | ||
1217 | <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>. | ||
1218 | </para> | ||
1219 | |||
1220 | <section id='migration-1.6-matching-branch-requirement-for-git-fetching'> | ||
1221 | <title>Matching Branch Requirement for Git Fetching</title> | ||
1222 | |||
1223 | <para> | ||
1224 | When fetching source from a Git repository using | ||
1225 | <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>, | ||
1226 | BitBake will now validate the | ||
1227 | <link linkend='var-SRCREV'><filename>SRCREV</filename></link> | ||
1228 | value against the branch. | ||
1229 | You can specify the branch using the following form: | ||
1230 | <literallayout class='monospaced'> | ||
1231 | SRC_URI = "git://server.name/repository;branch=<branchname>" | ||
1232 | </literallayout> | ||
1233 | If you do not specify a branch, BitBake looks | ||
1234 | in the default "master" branch. | ||
1235 | </para> | ||
1236 | |||
1237 | <para> | ||
1238 | Alternatively, if you need to bypass this check (e.g. | ||
1239 | if you are fetching a revision corresponding to a tag that | ||
1240 | is not on any branch), you can add ";nobranch=1" to | ||
1241 | the end of the URL within <filename>SRC_URI</filename>. | ||
1242 | </para> | ||
1243 | </section> | ||
1244 | |||
1245 | <section id='migration-1.6-bitbake-deps'> | ||
1246 | <title>Python Definition substitutions</title> | ||
1247 | |||
1248 | <para> | ||
1249 | BitBake had some previously deprecated Python definitions | ||
1250 | within its <filename>bb</filename> module removed. | ||
1251 | You should use their sub-module counterparts instead: | ||
1252 | <itemizedlist> | ||
1253 | <listitem><para><filename>bb.MalformedUrl</filename>: | ||
1254 | Use <filename>bb.fetch.MalformedUrl</filename>. | ||
1255 | </para></listitem> | ||
1256 | <listitem><para><filename>bb.fetch.encodeurl</filename>: | ||
1257 | Use <filename>bb.fetch.encodeurl</filename>. | ||
1258 | </para></listitem> | ||
1259 | <listitem><para><filename>bb.decodeurl</filename>: | ||
1260 | Use <filename>bb.fetch.decodeurl</filename> | ||
1261 | </para></listitem> | ||
1262 | <listitem><para><filename>bb.mkdirhier</filename>: | ||
1263 | Use <filename>bb.utils.mkdirhier</filename>. | ||
1264 | </para></listitem> | ||
1265 | <listitem><para><filename>bb.movefile</filename>: | ||
1266 | Use <filename>bb.utils.movefile</filename>. | ||
1267 | </para></listitem> | ||
1268 | <listitem><para><filename>bb.copyfile</filename>: | ||
1269 | Use <filename>bb.utils.copyfile</filename>. | ||
1270 | </para></listitem> | ||
1271 | <listitem><para><filename>bb.which</filename>: | ||
1272 | Use <filename>bb.utils.which</filename>. | ||
1273 | </para></listitem> | ||
1274 | <listitem><para><filename>bb.vercmp_string</filename>: | ||
1275 | Use <filename>bb.utils.vercmp_string</filename>. | ||
1276 | </para></listitem> | ||
1277 | <listitem><para><filename>bb.vercmp</filename>: | ||
1278 | Use <filename>bb.utils.vercmp</filename>. | ||
1279 | </para></listitem> | ||
1280 | </itemizedlist> | ||
1281 | </para> | ||
1282 | </section> | ||
1283 | |||
1284 | <section id='migration-1.6-bitbake-fetcher'> | ||
1285 | <title>SVK Fetcher</title> | ||
1286 | |||
1287 | <para> | ||
1288 | The SVK fetcher has been removed from BitBake. | ||
1289 | </para> | ||
1290 | </section> | ||
1291 | |||
1292 | <section id='migration-1.6-bitbake-console-output'> | ||
1293 | <title>Console Output Error Redirection</title> | ||
1294 | |||
1295 | <para> | ||
1296 | The BitBake console UI will now output errors to | ||
1297 | <filename>stderr</filename> instead of | ||
1298 | <filename>stdout</filename>. | ||
1299 | Consequently, if you are piping or redirecting the output of | ||
1300 | <filename>bitbake</filename> to somewhere else, and you wish | ||
1301 | to retain the errors, you will need to add | ||
1302 | <filename>2>&1</filename> (or something similar) to the | ||
1303 | end of your <filename>bitbake</filename> command line. | ||
1304 | </para> | ||
1305 | </section> | ||
1306 | |||
1307 | <section id='migration-1.6-task-taskname-overrides'> | ||
1308 | <title><filename>task-<taskname></filename> Overrides</title> | ||
1309 | |||
1310 | <para> | ||
1311 | <filename>task-<taskname></filename> overrides have been | ||
1312 | adjusted so that tasks whose names contain underscores have the | ||
1313 | underscores replaced by hyphens for the override so that they | ||
1314 | now function properly. | ||
1315 | For example, the task override for | ||
1316 | <link linkend='ref-tasks-populate_sdk'><filename>do_populate_sdk</filename></link> | ||
1317 | is <filename>task-populate-sdk</filename>. | ||
1318 | </para> | ||
1319 | </section> | ||
1320 | </section> | ||
1321 | |||
1322 | <section id='migration-1.6-variable-changes'> | ||
1323 | <title>Changes to Variables</title> | ||
1324 | |||
1325 | <para> | ||
1326 | The following variables have changed. | ||
1327 | For information on the OpenEmbedded build system variables, see the | ||
1328 | "<link linkend='ref-variables-glos'>Variables Glossary</link>" Chapter. | ||
1329 | </para> | ||
1330 | |||
1331 | <section id='migration-1.6-variable-changes-TMPDIR'> | ||
1332 | <title><filename>TMPDIR</filename></title> | ||
1333 | |||
1334 | <para> | ||
1335 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> | ||
1336 | can no longer be on an NFS mount. | ||
1337 | NFS does not offer full POSIX locking and inode consistency | ||
1338 | and can cause unexpected issues if used to store | ||
1339 | <filename>TMPDIR</filename>. | ||
1340 | </para> | ||
1341 | |||
1342 | <para> | ||
1343 | The check for this occurs on startup. | ||
1344 | If <filename>TMPDIR</filename> is detected on an NFS mount, | ||
1345 | an error occurs. | ||
1346 | </para> | ||
1347 | </section> | ||
1348 | |||
1349 | <section id='migration-1.6-variable-changes-PRINC'> | ||
1350 | <title><filename>PRINC</filename></title> | ||
1351 | |||
1352 | <para> | ||
1353 | The | ||
1354 | <link linkend='var-PRINC'><filename>PRINC</filename></link> | ||
1355 | variable has been deprecated and triggers a warning if | ||
1356 | detected during a build. | ||
1357 | For | ||
1358 | <link linkend='var-PR'><filename>PR</filename></link> | ||
1359 | increments on changes, use the PR service instead. | ||
1360 | You can find out more about this service in the | ||
1361 | "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-a-pr-service'>Working With a PR Service</ulink>" | ||
1362 | section in the Yocto Project Development Manual. | ||
1363 | </para> | ||
1364 | </section> | ||
1365 | |||
1366 | <section id='migration-1.6-variable-changes-IMAGE_TYPES'> | ||
1367 | <title><filename>IMAGE_TYPES</filename></title> | ||
1368 | |||
1369 | <para> | ||
1370 | The "sum.jffs2" option for | ||
1371 | <link linkend='var-IMAGE_TYPES'><filename>IMAGE_TYPES</filename></link> | ||
1372 | has been replaced by the "jffs2.sum" option, which fits the | ||
1373 | processing order. | ||
1374 | </para> | ||
1375 | </section> | ||
1376 | |||
1377 | <section id='migration-1.6-variable-changes-COPY_LIC_MANIFEST'> | ||
1378 | <title><filename>COPY_LIC_MANIFEST</filename></title> | ||
1379 | |||
1380 | <para> | ||
1381 | The | ||
1382 | <link linkend='var-COPY_LIC_MANIFEST'><filename>COPY_LIC_MANIFEST</filename></link> | ||
1383 | variable must | ||
1384 | now be set to "1" rather than any value in order to enable | ||
1385 | it. | ||
1386 | </para> | ||
1387 | </section> | ||
1388 | |||
1389 | <section id='migration-1.6-variable-changes-COPY_LIC_DIRS'> | ||
1390 | <title><filename>COPY_LIC_DIRS</filename></title> | ||
1391 | |||
1392 | <para> | ||
1393 | The | ||
1394 | <link linkend='var-COPY_LIC_DIRS'><filename>COPY_LIC_DIRS</filename></link> | ||
1395 | variable must | ||
1396 | now be set to "1" rather than any value in order to enable | ||
1397 | it. | ||
1398 | </para> | ||
1399 | </section> | ||
1400 | |||
1401 | <section id='migration-1.6-variable-changes-PACKAGE_GROUP'> | ||
1402 | <title><filename>PACKAGE_GROUP</filename></title> | ||
1403 | |||
1404 | <para> | ||
1405 | The | ||
1406 | <link linkend='var-PACKAGE_GROUP'><filename>PACKAGE_GROUP</filename></link> | ||
1407 | variable has been renamed to | ||
1408 | <link linkend='var-FEATURE_PACKAGES'><filename>FEATURE_PACKAGES</filename></link> | ||
1409 | to more accurately reflect its purpose. | ||
1410 | You can still use <filename>PACKAGE_GROUP</filename> but | ||
1411 | the OpenEmbedded build system produces a warning message when | ||
1412 | it encounters the variable. | ||
1413 | </para> | ||
1414 | </section> | ||
1415 | </section> | ||
1416 | |||
1417 | <section id='migration-1.6-directory-layout-changes'> | ||
1418 | <title>Directory Layout Changes</title> | ||
1419 | |||
1420 | <para> | ||
1421 | The <filename>meta-hob</filename> layer has been removed from | ||
1422 | the top-level of the | ||
1423 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. | ||
1424 | The contents of this layer are no longer needed by the Hob | ||
1425 | user interface for building images and toolchains. | ||
1426 | </para> | ||
1427 | </section> | ||
1428 | |||
1429 | <section id='migration-1.6-package-test-ptest'> | ||
1430 | <title>Package Test (ptest)</title> | ||
1431 | |||
1432 | <para> | ||
1433 | Package Tests (ptest) are built but not installed by default. | ||
1434 | For information on using Package Tests, see the | ||
1435 | "<ulink url='&YOCTO_DOCS_DEV_URL;#testing-packages-with-ptest'>Setting up and running package test (ptest)</ulink>" | ||
1436 | section in the Yocto Project Development Manual. | ||
1437 | For information on the <filename>ptest</filename> class, see the | ||
1438 | "<link linkend='ref-classes-ptest'><filename>ptest.bbclass</filename></link>" | ||
1439 | section. | ||
1440 | </para> | ||
1441 | </section> | ||
1442 | |||
1443 | <section id='migration-1.6-build-changes'> | ||
1444 | <title>Build Changes</title> | ||
1445 | |||
1446 | <para> | ||
1447 | Separate build and source directories have been enabled | ||
1448 | by default for selected recipes where it is known to work | ||
1449 | (a whitelist) and for all recipes that inherit the | ||
1450 | <link linkend='ref-classes-cmake'><filename>cmake</filename></link> | ||
1451 | class. | ||
1452 | In future releases the | ||
1453 | <link linkend='ref-classes-autotools'><filename>autotools</filename></link> | ||
1454 | class will enable a separate build directory by default as | ||
1455 | well. | ||
1456 | Recipes building Autotools-based | ||
1457 | software that fails to build with a separate build directory | ||
1458 | should be changed to inherit from the | ||
1459 | <link linkend='ref-classes-autotools-brokensep'><filename>autotools-brokensep</filename></link> | ||
1460 | class instead of the <filename>autotools</filename> class. | ||
1461 | </para> | ||
1462 | </section> | ||
1463 | |||
1464 | <section id='migration-1.6-building-qemu-native'> | ||
1465 | <title><filename>qemu-native</filename></title> | ||
1466 | |||
1467 | <para> | ||
1468 | <filename>qemu-native</filename> now builds without | ||
1469 | SDL-based graphical output support by default. | ||
1470 | The following additional lines are needed in your | ||
1471 | <filename>local.conf</filename> to enable it: | ||
1472 | <literallayout class='monospaced'> | ||
1473 | PACKAGECONFIG_pn-qemu-native = "sdl" | ||
1474 | ASSUME_PROVIDED += "libsdl-native" | ||
1475 | </literallayout> | ||
1476 | <note> | ||
1477 | The default <filename>local.conf</filename> | ||
1478 | contains these statements. | ||
1479 | Consequently, if you are building a headless system and using | ||
1480 | a default <filename>local.conf</filename> file, you will need | ||
1481 | comment these two lines out. | ||
1482 | </note> | ||
1483 | </para> | ||
1484 | </section> | ||
1485 | |||
1486 | <section id='migration-1.6-core-image-basic'> | ||
1487 | <title><filename>core-image-basic</filename></title> | ||
1488 | |||
1489 | <para> | ||
1490 | <filename>core-image-basic</filename> has been renamed to | ||
1491 | <filename>core-image-full-cmdline</filename>. | ||
1492 | </para> | ||
1493 | |||
1494 | <para> | ||
1495 | In addition to <filename>core-image-basic</filename> being renamed, | ||
1496 | <filename>packagegroup-core-basic</filename> has been renamed to | ||
1497 | <filename>packagegroup-core-full-cmdline</filename> to match. | ||
1498 | </para> | ||
1499 | </section> | ||
1500 | |||
1501 | <section id='migration-1.6-licensing'> | ||
1502 | <title>Licensing</title> | ||
1503 | |||
1504 | <para> | ||
1505 | The top-level <filename>LICENSE</filename> file has been changed | ||
1506 | to better describe the license of the various components of | ||
1507 | OE-Core. | ||
1508 | However, the licensing itself remains unchanged. | ||
1509 | </para> | ||
1510 | |||
1511 | <para> | ||
1512 | Normally, this change would not cause any side-effects. | ||
1513 | However, some recipes point to this file within | ||
1514 | <link linkend='var-LIC_FILES_CHKSUM'><filename>LIC_FILES_CHKSUM</filename></link> | ||
1515 | (as <filename>${COREBASE}/LICENSE</filename>) and thus the | ||
1516 | accompanying checksum must be changed from | ||
1517 | 3f40d7994397109285ec7b81fdeb3b58 to | ||
1518 | 4d92cd373abda3937c2bc47fbc49d690. | ||
1519 | A better alternative is to have | ||
1520 | <filename>LIC_FILES_CHKSUM</filename> point to a file | ||
1521 | describing the license that is distributed with the source | ||
1522 | that the recipe is building, if possible, rather than pointing | ||
1523 | to <filename>${COREBASE}/LICENSE</filename>. | ||
1524 | </para> | ||
1525 | </section> | ||
1526 | |||
1527 | <section id='migration-1.6-cflags-options'> | ||
1528 | <title><filename>CFLAGS</filename> Options</title> | ||
1529 | |||
1530 | <para> | ||
1531 | The "-fpermissive" option has been removed from the default | ||
1532 | <link linkend='var-CFLAGS'><filename>CFLAGS</filename></link> | ||
1533 | value. | ||
1534 | You need to take action on individual recipes that fail when | ||
1535 | building with this option. | ||
1536 | You need to either patch the recipes to fix the issues reported by | ||
1537 | the compiler, or you need to add "-fpermissive" to | ||
1538 | <filename>CFLAGS</filename> in the recipes. | ||
1539 | </para> | ||
1540 | </section> | ||
1541 | |||
1542 | <section id='migration-1.6-custom-images'> | ||
1543 | <title>Custom Image Output Types</title> | ||
1544 | |||
1545 | <para> | ||
1546 | Custom image output types, as selected using | ||
1547 | <link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link>, | ||
1548 | must declare their dependencies on other image types (if any) using | ||
1549 | a new | ||
1550 | <link linkend='var-IMAGE_TYPEDEP'><filename>IMAGE_TYPEDEP</filename></link> | ||
1551 | variable. | ||
1552 | </para> | ||
1553 | </section> | ||
1554 | |||
1555 | <section id='migration-1.6-do-package-write-task'> | ||
1556 | <title>Tasks</title> | ||
1557 | |||
1558 | <para> | ||
1559 | The <filename>do_package_write</filename> task has been removed. | ||
1560 | The task is no longer needed. | ||
1561 | </para> | ||
1562 | </section> | ||
1563 | |||
1564 | <section id='migration-1.6-update-alternatives-provider'> | ||
1565 | <title><filename>update-alternative</filename> Provider</title> | ||
1566 | |||
1567 | <para> | ||
1568 | The default <filename>update-alternatives</filename> provider has | ||
1569 | been changed from <filename>opkg</filename> to | ||
1570 | <filename>opkg-utils</filename>. | ||
1571 | This change resolves some troublesome circular dependencies. | ||
1572 | The runtime package has also been renamed from | ||
1573 | <filename>update-alternatives-cworth</filename> | ||
1574 | to <filename>update-alternatives-opkg</filename>. | ||
1575 | </para> | ||
1576 | </section> | ||
1577 | |||
1578 | <section id='migration-1.6-virtclass-overrides'> | ||
1579 | <title><filename>virtclass</filename> Overrides</title> | ||
1580 | |||
1581 | <para> | ||
1582 | The <filename>virtclass</filename> overrides are now deprecated. | ||
1583 | Use the equivalent class overrides instead (e.g. | ||
1584 | <filename>virtclass-native</filename> becomes | ||
1585 | <filename>class-native</filename>.) | ||
1586 | </para> | ||
1587 | </section> | ||
1588 | |||
1589 | <section id='migration-1.6-removed-renamed-recipes'> | ||
1590 | <title>Removed and Renamed Recipes</title> | ||
1591 | |||
1592 | <para> | ||
1593 | The following recipes have been removed: | ||
1594 | <itemizedlist> | ||
1595 | <listitem><para><filename>packagegroup-toolset-native</filename> - | ||
1596 | This recipe is largely unused. | ||
1597 | </para></listitem> | ||
1598 | <listitem><para><filename>linux-yocto-3.8</filename> - | ||
1599 | Support for the Linux yocto 3.8 kernel has been dropped. | ||
1600 | Support for the 3.10 and 3.14 kernels have been added | ||
1601 | with the <filename>linux-yocto-3.10</filename> and | ||
1602 | <filename>linux-yocto-3.14</filename> recipes. | ||
1603 | </para></listitem> | ||
1604 | <listitem><para><filename>ocf-linux</filename> - | ||
1605 | This recipe has been functionally replaced using | ||
1606 | <filename>cryptodev-linux</filename>. | ||
1607 | </para></listitem> | ||
1608 | <listitem><para><filename>genext2fs</filename> - | ||
1609 | <filename>genext2fs</filename> is no longer used by the | ||
1610 | build system and is unmaintained upstream. | ||
1611 | </para></listitem> | ||
1612 | <listitem><para><filename>js</filename> - | ||
1613 | This provided an ancient version of Mozilla's javascript | ||
1614 | engine that is no longer needed. | ||
1615 | </para></listitem> | ||
1616 | <listitem><para><filename>zaurusd</filename> - | ||
1617 | The recipe has been moved to the | ||
1618 | <filename>meta-handheld</filename> layer. | ||
1619 | </para></listitem> | ||
1620 | <listitem><para><filename>eglibc 2.17</filename> - | ||
1621 | Replaced by the <filename>eglibc 2.19</filename> | ||
1622 | recipe. | ||
1623 | </para></listitem> | ||
1624 | <listitem><para><filename>gcc 4.7.2</filename> - | ||
1625 | Replaced by the now stable | ||
1626 | <filename>gcc 4.8.2</filename>. | ||
1627 | </para></listitem> | ||
1628 | <listitem><para><filename>external-sourcery-toolchain</filename> - | ||
1629 | this recipe is now maintained in the | ||
1630 | <filename>meta-sourcery</filename> layer. | ||
1631 | </para></listitem> | ||
1632 | <listitem><para><filename>linux-libc-headers-yocto 3.4+git</filename> - | ||
1633 | Now using version 3.10 of the | ||
1634 | <filename>linux-libc-headers</filename> by default. | ||
1635 | </para></listitem> | ||
1636 | <listitem><para><filename>meta-toolchain-gmae</filename> - | ||
1637 | This recipe is obsolete. | ||
1638 | </para></listitem> | ||
1639 | <listitem><para><filename>packagegroup-core-sdk-gmae</filename> - | ||
1640 | This recipe is obsolete. | ||
1641 | </para></listitem> | ||
1642 | <listitem><para><filename>packagegroup-core-standalone-gmae-sdk-target</filename> - | ||
1643 | This recipe is obsolete. | ||
1644 | </para></listitem> | ||
1645 | </itemizedlist> | ||
1646 | </para> | ||
1647 | </section> | ||
1648 | |||
1649 | <section id='migration-1.6-removed-classes'> | ||
1650 | <title>Removed Classes</title> | ||
1651 | |||
1652 | <para> | ||
1653 | The following classes have become obsolete and have been removed: | ||
1654 | <itemizedlist> | ||
1655 | <listitem><para><filename>module_strip</filename> | ||
1656 | </para></listitem> | ||
1657 | <listitem><para><filename>pkg_metainfo</filename> | ||
1658 | </para></listitem> | ||
1659 | <listitem><para><filename>pkg_distribute</filename> | ||
1660 | </para></listitem> | ||
1661 | <listitem><para><filename>image-empty</filename> | ||
1662 | </para></listitem> | ||
1663 | </itemizedlist> | ||
1664 | </para> | ||
1665 | </section> | ||
1666 | |||
1667 | <section id='migration-1.6-reference-bsps'> | ||
1668 | <title>Reference Board Support Packages (BSPs)</title> | ||
1669 | |||
1670 | <para> | ||
1671 | The following reference BSPs changes occurred: | ||
1672 | <itemizedlist> | ||
1673 | <listitem><para>The BeagleBoard | ||
1674 | (<filename>beagleboard</filename>) ARM reference hardware | ||
1675 | has been replaced by the BeagleBone | ||
1676 | (<filename>beaglebone</filename>) hardware. | ||
1677 | </para></listitem> | ||
1678 | <listitem><para>The RouterStation Pro | ||
1679 | (<filename>routerstationpro</filename>) MIPS reference | ||
1680 | hardware has been replaced by the EdgeRouter Lite | ||
1681 | (<filename>edgerouter</filename>) hardware. | ||
1682 | </para></listitem> | ||
1683 | </itemizedlist> | ||
1684 | The previous reference BSPs for the | ||
1685 | <filename>beagleboard</filename> and | ||
1686 | <filename>routerstationpro</filename> machines are still available | ||
1687 | in a new <filename>meta-yocto-bsp-old</filename> layer in the | ||
1688 | <ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink> | ||
1689 | at | ||
1690 | <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>. | ||
1691 | </para> | ||
1692 | </section> | ||
1693 | </section> | ||
1694 | </chapter> | ||
1695 | <!-- | ||
1696 | vim: expandtab tw=80 ts=4 | ||
1697 | --> | ||