4.3 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.
4.3.1 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
, andpkg_postrm
should always have a package name override. For example, useRDEPENDS_${PN}
for the main package instead ofRDEPENDS
. BitBake uses more strict checks when it parses recipes.
4.3.2 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 inFILESOVERRIDES
as well. However, if you relied upon an additional value you previously added toOVERRIDES
, you might now need to add it toFILESOVERRIDES
unless you are already adding it through the MACHINEOVERRIDES or DISTROOVERRIDES variables, as appropriate. For more related changes, see the “Variables” section.
4.3.3 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.
4.3.4 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 Your Layer”
section in the Yocto Project Development Tasks Manual.
4.3.5 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.
4.3.6 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}
, andFILE_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.
4.3.7 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
4.3.8 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 themeta-oe
layer.evolution-data-server
: Now resides in themeta-gnome
layer.gthumb
: Now resides in themeta-gnome
layer.gtkhtml2
: Now resides in themeta-oe
layer.gupnp
: Now resides in themeta-multimedia
layer.gypsy
: Now resides in themeta-oe
layer.libcanberra
: Now resides in themeta-gnome
layer.libgdata
: Now resides in themeta-gnome
layer.libmusicbrainz
: Now resides in themeta-multimedia
layer.metacity
: Now resides in themeta-gnome
layer.polkit
: Now resides in themeta-oe
layer.zeroconf
: Now resides in themeta-networking
layer.
4.3.9 Removals and Renames
The following list shows what has been removed or renamed:
evieext
: Removed because it has been removed fromxserver
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 bylsbtest
.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
andmatchbox-theme-sato
are still provided.mesa-dri
: Renamed tomesa
.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 modulepostinstall
andpostrm
scripts can now do the same task without the use of this script.web
: Removed because it is not maintained. Superseded byweb-webkit
.xf86bigfontproto
: Removed because upstream it has been disabled by default since 2007. Nothing usesxf86bigfontproto
.xf86rushproto
: Removed because its dependency inxserver
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.