From 972dcfcdbfe75dcfeb777150c136576cf1a71e99 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Fri, 9 Oct 2015 22:59:03 +0200 Subject: initial commit for Enea Linux 5.0 arm Signed-off-by: Tudor Florea --- documentation/ref-manual/migration.xml | 2019 ++++++++++++++++++++++++++++++++ 1 file changed, 2019 insertions(+) create mode 100644 documentation/ref-manual/migration.xml (limited to 'documentation/ref-manual/migration.xml') diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml new file mode 100644 index 0000000000..d072ecfa0e --- /dev/null +++ b/documentation/ref-manual/migration.xml @@ -0,0 +1,2019 @@ + %poky; ] > + + +Migrating to a Newer Yocto Project Release + + + This chapter provides information you can use to migrate work to a + newer Yocto Project release. You can find the same information in the + release notes for a given release. + + +
+ General Migration Considerations + + + Some considerations are not tied to a specific Yocto Project + release. + This section presents information you should consider when + migrating to any new Yocto Project release. + + Dealing with Customized Recipes: + Issues could arise if you take older recipes that contain + customizations and simply copy them forward expecting them + to work after you migrate to new Yocto Project metadata. + For example, suppose you have a recipe in your layer that is + a customized version of a core recipe copied from the earlier + release, rather than through the use of an append file. + When you migrate to a newer version of Yocto Project, the + metadata (e.g. perhaps an include file used by the recipe) + could have changed in a way that would break the build. + Say, for example, a function is removed from an include file + and the customized recipe tries to call that function. + + + You could "forward-port" all your customizations in your + recipe so that everything works for the new release. + However, this is not the optimal solution as you would have + to repeat this process with each new release if changes + occur that give rise to problems. + + The better solution (where practical) is to use append + files (*.bbappend) to capture any + customizations you want to make to a recipe. + Doing so, isolates your changes from the main recipe making + them much more manageable. + However, sometimes it is not practical to use an append + file. + A good example of this is when introducing a newer or older + version of a recipe in another layer. + + Updating Append Files: + Since append files generally only contain your customizations, + they often do not need to be adjusted for new releases. + However, if the .bbappend file is + specific to a particular version of the recipe (i.e. its + name does not use the % wildcard) and the version of the + recipe to which it is appending has changed, then you will + at a minimum need to rename the append file to match the + name of the recipe file. + A mismatch between an append file and its corresponding + recipe file (.bb) will + trigger an error during parsing. + Depending on the type of customization the append file + applies, other incompatibilities might occur when you + upgrade. + For example, if your append file applies a patch and the + recipe to which it is appending is updated to a newer + version, the patch might no longer apply. + If this is the case and assuming the patch is still needed, + you must modify the patch file so that it does apply. + + + +
+ +
+ Moving to the Yocto Project 1.3 Release + + + This section provides migration information for moving to the + Yocto Project 1.3 Release from the prior release. + + +
+ Local Configuration + + + Differences include changes for + SSTATE_MIRRORS + and bblayers.conf. + + +
+ SSTATE_MIRRORS + + + The shared state cache (sstate-cache), as pointed to by + SSTATE_DIR, by default + now has two-character subdirectories to prevent issues arising + from too many files in the same directory. + Also, native sstate-cache packages will go into a subdirectory named using + the distro ID string. + If you copy the newly structured sstate-cache to a mirror location + (either local or remote) and then point to it in + SSTATE_MIRRORS, + you need to append "PATH" to the end of the mirror URL so that + the path used by BitBake before the mirror substitution is + appended to the path used to access the mirror. + Here is an example: + + SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH" + + +
+ +
+ bblayers.conf + + + The meta-yocto layer consists of two parts + that correspond to the Poky reference distribution and the + reference hardware Board Support Packages (BSPs), respectively: + meta-yocto and + meta-yocto-bsp. + When running BitBake or Hob for the first time after upgrading, + your conf/bblayers.conf file will be + updated to handle this change and you will be asked to + re-run or restart for the changes to take effect. + +
+
+ +
+ Recipes + + + Differences include changes for the following: + + Python function whitespace + proto= in SRC_URI + nativesdk + Task recipes + IMAGE_FEATURES + Removed recipes + + + +
+ Python Function Whitespace + + + All Python functions must now use four spaces for indentation. + Previously, an inconsistent mix of spaces and tabs existed, + which made extending these functions using + _append or _prepend + complicated given that Python treats whitespace as + syntactically significant. + If you are defining or extending any Python functions (e.g. + populate_packages, do_unpack, + do_patch and so forth) in custom recipes + or classes, you need to ensure you are using consistent + four-space indentation. + +
+ +
+ proto= in SRC_URI + + + Any use of proto= in + SRC_URI + needs to be changed to protocol=. + In particular, this applies to the following URIs: + + svn:// + bzr:// + hg:// + osc:// + + Other URIs were already using protocol=. + This change improves consistency. + +
+ +
+ nativesdk + + + The suffix nativesdk is now implemented + as a prefix, which simplifies a lot of the packaging code for + nativesdk recipes. + All custom nativesdk recipes and any + references need to be updated to use + nativesdk-* instead of + *-nativesdk. + +
+ +
+ Task Recipes + + + "Task" recipes are now known as "Package groups" and have + been renamed from task-*.bb to + packagegroup-*.bb. + Existing references to the previous task-* + names should work in most cases as there is an automatic + upgrade path for most packages. + However, you should update references in your own recipes and + configurations as they could be removed in future releases. + You should also rename any custom task-* + recipes to packagegroup-*, and change + them to inherit packagegroup instead of + task, as well as taking the opportunity + to remove anything now handled by + packagegroup.bbclass, such as providing + -dev and -dbg + packages, setting + LIC_FILES_CHKSUM, + and so forth. + See the + "packagegroup.bbclass" + section for further details. + +
+ +
+ IMAGE_FEATURES + + + Image recipes that previously included "apps-console-core" + in IMAGE_FEATURES + should now include "splash" instead to enable the boot-up + splash screen. + Retaining "apps-console-core" will still include the splash + screen but generates a warning. + The "apps-x11-core" and "apps-x11-games" + IMAGE_FEATURES features have been removed. + +
+ +
+ Removed Recipes + + + The following recipes have been removed. + For most of them, it is unlikely that you would have any + references to them in your own + Metadata. + However, you should check your metadata against this list to be sure: + + libx11-trim: + Replaced by libx11, which has a negligible + size difference with modern Xorg. + xserver-xorg-lite: + Use xserver-xorg, which has a negligible + size difference when DRI and GLX modules are not installed. + xserver-kdrive: + Effectively unmaintained for many years. + mesa-xlib: + No longer serves any purpose. + galago: + Replaced by telepathy. + gail: + Functionality was integrated into GTK+ 2.13. + eggdbus: + No longer needed. + gcc-*-intermediate: + The build has been restructured to avoid the need for + this step. + libgsmd: + Unmaintained for many years. + Functionality now provided by + ofono instead. + contacts, dates, tasks, eds-tools: + Largely unmaintained PIM application suite. + It has been moved to meta-gnome + in meta-openembedded. + + In addition to the previously listed changes, the + meta-demoapps directory has also been removed + because the recipes in it were not being maintained and many + had become obsolete or broken. + Additionally, these recipes were not parsed in the default configuration. + Many of these recipes are already provided in an updated and + maintained form within the OpenEmbedded community layers such as + meta-oe and meta-gnome. + For the remainder, you can now find them in the + meta-extras repository, which is in the + Yocto Project + Source Repositories. + +
+
+ +
+ Linux Kernel Naming + + + The naming scheme for kernel output binaries has been changed to + now include + PE as part of the + filename: + + KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}" + + + + + Because the PE variable is not set by default, + these binary files could result with names that include two dash + characters. + Here is an example: + + bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin + + +
+
+ +
+ Moving to the Yocto Project 1.4 Release + + + This section provides migration information for moving to the + Yocto Project 1.4 Release from the prior release. + + +
+ BitBake + + + Differences include the following: + + Comment Continuation: + If a comment ends with a line continuation (\) character, + then the next line must also be a comment. + Any instance where this is not the case, now triggers + a warning. + You must either remove the continuation character, or be + sure the next line is a comment. + + Package Name Overrides: + The runtime package specific variables + RDEPENDS, + RRECOMMENDS, + RSUGGESTS, + RPROVIDES, + RCONFLICTS, + RREPLACES, + FILES, + ALLOW_EMPTY, + and the pre, post, install, and uninstall script functions + pkg_preinst, + pkg_postinst, + pkg_prerm, and + pkg_postrm should always have a + package name override. + For example, use RDEPENDS_${PN} for + the main package instead of RDEPENDS. + BitBake uses more strict checks when it parses recipes. + + + +
+ +
+ Build Behavior + + + Differences include the following: + + Shared State Code: + The shared state code has been optimized to avoid running + unnecessary tasks. + For example, the following no longer populates the target + sysroot since that is not necessary: + + $ bitbake -c rootfs some-image + + Instead, the system just needs to extract the output + package contents, re-create the packages, and construct + the root filesystem. + This change is unlikely to cause any problems unless + you have missing declared dependencies. + + Scanning Directory Names: + When scanning for files in + SRC_URI, + the build system now uses + FILESOVERRIDES + instead of OVERRIDES + for the directory names. + In general, the values previously in + OVERRIDES are now in + FILESOVERRIDES as well. + However, if you relied upon an additional value + you previously added to OVERRIDES, + you might now need to add it to + FILESOVERRIDES unless you are already + adding it through the + MACHINEOVERRIDES + or DISTROOVERRIDES + variables, as appropriate. + For more related changes, see the + "Variables" + section. + + + +
+ + +
+ Proxies and Fetching Source + + + A new oe-git-proxy script has been added to + replace previous methods of handling proxies and fetching source + from Git. + See the meta-yocto/conf/site.conf.sample file + for information on how to use this script. + +
+ +
+ Custom Interfaces File (netbase change) + + + If you have created your own custom + etc/network/interfaces file by creating + an append file for the netbase recipe, + you now need to create an append file for the + init-ifupdown recipe instead, which you can + find in the + Source Directory + at meta/recipes-core/init-ifupdown. + For information on how to use append files, see the + "Using .bbappend Files" + in the Yocto Project Development Manual. + +
+ +
+ Remote Debugging + + + Support for remote debugging with the Eclipse IDE is now + separated into an image feature + (eclipse-debug) that corresponds to the + packagegroup-core-eclipse-debug package group. + Previously, the debugging feature was included through the + tools-debug image feature, which corresponds + to the packagegroup-core-tools-debug + package group. + +
+ +
+ Variables + + + The following variables have changed: + + SANITY_TESTED_DISTROS: + This variable now uses a distribution ID, which is composed + of the host distributor ID followed by the release. + Previously, + SANITY_TESTED_DISTROS + was composed of the description field. + For example, "Ubuntu 12.10" becomes "Ubuntu-12.10". + You do not need to worry about this change if you are not + specifically setting this variable, or if you are + specifically setting it to "". + + SRC_URI: + The ${PN}, + ${PF}, + ${P}, + and FILE_DIRNAME directories have been + dropped from the default value of the + FILESPATH + variable, which is used as the search path for finding files + referred to in + SRC_URI. + If you have a recipe that relied upon these directories, + which would be unusual, then you will need to add the + appropriate paths within the recipe or, alternatively, + rearrange the files. + The most common locations are still covered by + ${BP}, ${BPN}, + and "files", which all remain in the default value of + FILESPATH. + + + +
+ +
+ Target Package Management with RPM + + + If runtime package management is enabled and the RPM backend + is selected, Smart is now installed for package download, dependency + resolution, and upgrades instead of Zypper. + For more information on how to use Smart, run the following command + on the target: + + smart --help + + +
+ +
+ Recipes Moved + + + The following recipes were moved from their previous locations + because they are no longer used by anything in + the OpenEmbedded-Core: + + clutter-box2d: + Now resides in the meta-oe layer. + + evolution-data-server: + Now resides in the meta-gnome layer. + + gthumb: + Now resides in the meta-gnome layer. + + gtkhtml2: + Now resides in the meta-oe layer. + + gupnp: + Now resides in the meta-multimedia layer. + + gypsy: + Now resides in the meta-oe layer. + + libcanberra: + Now resides in the meta-gnome layer. + + libgdata: + Now resides in the meta-gnome layer. + + libmusicbrainz: + Now resides in the meta-multimedia layer. + + metacity: + Now resides in the meta-gnome layer. + + polkit: + Now resides in the meta-oe layer. + + zeroconf: + Now resides in the meta-networking layer. + + + +
+ +
+ Removals and Renames + + + The following list shows what has been removed or renamed: + + evieext: + Removed because it has been removed from + xserver since 2008. + + Gtk+ DirectFB: + Removed support because upstream Gtk+ no longer supports it + as of version 2.18. + + libxfontcache / xfontcacheproto: + Removed because they were removed from the Xorg server in 2008. + + libxp / libxprintapputil / libxprintutil / printproto: + Removed because the XPrint server was removed from + Xorg in 2008. + + libxtrap / xtrapproto: + Removed because their functionality was broken upstream. + + linux-yocto 3.0 kernel: + Removed with linux-yocto 3.8 kernel being added. + The linux-yocto 3.2 and linux-yocto 3.4 kernels remain + as part of the release. + + lsbsetup: + Removed with functionality now provided by + lsbtest. + + matchbox-stroke: + Removed because it was never more than a proof-of-concept. + + matchbox-wm-2 / matchbox-theme-sato-2: + Removed because they are not maintained. + However, matchbox-wm and + matchbox-theme-sato are still + provided. + + mesa-dri: + Renamed to mesa. + + mesa-xlib: + Removed because it was no longer useful. + + mutter: + Removed because nothing ever uses it and the recipe is + very old. + + orinoco-conf: + Removed because it has become obsolete. + + update-modules: + Removed because it is no longer used. + The kernel module postinstall and + postrm scripts can now do the same + task without the use of this script. + + web: + Removed because it is not maintained. Superseded by + web-webkit. + + xf86bigfontproto: + Removed because upstream it has been disabled by default + since 2007. + Nothing uses xf86bigfontproto. + + xf86rushproto: + Removed because its dependency in + xserver was spurious and it was + removed in 2005. + + zypper / libzypp / sat-solver: + Removed and been functionally replaced with Smart + (python-smartpm) when RPM packaging + is used and package management is enabled on the target. + + + +
+
+ +
+ Moving to the Yocto Project 1.5 Release + + + This section provides migration information for moving to the + Yocto Project 1.5 Release from the prior release. + + +
+ Host Dependency Changes + + + The OpenEmbedded build system now has some additional requirements + on the host system: + + Python 2.7.3+ + Tar 1.24+ + Git 1.7.8+ + Patched version of Make if you are using + 3.82. + Most distributions that provide Make 3.82 use the patched + version. + + If the Linux distribution you are using on your build host + does not provide packages for these, you can install and use + the Buildtools tarball, which provides an SDK-like environment + containing them. + + + + For more information on this requirement, see the + "Required Git, tar, and Python Versions" + section. + +
+ +
+ <filename>atom-pc</filename> Board Support Package (BSP) + + + The atom-pc hardware reference BSP has been + replaced by a genericx86 BSP. + This BSP is not necessarily guaranteed to work on all x86 + hardware, but it will run on a wider range of systems than the + atom-pc did. + + Additionally, a genericx86-64 BSP has + been added for 64-bit Atom systems. + + +
+ +
+ BitBake + + + The following changes have been made that relate to BitBake: + + + BitBake now supports a _remove + operator. + The addition of this operator means you will have to + rename any items in recipe space (functions, variables) + whose names currently contain + _remove_ or end with + _remove to avoid unexpected behavior. + + + BitBake's global method pool has been removed. + This method is not particularly useful and led to clashes + between recipes containing functions that had the + same name. + + The "none" server backend has been removed. + The "process" server backend has been serving well as the + default for a long time now. + + The bitbake-runtask script has been + removed. + + ${P} + and + ${PF} + are no longer added to + PROVIDES + by default in bitbake.conf. + These version-specific PROVIDES + items were seldom used. + Attempting to use them could result in two versions being + built simultaneously rather than just one version due to + the way BitBake resolves dependencies. + + +
+ +
+ QA Warnings + + + The following changes have been made to the package QA checks: + + + If you have customized + ERROR_QA + or WARN_QA + values in your configuration, check that they contain all of + the issues that you wish to be reported. + Previous Yocto Project versions contained a bug that meant + that any item not mentioned in ERROR_QA + or WARN_QA would be treated as a + warning. + Consequently, several important items were not already in + the default value of WARN_QA. + All of the possible QA checks are now documented in the + "insane.bbclass" + section. + + An additional QA check has been added to check if + /usr/share/info/dir is being installed. + Your recipe should delete this file within + do_install + if "make install" is installing it. + + + If you are using the buildhistory class, the check for the + package version going backwards is now controlled using a + standard QA check. + Thus, if you have customized your + ERROR_QA or + WARN_QA values and still wish to have + this check performed, you should add + "version-going-backwards" to your value for one or the + other variables depending on how you wish it to be handled. + See the documented QA checks in the + "insane.bbclass" + section. + + + +
+ +
+ Directory Layout Changes + + + The following directory changes exist: + + + Output SDK installer files are now named to include the + image name and tuning architecture through the + SDK_NAME + variable. + + Images and related files are now installed into a directory + that is specific to the machine, instead of a parent + directory containing output files for multiple machines. + The + DEPLOY_DIR_IMAGE + variable continues to point to the directory containing + images for the current + MACHINE + and should be used anywhere there is a need to refer to + this directory. + The runqemu script now uses this + variable to find images and kernel binaries and will use + BitBake to determine the directory. + Alternatively, you can set the + DEPLOY_DIR_IMAGE variable in the + external environment. + + When buildhistory is enabled, its output is now written + under the + Build Directory + rather than + TMPDIR. + Doing so makes it easier to delete + TMPDIR and preserve the build history. + Additionally, data for produced SDKs is now split by + IMAGE_NAME. + + + The pkgdata directory produced as + part of the packaging process has been collapsed into a + single machine-specific directory. + This directory is located under + sysroots and uses a machine-specific + name (i.e. + tmp/sysroots/machine/pkgdata). + + + +
+ +
+ Shortened Git <filename>SRCREV</filename> Values + + + BitBake will now shorten revisions from Git repositories from the + normal 40 characters down to 10 characters within + SRCPV + for improved usability in path and file names. + This change should be safe within contexts where these revisions + are used because the chances of spatially close collisions + is very low. + Distant collisions are not a major issue in the way + the values are used. + +
+ +
+ <filename>IMAGE_FEATURES</filename> + + + The following changes have been made that relate to + IMAGE_FEATURES: + + + The value of + IMAGE_FEATURES + is now validated to ensure invalid feature items are not + added. + Some users mistakenly add package names to this variable + instead of using + IMAGE_INSTALL + in order to have the package added to the image, which does + not work. + This change is intended to catch those kinds of situations. + Valid IMAGE_FEATURES are drawn from + PACKAGE_GROUP + definitions, + COMPLEMENTARY_GLOB + and a new "validitems" varflag on + IMAGE_FEATURES. + The "validitems" varflag change allows additional features + to be added if they are not provided using the previous + two mechanisms. + + + The previously deprecated "apps-console-core" + IMAGE_FEATURES item is no longer + supported. + Add "splash" to IMAGE_FEATURES if you + wish to have the splash screen enabled, since this is + all that apps-console-core was doing. + + +
+ +
+ <filename>/run</filename> + + + The /run directory from the Filesystem + Hierarchy Standard 3.0 has been introduced. + You can find some of the implications for this change + here. + The change also means that recipes that install files to + /var/run must be changed. + You can find a guide on how to make these changes + here. + +
+ +
+ Removal of Package Manager Database Within Image Recipes + + + The image core-image-minimal no longer adds + remove_packaging_data_files to + ROOTFS_POSTPROCESS_COMMAND. + This addition is now handled automatically when "package-management" + is not in + IMAGE_FEATURES. + If you have custom image recipes that make this addition, + you should remove the lines, as they are not needed and might + interfere with correct operation of postinstall scripts. + +
+ +
+ Images Now Rebuild Only on Changes Instead of Every Time + + + The + do_rootfs + and other related image + construction tasks are no longer marked as "nostamp". + Consequently, they will only be re-executed when their inputs have + changed. + Previous versions of the OpenEmbedded build system always rebuilt + the image when requested rather when necessary. + +
+ +
+ Task Recipes + + + The previously deprecated task.bbclass has + now been dropped. + For recipes that previously inherited from this class, you should + rename them from task-* to + packagegroup-* and inherit packagegroup + instead. + + + + For more information, see the + "packagegroup.bbclass" + section. + +
+ +
+ BusyBox + + + By default, we now split BusyBox into two binaries: + one that is suid root for those components that need it, and + another for the rest of the components. + Splitting BusyBox allows for optimization that eliminates the + tinylogin recipe as recommended by upstream. + You can disable this split by setting + BUSYBOX_SPLIT_SUID + to "0". + +
+ +
+ Automated Image Testing + + + A new automated image testing framework has been added + through the + testimage*.bbclass + class. + This framework replaces the older + imagetest-qemu framework. + + + + You can learn more about performing automated image tests in the + "Performing Automated Runtime Testing" + section. + +
+ +
+ Build History + + + Following are changes to Build History: + + + Installed package sizes: + installed-package-sizes.txt for an + image now records the size of the files installed by each + package instead of the size of each compressed package + archive file. + + The dependency graphs (depends*.dot) + now use the actual package names instead of replacing + dashes, dots and plus signs with underscores. + + + The buildhistory-diff and + buildhistory-collect-srcrevs + utilities have improved command-line handling. + Use the ‐‐help option for + each utility for more information on the new syntax. + + + For more information on Build History, see the + "Maintaining Build Output Quality" + section. + +
+ +
+ <filename>udev</filename> + + + Following are changes to udev: + + + udev no longer brings in + udev-extraconf automatically + through + RRECOMMENDS, + since this was originally intended to be optional. + If you need the extra rules, then add + udev-extraconf to your image. + + + udev no longer brings in + pciutils-ids or + usbutils-ids through + RRECOMMENDS. + These are not needed by udev itself + and removing them saves around 350KB. + + + +
+ +
+ Removed and Renamed Recipes + + + + The linux-yocto 3.2 kernel has been + removed. + + libtool-nativesdk has been renamed to + nativesdk-libtool. + + tinylogin has been removed. + It has been replaced by a suid portion of Busybox. + See the + "BusyBox" section + for more information. + + external-python-tarball has been renamed + to buildtools-tarball. + + + web-webkit has been removed. + It has been functionally replaced by + midori. + + imake has been removed. + It is no longer needed by any other recipe. + + + transfig-native has been removed. + It is no longer needed by any other recipe. + + + anjuta-remote-run has been removed. + Anjuta IDE integration has not been officially supported for + several releases. + +
+ +
+ Other Changes + + + Following is a list of short entries describing other changes: + + + run-postinsts: Make this generic. + + + base-files: Remove the unnecessary + media/xxx directories. + + + alsa-state: Provide an empty + asound.conf by default. + + + classes/image: Ensure + BAD_RECOMMENDATIONS + supports pre-renamed package names. + + classes/rootfs_rpm: Implement + BAD_RECOMMENDATIONS + for RPM. + + systemd: Remove + systemd_unitdir if + systemd is not in + DISTRO_FEATURES. + + + systemd: Remove + init.d dir if + systemd unit file is present and + sysvinit is not a distro feature. + + + libpam: Deny all services for the + OTHER entries. + + + image.bbclass: Move + runtime_mapping_rename to avoid + conflict with multilib. + See + YOCTO #4993 + in Bugzilla for more information. + + + linux-dtb: Use kernel build system + to generate the dtb files. + + + kern-tools: Switch from guilt to + new kgit-s2q tool. + + + +
+
+ +
+ Moving to the Yocto Project 1.6 Release + + + This section provides migration information for moving to the + Yocto Project 1.6 Release from the prior release. + + + +
+ <filename>archiver</filename> Class + + + The + archiver + class has been rewritten and its configuration has been simplified. + For more details on the source archiver, see the + "Maintaining Open Source License Compliance During Your Product's Lifecycle" + section in the Yocto Project Development Manual. + +
+ +
+ Packaging Changes + + + The following packaging changes have been made: + + + The binutils recipe no longer produces + a binutils-symlinks package. + update-alternatives is now used to + handle the preferred binutils + variant on the target instead. + + + The tc (traffic control) utilities have been split out of + the main iproute2 package and put + into the iproute2-tc package. + + + The gtk-engines schemas have been + moved to a dedicated + gtk-engines-schemas package. + + + The armv7a with thumb package + architecture suffix has changed. + The suffix for these packages with the thumb + optimization enabled is "t2" as it should be. + Use of this suffix was not the case in the 1.5 release. + Architecture names will change within package feeds as a + result. + + + +
+ +
+ BitBake + + + The following changes have been made to + BitBake. + + +
+ Matching Branch Requirement for Git Fetching + + + When fetching source from a Git repository using + SRC_URI, + BitBake will now validate the + SRCREV + value against the branch. + You can specify the branch using the following form: + + SRC_URI = "git://server.name/repository;branch=branchname" + + If you do not specify a branch, BitBake looks + in the default "master" branch. + + + + Alternatively, if you need to bypass this check (e.g. + if you are fetching a revision corresponding to a tag that + is not on any branch), you can add ";nobranch=1" to + the end of the URL within SRC_URI. + +
+ +
+ Python Definition substitutions + + + BitBake had some previously deprecated Python definitions + within its bb module removed. + You should use their sub-module counterparts instead: + + bb.MalformedUrl: + Use bb.fetch.MalformedUrl. + + bb.fetch.encodeurl: + Use bb.fetch.encodeurl. + + bb.decodeurl: + Use bb.fetch.decodeurl + + bb.mkdirhier: + Use bb.utils.mkdirhier. + + bb.movefile: + Use bb.utils.movefile. + + bb.copyfile: + Use bb.utils.copyfile. + + bb.which: + Use bb.utils.which. + + bb.vercmp_string: + Use bb.utils.vercmp_string. + + bb.vercmp: + Use bb.utils.vercmp. + + + +
+ +
+ SVK Fetcher + + + The SVK fetcher has been removed from BitBake. + +
+ +
+ Console Output Error Redirection + + + The BitBake console UI will now output errors to + stderr instead of + stdout. + Consequently, if you are piping or redirecting the output of + bitbake to somewhere else, and you wish + to retain the errors, you will need to add + 2>&1 (or something similar) to the + end of your bitbake command line. + +
+ +
+ <filename>task-</filename><replaceable>taskname</replaceable> Overrides + + + task-taskname overrides have been + adjusted so that tasks whose names contain underscores have the + underscores replaced by hyphens for the override so that they + now function properly. + For example, the task override for + do_populate_sdk + is task-populate-sdk. + +
+
+ +
+ Changes to Variables + + + The following variables have changed. + For information on the OpenEmbedded build system variables, see the + "Variables Glossary" Chapter. + + +
+ <filename>TMPDIR</filename> + + + TMPDIR + can no longer be on an NFS mount. + NFS does not offer full POSIX locking and inode consistency + and can cause unexpected issues if used to store + TMPDIR. + + + + The check for this occurs on startup. + If TMPDIR is detected on an NFS mount, + an error occurs. + +
+ +
+ <filename>PRINC</filename> + + + The + PRINC + variable has been deprecated and triggers a warning if + detected during a build. + For + PR + increments on changes, use the PR service instead. + You can find out more about this service in the + "Working With a PR Service" + section in the Yocto Project Development Manual. + +
+ +
+ <filename>IMAGE_TYPES</filename> + + + The "sum.jffs2" option for + IMAGE_TYPES + has been replaced by the "jffs2.sum" option, which fits the + processing order. + +
+ +
+ <filename>COPY_LIC_MANIFEST</filename> + + + The + COPY_LIC_MANIFEST + variable must + now be set to "1" rather than any value in order to enable + it. + +
+ +
+ <filename>COPY_LIC_DIRS</filename> + + + The + COPY_LIC_DIRS + variable must + now be set to "1" rather than any value in order to enable + it. + +
+ +
+ <filename>PACKAGE_GROUP</filename> + + + The + PACKAGE_GROUP + variable has been renamed to + FEATURE_PACKAGES + to more accurately reflect its purpose. + You can still use PACKAGE_GROUP but + the OpenEmbedded build system produces a warning message when + it encounters the variable. + +
+
+ +
+ Directory Layout Changes + + + The meta-hob layer has been removed from + the top-level of the + Source Directory. + The contents of this layer are no longer needed by the Hob + user interface for building images and toolchains. + +
+ +
+ Package Test (ptest) + + + Package Tests (ptest) are built but not installed by default. + For information on using Package Tests, see the + "Setting up and running package test (ptest)" + section in the Yocto Project Development Manual. + For information on the ptest class, see the + "ptest.bbclass" + section. + +
+ +
+ Build Changes + + + Separate build and source directories have been enabled + by default for selected recipes where it is known to work + (a whitelist) and for all recipes that inherit the + cmake + class. + In future releases the + autotools + class will enable a separate build directory by default as + well. + Recipes building Autotools-based + software that fails to build with a separate build directory + should be changed to inherit from the + autotools-brokensep + class instead of the autotools class. + +
+ +
+ <filename>qemu-native</filename> + + + qemu-native now builds without + SDL-based graphical output support by default. + The following additional lines are needed in your + local.conf to enable it: + + PACKAGECONFIG_pn-qemu-native = "sdl" + ASSUME_PROVIDED += "libsdl-native" + + + The default local.conf + contains these statements. + Consequently, if you are building a headless system and using + a default local.conf file, you will need + comment these two lines out. + + +
+ +
+ <filename>core-image-basic</filename> + + + core-image-basic has been renamed to + core-image-full-cmdline. + + + + In addition to core-image-basic being renamed, + packagegroup-core-basic has been renamed to + packagegroup-core-full-cmdline to match. + +
+ +
+ Licensing + + + The top-level LICENSE file has been changed + to better describe the license of the various components of + OE-Core. + However, the licensing itself remains unchanged. + + + + Normally, this change would not cause any side-effects. + However, some recipes point to this file within + LIC_FILES_CHKSUM + (as ${COREBASE}/LICENSE) and thus the + accompanying checksum must be changed from + 3f40d7994397109285ec7b81fdeb3b58 to + 4d92cd373abda3937c2bc47fbc49d690. + A better alternative is to have + LIC_FILES_CHKSUM point to a file + describing the license that is distributed with the source + that the recipe is building, if possible, rather than pointing + to ${COREBASE}/LICENSE. + +
+ +
+ <filename>CFLAGS</filename> Options + + + The "-fpermissive" option has been removed from the default + CFLAGS + value. + You need to take action on individual recipes that fail when + building with this option. + You need to either patch the recipes to fix the issues reported by + the compiler, or you need to add "-fpermissive" to + CFLAGS in the recipes. + +
+ +
+ Custom Image Output Types + + + Custom image output types, as selected using + IMAGE_FSTYPES, + must declare their dependencies on other image types (if any) using + a new + IMAGE_TYPEDEP + variable. + +
+ +
+ Tasks + + + The do_package_write task has been removed. + The task is no longer needed. + +
+ +
+ <filename>update-alternative</filename> Provider + + + The default update-alternatives provider has + been changed from opkg to + opkg-utils. + This change resolves some troublesome circular dependencies. + The runtime package has also been renamed from + update-alternatives-cworth + to update-alternatives-opkg. + +
+ +
+ <filename>virtclass</filename> Overrides + + + The virtclass overrides are now deprecated. + Use the equivalent class overrides instead (e.g. + virtclass-native becomes + class-native.) + +
+ +
+ Removed and Renamed Recipes + + + The following recipes have been removed: + + packagegroup-toolset-native - + This recipe is largely unused. + + linux-yocto-3.8 - + Support for the Linux yocto 3.8 kernel has been dropped. + Support for the 3.10 and 3.14 kernels have been added + with the linux-yocto-3.10 and + linux-yocto-3.14 recipes. + + ocf-linux - + This recipe has been functionally replaced using + cryptodev-linux. + + genext2fs - + genext2fs is no longer used by the + build system and is unmaintained upstream. + + js - + This provided an ancient version of Mozilla's javascript + engine that is no longer needed. + + zaurusd - + The recipe has been moved to the + meta-handheld layer. + + eglibc 2.17 - + Replaced by the eglibc 2.19 + recipe. + + gcc 4.7.2 - + Replaced by the now stable + gcc 4.8.2. + + external-sourcery-toolchain - + this recipe is now maintained in the + meta-sourcery layer. + + linux-libc-headers-yocto 3.4+git - + Now using version 3.10 of the + linux-libc-headers by default. + + meta-toolchain-gmae - + This recipe is obsolete. + + packagegroup-core-sdk-gmae - + This recipe is obsolete. + + packagegroup-core-standalone-gmae-sdk-target - + This recipe is obsolete. + + + +
+ +
+ Removed Classes + + + The following classes have become obsolete and have been removed: + + module_strip + + pkg_metainfo + + pkg_distribute + + image-empty + + + +
+ +
+ Reference Board Support Packages (BSPs) + + + The following reference BSPs changes occurred: + + The BeagleBoard + (beagleboard) ARM reference hardware + has been replaced by the BeagleBone + (beaglebone) hardware. + + The RouterStation Pro + (routerstationpro) MIPS reference + hardware has been replaced by the EdgeRouter Lite + (edgerouter) hardware. + + + The previous reference BSPs for the + beagleboard and + routerstationpro machines are still available + in a new meta-yocto-bsp-old layer in the + Source Repositories + at + http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto-bsp-old/. + +
+
+ +
+ 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. + + +
+ Changes to Setting QEMU <filename>PACKAGECONFIG</filename> Options in <filename>local.conf</filename> + + + The QEMU recipe now uses a number of + PACKAGECONFIG + options to enable various optional features. + The method used to set defaults for these options means that + existing + local.conf files will need to be be + modified to append to PACKAGECONFIG for + qemu-native and + nativesdk-qemu instead of setting it. + In other words, to enable graphical output for QEMU, you should + now have these lines in local.conf: + + PACKAGECONFIG_append_pn-qemu-native = " sdl" + PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" + + +
+ +
+ 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. + +
+ +
+ Autotools Class Changes + + + The following + autotools + class changes occurred: + + + A separate build directory is now used by default: + The autotools class has been changed + to use a directory for building + (B), + which is separate from the source directory + (S). + This is commonly referred to as + B != S, or an out-of-tree build. + 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 the software is not capable of being built + in this manner, 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. + + + The ‐‐foreign option is + no longer passed to automake when + running autoconf: + 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. + Because the majority of upstream software packages already + tell automake to enable foreign mode + themselves, the 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 + this commit + for an example showing how to make the patch. + + + +
+ +
+ Binary Configuration Scripts Disabled + + + Some of the core recipes that package binary configuration scripts + now disable the scripts 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) + + Additionally, 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 requires version 2.6.32 or greater + 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 + here. + +
+ +
+ Kernel Module Autoloading + + + The + module_autoload_* + variable is now deprecated and a new + KERNEL_MODULE_AUTOLOAD + variable should be used instead. + Also, + module_conf_* + must now be used in conjunction with a new + KERNEL_MODULE_PROBECONF + variable. + The new 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_* with + KERNEL_MODULE_AUTOLOAD, and add any modules + for which module_conf_* is specified to + KERNEL_MODULE_PROBECONF. + + + + For more information, see the + KERNEL_MODULE_AUTOLOAD + and + KERNEL_MODULE_PROBECONF + variables. + +
+ +
+ 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. + You might now receive this error after changes in + configuration or metadata resulting in orphaned files + being left in the sysroot. + If you do receive this error, the way to resolve the issue + is to delete your + TMPDIR + or to move it out of the way and then re-start the build. + Anything that has been fully built up to that point and + does not need rebuilding will be restored from the shared + state cache and the rest of the build will be able to + proceed as normal. + + + +
+ +
+ 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. + + + +
+ +
+ 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. + + + +
+
+ +
+ -- cgit v1.2.3-54-g00ecf