diff options
| -rw-r--r-- | documentation/ref-manual/migration.xml | 427 |
1 files changed, 427 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index 65a8ba8e30..54adec844e 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml | |||
| @@ -3333,6 +3333,433 @@ | |||
| 3333 | </section> | 3333 | </section> |
| 3334 | </section> | 3334 | </section> |
| 3335 | 3335 | ||
| 3336 | <section id='moving-to-the-yocto-project-2.2-release'> | ||
| 3337 | <title>Moving to the Yocto Project 2.2 Release</title> | ||
| 3338 | |||
| 3339 | <para> | ||
| 3340 | This section provides migration information for moving to the | ||
| 3341 | Yocto Project 2.2 Release from the prior release. | ||
| 3342 | </para> | ||
| 3343 | |||
| 3344 | <section id='migration-2.2-minimum-kernel-version'> | ||
| 3345 | <para> | ||
| 3346 | The minimum kernel version is now 3.2.0, due to the upgrade | ||
| 3347 | to <filename>glibc 2.24</filename>. | ||
| 3348 | Specifically, for AArch64-based targets the version is | ||
| 3349 | 3.14. | ||
| 3350 | For Nios II-based targets, the minimum kernel version is 3.19. | ||
| 3351 | <note> | ||
| 3352 | For x86 and x86_64, you can reset | ||
| 3353 | <link linkend='var-OLDEST_KERNEL'><filename>OLDEST_KERNEL</filename></link> | ||
| 3354 | to anything down to 2.6.32 if desired. | ||
| 3355 | </note> | ||
| 3356 | </para> | ||
| 3357 | </section> | ||
| 3358 | |||
| 3359 | <section id='migration-2.2-staging-directories-in-sysroot-simplified'> | ||
| 3360 | <title>Staging Directories in Sysroot Has Been Simplified</title> | ||
| 3361 | |||
| 3362 | <para> | ||
| 3363 | The way directories are staged in sysroot has been simplified and | ||
| 3364 | introduces the new | ||
| 3365 | <link linkend='var-SYSROOT_DIRS'><filename>SYSROOT_DIRS</filename></link>, | ||
| 3366 | <link linkend='var-SYSROOT_DIRS_NATIVE'><filename>SYSROOT_DIRS_NATIVE</filename></link>, | ||
| 3367 | and | ||
| 3368 | <link linkend='var-SYSROOT_DIRS_BLACKLIST'><filename>SYSROOT_DIRS_BLACKLIST</filename></link>. | ||
| 3369 | See the | ||
| 3370 | <ulink url='http://lists.openembedded.org/pipermail/openembedded-core/2016-May/121365.html'>v2 patch series on the OE-Core Mailing List</ulink> | ||
| 3371 | for additional information. | ||
| 3372 | </para> | ||
| 3373 | </section> | ||
| 3374 | |||
| 3375 | <section id='migration-2.2-removal-of-old-images-from-tmp-deploy-now-enabled'> | ||
| 3376 | <title>Removal of Old Images and Other Files in <filename>tmp/deploy</filename> Now Enabled</title> | ||
| 3377 | |||
| 3378 | <para> | ||
| 3379 | Removal of old images and other files in | ||
| 3380 | <filename>tmp/deploy/</filename> is now enabled by default due | ||
| 3381 | to a new staging method used for those files. | ||
| 3382 | As a result of this change, the | ||
| 3383 | <link linkend='var-RM_OLD_IMAGE'><filename>RM_OLD_IMAGE</filename></link> | ||
| 3384 | variable is now redundant. | ||
| 3385 | </para> | ||
| 3386 | </section> | ||
| 3387 | |||
| 3388 | <section id='migration-2.2-bitbake-now-requires-python-3.4'> | ||
| 3389 | <title>BitBake Now Requires Python 3.4+</title> | ||
| 3390 | |||
| 3391 | <para> | ||
| 3392 | BitBake requires Python 3.4 or greater. | ||
| 3393 | </para> | ||
| 3394 | </section> | ||
| 3395 | |||
| 3396 | <section id='migration-2.2-metadata-now-must-use-python-3-syntax'> | ||
| 3397 | <title>Metadata Must Now Use Python 3 Syntax</title> | ||
| 3398 | |||
| 3399 | <para> | ||
| 3400 | The metadata is now required to use Python 3 syntax. | ||
| 3401 | For help preparing metadata, see any of the many Python 3 porting | ||
| 3402 | guides available. | ||
| 3403 | Alternatively, you can reference the conversion commits for Bitbake | ||
| 3404 | and you can use OE-Core as a guide for changes. | ||
| 3405 | Following are particular areas of interest: | ||
| 3406 | <literallayout class='monospaced'> | ||
| 3407 | * subprocess command-line pipes needing locale decoding | ||
| 3408 | * the syntax for octal values changed | ||
| 3409 | * the <filename>iter*()</filename> functions changed name | ||
| 3410 | * iterators now return views | ||
| 3411 | * not lists | ||
| 3412 | * changed names for Python modules | ||
| 3413 | </literallayout> | ||
| 3414 | </para> | ||
| 3415 | </section> | ||
| 3416 | |||
| 3417 | <section id='migration-2.2-target-python-recipes-switched-to-python-3'> | ||
| 3418 | <title>Target Python Recipes Switched to Python 3</title> | ||
| 3419 | |||
| 3420 | <para> | ||
| 3421 | Most target Python recipes have now been switched to Python 3. | ||
| 3422 | Unfortunately, systems using RPM as a package manager and | ||
| 3423 | providing online package-manager support through SMART still | ||
| 3424 | require Python 2. | ||
| 3425 | </para> | ||
| 3426 | </section> | ||
| 3427 | |||
| 3428 | <section id='migration-2.2-uclibc-replaced-by-musl'> | ||
| 3429 | <title>uClibc Replaced by musl</title> | ||
| 3430 | |||
| 3431 | <para> | ||
| 3432 | Uclibc has been removed in favor of musl. | ||
| 3433 | </para> | ||
| 3434 | </section> | ||
| 3435 | |||
| 3436 | <section id='migration-2.2-B-no-longer-default-working-directory-for-tasks'> | ||
| 3437 | <title><filename>${B}</filename> No Longer Default Working Directory for Tasks</title> | ||
| 3438 | |||
| 3439 | <para> | ||
| 3440 | <filename>${</filename><link linkend='var-B'><filename>B</filename></link><filename>}</filename> | ||
| 3441 | is no longer the default working directory for tasks. | ||
| 3442 | Consequently, any custom tasks you define now need to either | ||
| 3443 | have the | ||
| 3444 | <filename>[</filename><ulink url='&YOCTO_DOCS_BB_URL;#variable-flags'><filename>dirs</filename></ulink><filename>]</filename> flag set, or the task needs to change into the | ||
| 3445 | appropriate working directory manually (e.g using | ||
| 3446 | <filename>cd</filename> for a shell task). | ||
| 3447 | <note> | ||
| 3448 | The preferred method is to use the | ||
| 3449 | <filename>[dirs]</filename> flag. | ||
| 3450 | </note> | ||
| 3451 | </para> | ||
| 3452 | </section> | ||
| 3453 | |||
| 3454 | <section id='migration-2.2-utf-8-locale-required-on-build-host'> | ||
| 3455 | <title>UTF-8 Locale Required on Build Host</title> | ||
| 3456 | |||
| 3457 | <para> | ||
| 3458 | A UTF-8 locale is required on the build host due to Python 3. | ||
| 3459 | Since C.UTF-8 is not a standard, the default is en_US.UTF-8. | ||
| 3460 | </para> | ||
| 3461 | </section> | ||
| 3462 | |||
| 3463 | <section id='migration-2.2-runqemu-ported-to-python'> | ||
| 3464 | <title><filename>runqemu</filename> Ported to Python</title> | ||
| 3465 | |||
| 3466 | <para> | ||
| 3467 | <filename>runqemu</filename> has been ported to Python and has | ||
| 3468 | changed behavior in some cases. | ||
| 3469 | </para> | ||
| 3470 | </section> | ||
| 3471 | |||
| 3472 | <section id='migration-2.2-bitbake-changes'> | ||
| 3473 | <title>BitBake Changes</title> | ||
| 3474 | |||
| 3475 | <para> | ||
| 3476 | The following changes took place for BitBake: | ||
| 3477 | <itemizedlist> | ||
| 3478 | <listitem><para> | ||
| 3479 | The "goggle" UI and standalone image-writer tool have | ||
| 3480 | been removed as they both require GTK+ 2.0 and | ||
| 3481 | were not being maintained. | ||
| 3482 | </para></listitem> | ||
| 3483 | <listitem><para> | ||
| 3484 | The Perforce fetcher now supports | ||
| 3485 | <link linkend='var-SRCREV'><filename>SRCREV</filename></link> | ||
| 3486 | for specifying the source revision to use, be it | ||
| 3487 | <filename>${</filename><link linkend='var-AUTOREV'><filename>AUTOREV</filename></link><filename>}</filename>, | ||
| 3488 | changelist number, p4date, or label, in preference to | ||
| 3489 | separate | ||
| 3490 | <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link> | ||
| 3491 | parameters to specify these. | ||
| 3492 | This change is more in-line with how the other fetchers | ||
| 3493 | work for source control systems. | ||
| 3494 | Recipes that fetch from Perforce will need to be updated | ||
| 3495 | to use <filename>SRCREV</filename> in place of specifying | ||
| 3496 | the source revision within | ||
| 3497 | <filename>SRC_URI</filename>. | ||
| 3498 | </para></listitem> | ||
| 3499 | <listitem><para> | ||
| 3500 | Some of BitBake's internal code structures for storing the | ||
| 3501 | recipe cache needed to be changed to support the new | ||
| 3502 | multi-configuration functionality. | ||
| 3503 | These changes will affect external tools that use BitBake's | ||
| 3504 | tinfoil module. | ||
| 3505 | For information on these changes, see the changes made to | ||
| 3506 | the scripts supplied with OpenEmbedded-Core: 1 2. | ||
| 3507 | </para></listitem> | ||
| 3508 | <listitem><para> | ||
| 3509 | The task management code has been rewritten to avoid using | ||
| 3510 | ID indirection in order to improve performance. | ||
| 3511 | This change is unlikely to cause any problems for most | ||
| 3512 | users. | ||
| 3513 | However, the setscene verification function as pointed to | ||
| 3514 | by <filename>BB_SETSCENE_VERIFY_FUNCTION</filename> | ||
| 3515 | needed to change signature. | ||
| 3516 | Consequently, a new variable named | ||
| 3517 | <ulink url='&YOCTO_DOCS_BB_URL;#var-BB_SETSCENE_VERIFY_FUNCTION2'><filename>BB_SETSCENE_VERIFY_FUNCTION2</filename></ulink> | ||
| 3518 | has been added allowing multiple versions of BitBake | ||
| 3519 | to work with suitably written metadata, which includes | ||
| 3520 | OpenEmbedded-Core and Poky. | ||
| 3521 | Anyone with custom BitBake task scheduler code might also | ||
| 3522 | need to update the code to handle the new structure. | ||
| 3523 | </para></listitem> | ||
| 3524 | </itemizedlist> | ||
| 3525 | </para> | ||
| 3526 | </section> | ||
| 3527 | |||
| 3528 | <section id='migration-2.2-swabber-has-been-removed'> | ||
| 3529 | <title>Swabber has Been Removed</title> | ||
| 3530 | |||
| 3531 | <para> | ||
| 3532 | Swabber, a tool that was intended to detect host contamination in | ||
| 3533 | the build process, has been removed, as it has been unmaintained | ||
| 3534 | and unused for some time and was never particularly effective. | ||
| 3535 | The OpenEmbedded build system has since incorporated a number of | ||
| 3536 | mechanisms including enhanced QA checks that mean that there is | ||
| 3537 | less of a need for such a tool. | ||
| 3538 | </para> | ||
| 3539 | </section> | ||
| 3540 | |||
| 3541 | <section id='migration-2.2-removed-recipes'> | ||
| 3542 | <title>Removed Recipes</title> | ||
| 3543 | |||
| 3544 | <para> | ||
| 3545 | The following recipes have been removed: | ||
| 3546 | <itemizedlist> | ||
| 3547 | <listitem><para> | ||
| 3548 | <filename>augeas</filename>: | ||
| 3549 | No longer needed and has been moved to | ||
| 3550 | <filename>meta-oe</filename>. | ||
| 3551 | </para></listitem> | ||
| 3552 | <listitem><para> | ||
| 3553 | <filename>directfb</filename>: | ||
| 3554 | Unmaintained and has been moved to | ||
| 3555 | <filename>meta-oe</filename>. | ||
| 3556 | </para></listitem> | ||
| 3557 | <listitem><para> | ||
| 3558 | <filename>gcc</filename>: | ||
| 3559 | Removed 4.9 version. | ||
| 3560 | Versions 5.4 and 6.2 are still present. | ||
| 3561 | </para></listitem> | ||
| 3562 | <listitem><para> | ||
| 3563 | <filename>gnome-doc-utils</filename>: | ||
| 3564 | No longer needed. | ||
| 3565 | </para></listitem> | ||
| 3566 | <listitem><para> | ||
| 3567 | <filename>gtk-doc-stub</filename>: | ||
| 3568 | Replaced by <filename>gtk-doc</filename>. | ||
| 3569 | </para></listitem> | ||
| 3570 | <listitem><para> | ||
| 3571 | <filename>gtk-engines</filename>: | ||
| 3572 | No longer needed and has been moved to | ||
| 3573 | <filename>meta-gnome</filename>. | ||
| 3574 | </para></listitem> | ||
| 3575 | <listitem><para> | ||
| 3576 | <filename>gtk-sato-engine</filename>: | ||
| 3577 | Became obsolete. | ||
| 3578 | </para></listitem> | ||
| 3579 | <listitem><para> | ||
| 3580 | <filename>libglade</filename>: | ||
| 3581 | No longer needed and has been moved to | ||
| 3582 | <filename>meta-oe</filename>. | ||
| 3583 | </para></listitem> | ||
| 3584 | <listitem><para> | ||
| 3585 | <filename>libmad</filename>: | ||
| 3586 | Unmaintained and functionally replaced by | ||
| 3587 | <filename>libmpg123</filename>. | ||
| 3588 | <filename>libmad</filename> has been moved to | ||
| 3589 | <filename>meta-oe</filename>. | ||
| 3590 | </para></listitem> | ||
| 3591 | <listitem><para> | ||
| 3592 | <filename>libowl</filename>: | ||
| 3593 | Became obsolete. | ||
| 3594 | </para></listitem> | ||
| 3595 | <listitem><para> | ||
| 3596 | <filename>libxsettings-client</filename>: | ||
| 3597 | No longer needed. | ||
| 3598 | </para></listitem> | ||
| 3599 | <listitem><para> | ||
| 3600 | <filename>oh-puzzles</filename>: | ||
| 3601 | Functionally replaced by | ||
| 3602 | <filename>puzzles</filename>. | ||
| 3603 | </para></listitem> | ||
| 3604 | <listitem><para> | ||
| 3605 | <filename>oprofileui</filename>: | ||
| 3606 | Became obsolete. | ||
| 3607 | OProfile has been largely supplanted by perf. | ||
| 3608 | </para></listitem> | ||
| 3609 | <listitem><para> | ||
| 3610 | <filename>packagegroup-core-directfb.bb</filename>: | ||
| 3611 | Removed. | ||
| 3612 | </para></listitem> | ||
| 3613 | <listitem><para> | ||
| 3614 | <filename>core-image-directfb.bb</filename>: | ||
| 3615 | Removed. | ||
| 3616 | </para></listitem> | ||
| 3617 | <listitem><para> | ||
| 3618 | <filename>pointercal</filename>: | ||
| 3619 | No longer needed and has been moved to | ||
| 3620 | <filename>meta-oe</filename>. | ||
| 3621 | </para></listitem> | ||
| 3622 | <listitem><para> | ||
| 3623 | <filename>python-imaging</filename>: | ||
| 3624 | No longer needed and moved to | ||
| 3625 | <filename>meta-python</filename> | ||
| 3626 | </para></listitem> | ||
| 3627 | <listitem><para> | ||
| 3628 | <filename>python-pyrex</filename>: | ||
| 3629 | No longer needed and moved to | ||
| 3630 | <filename>meta-python</filename>. | ||
| 3631 | </para></listitem> | ||
| 3632 | <listitem><para> | ||
| 3633 | <filename>sato-icon-theme</filename>: | ||
| 3634 | Became obsolete. | ||
| 3635 | </para></listitem> | ||
| 3636 | <listitem><para> | ||
| 3637 | <filename>swabber-native</filename>: | ||
| 3638 | Swabber has been removed. | ||
| 3639 | See the | ||
| 3640 | <link linkend='migration-2.2-swabber-has-been-removed'>entry on Swabber</link>. | ||
| 3641 | </para></listitem> | ||
| 3642 | <listitem><para> | ||
| 3643 | <filename>tslib</filename>: | ||
| 3644 | No longer needed and has been moved to | ||
| 3645 | <filename>meta-oe</filename>. | ||
| 3646 | </para></listitem> | ||
| 3647 | <listitem><para> | ||
| 3648 | <filename>uclibc</filename>: | ||
| 3649 | Removed in favor of musl. | ||
| 3650 | </para></listitem> | ||
| 3651 | <listitem><para> | ||
| 3652 | <filename>xtscal</filename>: | ||
| 3653 | No longer needed and moved to | ||
| 3654 | <filename>meta-oe</filename> | ||
| 3655 | </para></listitem> | ||
| 3656 | </itemizedlist> | ||
| 3657 | </para> | ||
| 3658 | </section> | ||
| 3659 | |||
| 3660 | <section id='migration-2.2-removed-classes'> | ||
| 3661 | <title>Removed Classes</title> | ||
| 3662 | |||
| 3663 | <para> | ||
| 3664 | The following classes have been removed: | ||
| 3665 | <itemizedlist> | ||
| 3666 | <listitem><para> | ||
| 3667 | <filename>distutils-native-base</filename>: | ||
| 3668 | No longer needed. | ||
| 3669 | </para></listitem> | ||
| 3670 | <listitem><para> | ||
| 3671 | <filename>distutils3-native-base</filename>: | ||
| 3672 | No longer needed. | ||
| 3673 | </para></listitem> | ||
| 3674 | <listitem><para> | ||
| 3675 | <filename>sdl</filename>: | ||
| 3676 | Only set | ||
| 3677 | <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link> | ||
| 3678 | and | ||
| 3679 | <link linkend='var-SECTION'><filename>SECTION</filename></link>, | ||
| 3680 | which are better set within the recipe instead. | ||
| 3681 | </para></listitem> | ||
| 3682 | <listitem><para> | ||
| 3683 | <filename>sip</filename>: | ||
| 3684 | Mostly unused. | ||
| 3685 | </para></listitem> | ||
| 3686 | <listitem><para> | ||
| 3687 | <filename>swabber</filename>: | ||
| 3688 | See the | ||
| 3689 | <link linkend='migration-2.2-swabber-has-been-removed'>entry on Swabber</link>. | ||
| 3690 | </para></listitem> | ||
| 3691 | </itemizedlist> | ||
| 3692 | </para> | ||
| 3693 | </section> | ||
| 3694 | |||
| 3695 | <section id='migration-2.2-minor-packaging-changes'> | ||
| 3696 | <title>Minor Packaging Changes</title> | ||
| 3697 | |||
| 3698 | <para> | ||
| 3699 | The following minor packaging changes have occurred: | ||
| 3700 | <itemizedlist> | ||
| 3701 | <listitem><para> | ||
| 3702 | <filename>grub</filename>: | ||
| 3703 | Split <filename>grub-editenv</filename> into its own | ||
| 3704 | package. | ||
| 3705 | </para></listitem> | ||
| 3706 | <listitem><para> | ||
| 3707 | <filename>systemd</filename>: | ||
| 3708 | Split container and vm related units into a new package, | ||
| 3709 | systemd-container. | ||
| 3710 | </para></listitem> | ||
| 3711 | <listitem><para> | ||
| 3712 | <filename>util-linux</filename>: | ||
| 3713 | Make <filename>prlimit</filename> a separate package. | ||
| 3714 | </para></listitem> | ||
| 3715 | </itemizedlist> | ||
| 3716 | </para> | ||
| 3717 | </section> | ||
| 3718 | |||
| 3719 | <section id='migration-2.2-miscellaneous-changes'> | ||
| 3720 | <title>Miscellaneous Changes</title> | ||
| 3721 | |||
| 3722 | <para> | ||
| 3723 | The following miscellaneous changes have occurred: | ||
| 3724 | <itemizedlist> | ||
| 3725 | <listitem><para> | ||
| 3726 | <filename>buildtools-tarball</filename>: | ||
| 3727 | Replaced <filename>nativesdk-python</filename> | ||
| 3728 | with <filename>nativesdk-python3</filename>. | ||
| 3729 | </para></listitem> | ||
| 3730 | <listitem><para> | ||
| 3731 | <filename>package_regex.inc</filename>: | ||
| 3732 | Removed deprecated file. | ||
| 3733 | </para></listitem> | ||
| 3734 | <listitem><para> | ||
| 3735 | <filename>recipetool</filename>: | ||
| 3736 | Set a fixed | ||
| 3737 | <link linkend='var-SRCREV'><filename>SRCREV</filename></link> | ||
| 3738 | by default when fetching from Git. | ||
| 3739 | </para></listitem> | ||
| 3740 | <listitem><para> | ||
| 3741 | <filename>devtool</filename>: | ||
| 3742 | Set a fixed | ||
| 3743 | <link linkend='var-SRCREV'><filename>SRCREV</filename></link> | ||
| 3744 | by default when fetching from Git. | ||
| 3745 | </para></listitem> | ||
| 3746 | <listitem><para> | ||
| 3747 | <filename>distcc</filename>: | ||
| 3748 | GTK+ UI is now disabled by default. | ||
| 3749 | </para></listitem> | ||
| 3750 | <listitem><para> | ||
| 3751 | <filename>packagegroup-core-tools-testapps</filename>: | ||
| 3752 | Removed Piglit. | ||
| 3753 | </para></listitem> | ||
| 3754 | <listitem><para> | ||
| 3755 | <filename>image.bbclass</filename>: | ||
| 3756 | Renamed COMPRESS(ION) to CONVERSION. | ||
| 3757 | </para></listitem> | ||
| 3758 | </itemizedlist> | ||
| 3759 | </para> | ||
| 3760 | </section> | ||
| 3761 | </section> | ||
| 3762 | |||
| 3336 | </chapter> | 3763 | </chapter> |
| 3337 | <!-- | 3764 | <!-- |
| 3338 | vim: expandtab tw=80 ts=4 | 3765 | vim: expandtab tw=80 ts=4 |
