diff options
Diffstat (limited to 'documentation/ref-manual/migration.xml')
-rw-r--r-- | documentation/ref-manual/migration.xml | 174 |
1 files changed, 119 insertions, 55 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index 4ac36e5cf8..4cf72612bf 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml | |||
@@ -3345,7 +3345,8 @@ | |||
3345 | <title>Minimum Kernel Version</title> | 3345 | <title>Minimum Kernel Version</title> |
3346 | 3346 | ||
3347 | <para> | 3347 | <para> |
3348 | The minimum kernel version is now 3.2.0, due to the upgrade | 3348 | The minimum kernel version for the target system and for SDK |
3349 | is now 3.2.0, due to the upgrade | ||
3349 | to <filename>glibc 2.24</filename>. | 3350 | to <filename>glibc 2.24</filename>. |
3350 | Specifically, for AArch64-based targets the version is | 3351 | Specifically, for AArch64-based targets the version is |
3351 | 3.14. | 3352 | 3.14. |
@@ -3387,51 +3388,81 @@ | |||
3387 | </para> | 3388 | </para> |
3388 | </section> | 3389 | </section> |
3389 | 3390 | ||
3390 | <section id='migration-2.2-bitbake-now-requires-python-3.4'> | 3391 | <section id='migration-2.2-python-changes'> |
3391 | <title>BitBake Now Requires Python 3.4+</title> | 3392 | <title>Python Changes</title> |
3392 | 3393 | ||
3393 | <para> | 3394 | <para> |
3394 | BitBake requires Python 3.4 or greater. | 3395 | The following changes for Python occurred: |
3396 | <note> | ||
3397 | Python 2 and recipes that use it can still be built for the | ||
3398 | target as with previous versions. | ||
3399 | </note> | ||
3395 | </para> | 3400 | </para> |
3396 | </section> | ||
3397 | 3401 | ||
3398 | <section id='migration-2.2-metadata-now-must-use-python-3-syntax'> | 3402 | <section id='migration-2.2-bitbake-now-requires-python-3.4'> |
3399 | <title>Metadata Must Now Use Python 3 Syntax</title> | 3403 | <title>BitBake Now Requires Python 3.4+</title> |
3400 | 3404 | ||
3401 | <para> | 3405 | <para> |
3402 | The metadata is now required to use Python 3 syntax. | 3406 | BitBake requires Python 3.4 or greater. |
3403 | For help preparing metadata, see any of the many Python 3 porting | 3407 | </para> |
3404 | guides available. | 3408 | </section> |
3405 | Alternatively, you can reference the conversion commits for Bitbake | 3409 | |
3406 | and you can use OE-Core as a guide for changes. | 3410 | <section id='migration-2.2-utf-8-locale-required-on-build-host'> |
3407 | Following are particular areas of interest: | 3411 | <title>UTF-8 Locale Required on Build Host</title> |
3408 | <literallayout class='monospaced'> | 3412 | |
3413 | <para> | ||
3414 | A UTF-8 locale is required on the build host due to Python 3. | ||
3415 | Since C.UTF-8 is not a standard, the default is en_US.UTF-8. | ||
3416 | </para> | ||
3417 | </section> | ||
3418 | |||
3419 | <section id='migration-2.2-metadata-now-must-use-python-3-syntax'> | ||
3420 | <title>Metadata Must Now Use Python 3 Syntax</title> | ||
3421 | |||
3422 | <para> | ||
3423 | The metadata is now required to use Python 3 syntax. | ||
3424 | For help preparing metadata, see any of the many Python 3 porting | ||
3425 | guides available. | ||
3426 | Alternatively, you can reference the conversion commits for Bitbake | ||
3427 | and you can use OE-Core as a guide for changes. | ||
3428 | Following are particular areas of interest: | ||
3429 | <literallayout class='monospaced'> | ||
3409 | * subprocess command-line pipes needing locale decoding | 3430 | * subprocess command-line pipes needing locale decoding |
3410 | * the syntax for octal values changed | 3431 | * the syntax for octal values changed |
3411 | * the <filename>iter*()</filename> functions changed name | 3432 | * the <filename>iter*()</filename> functions changed name |
3412 | * iterators now return views | 3433 | * iterators now return views, not lists |
3413 | * not lists | ||
3414 | * changed names for Python modules | 3434 | * changed names for Python modules |
3415 | </literallayout> | 3435 | </literallayout> |
3416 | </para> | 3436 | </para> |
3417 | </section> | 3437 | </section> |
3418 | 3438 | ||
3419 | <section id='migration-2.2-target-python-recipes-switched-to-python-3'> | 3439 | <section id='migration-2.2-target-python-recipes-switched-to-python-3'> |
3420 | <title>Target Python Recipes Switched to Python 3</title> | 3440 | <title>Target Python Recipes Switched to Python 3</title> |
3421 | 3441 | ||
3422 | <para> | 3442 | <para> |
3423 | Most target Python recipes have now been switched to Python 3. | 3443 | Most target Python recipes have now been switched to Python 3. |
3424 | Unfortunately, systems using RPM as a package manager and | 3444 | Unfortunately, systems using RPM as a package manager and |
3425 | providing online package-manager support through SMART still | 3445 | providing online package-manager support through SMART still |
3426 | require Python 2. | 3446 | require Python 2. |
3427 | </para> | 3447 | </para> |
3448 | </section> | ||
3449 | |||
3450 | <section id='migration-2.2-buildtools-tarball-includes-python-3'> | ||
3451 | <title><filename>buildtools-tarball</filename> Includes Python 3</title> | ||
3452 | |||
3453 | <para> | ||
3454 | <filename>buildtools-tarball</filename> now includes Python 3. | ||
3455 | </para> | ||
3456 | </section> | ||
3428 | </section> | 3457 | </section> |
3429 | 3458 | ||
3430 | <section id='migration-2.2-uclibc-replaced-by-musl'> | 3459 | <section id='migration-2.2-uclibc-replaced-by-musl'> |
3431 | <title>uClibc Replaced by musl</title> | 3460 | <title>uClibc Replaced by musl</title> |
3432 | 3461 | ||
3433 | <para> | 3462 | <para> |
3434 | Uclibc has been removed in favor of musl. | 3463 | uClibc has been removed in favor of musl. |
3464 | Musl has matured, is better maintained, and is compatible with a | ||
3465 | wider range of applications as compared to uClibc. | ||
3435 | </para> | 3466 | </para> |
3436 | </section> | 3467 | </section> |
3437 | 3468 | ||
@@ -3453,21 +3484,34 @@ | |||
3453 | </para> | 3484 | </para> |
3454 | </section> | 3485 | </section> |
3455 | 3486 | ||
3456 | <section id='migration-2.2-utf-8-locale-required-on-build-host'> | 3487 | <section id='migration-2.2-runqemu-ported-to-python'> |
3457 | <title>UTF-8 Locale Required on Build Host</title> | 3488 | <title><filename>runqemu</filename> Ported to Python</title> |
3458 | 3489 | ||
3459 | <para> | 3490 | <para> |
3460 | A UTF-8 locale is required on the build host due to Python 3. | 3491 | <filename>runqemu</filename> has been ported to Python and has |
3461 | Since C.UTF-8 is not a standard, the default is en_US.UTF-8. | 3492 | changed behavior in some cases. |
3462 | </para> | 3493 | </para> |
3463 | </section> | 3494 | </section> |
3464 | 3495 | ||
3465 | <section id='migration-2.2-runqemu-ported-to-python'> | 3496 | <section id='migration-2.2-default-linker-hash-style-changed'> |
3466 | <title><filename>runqemu</filename> Ported to Python</title> | 3497 | <title>Default Linker Hash Style Changed</title> |
3467 | 3498 | ||
3468 | <para> | 3499 | <para> |
3469 | <filename>runqemu</filename> has been ported to Python and has | 3500 | The default linker hash style for <filename>gcc-cross</filename> |
3470 | changed behavior in some cases. | 3501 | is now "sysv" in order to catch recipes that are building software |
3502 | without using the OpenEmbedded | ||
3503 | <link linkend='var-LDFLAGS'><filename>LDFLAGS</filename></link>. | ||
3504 | This change could result in seeing some "No GNU_HASH in the elf | ||
3505 | binary" QA issues when building such recipes. | ||
3506 | You need to fix these recipes so that they use the expected | ||
3507 | <filename>LDFLAGS</filename>. | ||
3508 | Depending on how the software is built, the build system might | ||
3509 | need to be patched. | ||
3510 | However, sometimes making this fix is as simple as adding the | ||
3511 | following to the recipe: | ||
3512 | <literallayout class='monospaced'> | ||
3513 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
3514 | </literallayout> | ||
3471 | </para> | 3515 | </para> |
3472 | </section> | 3516 | </section> |
3473 | 3517 | ||
@@ -3499,8 +3543,8 @@ | |||
3499 | <filename>SRC_URI</filename>. | 3543 | <filename>SRC_URI</filename>. |
3500 | </para></listitem> | 3544 | </para></listitem> |
3501 | <listitem><para> | 3545 | <listitem><para> |
3502 | Some of BitBake's internal code structures for storing the | 3546 | Some of BitBake's internal code structures for accessing |
3503 | recipe cache needed to be changed to support the new | 3547 | the recipe cache needed to be changed to support the new |
3504 | multi-configuration functionality. | 3548 | multi-configuration functionality. |
3505 | These changes will affect external tools that use BitBake's | 3549 | These changes will affect external tools that use BitBake's |
3506 | tinfoil module. | 3550 | tinfoil module. |
@@ -3715,7 +3759,8 @@ | |||
3715 | </para></listitem> | 3759 | </para></listitem> |
3716 | <listitem><para> | 3760 | <listitem><para> |
3717 | <filename>util-linux</filename>: | 3761 | <filename>util-linux</filename>: |
3718 | Make <filename>prlimit</filename> a separate package. | 3762 | Moved <filename>prlimit</filename> to a separate |
3763 | <filename>util-linux-prlimit</filename> package. | ||
3719 | </para></listitem> | 3764 | </para></listitem> |
3720 | </itemizedlist> | 3765 | </itemizedlist> |
3721 | </para> | 3766 | </para> |
@@ -3728,25 +3773,21 @@ | |||
3728 | The following miscellaneous changes have occurred: | 3773 | The following miscellaneous changes have occurred: |
3729 | <itemizedlist> | 3774 | <itemizedlist> |
3730 | <listitem><para> | 3775 | <listitem><para> |
3731 | <filename>buildtools-tarball</filename>: | ||
3732 | Replaced <filename>nativesdk-python</filename> | ||
3733 | with <filename>nativesdk-python3</filename>. | ||
3734 | </para></listitem> | ||
3735 | <listitem><para> | ||
3736 | <filename>package_regex.inc</filename>: | 3776 | <filename>package_regex.inc</filename>: |
3737 | Removed deprecated file. | 3777 | Removed because the definitions |
3738 | </para></listitem> | 3778 | <filename>package_regex.inc</filename> previously contained |
3739 | <listitem><para> | 3779 | have been moved to their respective recipes. |
3740 | <filename>recipetool</filename>: | ||
3741 | Set a fixed | ||
3742 | <link linkend='var-SRCREV'><filename>SRCREV</filename></link> | ||
3743 | by default when fetching from Git. | ||
3744 | </para></listitem> | 3780 | </para></listitem> |
3745 | <listitem><para> | 3781 | <listitem><para> |
3746 | <filename>devtool</filename>: | 3782 | Both <filename>devtool add</filename> and |
3747 | Set a fixed | 3783 | <filename>recipetool create</filename> now use a fixed |
3748 | <link linkend='var-SRCREV'><filename>SRCREV</filename></link> | 3784 | <link linkend='var-SRCREV'><filename>SRCREV</filename></link> |
3749 | by default when fetching from Git. | 3785 | by default when fetching from a Git repository. |
3786 | You can override this in either case to use | ||
3787 | <filename>${</filename><link linkend='var-AUTOREV'><filename>AUTOREV</filename></link><filename>}</filename> | ||
3788 | instead by using the <filename>-a</filename> or | ||
3789 | <filename>‐‐autorev</filename> command-line | ||
3790 | option | ||
3750 | </para></listitem> | 3791 | </para></listitem> |
3751 | <listitem><para> | 3792 | <listitem><para> |
3752 | <filename>distcc</filename>: | 3793 | <filename>distcc</filename>: |
@@ -3759,6 +3800,29 @@ | |||
3759 | <listitem><para> | 3800 | <listitem><para> |
3760 | <filename>image.bbclass</filename>: | 3801 | <filename>image.bbclass</filename>: |
3761 | Renamed COMPRESS(ION) to CONVERSION. | 3802 | Renamed COMPRESS(ION) to CONVERSION. |
3803 | This change means that | ||
3804 | <filename>COMPRESSIONTYPES</filename>, | ||
3805 | <filename>COMPRESS_DEPENDS</filename> and | ||
3806 | <filename>COMPRESS_CMD</filename> are deprecated in favor | ||
3807 | of <filename>CONVERSIONTYPES</filename>, | ||
3808 | <filename>CONVERSION_DEPENDS</filename> and | ||
3809 | <filename>CONVERSION_CMD</filename>. | ||
3810 | The <filename>COMPRESS*</filename> variable names will | ||
3811 | still work in the 2.2 release but metadata that does not | ||
3812 | need to be backwards-compatible should be changed to | ||
3813 | use the new names as the <filename>COMPRESS*</filename> | ||
3814 | ones will be removed in a future release. | ||
3815 | </para></listitem> | ||
3816 | <listitem><para> | ||
3817 | <filename>gtk-doc</filename>: | ||
3818 | A full version of <filename>gtk-doc</filename> is now | ||
3819 | made available. | ||
3820 | However, some old software might not be capable of using | ||
3821 | the current version of <filename>gtk-doc</filename> | ||
3822 | to build documentation. | ||
3823 | You need to change recipes that build such software so that | ||
3824 | they explicitly disable building documentation with | ||
3825 | <filename>gtk-doc</filename>. | ||
3762 | </para></listitem> | 3826 | </para></listitem> |
3763 | </itemizedlist> | 3827 | </itemizedlist> |
3764 | </para> | 3828 | </para> |