1.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
3Release 1.4 (dylan)
4===================
5
6This section provides migration information for moving to the Yocto
7Project 1.4 Release (codename "dylan") from the prior release.
8
9.. _migration-1.4-bitbake:
10
11BitBake
12-------
13
14Differences include the following:
15
16-  *Comment Continuation:* If a comment ends with a line continuation
17   (\\) character, then the next line must also be a comment. Any
18   instance where this is not the case, now triggers a warning. You must
19   either remove the continuation character, or be sure the next line is
20   a comment.
21
22-  *Package Name Overrides:* The runtime package specific variables
23   :term:`RDEPENDS`,
24   :term:`RRECOMMENDS`,
25   :term:`RSUGGESTS`,
26   :term:`RPROVIDES`,
27   :term:`RCONFLICTS`,
28   :term:`RREPLACES`, :term:`FILES`,
29   :term:`ALLOW_EMPTY`, and the pre, post, install,
30   and uninstall script functions ``pkg_preinst``, ``pkg_postinst``,
31   ``pkg_prerm``, and ``pkg_postrm`` should always have a package name
32   override. For example, use ``RDEPENDS_${PN}`` for the main package
33   instead of :term:`RDEPENDS`. BitBake uses more strict checks when it
34   parses recipes.
35
36.. _migration-1.4-build-behavior:
37
38Build Behavior
39--------------
40
41Differences include the following:
42
43-  *Shared State Code:* The shared state code has been optimized to
44   avoid running unnecessary tasks. For example, the following no longer
45   populates the target sysroot since that is not necessary::
46
47      $ bitbake -c rootfs some-image
48
49   Instead, the system just needs to extract the
50   output package contents, re-create the packages, and construct the
51   root filesystem. This change is unlikely to cause any problems unless
52   you have missing declared dependencies.
53
54-  *Scanning Directory Names:* When scanning for files in
55   :term:`SRC_URI`, the build system now uses
56   :term:`FILESOVERRIDES` instead of
57   :term:`OVERRIDES` for the directory names. In
58   general, the values previously in :term:`OVERRIDES` are now in
59   :term:`FILESOVERRIDES` as well. However, if you relied upon an additional
60   value you previously added to :term:`OVERRIDES`, you might now need to
61   add it to :term:`FILESOVERRIDES` unless you are already adding it through
62   the :term:`MACHINEOVERRIDES` or
63   :term:`DISTROOVERRIDES` variables, as
64   appropriate. For more related changes, see the
65   ":ref:`migration-guides/migration-1.4:variables`" section.
66
67.. _migration-1.4-proxies-and-fetching-source:
68
69Proxies and Fetching Source
70---------------------------
71
72A new ``oe-git-proxy`` script has been added to replace previous methods
73of handling proxies and fetching source from Git. See the
74``meta-yocto/conf/site.conf.sample`` file for information on how to use
75this script.
76
77.. _migration-1.4-custom-interfaces-file-netbase-change:
78
79Custom Interfaces File (netbase change)
80---------------------------------------
81
82If you have created your own custom ``etc/network/interfaces`` file by
83creating an append file for the ``netbase`` recipe, you now need to
84create an append file for the ``init-ifupdown`` recipe instead, which
85you can find in the :term:`Source Directory` at
86``meta/recipes-core/init-ifupdown``. For information on how to use
87append files, see the
88":ref:`dev-manual/layers:appending other layers metadata with your layer`"
89section in the Yocto Project Development Tasks Manual.
90
91.. _migration-1.4-remote-debugging:
92
93Remote Debugging
94----------------
95
96Support for remote debugging with the Eclipse IDE is now separated into
97an image feature (``eclipse-debug``) that corresponds to the
98``packagegroup-core-eclipse-debug`` package group. Previously, the
99debugging feature was included through the ``tools-debug`` image
100feature, which corresponds to the ``packagegroup-core-tools-debug``
101package group.
102
103.. _migration-1.4-variables:
104
105Variables
106---------
107
108The following variables have changed:
109
110-  :term:`SANITY_TESTED_DISTROS`: This variable now uses a distribution
111   ID, which is composed of the host distributor ID followed by the
112   release. Previously,
113   :term:`SANITY_TESTED_DISTROS` was
114   composed of the description field. For example, "Ubuntu 12.10"
115   becomes "Ubuntu-12.10". You do not need to worry about this change if
116   you are not specifically setting this variable, or if you are
117   specifically setting it to "".
118
119-  :term:`SRC_URI`: The ``${``\ :term:`PN`\ ``}``,
120   ``${``\ :term:`PF`\ ``}``,
121   ``${``\ :term:`P`\ ``}``, and ``FILE_DIRNAME`` directories
122   have been dropped from the default value of the
123   :term:`FILESPATH` variable, which is used as the
124   search path for finding files referred to in
125   :term:`SRC_URI`. If you have a recipe that relied upon
126   these directories, which would be unusual, then you will need to add
127   the appropriate paths within the recipe or, alternatively, rearrange
128   the files. The most common locations are still covered by ``${``\ :term:`BP`\ ``}``,
129   ``${``\ :term:`BPN`\ ``}``, and "files", which all remain in the default value of
130   :term:`FILESPATH`.
131
132.. _migration-target-package-management-with-rpm:
133
134Target Package Management with RPM
135----------------------------------
136
137If runtime package management is enabled and the RPM backend is
138selected, Smart is now installed for package download, dependency
139resolution, and upgrades instead of Zypper. For more information on how
140to use Smart, run the following command on the target::
141
142   smart --help
143
144.. _migration-1.4-recipes-moved:
145
146Recipes Moved
147-------------
148
149The following recipes were moved from their previous locations because
150they are no longer used by anything in the OpenEmbedded-Core:
151
152-  ``clutter-box2d``: Now resides in the ``meta-oe`` layer.
153
154-  ``evolution-data-server``: Now resides in the ``meta-gnome`` layer.
155
156-  ``gthumb``: Now resides in the ``meta-gnome`` layer.
157
158-  ``gtkhtml2``: Now resides in the ``meta-oe`` layer.
159
160-  ``gupnp``: Now resides in the ``meta-multimedia`` layer.
161
162-  ``gypsy``: Now resides in the ``meta-oe`` layer.
163
164-  ``libcanberra``: Now resides in the ``meta-gnome`` layer.
165
166-  ``libgdata``: Now resides in the ``meta-gnome`` layer.
167
168-  ``libmusicbrainz``: Now resides in the ``meta-multimedia`` layer.
169
170-  ``metacity``: Now resides in the ``meta-gnome`` layer.
171
172-  ``polkit``: Now resides in the ``meta-oe`` layer.
173
174-  ``zeroconf``: Now resides in the ``meta-networking`` layer.
175
176.. _migration-1.4-removals-and-renames:
177
178Removals and Renames
179--------------------
180
181The following list shows what has been removed or renamed:
182
183-  ``evieext``: Removed because it has been removed from ``xserver``
184   since 2008.
185
186-  *Gtk+ DirectFB:* Removed support because upstream Gtk+ no longer
187   supports it as of version 2.18.
188
189-  ``libxfontcache / xfontcacheproto``: Removed because they were
190   removed from the Xorg server in 2008.
191
192-  ``libxp / libxprintapputil / libxprintutil / printproto``: Removed
193   because the XPrint server was removed from Xorg in 2008.
194
195-  ``libxtrap / xtrapproto``: Removed because their functionality was
196   broken upstream.
197
198-  *linux-yocto 3.0 kernel:* Removed with linux-yocto 3.8 kernel being
199   added. The linux-yocto 3.2 and linux-yocto 3.4 kernels remain as part
200   of the release.
201
202-  ``lsbsetup``: Removed with functionality now provided by
203   ``lsbtest``.
204
205-  ``matchbox-stroke``: Removed because it was never more than a
206   proof-of-concept.
207
208-  ``matchbox-wm-2 / matchbox-theme-sato-2``: Removed because they are
209   not maintained. However, ``matchbox-wm`` and ``matchbox-theme-sato``
210   are still provided.
211
212-  ``mesa-dri``: Renamed to ``mesa``.
213
214-  ``mesa-xlib``: Removed because it was no longer useful.
215
216-  ``mutter``: Removed because nothing ever uses it and the recipe is
217   very old.
218
219-  ``orinoco-conf``: Removed because it has become obsolete.
220
221-  ``update-modules``: Removed because it is no longer used. The
222   kernel module ``postinstall`` and ``postrm`` scripts can now do the
223   same task without the use of this script.
224
225-  ``web``: Removed because it is not maintained. Superseded by
226   ``web-webkit``.
227
228-  ``xf86bigfontproto``: Removed because upstream it has been disabled
229   by default since 2007. Nothing uses ``xf86bigfontproto``.
230
231-  ``xf86rushproto``: Removed because its dependency in ``xserver``
232   was spurious and it was removed in 2005.
233
234-  ``zypper / libzypp / sat-solver``: Removed and been functionally
235   replaced with Smart (``python-smartpm``) when RPM packaging is used
236   and package management is enabled on the target.
237
238