From d8e41e8026bedcde2a9eb9270f6d7cf6a4c76f86 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 13 Oct 2014 17:33:38 -0700 Subject: ref-manual: Added new migration section for the 1.7 release. (From yocto-docs rev: 5b06b29f7f9e53db7b885795c2e11e1eccfc98df) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/migration.xml | 298 +++++++++++++++++++++++++++++++++ 1 file changed, 298 insertions(+) (limited to 'documentation/ref-manual') diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index efed11dcb2..864c489251 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml @@ -1691,6 +1691,304 @@ + +
+ Moving to the Yocto Project 1.7 Release + + + This section provides migration information for moving to the + Yocto Project 1.7 Release from the prior release. + + + +
+ Autotools Class Changes + + + The following + autotools + class changes occurred: + + + A separate build directory in Autotools recipes is + handled: + The autotools class has been changed + to use a directory for building + (B), + which is separate from the source directory + (S). + If the software being built is already capable of + building in a directory separate from the source, you + do not need to do anything. + However, if this capability does not exist, you will + need to either patch the software so that it can build + separately, or you will need to change the recipe to + inherit the + autotools-brokensep + class instead of the autotools class. + + + Handle "foreign": + The --foreign option is no longer + passed to automake when running + autoreconf. + This option tells automake that a + particular software package does not follow the GNU + standards and therefore should not be expected + to distribute certain files such as + ChangeLog, + AUTHORS, and so forth. + The majority of upstream software packages already tell + automake these packages are foreign + and thus this option is mostly superfluous. + However, some recipes will need patches for this change. + You can easily make the change by patching + configure.ac so that it passes + "foreign" to AM_INIT_AUTOMAKE(). + See + + for an example showing how to make the patch. + + + +
+ +
+ Binary Configuration Scripts Disabled + + + Some of the core recipes that previously packaged binary + configuration scripts now disable the scripts instead due to the + scripts previously requiring error-prone path substitution. + Software that links against these libraries using these scripts + should use the much more robust + pkg-config instead. + The list of recipes changed in this version (and their + configuration scripts) is as follows: + + directfb (directfb-config) + freetype (freetype-config) + gpgme (gpgme-config) + libassuan (libassuan-config) + libcroco (croco-6.0-config) + libgcrypt (libgcrypt-config) + libgpg-error (gpg-error-config) + libksba (ksba-config) + libpcap (pcap-config) + libpcre (pcre-config) + libpng (libpng-config, libpng16-config) + libsdl (sdl-config) + libusb-compat (libusb-config) + libxml2 (xml2-config) + libxslt (xslt-config) + ncurses (ncurses-config) + neon (neon-config) + npth (npth-config) + pth (pth-config) + taglib (taglib-config) + + + Support for pkg-config has been added to + some recipes in the previous list in the rare cases + where the upstream software package does not already provide + it. + + +
+ +
+ <filename>eglibc 2.19</filename> Replaced with <filename>glibc 2.20</filename> + + + Because eglibc and + glibc were already fairly close, this + replacement should not require any significant changes to other + software that links to eglibc. + However, there were a number of minor changes in + glibc 2.20 upstream that could require + patching some software (e.g. the removal of the + _BSD_SOURCE feature test macro). + + + + glibc 2.20 also minimally requires version + 2.6.32 of the Linux kernel. + Thus, older kernels will no longer be usable in conjunction with it. + + + + For full details on the changes in glibc 2.20, + see the upstream release notes at + . + +
+ +
+ Kernel Module Autoloading + + + The + module_autoload_* + and + module_conf_* + variables have been replaced with the variables + KERNEL_MODULE_AUTOLOAD + and + KERNEL_MODULE_PROBECONF, + respectively. + These variables no longer require you to specify the module name + as part of the variable name. + This change not only simplifies usage but also allows the values + of these variables to be appropriately incorporated into task + signatures and thus trigger the appropriate tasks to re-execute + when changed. + You should replace any references to + module_autoload_* or + module_conf_* with the new variables. + + While it is recommended that you replace occurrences of the + module_conf_* variable with the + KERNEL_MODULE_PROBECONF variable, the + OpenEmbedded build system still recognizes the + module_conf_* variable. + However, you must be sure that any module name used in the + override with the module_conf variable + is included in the KERNEL_MODULE_PROBECONF + variable. + + + + + For more information, see the + KERNEL_MODULE_AUTOLOAD + and + KERNEL_MODULE_PROBECONF + descriptions in the variable's glossary. + +
+ +
+ Removed Recipes + + + The following recipes have been removed: + + + x-load: + This recipe has been superseded by + U-boot SPL for all Cortex-based TI SoCs. + For legacy boards, the meta-ti + layer, which contains a maintained recipe, should be used + instead. + + + ubootchart: + This recipe is obsolete. + A bootchart2 recipe has been added + to functionally replace it. + + + linux-yocto 3.4: + Support for the linux-yocto 3.4 kernel has been dropped. + Support for the 3.10 and 3.14 kernels remains, while + support for version 3.17 has been added. + + + eglibc has been removed in favor of + glibc. + See the + "eglibc 2.19 Replaced with glibc 2.20" + section for more information. + + + +
+ +
+ Minimum Git version + + + The minimum + Git version required + on the build host is now 1.7.8 because the + ‐‐list option is now required by + BitBake's Git fetcher. + As always, if your host distribution does not provide a version of + Git that meets this requirement, you can use the + buildtools-tarball that does. + See the + "Required Git, tar, and Python Versions" + section for more information. + +
+ +
+ QA Check Changes + + + The following changes have occurred to the QA check process: + + + Additional QA checks file-rdeps + and build-deps have been added in + order to verify that file dependencies are satisfied + (e.g. package contains a script requiring + /bin/bash) and build-time dependencies + are declared, respectively. + For more information, please see the + "QA Error and Warning Messages" + chapter. + + + Package QA checks are now performed during a new + do_package_qa task rather + than being part of the + do_package + task. + This allows more parallel execution. + This change is unlikely to be an issue except for highly + customized recipes that disable packaging tasks themselves + by marking them as noexec. + For those packages, you will need to disable the + do_package_qa task as well. + + + Files being overwritten during the + do_populate_sysroot + task now trigger an error instead of a warning. + Recipes should not be overwriting files written to the + sysroot by other recipes. + If you have these types of recipes, you need to alter them + so that they do not overwrite these files. + + + +
+ +
+ Miscellaneous Changes + + + The following miscellaneous change occurred: + + + The build history feature now writes + build-id.txt instead of + build-id. + Additionally, build-id.txt + now contains the full build header as printed by + BitBake upon starting the build. + You should manually remove old "build-id" files from your + existing build history repositories to avoid confusion. + For information on the build history feature, see the + "Maintaining Build Output Quality" + section. + + + +
+
+