1.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
3Release 1.3 (danny)
4===================
5
6This section provides migration information for moving to the Yocto
7Project 1.3 Release (codename "danny") from the prior release.
8
9.. _1.3-local-configuration:
10
11Local Configuration
12-------------------
13
14Differences include changes for
15:term:`SSTATE_MIRRORS` and ``bblayers.conf``.
16
17.. _migration-1.3-sstate-mirrors:
18
19SSTATE_MIRRORS
20~~~~~~~~~~~~~~
21
22The shared state cache (sstate-cache), as pointed to by
23:term:`SSTATE_DIR`, by default now has two-character
24subdirectories to prevent issues arising from too many files in the same
25directory. Also, native sstate-cache packages, which are built to run on
26the host system, will go into a subdirectory named using the distro ID
27string. If you copy the newly structured sstate-cache to a mirror
28location (either local or remote) and then point to it in
29:term:`SSTATE_MIRRORS`, you need to append "PATH"
30to the end of the mirror URL so that the path used by BitBake before the
31mirror substitution is appended to the path used to access the mirror.
32Here is an example::
33
34   SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH"
35
36.. _migration-1.3-bblayers-conf:
37
38bblayers.conf
39~~~~~~~~~~~~~
40
41The ``meta-yocto`` layer consists of two parts that correspond to the
42Poky reference distribution and the reference hardware Board Support
43Packages (BSPs), respectively: ``meta-yocto`` and ``meta-yocto-bsp``.
44When running BitBake for the first time after upgrading, your
45``conf/bblayers.conf`` file will be updated to handle this change and
46you will be asked to re-run or restart for the changes to take effect.
47
48.. _1.3-recipes:
49
50Recipes
51-------
52
53Differences include changes for the following:
54
55.. _migration-1.3-python-function-whitespace:
56
57Python Function Whitespace
58~~~~~~~~~~~~~~~~~~~~~~~~~~
59
60All Python functions must now use four spaces for indentation.
61Previously, an inconsistent mix of spaces and tabs existed, which made
62extending these functions using ``_append`` or ``_prepend`` complicated
63given that Python treats whitespace as syntactically significant. If you
64are defining or extending any Python functions (e.g.
65``populate_packages``, :ref:`ref-tasks-unpack`, :ref:`ref-tasks-patch` and so forth) in
66custom recipes or classes, you need to ensure you are using consistent
67four-space indentation.
68
69.. _migration-1.3-proto=-in-src-uri:
70
71proto= in SRC_URI
72~~~~~~~~~~~~~~~~~
73
74Any use of ``proto=`` in :term:`SRC_URI` needs to be
75changed to ``protocol=``. In particular, this applies to the following
76URIs:
77
78-  ``svn://``
79
80-  ``bzr://``
81
82-  ``hg://``
83
84-  ``osc://``
85
86Other URIs were already using ``protocol=``. This change improves
87consistency.
88
89.. _migration-1.3-nativesdk:
90
91nativesdk
92~~~~~~~~~
93
94The suffix ``nativesdk`` is now implemented as a prefix, which simplifies a lot
95of the packaging code for :ref:`ref-classes-nativesdk` recipes.  All custom
96:ref:`ref-classes-nativesdk` recipes, which are relocatable packages that are
97native to :term:`SDK_ARCH`, and any references need to be updated to use
98``nativesdk-*`` instead of ``*-nativesdk``.
99
100.. _migration-1.3-task-recipes:
101
102Task Recipes
103~~~~~~~~~~~~
104
105"Task" recipes are now known as "Package groups" and have been renamed
106from ``task-*.bb`` to ``packagegroup-*.bb``. Existing references to the
107previous ``task-*`` names should work in most cases as there is an
108automatic upgrade path for most packages. However, you should update
109references in your own recipes and configurations as they could be
110removed in future releases. You should also rename any custom ``task-*``
111recipes to ``packagegroup-*``, and change them to inherit
112:ref:`ref-classes-packagegroup` instead of ``task``, as well
113as taking the opportunity to remove anything now handled by
114:ref:`ref-classes-packagegroup`, such as providing ``-dev`` and ``-dbg``
115packages, setting :term:`LIC_FILES_CHKSUM`, and so forth. See the
116:ref:`ref-classes-packagegroup` section for further details.
117
118.. _migration-1.3-image-features:
119
120IMAGE_FEATURES
121~~~~~~~~~~~~~~
122
123Image recipes that previously included ``apps-console-core`` in
124:term:`IMAGE_FEATURES` should now include ``splash``
125instead to enable the boot-up splash screen. Retaining
126``apps-console-core`` will still include the splash screen but generates a
127warning. The ``apps-x11-core`` and ``apps-x11-games`` :term:`IMAGE_FEATURES`
128features have been removed.
129
130.. _migration-1.3-removed-recipes:
131
132Removed Recipes
133~~~~~~~~~~~~~~~
134
135The following recipes have been removed. For most of them, it is
136unlikely that you would have any references to them in your own
137:term:`Metadata`. However, you should check your metadata
138against this list to be sure:
139
140-  ``libx11-trim``: Replaced by ``libx11``, which has a negligible
141   size difference with modern Xorg.
142
143-  ``xserver-xorg-lite``: Use ``xserver-xorg``, which has a negligible
144   size difference when DRI and GLX modules are not installed.
145
146-  ``xserver-kdrive``: Effectively unmaintained for many years.
147
148-  ``mesa-xlib``: No longer serves any purpose.
149
150-  ``galago``: Replaced by telepathy.
151
152-  ``gail``: Functionality was integrated into GTK+ 2.13.
153
154-  ``eggdbus``: No longer needed.
155
156-  ``gcc-*-intermediate``: The build has been restructured to avoid
157   the need for this step.
158
159-  ``libgsmd``: Unmaintained for many years. Functionality now
160   provided by ``ofono`` instead.
161
162-  *contacts, dates, tasks, eds-tools*: Largely unmaintained PIM
163   application suite. It has been moved to ``meta-gnome`` in
164   ``meta-openembedded``.
165
166In addition to the previously listed changes, the ``meta-demoapps``
167directory has also been removed because the recipes in it were not being
168maintained and many had become obsolete or broken. Additionally, these
169recipes were not parsed in the default configuration. Many of these
170recipes are already provided in an updated and maintained form within
171the OpenEmbedded community layers such as ``meta-oe`` and
172``meta-gnome``. For the remainder, you can now find them in the
173``meta-extras`` repository, which is in the
174:yocto_git:`Source Repositories <>` at
175:yocto_git:`/meta-extras/`.
176
177.. _1.3-linux-kernel-naming:
178
179Linux Kernel Naming
180-------------------
181
182The naming scheme for kernel output binaries has been changed to now
183include :term:`PE` as part of the filename::
184
185   KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
186
187Because the :term:`PE` variable is not set by default, these binary files
188could result with names that include two dash characters. Here is an
189example::
190
191   bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin
192
193
194