summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual')
-rw-r--r--documentation/ref-manual/migration.xml397
1 files changed, 397 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml
index de88a88b2c..e8e258aa6f 100644
--- a/documentation/ref-manual/migration.xml
+++ b/documentation/ref-manual/migration.xml
@@ -2315,6 +2315,403 @@
2315 </section> 2315 </section>
2316</section> 2316</section>
2317 2317
2318<section id='moving-to-the-yocto-project-2.0-release'>
2319 <title>Moving to the Yocto Project 2.0 Release</title>
2320
2321 <para>
2322 This section provides migration information for moving to the
2323 Yocto Project 2.0 Release from the prior release.
2324 </para>
2325
2326 <section id='migration-2.0-gcc-5'>
2327 <title>Gcc 5</title>
2328
2329 <para>
2330 The default compiler is now GCC 5.2.
2331 This change has resulted in fixes for compile errors in a number
2332 of other recipes.
2333 For further details, please see
2334 <ulink url='https://gcc.gnu.org/gcc-5/changes.html'></ulink>.
2335 </para>
2336 </section>
2337
2338 <section id='migration-2.0-Gstreamer-0.10-removed'>
2339 <title>Gstreamer 0.10 Removed</title>
2340
2341 <para>
2342 Gstreamer 0.10 has been removed in favor of Gstreamer 1.x.
2343 As part of the change, Gstreamer 0.10 recipes
2344 that still need Gstreamer 0.10 are now located
2345 in <filename>meta-multimedia</filename>.
2346 This change results in Qt4 having Phonon and Gstreamer
2347 support in QtWebkit disabled by default.
2348 </para>
2349 </section>
2350
2351 <section id='migration-2.0-removed-recipes'>
2352 <title>Removed Recipes</title>
2353
2354 <para>
2355 The following recipes have been moved or removed:
2356 <itemizedlist>
2357 <listitem><para>
2358 <filename>bluez4</filename>: The recipe is obsolete and
2359 has been moved due to <filename>bluez5</filename>
2360 becoming fully integrated.
2361 The <filename>bluez4</filename> recipe now resides in
2362 <filename>meta-oe</filename>.
2363 </para></listitem>
2364 <listitem><para>
2365 <filename>gamin</filename>: The recipe is obsolete and
2366 has been removed.
2367 </para></listitem>
2368 <listitem><para>
2369 <filename>gnome-icon-theme</filename>: The recipe's
2370 functionally has been replaced by
2371 <filename>adwaita-icon-theme</filename>.
2372 </para></listitem>
2373 <listitem><para>
2374 Gstreamer 0.10 Recipes: Recipes that are part of
2375 Gstreamer 0.10 have been removed in favor of the
2376 recipes in Gstreamer 1.x.
2377 </para></listitem>
2378 <listitem><para>
2379 <filename>insserv</filename>: The recipe is obsolete and
2380 has been removed.
2381 </para></listitem>
2382 <listitem><para>
2383 <filename>libunique</filename>: The recipe is no longer
2384 used and has been move to <filename>meta-oe</filename>.
2385 </para></listitem>
2386 <listitem><para>
2387 <filename>midori</filename>: The recipe's functionally
2388 has been replaced by <filename>epiphany</filename>.
2389 </para></listitem>
2390 <listitem><para>
2391 <filename>python-gst</filename>: The recipe is obsolete
2392 and has been removed since it only contains bindings for
2393 Gstreamer 0.10.
2394 </para></listitem>
2395 <listitem><para>
2396 <filename>qt-mobility</filename>: The recipe is obsolete and
2397 has been removed since it requires
2398 <filename>Gstreamer 0.10</filename>, which has been
2399 replaced.
2400 </para></listitem>
2401 <listitem><para>
2402 <filename>subversion</filename>: All 1.6.x versions of this
2403 recipe have been removed.
2404 </para></listitem>
2405 <listitem><para>
2406 <filename>webkit-gtk</filename>: The older 1.8.3 version
2407 of this recipe has been removed in favor of
2408 <filename>webkitgtk</filename>.
2409 </para></listitem>
2410 </itemizedlist>
2411 </para>
2412 </section>
2413
2414 <section id='migration-2.0-bitbake-datastore-improvements'>
2415 <title>BitBake datastore improvements</title>
2416
2417 <para>
2418 The method by which BitBake's datastore handles overrides has
2419 changed.
2420 Overrides are now applied dynamically and
2421 <filename>bb.data.update_data()</filename> is now a no-op.
2422 Thus, <filename>bb.data.update_data()</filename> is no longer
2423 required in order to apply the correct overrides.
2424 In practice, this change is unlikely to require any changes to
2425 Metadata.
2426 However, these minor changes in behavior exist:
2427 <itemizedlist>
2428 <listitem><para>
2429 All potential overrides are now visible in the variable
2430 history as seen when you run the following:
2431 <literallayout class='monospaced'>
2432 $ bitbake -e
2433 </literallayout>
2434 </para></listitem>
2435 <listitem><para>
2436 <filename>d.delVar('VARNAME')</filename> and
2437 <filename>d.setVar('VARNAME', None)</filename> result
2438 in the variable and all of its overrides being cleared out.
2439 Before the change, only the non-overridden values
2440 were cleared.
2441 </para></listitem>
2442 </itemizedlist>
2443 </para>
2444 </section>
2445
2446 <section id='migration-2.0-shell-message-function-changes'>
2447 <title>Shell Message Function Changes</title>
2448
2449 <para>
2450 The shell versions of the BitBake message functions (i.e.
2451 <filename>bbdebug</filename>, <filename>bbnote</filename>,
2452 <filename>bbwarn</filename>, <filename>bbplain</filename>,
2453 <filename>bberror</filename>, and <filename>bbfatal</filename>)
2454 are now connected through to their BitBake equivalents
2455 <filename>bb.debug()</filename>, <filename>bb.note()</filename>,
2456 <filename>bb.warn()</filename>, <filename>bb.plain()</filename>,
2457 <filename>bb.error()</filename>, and
2458 <filename>bb.fatal()</filename>, respectively.
2459 Thus, those message functions that you would expect to be printed
2460 by the BitBake UI are now actually printed.
2461 In practice, this change means two things:
2462 <itemizedlist>
2463 <listitem><para>
2464 If you now see messages on the console that you did not
2465 previously see as a result of this change, you might
2466 need to clean up the calls to
2467 <filename>bbwarn</filename>, <filename>bberror</filename>,
2468 and so forth.
2469 Or, you might want to simply remove the calls.
2470 </para></listitem>
2471 <listitem><para>
2472 The <filename>bbfatal</filename> message function now
2473 suppresses the full error log in the UI, which means any
2474 calls to <filename>bbfatal</filename> where you still
2475 wish to see the full error log should be replaced by
2476 <filename>die</filename> or
2477 <filename>bbfatal_log</filename>.
2478 </para></listitem>
2479 </itemizedlist>
2480 </para>
2481 </section>
2482
2483 <section id='migration-2.0-extra-development-debug-package-cleanup'>
2484 <title>Extra Development/Debug Package Cleanup</title>
2485
2486 <para>
2487 The following recipes have had extra
2488 <filename>dev/dbg</filename> packages removed:
2489 <itemizedlist>
2490 <listitem><para>
2491 <filename>acl</filename>
2492 </para></listitem>
2493 <listitem><para>
2494 <filename>apmd</filename>
2495 </para></listitem>
2496 <listitem><para>
2497 <filename>aspell</filename>
2498 </para></listitem>
2499 <listitem><para>
2500 <filename>attr</filename>
2501 </para></listitem>
2502 <listitem><para>
2503 <filename>augeas</filename>
2504 </para></listitem>
2505 <listitem><para>
2506 <filename>bzip2</filename>
2507 </para></listitem>
2508 <listitem><para>
2509 <filename>cogl</filename>
2510 </para></listitem>
2511 <listitem><para>
2512 <filename>curl</filename>
2513 </para></listitem>
2514 <listitem><para>
2515 <filename>elfutils</filename>
2516 </para></listitem>
2517 <listitem><para>
2518 <filename>gcc-target</filename>
2519 </para></listitem>
2520 <listitem><para>
2521 <filename>libgcc</filename>
2522 </para></listitem>
2523 <listitem><para>
2524 <filename>libtool</filename>
2525 </para></listitem>
2526 <listitem><para>
2527 <filename>libxmu</filename>
2528 </para></listitem>
2529 <listitem><para>
2530 <filename>opkg</filename>
2531 </para></listitem>
2532 <listitem><para>
2533 <filename>pciutils</filename>
2534 </para></listitem>
2535 <listitem><para>
2536 <filename>rpm</filename>
2537 </para></listitem>
2538 <listitem><para>
2539 <filename>sysfsutils</filename>
2540 </para></listitem>
2541 <listitem><para>
2542 <filename>tiff</filename>
2543 </para></listitem>
2544 <listitem><para>
2545 <filename>xz</filename>
2546 </para></listitem>
2547 </itemizedlist>
2548 All of the above recipes now conform to the standard packaging
2549 scheme where a single <filename>-dev</filename>,
2550 <filename>-dbg</filename>, and <filename>-staticdev</filename>
2551 package exists per recipe.
2552 </para>
2553 </section>
2554
2555 <section id='migration-2.0-recipe-maintenance-tracking-data-moved-to-oe-core'>
2556 <title>Recipe Maintenance Tracking Data Moved to OE-Core</title>
2557
2558 <para>
2559 Maintenance tracking data for recipes that was previously part
2560 of <filename>meta-yocto</filename> has been moved to OE-Core.
2561 The change includes <filename>package_regex.inc</filename> and
2562 <filename>distro_alias.inc</filename>, which are typically enabled
2563 when using the
2564 <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link>
2565 class.
2566 Additionally, the contents of
2567 <filename>upstream_tracking.inc</filename> has now been split out
2568 to the relevant recipes.
2569 </para>
2570 </section>
2571
2572 <section id='migration-2.0-automatic-stale-sysroot-file-cleanup'>
2573 <title>Automatic Stale Sysroot File Cleanup</title>
2574
2575 <para>
2576 Stale files from recipes that no longer exist in the current
2577 configuration are now automatically removed from
2578 sysroot as well as removed from
2579 any other place managed by shared state.
2580 This automatic cleanup means that the build system now properly
2581 handles situations such as renaming the build system side of
2582 recipes, removal of layers from
2583 <filename>bblayers.conf</filename>, and
2584 <link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link>
2585 changes.
2586 </para>
2587
2588 <para>
2589 Additionally, work directories for old versions of recipes are
2590 now pruned.
2591 If you wish to disable pruning old work directories, you can set
2592 the following variable in your configuration:
2593 <literallayout class='monospaced'>
2594 SSTATE_PRUNE_OBSOLETEWORKDIR = "0"
2595 </literallayout>
2596 </para>
2597 </section>
2598
2599 <section id='migration-2.0-linux-yocto-kernel-metadata-repository-now-split-from-source'>
2600 <title><filename>linux-yocto</filename> Kernel Metadata Repository Now Split from Source</title>
2601
2602 <para>
2603 The <filename>linux-yocto</filename> tree has up to now been a
2604 combined set of kernel changes and configuration (meta) data
2605 carried in a single tree.
2606 While this format is effective at keeping kernel configuration and
2607 source modifications synchronized, it is not always obvious to
2608 developers how to manipulate the Metadata as compared to the
2609 source.
2610 </para>
2611
2612 <para>
2613 Metadata processing has now been removed from the
2614 <link linkend='ref-classes-kernel-yocto'><filename>kernel-yocto</filename></link>
2615 class and the external Metadata repository
2616 <filename>yocto-kernel-cache</filename>, which has always been used
2617 to seed the <filename>linux-yocto</filename> "meta" branch.
2618 This separate <filename>linux-yocto</filename> cache repository
2619 is now the primary location for this data.
2620 Due to this change, <filename>linux-yocto</filename> is no longer
2621 able to process combined trees.
2622 Thus, if you need to have your own combined kernel repository,
2623 you must do the split there as well and update your recipes
2624 accordingly.
2625 See the <filename>meta/recipes-kernel/linux/linux-yocto_4.1.bb</filename>
2626 recipe for an example.
2627 </para>
2628 </section>
2629
2630 <section id='migration-2.0-additional-qa-checks'>
2631 <title>Additional QA checks</title>
2632
2633 <para>
2634 The following QA checks have been added:
2635 <itemizedlist>
2636 <listitem><para>
2637 Added a "host-user-contaminated" check for any paths
2638 of packaged files outside of
2639 <filename>/home</filename> that are owned by the user
2640 and run BitBake.
2641 The existence of these types of paths usually
2642 indicates ownership has been incorrectly set.
2643 </para></listitem>
2644 <listitem><para>
2645 Added an "invalid-chars" check for invalid (non-UTF8)
2646 characters in recipe metadata variable values
2647 (i.e.
2648 <link linkend='var-DESCRIPTION'><filename>DESCRIPTION</filename></link>,
2649 <link linkend='var-SUMMARY'><filename>SUMMARY</filename></link>,
2650 <link linkend='var-LICENSE'><filename>LICENSE</filename></link>,
2651 and
2652 <link linkend='var-SECTION'><filename>SECTION</filename></link>).
2653 Some package managers do not support these variables.
2654 </para></listitem>
2655 <listitem><para>
2656 Added a check for any options specified in
2657 <link linkend='var-PACKAGECONFIG'><filename>PACKAGECONFIG</filename></link>
2658 that do not match any <filename>PACKAGECONFIG</filename>
2659 option defined for the recipe.
2660 </para></listitem>
2661 </itemizedlist>
2662 </para>
2663 </section>
2664
2665 <section id='migration-2.0-miscellaneous'>
2666 <title>Miscellaneous Changes</title>
2667
2668 <para>
2669 These additional changes exist:
2670 <itemizedlist>
2671 <listitem><para>
2672 <filename>gtk-update-icon-cache</filename> has been
2673 renamed to <filename>gtk-icon-utils</filename>.
2674 </para></listitem>
2675 <listitem><para>
2676 The <filename>tools-profile</filename>
2677 <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>
2678 item as well as its corresponding packagegroup and
2679 <filename>packagegroup-core-tools-profile</filename> no
2680 longer bring in <filename>oprofile</filename>.
2681 Bringing in <filename>oprofile</filename> was originally
2682 added to aid compilation on resource-constrained
2683 targets.
2684 However, this aid has not been widely used and is not
2685 likely to be used going forward due to the more powerful
2686 target platforms and the existence of better
2687 cross-compilation tools.
2688 </para></listitem>
2689 <listitem><para>
2690 The
2691 <link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link>
2692 variable's default value now specifies
2693 <filename>ext4</filename> instead of
2694 <filename>ext3</filename>.
2695 </para></listitem>
2696 <listitem><para>
2697 All support for the <filename>PRINC</filename>
2698 variable has been removed.
2699 </para></listitem>
2700 <listitem><para>
2701 The <filename>packagegroup-core-full-cmdline</filename>
2702 packagegroup no longer brings in
2703 <filename>lighttpd</filename> due to the fact that
2704 bringing in <filename>lighttpd</filename> is not really in
2705 line with the packagegroup's purpose, which is to add full
2706 versions of command-line tools that by default are
2707 provided by <filename>busybox</filename>.
2708 </para></listitem>
2709 </itemizedlist>
2710 </para>
2711 </section>
2712</section>
2713
2714
2318</chapter> 2715</chapter>
2319<!-- 2716<!--
2320vim: expandtab tw=80 ts=4 2717vim: expandtab tw=80 ts=4