From 4cbdb705ded70462e4107b3f577aa32958a16035 Mon Sep 17 00:00:00 2001 From: Kristi Rifenbark Date: Fri, 20 Oct 2017 14:16:59 -0700 Subject: ref-manual: First draft of the 2.4 Migration section (From yocto-docs rev: e0302faa6e7c4ef17c57489e6e6f11b73d8e9b94) Signed-off-by: Kristi Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/migration.xml | 527 ++++++++++++++++++++++++++++++++- 1 file changed, 525 insertions(+), 2 deletions(-) (limited to 'documentation/ref-manual/migration.xml') diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index f7b22d7cb6..b0e8eae1e0 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml @@ -3057,8 +3057,7 @@ and the extensible SDK. For information on these SDKs and how to build and use them, see the - Yocto Project Application Development and the Extensible Software Development Kit (eSDK) - manual. + Yocto Project Software Development Kit (SDK) Developer's Guide. The Yocto Project Eclipse IDE Plug-in is still supported and is not affected by this change. @@ -4722,6 +4721,530 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message. + +
+ Moving to the Yocto Project 2.4 Release + + + This section provides migration information for moving to the + Yocto Project 2.4 Release from the prior release. + + +
+ Memory Resident Mode + + + A persistent mode is now available in BitBake's default operation, + replacing its previous "memory resident mode" (i.e. + oe-init-build-env-memres). + Now you only need to set + BB_SERVER_TIMEOUT to a timeout + (in seconds) and BitBake's server stays resident for that + amount of time between invocations. + The oe-init-build-env-memres script has been + removed which means a separate environment setup script is no longer + needed. + +
+ +
+ Packaging Changes + + + This section provides information about packaging changes that have + ocurred: + + + python3 Changes: + + + The main "python3" package now brings in all of the + standard Python 3 distributions rather than a subset. + This behavior matches what is expected based on + traditional Linux distributions. + If you wish to install a subset of Python 3, specify + python-core plus one or more of + the individual packages that are still produced. + + + python3: + The bz2.py, + lzma.py, and + _compression.py scripts have + been moved from the + python3-misc package to + the python3-compression package. + + + + + binutils: + The libbfd package is now packaged in + a separate "libbfd" package. + This packaging saves space when certain tools + (e.g. perf) are installed. + In such cases, the tools only need + libbfd rather than all the packages in + binutils. + + + util-linux Changes: + + + The su package is now packaged + in a separate "util-linux-su" package, which is only + built when "pam" is listed in the + DISTRO_FEATURES + variable. + util-linux should not be + installed unless it is needed because + su is normally provided through + the shadow file format. + The main util-linux package has + runtime dependencies (i.e. + RDEPENDS) + on the util-linux package when + "pam" is in + DISTRO_FEATURES. + + + The switch_root package is now + packaged in a separate "util-linux-switch-root" + package for small initramfs images that do not need + the whole util-linux package or + the busybox binary, which are both much larger than + switch_root. + The main util-linux package has + a recommended runtime dependency (i.e. + RRECOMMENDS) + on the switch_root package. + + + The ionice package is now + packaged in a separate "util-linux-ionice" package. + The main util-linux package has + a recommended runtime dependency (i.e. + RRECOMMENDS) + on the ionice package. + + + + + initscripts: + The sushell package is now packaged in + a separate "initscripts-sushell" package. + This packaging change allows systems to pull + sushell in when + selinux is enabled. + The change also eliminates needing to pull in the entire + initscripts package. + The main initscripts package has a + runtime dependency (i.e. + RDEPENDS) + on the sushell package when + "selinux" is in + DISTRO_FEATURES. + + + glib-2.0: + The glib-2.0 package now has a + recommended runtime dependency (i.e. + RRECOMMENDS) + on the + shared-mime-info package, since large + portions of GIO are not useful without the MIME database. + You can remove the dependency by using the + BAD_RECOMMENDATIONS + variable if shared-mime-info is too + large and is not required. + + + Go Standard Runtime: + The Go standard runtime has been split out from the main + go recipe into a separate + go-runtime recipe. + + + +
+ +
+ Removed Recipes + + + The following recipes have been removed: + + + acpitests: + This recipe is not maintained. + + + autogen-native: + No longer required by Grub, oe-core, or + meta-oe. + + + bdwgc: + Nothing in OpenEmbedded-Core requires this recipe. + It has moved to meta-oe + + + byacc: + This recipe was only needed by rpm 5.x and has moved to + meta-oe. + + + gcc (5.4): + The 5.4 series dropped the recipe in favor of 6.3 / 7.2. + + + gnome-common: + Deprecated upstream and no longer needed. + + + go-bootstrap-native: + Go 1.9 does its own bootstrapping so this recipe has been + removed. + + + guile: + This recipe was only needed by + autogen-native and + remake. + It is no longer needed by either of these programs. + + + libclass-isa-perl: + This recipe was previously needed for LSB 4, which no longer + requires the recipe. + + + libdumpvalue-perl: + This recipe was previously needed for LSB 4, which no longer + requires the recipe. + + + libenv-perl: + This recipe was previously needed for LSB 4, which no longer + requires the recipe. + + + libfile-checktree-perl: + This recipe was previously needed for LSB 4, which no longer + requires the recipe. + + + libi18n-collate-perl: + This recipe was previously needed for LSB 4, which no longer + requires the recipe. + + + libiconv: + This recipe was only needed for uclibc, + which was removed in the previous release. + glibc and musl + have their own implementations. + meta-mingw still needs + libiconv, so it has + been moved to meta-mingw. + + + libpng12: + This recipe was previously needed for LSB. The current + libpng is 1.6.x. + + + libpod-plainer-perl: + This recipe was previously needed for LSB 4, which no longer + requires the recipe. + + + linux-yocto (4.1): + This recipe was removed in favor of 4.4, 4.9, 4.10 and 4.12. + + + mailx: + This recipe was previously only needed for LSB + compatibility, and upstream is defunct. + + + mesa (git version only): + This recipe is stale with respect to the release version. + + + ofono (git version only): + This recipe is stale with respect to the release version. + + + portmap: + This recipe is obsolete and is superseded by + rpcbind. + + + python3-pygpgme: + This recipe is old and unmaintained. It was previously + required by dnf, which has switched + to official gpgme Python bindings. + + + python-async: + This recipe has been removed in favor of the Python 3 + version. + + + python-gitdb: + This recipe has been removed in favor of the Python 3 + version. + + + python-git: + This recipe was removed in favor of the Python 3 + version. + + + python-mako: + This recipe was removed in favor of the Python 3 + version. + + + python-pexpect: + This recipe was removed in favor of the Python 3 version. + + + python-ptyprocess: + This recipe was removed in favor of Python the 3 version. + + + python-pycurl: + Nothing is using this recipe in OpenEmbedded-Core + (i.e. meta-oe). + + + python-six: + This recipe was removed in favor of the Python 3 version. + + + python-smmap: + This recipe was removed in favor of the Python 3 version. + + + remake: + Using remake as the provider of + virtual/make is broken. + Consequently, this recipe is not needed in OpenEmbedded-Core. + + + +
+ +
+ Kernel Device Tree Move + + + Kernel Device Tree support is easy to enable in a kernel + recipe. + The Device Tree code has moved to a + kernel-devicetree class. + Functionality is automatically enabled for any recipe that inherits + the + kernel + class and sets the + KERNEL_DEVICETREE + variable. + The previous mechanism for doing this, + meta/recipes-kernel/linux/linux-dtb.inc, + is still available to avoid breakage, but triggers a + deprecation warning. + Future releases of the Yocto Project will remove + meta/recipes-kernel/linux/linux-dtb.inc. + It is advisable to remove any require + statements that request + meta/recipes-kernel/linux/linux-dtb.inc + from any custom kernel recipes you might have. + This will avoid breakage in post 2.4 releases. + +
+ +
+ Package QA Changes + + + The following package QA changes took place: + + + The "unsafe-references-in-scripts" QA check has been + removed. + Previously, this check ensured + that the backslash character (i.e. + /) and /usr + could be on different filesystems and that + /usr is no longer actively supported. + + + If you refer to ${COREBASE}/LICENSE + within + LIC_FILES_CHKSUM + you receive a warning because this file is a description of + the license for OE-Core. + Use ${COMMON_LICENSE_DIR}/MIT + if your recipe is MIT-licensed and you cannot use the + preferred method of referring to a file within the source + tree. + + + +
+ +
+ <filename>README</filename> File Changes + + + The following are changes to README files: + + + The main Poky README file has been + moved to the meta-poky layer and + has been renamed README.poky. + A symlink has been created so that references to the old + location work. + + + The README.hardware file has been moved + to meta-yocto-bsp. + A symlink has been created so that references to the old + location work. + + + A README.qemu file has been created + with coverage of the qemu* machines. + + + +
+ +
+ Miscellaneous Changes + + + The following are additional changes: + + + The ROOTFS_PKGMANAGE_BOOTSTRAP + variable and any references to it have been removed. + You should remove this variable from any custom recipes. + + + The meta-yocto directory has been + removed. + + In the Yocto Project 2.1 release + meta-yocto was renamed to + meta-poky and the + meta-yocto subdirectory remained + to avoid breaking existing configurations. + + + + The maintainers.inc file, which tracks + maintainers by listing a primary person responsible for each + recipe in OE-Core, has been moved from + meta-poky to OE-Core (i.e. from + meta-poky/conf/distro/include to + meta/conf/distro/include). + + + The + buildhistory + class now makes a single commit per build rather than one + commit per subdirectory in the repository. + This behavior assumes the commits are enabled with + BUILDHISTORY_COMMIT + = "1", which is typical. + Previously, the buildhistory class made + one commit per subdirectory in the repository in order to + make it easier to see the changes for a particular + subdirectory. + Now Git can filter these changes itself when viewed. + To view a particular change, specify that subdirectory as + the last parameter on the git show + or git diff commands. + + + The x86-base.inc file, which is + included by all x86-based machine configurations, now sets + IMAGE_FSTYPES + using ?= to "live" rather than + appending with +=. + This change makes the default easier to override. + + + BitBake fires multiple "BuildStarted" events when + multiconfig is enabled. + This is limited to one per configuration. + For more information, see the + "Events" + in the BitBake User Manual. + + + By default, the security_flags.inc file + sets a GCCPIE variable with an option + to enable Position Independent Executables (PIE) within + gcc. + Enabling PIE in the GNU C Compiler (GCC), makes Return + Oriented Programming (ROP) attacks much more difficult to + execute. + + + OE-Core now provides a + bitbake-layers plugin that implements + a "create-layer" subcommand. + The implementation of this subcommand has resulted in the + yocto-layer script being deprecated and + will likely be removed in the next Yocto Project release. + + + The vmdk, vdi, + and qcow2 image file types are now + used in conjunction with the "wic" image type through + CONVERSION_CMD. + Consequently, the equivalent image types are now + wic.vmdk, wic.vdi, + and wic.qcow2, respectively. + + + do_image_<type>[depends] has + replaced IMAGE_DEPENDS_<type>. + If you have your own classes that implement custom image + types, then you need to update them. + + + OpenSSL 1.1 has been introduced. + However, the default is still 1.0.x through the + PREFERRED_VERSION + variable. + This change is due to the remaining compatibility issues + with other software. + The + PROVIDES + variable includes "openssl10" as a marker for recipes that + still depend on OpenSSL 1.0. + + + To ensure consistent behavior, BitBake's "-r" and "-R" + options (i.e. prefile and postfile), which are used to + read or post-read + additional configuration files from the command line, now + only affect the current BitBake command. + Before this change these options would "stick" for + future executions. + + BitBake server changes necessitated this change. + + + + +
+