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 95simplifies a lot of the packaging code for ``nativesdk`` recipes. All 96custom ``nativesdk`` recipes, which are relocatable packages that are 97native to :term:`SDK_ARCH`, and any references need to 98be updated to use ``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``packagegroup`` instead of ``task``, as well as taking the opportunity 113to remove anything now handled by :ref:`ref-classes-packagegroup`, such as 114providing ``-dev`` and ``-dbg`` packages, setting 115:term:`LIC_FILES_CHKSUM`, and so forth. See the 116:ref:`ref-classes-packagegroup` section for 117further details. 118 119.. _migration-1.3-image-features: 120 121IMAGE_FEATURES 122~~~~~~~~~~~~~~ 123 124Image recipes that previously included ``apps-console-core`` in 125:term:`IMAGE_FEATURES` should now include ``splash`` 126instead to enable the boot-up splash screen. Retaining 127``apps-console-core`` will still include the splash screen but generates a 128warning. The ``apps-x11-core`` and ``apps-x11-games`` :term:`IMAGE_FEATURES` 129features have been removed. 130 131.. _migration-1.3-removed-recipes: 132 133Removed Recipes 134~~~~~~~~~~~~~~~ 135 136The following recipes have been removed. For most of them, it is 137unlikely that you would have any references to them in your own 138:term:`Metadata`. However, you should check your metadata 139against this list to be sure: 140 141- ``libx11-trim``: Replaced by ``libx11``, which has a negligible 142 size difference with modern Xorg. 143 144- ``xserver-xorg-lite``: Use ``xserver-xorg``, which has a negligible 145 size difference when DRI and GLX modules are not installed. 146 147- ``xserver-kdrive``: Effectively unmaintained for many years. 148 149- ``mesa-xlib``: No longer serves any purpose. 150 151- ``galago``: Replaced by telepathy. 152 153- ``gail``: Functionality was integrated into GTK+ 2.13. 154 155- ``eggdbus``: No longer needed. 156 157- ``gcc-*-intermediate``: The build has been restructured to avoid 158 the need for this step. 159 160- ``libgsmd``: Unmaintained for many years. Functionality now 161 provided by ``ofono`` instead. 162 163- *contacts, dates, tasks, eds-tools*: Largely unmaintained PIM 164 application suite. It has been moved to ``meta-gnome`` in 165 ``meta-openembedded``. 166 167In addition to the previously listed changes, the ``meta-demoapps`` 168directory has also been removed because the recipes in it were not being 169maintained and many had become obsolete or broken. Additionally, these 170recipes were not parsed in the default configuration. Many of these 171recipes are already provided in an updated and maintained form within 172the OpenEmbedded community layers such as ``meta-oe`` and 173``meta-gnome``. For the remainder, you can now find them in the 174``meta-extras`` repository, which is in the 175:yocto_git:`Source Repositories <>` at 176:yocto_git:`/meta-extras/`. 177 178.. _1.3-linux-kernel-naming: 179 180Linux Kernel Naming 181------------------- 182 183The naming scheme for kernel output binaries has been changed to now 184include :term:`PE` as part of the filename:: 185 186 KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}" 187 188Because the :term:`PE` variable is not set by default, these binary files 189could result with names that include two dash characters. Here is an 190example:: 191 192 bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin 193 194 195