summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/migration.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/migration.xml')
-rw-r--r--documentation/ref-manual/migration.xml326
1 files changed, 190 insertions, 136 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml
index 2998fbe437..a4b3aede32 100644
--- a/documentation/ref-manual/migration.xml
+++ b/documentation/ref-manual/migration.xml
@@ -5241,7 +5241,7 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
5241 5241
5242 <para> 5242 <para>
5243 This section provides information about packaging changes that have 5243 This section provides information about packaging changes that have
5244 ocurred: 5244 occurred:
5245 <itemizedlist> 5245 <itemizedlist>
5246 <listitem><para> 5246 <listitem><para>
5247 <emphasis><filename>bind-libs</filename>:</emphasis> 5247 <emphasis><filename>bind-libs</filename>:</emphasis>
@@ -5366,25 +5366,6 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
5366 </para> 5366 </para>
5367 </section> 5367 </section>
5368 5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388 <section id='migration-2.5-scripts-and-tools-changes'> 5369 <section id='migration-2.5-scripts-and-tools-changes'>
5389 <title>Scripts and Tools Changes</title> 5370 <title>Scripts and Tools Changes</title>
5390 5371
@@ -5392,9 +5373,9 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
5392 The following are changes to scripts and tools: 5373 The following are changes to scripts and tools:
5393 <itemizedlist> 5374 <itemizedlist>
5394 <listitem><para> 5375 <listitem><para>
5395 <filename>yocto-bsp</filename>, 5376 <emphasis><filename>yocto-bsp</filename>,
5396 <filename>yocto-kernel</filename>, and 5377 <filename>yocto-kernel</filename>, and
5397 <filename>yocto-layer</filename>: 5378 <filename>yocto-layer</filename></emphasis>:
5398 The <filename>yocto-bsp</filename>, 5379 The <filename>yocto-bsp</filename>,
5399 <filename>yocto-kernel</filename>, and 5380 <filename>yocto-kernel</filename>, and
5400 <filename>yocto-layer</filename> scripts previously shipped 5381 <filename>yocto-layer</filename> scripts previously shipped
@@ -5410,25 +5391,27 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
5410 </para></listitem> 5391 </para></listitem>
5411 <listitem><para> 5392 <listitem><para>
5412 <emphasis><filename>devtool finish</filename>:</emphasis> 5393 <emphasis><filename>devtool finish</filename>:</emphasis>
5413 will now exit with an error if there are uncommitted changes 5394 <filename>devtool finish</filename> now exits with an error
5414 or a rebase/am in progress in the source repository for the 5395 if there are uncommitted changes or a rebase/am in progress
5415 recipe, as it may indicate that you have forgotten to 5396 in the recipe's source repository.
5416 commit some changes (and thus these would not be reflected 5397 If this error occurs, there might be uncommitted changes
5417 in updates to the patches applied by the recipe). 5398 that will not be included in updates to the patches applied
5418 A -f/--force option is provided for situations where you 5399 by the recipe.
5419 know that those uncomitted changes are inconsequential and 5400 A -f/--force option is provided for situations that the
5420 wish to proceed regardless. 5401 uncommitted changes are inconsequential and you want to
5402 proceed regardless.
5421 </para></listitem> 5403 </para></listitem>
5422 <listitem><para> 5404 <listitem><para>
5423 <emphasis><filename>scripts/oe-setup-rpmrepo</filename> script:</emphasis> 5405 <emphasis><filename>scripts/oe-setup-rpmrepo</filename> script:</emphasis>
5424 has been removed as its functionality can be replaced by 5406 The functionality of
5425 bitbake package-index. 5407 <filename>scripts/oe-setup-rpmrepo</filename> is replaced by
5408 <filename>bitbake package-index</filename>.
5426 </para></listitem> 5409 </para></listitem>
5427 <listitem><para> 5410 <listitem><para>
5428 <emphasis><filename>scripts/test-dependencies.sh</filename> script:</emphasis> 5411 <emphasis><filename>scripts/test-dependencies.sh</filename> script:</emphasis>
5429 has been removed as it was largely made obsolete by the 5412 The script is largely made obsolete by the
5430 recipe-specific sysroots functionality introduced in the 5413 recipe-specific <filename>sysroots</filename>
5431 previous release. 5414 functionality introduced in the previous release.
5432 </para></listitem> 5415 </para></listitem>
5433 </itemizedlist> 5416 </itemizedlist>
5434 </para> 5417 </para>
@@ -5438,34 +5421,41 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
5438 <title>BitBake Changes</title> 5421 <title>BitBake Changes</title>
5439 5422
5440 <para> 5423 <para>
5441 The following are changes BitBake: 5424 The following are BitBake changes:
5442 <itemizedlist> 5425 <itemizedlist>
5443 <listitem><para> 5426 <listitem><para>
5444 The --runall option has changed behaviour slightly. 5427 The <filename>--runall</filename> option has changed.
5445 There are in fact two different behaviours people may want: 5428 There are two different behaviors people might want:
5446 <itemizedlist> 5429 <itemizedlist>
5447 <listitem><para> 5430 <listitem><para>
5448 For a given target (or set of targets) look through 5431 For a given target (or set of targets) look through
5449 the task graph and run task X only if its present 5432 the task graph and run task X only if it is present
5450 and would have been built. 5433 and will be built.
5451 </para></listitem> 5434 </para></listitem>
5452 <listitem><para> 5435 <listitem><para>
5453 For a given target (or set of targets) look through 5436 For a given target (or set of targets) look through
5454 the task graph and run task X if any recipe in the 5437 the task graph and run task X if any recipe in the
5455 taskgraph has such a target even if it wasn't in the 5438 taskgraph has such a target, even if it is not in
5456 original task graph. 5439 the original task graph.
5457 </para></listitem> 5440 </para></listitem>
5458 </itemizedlist> 5441 </itemizedlist>
5459 The --runall option now performs (b), previously it behaved 5442 The <filename>--runall</filename> option now performs
5460 like (a). A --runonly option has been added to retain the 5443 list item (b) mentioned in the previous bullet point.
5461 ability to perform (a). 5444 Previously <filename>--runall</filename> behaved like list
5445 item (a) mentioned in the previous bullet point.
5446 A <filename>--runonly</filename> option now exists to
5447 retain the ability to perform list item (a).
5462 </para></listitem> 5448 </para></listitem>
5463 <listitem><para> 5449 <listitem><para>
5464 Several explicit "run this task for all recipes in the 5450 Several explicit "run this task for all recipes in the
5465 dependency tree" tasks (such as fetchall, checkuriall, and 5451 dependency tree" tasks have been removed (e.g.
5466 the *all tasks provided by the distrodata and archiver 5452 <filename>fetchall</filename>,
5467 classes) have now been removed as there is a bitbake option 5453 <filename>checkuriall</filename>, and the
5468 to do this for any arbitrary task, for example: 5454 <filename>*all</filename> tasks provided by the
5455 <filename>distrodata</filename> and
5456 <filename>archiver</filename> classes).
5457 There is a BitBake option to complete this for any arbitrary
5458 task. For example:
5469 <literallayout class='monospaced'> 5459 <literallayout class='monospaced'>
5470 bitbake &lt;target&gt; -c fetchall 5460 bitbake &lt;target&gt; -c fetchall
5471 </literallayout> 5461 </literallayout>
@@ -5486,159 +5476,223 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
5486 The following are additional changes: 5476 The following are additional changes:
5487 <itemizedlist> 5477 <itemizedlist>
5488 <listitem><para> 5478 <listitem><para>
5489 The kernel class now supports building packages for multiple 5479 The <filename>kernel</filename> class supports building
5490 kernels. If your kernel recipe/bbappend mentions packaging 5480 packages for multiple kernels.
5491 at all, then you are advised to replace references to kernel 5481 If your kernel recipe or <filename>.bbappend</filename> file
5492 in package names with ${KERNEL_PACKAGE_NAME}. For example, 5482 mentions packaging at all, you should replace references to
5493 if you disable automatic installation of the kernel image 5483 the kernel in package names with
5494 using RDEPENDS_kernel-base = "" then to avoid warnings you 5484 <filename>${KERNEL_PACKAGE_NAME}</filename>.
5495 will now need to use 5485 For example, if you disable automatic installation of the
5496 RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" instead. 5486 kernel image using
5487 <filename>RDEPENDS_kernel-base = ""</filename> you can avoid
5488 warnings using
5489 <filename>RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""</filename>
5490 instead.
5497 </para></listitem> 5491 </para></listitem>
5498 <listitem><para> 5492 <listitem><para>
5499 The buildhistory class now commits changes to the repository 5493 The <filename>buildhistory</filename> class commits changes
5500 by default, so setting BUILDHISTORY_COMMIT = "1" is no 5494 to the repository by default so you no longer need to set
5501 longer necessary. If you wish commits to be disabled, then 5495 <filename>BUILDHISTORY_COMMIT = "1"</filename>.
5502 you will now need to set BUILDHISTORY_COMMIT = "0" in your 5496 If you want to disable commits you need to set
5497 <filename>BUILDHISTORY_COMMIT = "0"</filename> in your
5503 configuration. 5498 configuration.
5504 </para></listitem> 5499 </para></listitem>
5505 <listitem><para> 5500 <listitem><para>
5506 The beaglebone reference machine has been renamed to 5501 The <filename>beaglebone</filename> reference machine has
5507 beaglebone-yocto. The beaglebone-yocto BSP is a reference 5502 been renamed to <filename>beaglebone-yocto</filename>.
5503 The <filename>beaglebone-yocto</filename> BSP is a reference
5508 implementation using only mainline components available in 5504 implementation using only mainline components available in
5509 OpenEmbedded-Core and meta-yocto-bsp, whereas Texas 5505 OpenEmbedded-Core and <filename>meta-yocto-bsp</filename>,
5510 Instruments maintain a full-featured BSP in the meta-ti 5506 whereas Texas Instruments maintains a full-featured BSP in
5511 layer, and the rename avoids the previous name clash that 5507 the <filename>meta-ti</filename> layer.
5512 existed between the two BSPs. 5508 This rename avoids the previous name clash that existed
5509 between the two BSPs.
5513 </para></listitem> 5510 </para></listitem>
5514 <listitem><para> 5511 <listitem><para>
5515 The update-alternatives class will now no longer work with 5512 The <filename>update-alternatives</filename> class no longer
5516 SysV init scripts as such usage has been proven to be 5513 works with SysV <filename>init</filename> scripts because
5517 problematic. 5514 this usage has been problematic.
5518 Related to this, the sysklogd recipe no longer uses 5515 Also, the <filename>sysklogd</filename> recipe no longer
5519 update-alternatives as it is incompatible with other 5516 uses <filename>update-alternatives</filename> because it is
5520 implementations. 5517 incompatible with other implementations.
5521 </para></listitem> 5518 </para></listitem>
5522 <listitem><para> 5519 <listitem><para>
5523 The cmake class now uses ninja instead of make by default 5520 By default, the <filename>cmake</filename> class uses
5524 for building in order to improve build performance. If a 5521 <filename>ninja</filename> instead of
5525 recipe is broken with ninja then the recipe can set 5522 <filename>make</filename> for building.
5526 OECMAKE_GENERATOR = "Unix Makefiles" to change back to make. 5523 This improves build performance.
5524 If a recipe is broken with <filename>ninja</filename>, then
5525 the recipe can set
5526 <filename>OECMAKE_GENERATOR = "Unix Makefiles"</filename>
5527 to change back to <filename>make</filename>.
5527 </para></listitem> 5528 </para></listitem>
5528 <listitem><para> 5529 <listitem><para>
5529 python: Restructure python packaging and replace it with 5530 <filename>python</filename>:
5530 autopackaging 5531 This command restructures
5532 Python packaging and replaces it with autopackaging.
5531 </para></listitem> 5533 </para></listitem>
5532 <listitem><para> 5534 <listitem><para>
5533 python3: Restructure python3 packaging and replace it with 5535 <filename>python3</filename>:
5534 autopackaging 5536 This command restructures Python3 packaging and replaces it
5537 with autopackaging.
5535 </para></listitem> 5538 </para></listitem>
5536 <listitem><para> 5539 <listitem><para>
5537 The previously deprecated base_* functions have now removed, 5540 The previously deprecated <filename>base_*</filename>
5538 in favour of their replacements in meta/lib/oe and 5541 functions have been removed in favor of their replacements
5539 bitbake/lib/bb. 5542 in <filename>meta/lib/oe</filename> and
5540 These are typically used from recipes and classes and any 5543 <filename>bitbake/lib/bb</filename>.
5541 references to the old functions will now need to be updated. 5544 These are typically used from recipes and classes.
5542 The full list along with each of their replacements: 5545 Any references to the old functions should be updated.
5546 The following is a full list, along with each of their
5547 replacements:
5543 <itemizedlist> 5548 <itemizedlist>
5544 <listitem><para> 5549 <listitem><para>
5545 base_path_join() -> oe.path.join() 5550 <filename>base_path_join()</filename>
5551 is replaced by
5552 <filename>oe.path.join()</filename>.
5546 </para></listitem> 5553 </para></listitem>
5547 base_path_relative() -> oe.path.relative()
5548 <listitem><para> 5554 <listitem><para>
5549 base_path_out() -> oe.path.format_display() 5555 <filename>base_path_relative()</filename>
5556 is replaced by
5557 <filename>oe.path.relative()</filename>.
5550 </para></listitem> 5558 </para></listitem>
5551 <listitem><para> 5559 <listitem><para>
5552 base_read_file() -> oe.utils.read_file() 5560 <filename>base_path_out()</filename>
5561 is replaced by
5562 <filename>oe.path.format_display()</filename>.
5553 </para></listitem> 5563 </para></listitem>
5554 <listitem><para> 5564 <listitem><para>
5555 base_ifelse() -> oe.utils.ifelse() 5565 <filename>base_read_file()</filename>
5566 is replaced by
5567 <filename>oe.utils.read_file()</filename>.
5556 </para></listitem> 5568 </para></listitem>
5557 <listitem><para> 5569 <listitem><para>
5558 base_conditional() -> oe.utils.conditional() 5570 <filename>base_ifelse()</filename>
5571 is replaced by
5572 <filename>oe.utils.ifelse()</filename>.
5559 </para></listitem> 5573 </para></listitem>
5560 <listitem><para> 5574 <listitem><para>
5561 base_less_or_equal() -> oe.utils.less_or_equal() 5575 <filename>base_conditional()</filename>
5576 is replaced by
5577 <filename>oe.utils.conditional()</filename>.
5562 </para></listitem> 5578 </para></listitem>
5563 <listitem><para> 5579 <listitem><para>
5564 base_version_less_or_equal() -> oe.utils.version_less_or_equal() 5580 <filename>base_less_or_equal()</filename>
5581 is replaced by
5582 <filename>oe.utils.less_or_equal()</filename>.
5565 </para></listitem> 5583 </para></listitem>
5566 <listitem><para> 5584 <listitem><para>
5567 base_contains() -> bb.utils.contains() 5585 <filename>base_version_less_or_equal()</filename>
5586 is replaced by
5587 <filename>oe.utils.version_less_or_equal()</filename>.
5568 </para></listitem> 5588 </para></listitem>
5569 <listitem><para> 5589 <listitem><para>
5570 base_both_contain() -> oe.utils.both_contain() 5590 <filename>base_contains()</filename>
5591 is replaced by
5592 <filename>bb.utils.contains()</filename>.
5571 </para></listitem> 5593 </para></listitem>
5572 <listitem><para> 5594 <listitem><para>
5573 base_prune_suffix() -> oe.utils.prune_suffix() 5595 <filename>base_both_contain()</filename>
5596 is replaced by
5597 <filename>oe.utils.both_contain()</filename>.
5574 </para></listitem> 5598 </para></listitem>
5575 <listitem><para> 5599 <listitem><para>
5576 oe_filter() -> oe.utils.str_filter() 5600 <filename>base_prune_suffix()</filename>
5601 is replaced by
5602 <filename>oe.utils.prune_suffix()</filename>.
5577 </para></listitem> 5603 </para></listitem>
5578 <listitem><para> 5604 <listitem><para>
5579 oe_filter_out() -> oe.utils.str_filter_out() 5605 <filename>oe_filter()</filename>
5580 (or use the _remove operator) 5606 is replaced by
5607 <filename>oe.utils.str_filter()</filename>.
5608 </para></listitem>
5609 <listitem><para>
5610 <filename>oe_filter_out()</filename>
5611 is replaced by
5612 <filename>oe.utils.str_filter_out()</filename>
5613 (or use the <filename>_remove</filename>
5614 operator).
5581 </para></listitem> 5615 </para></listitem>
5582 </itemizedlist> 5616 </itemizedlist>
5583 </para></listitem> 5617 </para></listitem>
5584 <listitem><para> 5618 <listitem><para>
5585 Using exit 1 as a means of explicitly deferring a 5619 Using <filename>exit 1</filename> to explicitly defer a
5586 postinstall script until first boot is now deprecated, as 5620 postinstall script until first boot is now deprecated since
5587 it is not an obvious mechanism and can mask actual errors. 5621 it is not an obvious mechanism and can mask actual errors.
5588 If you want to explicitly defer a postinstall to first boot 5622 If you want to explicitly defer a postinstall to first boot
5589 on the target rather than possibly at rootfs creation time, 5623 on the target rather than at <filename>rootfs</filename>
5590 use pkg_postinst_ontarget() or alternatively call 5624 creation time, use
5591 postinst-intercepts defer_to_first_boot from pkg_postinst(). 5625 <filename>pkg_postinst_ontarget()</filename>
5592 Any failure of a pkg_postinst() script (including exit 1) 5626 or call
5593 will now trigger a warning during do_rootfs. 5627 <filename>postinst-intercepts defer_to_first_boot</filename>
5594 </para></listitem> 5628 from <filename>pkg_postinst()</filename>.
5595 <listitem><para> 5629 Any failure of a <filename>pkg_postinst()</filename>
5596 The elf image type has been removed, as the mkelfimage tool 5630 script (including <filename>exit 1</filename>)
5631 will trigger a warning during
5632 <filename>do_rootfs</filename>.
5633 </para></listitem>
5634 <listitem><para>
5635 The <filename>elf</filename> image type has been removed.
5636 This image type was removed because the
5637 <filename>mkelfimage</filename> tool
5597 that was required to create it is no longer provided by 5638 that was required to create it is no longer provided by
5598 coreboot upstream, and required updating every time binutils 5639 coreboot upstream and required updating every time
5599 got updated. 5640 <filename>binutils</filename> updated.
5600 </para></listitem> 5641 </para></listitem>
5601 <listitem><para> 5642 <listitem><para>
5602 Support for .iso image compression (previously enabled via 5643 Support for .iso image compression (previously enabled
5603 COMPRESSISO = "1") has been removed, since the userspace 5644 through <filename>COMPRESSISO = "1"</filename>) has been
5604 tools (zisofs-tools) are unmaintained and squashfs provides 5645 removed.
5646 The userspace tools (<filename>zisofs-tools</filename>) are
5647 unmaintained and <filename>squashfs</filename> provides
5605 better performance and compression. 5648 better performance and compression.
5606 In order to build a live image with squashfs+lz4 compression 5649 In order to build a live image with squashfs+lz4 compression
5607 enabled you would set LIVE_ROOTFS_TYPE = "squashfs-lz4" 5650 enabled you set
5608 and ensure that live is in IMAGE_FSTYPES. 5651 <filename>LIVE_ROOTFS_TYPE = "squashfs-lz4"</filename>
5652 and ensure that <filename>live</filename>
5653 is in <filename>IMAGE_FSTYPES</filename>.
5609 </para></listitem> 5654 </para></listitem>
5610 <listitem><para> 5655 <listitem><para>
5611 Recipes having an unconditional dependency on libpam will 5656 Recipes with an unconditional dependency on
5612 now only be buildable with pam in DISTRO_FEATURES. 5657 <filename>libpam</filename> are only buildable with
5658 <filename>pam</filename> in
5659 <filename>DISTRO_FEATURES</filename>.
5613 If the dependency is truly optional then it is recommended 5660 If the dependency is truly optional then it is recommended
5614 that the dependency be made conditional upon pam being in 5661 that the dependency be conditional upon
5615 DISTRO_FEATURES. 5662 <filename>pam</filename> being in
5663 <filename>DISTRO_FEATURES</filename>.
5616 </para></listitem> 5664 </para></listitem>
5617 <listitem><para> 5665 <listitem><para>
5618 For EFI-based machines, the bootloader (grub-efi by default) 5666 For EFI-based machines, the bootloader
5619 is now installed into the image at /boot. wic can be used to 5667 (<filename>grub-efi</filename> by default) is installed into
5620 split this into separate boot and rootfs partitions if 5668 the image at /boot.
5621 desired. 5669 Wic can be used to split the bootloader into separate boot
5670 and rootfs partitions if necessary.
5622 </para></listitem> 5671 </para></listitem>
5623 <listitem><para> 5672 <listitem><para>
5624 Patches whose context does not match exactly (i.e. where 5673 Patches whose context does not match exactly (i.e. where
5625 patch reports "fuzz" when applying) will now generate a 5674 patch reports "fuzz" when applying) will generate a
5626 warning. 5675 warning.
5627 See http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=cc97bc08125b63821ce3f616771830f77c456f57 5676 For an example of this see
5677 <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=cc97bc08125b63821ce3f616771830f77c456f57'>this commit</ulink>.
5628 </para></listitem> 5678 </para></listitem>
5629 <listitem><para> 5679 <listitem><para>
5630 Layers are now expected to set LAYERSERIES_COMPAT_layername 5680 Layers are expected to set
5681 <filename>LAYERSERIES_COMPAT_layername</filename>
5631 to match the version(s) of OpenEmbedded-Core they are 5682 to match the version(s) of OpenEmbedded-Core they are
5632 compatible with (specified as codenames using spaces to 5683 compatible with.
5633 separate multiple values, e.g. "rocko sumo"). 5684 This is specified as codenames using spaces to separate
5634 If a layer does not set this, a warning will be shown. 5685 multiple values (e.g. "rocko sumo").
5686 If a layer does not set
5687 <filename>LAYERSERIES_COMPAT_layername</filename>, a warning
5688 will is shown.
5635 If a layer sets a value that does not include the current 5689 If a layer sets a value that does not include the current
5636 version, then an error will be produced. 5690 version, then an error is be produced.
5637 </para></listitem> 5691 </para></listitem>
5638 <listitem><para> 5692 <listitem><para>
5639 The TZ environment variable is now set to "UTC" within the 5693 The <filename>TZ</filename> environment variable is set to
5640 build environment in order to fix reproducibility problems 5694 "UTC" within the build environment in order to fix
5641 in some recipes. 5695 reproducibility problems in some recipes.
5642 </para></listitem> 5696 </para></listitem>
5643 </itemizedlist> 5697 </itemizedlist>
5644 </para> 5698 </para>