FutureMigrationGuide

From Yocto Project
Revision as of 20:33, 29 March 2017 by PaulEggleton (talk | contribs)
Jump to navigationJump to search
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.
  • PATH is filtered to allow only whitelisted tools from the host during a build, user configurable with HOSTTOOLS variable.