summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2016-10-13 16:19:19 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-10-19 12:56:32 +0100
commita6752eb2a43f81a5e8ec54e7605d2058aa58d4b9 (patch)
treed10f63c4e4bc24302961c1546f235e5f2e64322e /documentation
parent2b08a281b9b8b130c76dd2e03420e685b35025f8 (diff)
downloadpoky-a6752eb2a43f81a5e8ec54e7605d2058aa58d4b9.tar.gz
ref-manual: Added the 2.2 Migration guide section.
(From yocto-docs rev: 668e32419ba59d975a196967e620c384009426a4) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/ref-manual/migration.xml427
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<!--
3338vim: expandtab tw=80 ts=4 3765vim: expandtab tw=80 ts=4