1Release 1.5 (dora) 2================== 3 4This section provides migration information for moving to the Yocto 5Project 1.5 Release (codename "dora") from the prior release. 6 7.. _migration-1.5-host-dependency-changes: 8 9Host Dependency Changes 10----------------------- 11 12The OpenEmbedded build system now has some additional requirements on 13the host system: 14 15- Python 2.7.3+ 16 17- Tar 1.24+ 18 19- Git 1.7.8+ 20 21- Patched version of Make if you are using 3.82. Most distributions 22 that provide Make 3.82 use the patched version. 23 24If the Linux distribution you are using on your build host does not 25provide packages for these, you can install and use the Buildtools 26tarball, which provides an SDK-like environment containing them. 27 28For more information on this requirement, see the 29":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`" 30section. 31 32.. _migration-1.5-atom-pc-bsp: 33 34``atom-pc`` Board Support Package (BSP) 35--------------------------------------- 36 37The ``atom-pc`` hardware reference BSP has been replaced by a 38``genericx86`` BSP. This BSP is not necessarily guaranteed to work on 39all x86 hardware, but it will run on a wider range of systems than the 40``atom-pc`` did. 41 42.. note:: 43 44 Additionally, a ``genericx86-64`` BSP has been added for 64-bit Atom 45 systems. 46 47.. _migration-1.5-bitbake: 48 49BitBake 50------- 51 52The following changes have been made that relate to BitBake: 53 54- BitBake now supports a ``_remove`` operator. The addition of this 55 operator means you will have to rename any items in recipe space 56 (functions, variables) whose names currently contain ``_remove_`` or 57 end with ``_remove`` to avoid unexpected behavior. 58 59- BitBake's global method pool has been removed. This method is not 60 particularly useful and led to clashes between recipes containing 61 functions that had the same name. 62 63- The "none" server backend has been removed. The "process" server 64 backend has been serving well as the default for a long time now. 65 66- The ``bitbake-runtask`` script has been removed. 67 68- ``${``\ :term:`P`\ ``}`` and 69 ``${``\ :term:`PF`\ ``}`` are no longer added to 70 :term:`PROVIDES` by default in ``bitbake.conf``. 71 These version-specific :term:`PROVIDES` items were seldom used. 72 Attempting to use them could result in two versions being built 73 simultaneously rather than just one version due to the way BitBake 74 resolves dependencies. 75 76.. _migration-1.5-qa-warnings: 77 78QA Warnings 79----------- 80 81The following changes have been made to the package QA checks: 82 83- If you have customized :term:`ERROR_QA` or 84 :term:`WARN_QA` values in your configuration, check 85 that they contain all of the issues that you wish to be reported. 86 Previous Yocto Project versions contained a bug that meant that any 87 item not mentioned in :term:`ERROR_QA` or :term:`WARN_QA` would be treated as 88 a warning. Consequently, several important items were not already in 89 the default value of :term:`WARN_QA`. All of the possible QA checks are 90 now documented in the ":ref:`ref-classes-insane`" section. 91 92- An additional QA check has been added to check if 93 ``/usr/share/info/dir`` is being installed. Your recipe should delete 94 this file within :ref:`ref-tasks-install` if "make 95 install" is installing it. 96 97- If you are using the :ref:`buildhistory <ref-classes-buildhistory>` class, 98 the check for the package 99 version going backwards is now controlled using a standard QA check. 100 Thus, if you have customized your :term:`ERROR_QA` or :term:`WARN_QA` values 101 and still wish to have this check performed, you should add 102 "version-going-backwards" to your value for one or the other 103 variables depending on how you wish it to be handled. See the 104 documented QA checks in the ":ref:`ref-classes-insane`" section. 105 106.. _migration-1.5-directory-layout-changes: 107 108Directory Layout Changes 109------------------------ 110 111The following directory changes exist: 112 113- Output SDK installer files are now named to include the image name 114 and tuning architecture through the :term:`SDK_NAME` 115 variable. 116 117- Images and related files are now installed into a directory that is 118 specific to the machine, instead of a parent directory containing 119 output files for multiple machines. The 120 :term:`DEPLOY_DIR_IMAGE` variable continues 121 to point to the directory containing images for the current 122 :term:`MACHINE` and should be used anywhere there is a 123 need to refer to this directory. The ``runqemu`` script now uses this 124 variable to find images and kernel binaries and will use BitBake to 125 determine the directory. Alternatively, you can set the 126 :term:`DEPLOY_DIR_IMAGE` variable in the external environment. 127 128- When buildhistory is enabled, its output is now written under the 129 :term:`Build Directory` rather than 130 :term:`TMPDIR`. Doing so makes it easier to delete 131 :term:`TMPDIR` and preserve the build history. Additionally, data for 132 produced SDKs is now split by :term:`IMAGE_NAME`. 133 134- The ``pkgdata`` directory produced as part of the packaging process 135 has been collapsed into a single machine-specific directory. This 136 directory is located under ``sysroots`` and uses a machine-specific 137 name (i.e. ``tmp/sysroots/machine/pkgdata``). 138 139.. _migration-1.5-shortened-git-srcrev-values: 140 141Shortened Git ``SRCREV`` Values 142------------------------------- 143 144BitBake will now shorten revisions from Git repositories from the normal 14540 characters down to 10 characters within :term:`SRCPV` 146for improved usability in path and filenames. This change should be 147safe within contexts where these revisions are used because the chances 148of spatially close collisions is very low. Distant collisions are not a 149major issue in the way the values are used. 150 151.. _migration-1.5-image-features: 152 153``IMAGE_FEATURES`` 154------------------ 155 156The following changes have been made that relate to 157:term:`IMAGE_FEATURES`: 158 159- The value of :term:`IMAGE_FEATURES` is now validated to ensure invalid 160 feature items are not added. Some users mistakenly add package names 161 to this variable instead of using 162 :term:`IMAGE_INSTALL` in order to have the 163 package added to the image, which does not work. This change is 164 intended to catch those kinds of situations. Valid :term:`IMAGE_FEATURES` 165 are drawn from ``PACKAGE_GROUP`` definitions, 166 :term:`COMPLEMENTARY_GLOB` and a new 167 "validitems" varflag on :term:`IMAGE_FEATURES`. The "validitems" varflag 168 change allows additional features to be added if they are not 169 provided using the previous two mechanisms. 170 171- The previously deprecated "apps-console-core" :term:`IMAGE_FEATURES` item 172 is no longer supported. Add "splash" to :term:`IMAGE_FEATURES` if you 173 wish to have the splash screen enabled, since this is all that 174 apps-console-core was doing. 175 176.. _migration-1.5-run: 177 178``/run`` 179-------- 180 181The ``/run`` directory from the Filesystem Hierarchy Standard 3.0 has 182been introduced. You can find some of the implications for this change 183:oe_git:`here </openembedded-core/commit/?id=0e326280a15b0f2c4ef2ef4ec441f63f55b75873>`. 184The change also means that recipes that install files to ``/var/run`` 185must be changed. You can find a guide on how to make these changes 186`here <https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg31649.html>`__. 187 188.. _migration-1.5-removal-of-package-manager-database-within-image-recipes: 189 190Removal of Package Manager Database Within Image Recipes 191-------------------------------------------------------- 192 193The image ``core-image-minimal`` no longer adds 194``remove_packaging_data_files`` to 195:term:`ROOTFS_POSTPROCESS_COMMAND`. 196This addition is now handled automatically when "package-management" is 197not in :term:`IMAGE_FEATURES`. If you have custom 198image recipes that make this addition, you should remove the lines, as 199they are not needed and might interfere with correct operation of 200postinstall scripts. 201 202.. _migration-1.5-images-now-rebuild-only-on-changes-instead-of-every-time: 203 204Images Now Rebuild Only on Changes Instead of Every Time 205-------------------------------------------------------- 206 207The :ref:`ref-tasks-rootfs` and other related image 208construction tasks are no longer marked as "nostamp". Consequently, they 209will only be re-executed when their inputs have changed. Previous 210versions of the OpenEmbedded build system always rebuilt the image when 211requested rather when necessary. 212 213.. _migration-1.5-task-recipes: 214 215Task Recipes 216------------ 217 218The previously deprecated ``task.bbclass`` has now been dropped. For 219recipes that previously inherited from this class, you should rename 220them from ``task-*`` to ``packagegroup-*`` and inherit packagegroup 221instead. 222 223For more information, see the ":ref:`ref-classes-packagegroup`" section. 224 225.. _migration-1.5-busybox: 226 227BusyBox 228------- 229 230By default, we now split BusyBox into two binaries: one that is suid 231root for those components that need it, and another for the rest of the 232components. Splitting BusyBox allows for optimization that eliminates 233the ``tinylogin`` recipe as recommended by upstream. You can disable 234this split by setting 235:term:`BUSYBOX_SPLIT_SUID` to "0". 236 237.. _migration-1.5-automated-image-testing: 238 239Automated Image Testing 240----------------------- 241 242A new automated image testing framework has been added through the 243:ref:`ref-classes-testimage*` classes. This 244framework replaces the older ``imagetest-qemu`` framework. 245 246You can learn more about performing automated image tests in the 247":ref:`dev-manual/common-tasks:performing automated runtime testing`" 248section in the Yocto Project Development Tasks Manual. 249 250.. _migration-1.5-build-history: 251 252Build History 253------------- 254 255Following are changes to Build History: 256 257- Installed package sizes: ``installed-package-sizes.txt`` for an image 258 now records the size of the files installed by each package instead 259 of the size of each compressed package archive file. 260 261- The dependency graphs (``depends*.dot``) now use the actual package 262 names instead of replacing dashes, dots and plus signs with 263 underscores. 264 265- The ``buildhistory-diff`` and ``buildhistory-collect-srcrevs`` 266 utilities have improved command-line handling. Use the ``--help`` 267 option for each utility for more information on the new syntax. 268 269For more information on Build History, see the 270":ref:`dev-manual/common-tasks:maintaining build output quality`" 271section in the Yocto Project Development Tasks Manual. 272 273.. _migration-1.5-udev: 274 275``udev`` 276-------- 277 278Following are changes to ``udev``: 279 280- ``udev`` no longer brings in ``udev-extraconf`` automatically through 281 :term:`RRECOMMENDS`, since this was originally 282 intended to be optional. If you need the extra rules, then add 283 ``udev-extraconf`` to your image. 284 285- ``udev`` no longer brings in ``pciutils-ids`` or ``usbutils-ids`` 286 through :term:`RRECOMMENDS`. These are not needed by ``udev`` itself and 287 removing them saves around 350KB. 288 289.. _migration-1.5-removed-renamed-recipes: 290 291Removed and Renamed Recipes 292--------------------------- 293 294- The ``linux-yocto`` 3.2 kernel has been removed. 295 296- ``libtool-nativesdk`` has been renamed to ``nativesdk-libtool``. 297 298- ``tinylogin`` has been removed. It has been replaced by a suid 299 portion of Busybox. See the ":ref:`migration-1.5-busybox`" 300 section for more information. 301 302- ``external-python-tarball`` has been renamed to 303 ``buildtools-tarball``. 304 305- ``web-webkit`` has been removed. It has been functionally replaced by 306 ``midori``. 307 308- ``imake`` has been removed. It is no longer needed by any other 309 recipe. 310 311- ``transfig-native`` has been removed. It is no longer needed by any 312 other recipe. 313 314- ``anjuta-remote-run`` has been removed. Anjuta IDE integration has 315 not been officially supported for several releases. 316 317.. _migration-1.5-other-changes: 318 319Other Changes 320------------- 321 322Following is a list of short entries describing other changes: 323 324- ``run-postinsts``: Make this generic. 325 326- ``base-files``: Remove the unnecessary ``media/``\ xxx directories. 327 328- ``alsa-state``: Provide an empty ``asound.conf`` by default. 329 330- ``classes/image``: Ensure 331 :term:`BAD_RECOMMENDATIONS` supports 332 pre-renamed package names. 333 334- ``classes/rootfs_rpm``: Implement :term:`BAD_RECOMMENDATIONS` for RPM. 335 336- ``systemd``: Remove ``systemd_unitdir`` if ``systemd`` is not in 337 :term:`DISTRO_FEATURES`. 338 339- ``systemd``: Remove ``init.d`` dir if ``systemd`` unit file is 340 present and ``sysvinit`` is not a distro feature. 341 342- ``libpam``: Deny all services for the ``OTHER`` entries. 343 344- :ref:`ref-classes-image`: Move ``runtime_mapping_rename`` to avoid conflict 345 with ``multilib``. See :yocto_bugs:`YOCTO #4993 </show_bug.cgi?id=4993>` 346 in Bugzilla for more information. 347 348- ``linux-dtb``: Use kernel build system to generate the ``dtb`` files. 349 350- ``kern-tools``: Switch from guilt to new ``kgit-s2q`` tool. 351 352