FutureMigrationGuide: Difference between revisions

From Yocto Project
Jump to navigationJump to search
No edit summary
No edit summary
Line 6: Line 6:


=2.3 Migration Guide items=
=2.3 Migration Guide items=
* Recipe-specific sysroots: we now use a sysroot per recipe to resolve long-standing issues with config script auto-detection of undeclared dependencies. This means all build-time dependencies for your recipe must be explicitly declared, or they won't be populated into the sysroot for the recipe. Additionally we now sanitise PATH, symlinking only the binaries from the host mentioned in HOSTTOOLS and HOSTTOOLS_NONFATAL into our own directory added to PATH, thus any native binaries that you need to call should either be in HOSTTOOLS (or HOSTTOOLS_NONFATAL) at the configuration level, or alternatively provided by a -native recipe that is included in the recipe's DEPENDS value.
* Recipe-specific sysroots: we now use a sysroot per recipe to resolve long-standing issues with config script auto-detection of undeclared dependencies. This means all build-time dependencies for your recipe must be explicitly declared, or they won't be populated into the sysroot for the recipe. Additionally we now sanitise PATH, symlinking only the binaries from the host mentioned in HOSTTOOLS and HOSTTOOLS_NONFATAL into our own directory added to PATH, thus any native binaries that you need to call should either be in [http://git.yoctoproject.org/clean/cgit.cgi/poky/commit/?id=94790a8254d63d63759ca3598b42f3f67bc97d02 HOSTTOOLS] (or HOSTTOOLS_NONFATAL) at the configuration level, or alternatively provided by a -native recipe that is included in the recipe's DEPENDS value.
* The previously deprecated bb.data.getVar(), bb.data.setVar() and related functions have now been removed in favour of d.getVar(), d.setVar() etc. Any references to the old functions will now need to be tidied up.
* The previously deprecated bb.data.getVar(), bb.data.setVar() and related functions have now been removed in favour of d.getVar(), d.setVar() etc. Any references to the old functions will now need to be tidied up.
* package-depends.dot and pn-depends.dot as previously generated by bitbake -g have been removed, and a recipe-depends.dot file is now generated as a collapsed version of task-depends.dot. This was done because package-depends.dot and pn-depends.dot largely date back to a time before task-based execution and don't take into account task-level dependencies between recipes, and thus can be misleading.
* package-depends.dot and pn-depends.dot as previously generated by bitbake -g have been removed, and a recipe-depends.dot file is now generated as a collapsed version of task-depends.dot. This was done because package-depends.dot and pn-depends.dot largely date back to a time before task-based execution and don't take into account task-level dependencies between recipes, and thus can be misleading.
Line 12: Line 12:
* Absolute symlinks within staged files are no longer permitted and will trigger an error.
* Absolute symlinks within staged files are no longer permitted and will trigger an error.
* RPM package management has moved from RPM5 with the no-longer maintained SMART to RPM4 and the DNF stack from RedHat/Fedora.
* RPM package management has moved from RPM5 with the no-longer maintained SMART to RPM4 and the DNF stack from RedHat/Fedora.
* PATH is filtered to allow only whitelisted tools from the host during a build, user configurable with [http://git.yoctoproject.org/clean/cgit.cgi/poky/commit/?id=94790a8254d63d63759ca3598b42f3f67bc97d02 HOSTTOOLS] variable.

Revision as of 21:23, 29 March 2017

This page should be used to keep track of items which should be added to the migration guide. It's a living document for the life of a development cycle and by M4 should represent a significant proportion of items that are worthy of note in the migration guide.

Once the migration guide for a release has been completed the contents of this page should be cleared out.

2.3 Migration Guide items

  • Recipe-specific sysroots: we now use a sysroot per recipe to resolve long-standing issues with config script auto-detection of undeclared dependencies. This means all build-time dependencies for your recipe must be explicitly declared, or they won't be populated into the sysroot for the recipe. Additionally we now sanitise PATH, symlinking only the binaries from the host mentioned in HOSTTOOLS and HOSTTOOLS_NONFATAL into our own directory added to PATH, thus any native binaries that you need to call should either be in HOSTTOOLS (or HOSTTOOLS_NONFATAL) at the configuration level, or alternatively provided by a -native recipe that is included in the recipe's DEPENDS value.
  • The previously deprecated bb.data.getVar(), bb.data.setVar() and related functions have now been removed in favour of d.getVar(), d.setVar() etc. Any references to the old functions will now need to be tidied up.
  • package-depends.dot and pn-depends.dot as previously generated by bitbake -g have been removed, and a recipe-depends.dot file is now generated as a collapsed version of task-depends.dot. This was done because package-depends.dot and pn-depends.dot largely date back to a time before task-based execution and don't take into account task-level dependencies between recipes, and thus can be misleading.
  • depexp UI replaced by taskexp
  • Absolute symlinks within staged files are no longer permitted and will trigger an error.
  • RPM package management has moved from RPM5 with the no-longer maintained SMART to RPM4 and the DNF stack from RedHat/Fedora.