diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-15 23:00:15 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-17 10:09:35 +0100 |
| commit | dd8c9b74d3b46aed6d1315af83769ff29109b65a (patch) | |
| tree | 075ae3b1c81896476e752a944796071f1b8e18bb /documentation/ref-manual/migration-1.6.rst | |
| parent | 1c9db6ef7f239dc097ee4d9ef6922d93c3c3c711 (diff) | |
| download | poky-dd8c9b74d3b46aed6d1315af83769ff29109b65a.tar.gz | |
sphinx: ref-manual/migration: Split each release into its own file
This avoids the duplicate heading warnings at the slight expense
of more directory clutter.
(From yocto-docs rev: ef896d71836aa3bd6c926b36976a9c45d5f2ca15)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/migration-1.6.rst')
| -rw-r--r-- | documentation/ref-manual/migration-1.6.rst | 417 |
1 files changed, 417 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration-1.6.rst b/documentation/ref-manual/migration-1.6.rst new file mode 100644 index 0000000000..b55be46e55 --- /dev/null +++ b/documentation/ref-manual/migration-1.6.rst | |||
| @@ -0,0 +1,417 @@ | |||
| 1 | Moving to the Yocto Project 1.6 Release | ||
| 2 | ======================================= | ||
| 3 | |||
| 4 | This section provides migration information for moving to the Yocto | ||
| 5 | Project 1.6 Release from the prior release. | ||
| 6 | |||
| 7 | .. _migration-1.6-archiver-class: | ||
| 8 | |||
| 9 | ``archiver`` Class | ||
| 10 | ------------------ | ||
| 11 | |||
| 12 | The :ref:`archiver <ref-classes-archiver>` class has been rewritten | ||
| 13 | and its configuration has been simplified. For more details on the | ||
| 14 | source archiver, see the | ||
| 15 | ":ref:`dev-manual/dev-manual-common-tasks:maintaining open source license compliance during your product's lifecycle`" | ||
| 16 | section in the Yocto Project Development Tasks Manual. | ||
| 17 | |||
| 18 | .. _migration-1.6-packaging-changes: | ||
| 19 | |||
| 20 | Packaging Changes | ||
| 21 | ----------------- | ||
| 22 | |||
| 23 | The following packaging changes have been made: | ||
| 24 | |||
| 25 | - The ``binutils`` recipe no longer produces a ``binutils-symlinks`` | ||
| 26 | package. ``update-alternatives`` is now used to handle the preferred | ||
| 27 | ``binutils`` variant on the target instead. | ||
| 28 | |||
| 29 | - The tc (traffic control) utilities have been split out of the main | ||
| 30 | ``iproute2`` package and put into the ``iproute2-tc`` package. | ||
| 31 | |||
| 32 | - The ``gtk-engines`` schemas have been moved to a dedicated | ||
| 33 | ``gtk-engines-schemas`` package. | ||
| 34 | |||
| 35 | - The ``armv7a`` with thumb package architecture suffix has changed. | ||
| 36 | The suffix for these packages with the thumb optimization enabled is | ||
| 37 | "t2" as it should be. Use of this suffix was not the case in the 1.5 | ||
| 38 | release. Architecture names will change within package feeds as a | ||
| 39 | result. | ||
| 40 | |||
| 41 | .. _migration-1.6-bitbake: | ||
| 42 | |||
| 43 | BitBake | ||
| 44 | ------- | ||
| 45 | |||
| 46 | The following changes have been made to :term:`BitBake`. | ||
| 47 | |||
| 48 | .. _migration-1.6-matching-branch-requirement-for-git-fetching: | ||
| 49 | |||
| 50 | Matching Branch Requirement for Git Fetching | ||
| 51 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 52 | |||
| 53 | When fetching source from a Git repository using | ||
| 54 | :term:`SRC_URI`, BitBake will now validate the | ||
| 55 | :term:`SRCREV` value against the branch. You can specify | ||
| 56 | the branch using the following form: SRC_URI = | ||
| 57 | "git://server.name/repository;branch=branchname" If you do not specify a | ||
| 58 | branch, BitBake looks in the default "master" branch. | ||
| 59 | |||
| 60 | Alternatively, if you need to bypass this check (e.g. if you are | ||
| 61 | fetching a revision corresponding to a tag that is not on any branch), | ||
| 62 | you can add ";nobranch=1" to the end of the URL within ``SRC_URI``. | ||
| 63 | |||
| 64 | .. _migration-1.6-bitbake-deps: | ||
| 65 | |||
| 66 | Python Definition substitutions | ||
| 67 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 68 | |||
| 69 | BitBake had some previously deprecated Python definitions within its | ||
| 70 | ``bb`` module removed. You should use their sub-module counterparts | ||
| 71 | instead: | ||
| 72 | |||
| 73 | - ``bb.MalformedUrl``: Use ``bb.fetch.MalformedUrl``. | ||
| 74 | |||
| 75 | - ``bb.encodeurl``: Use ``bb.fetch.encodeurl``. | ||
| 76 | |||
| 77 | - ``bb.decodeurl``: Use ``bb.fetch.decodeurl`` | ||
| 78 | |||
| 79 | - ``bb.mkdirhier``: Use ``bb.utils.mkdirhier``. | ||
| 80 | |||
| 81 | - ``bb.movefile``: Use ``bb.utils.movefile``. | ||
| 82 | |||
| 83 | - ``bb.copyfile``: Use ``bb.utils.copyfile``. | ||
| 84 | |||
| 85 | - ``bb.which``: Use ``bb.utils.which``. | ||
| 86 | |||
| 87 | - ``bb.vercmp_string``: Use ``bb.utils.vercmp_string``. | ||
| 88 | |||
| 89 | - ``bb.vercmp``: Use ``bb.utils.vercmp``. | ||
| 90 | |||
| 91 | .. _migration-1.6-bitbake-fetcher: | ||
| 92 | |||
| 93 | SVK Fetcher | ||
| 94 | ~~~~~~~~~~~ | ||
| 95 | |||
| 96 | The SVK fetcher has been removed from BitBake. | ||
| 97 | |||
| 98 | .. _migration-1.6-bitbake-console-output: | ||
| 99 | |||
| 100 | Console Output Error Redirection | ||
| 101 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 102 | |||
| 103 | The BitBake console UI will now output errors to ``stderr`` instead of | ||
| 104 | ``stdout``. Consequently, if you are piping or redirecting the output of | ||
| 105 | ``bitbake`` to somewhere else, and you wish to retain the errors, you | ||
| 106 | will need to add ``2>&1`` (or something similar) to the end of your | ||
| 107 | ``bitbake`` command line. | ||
| 108 | |||
| 109 | .. _migration-1.6-task-taskname-overrides: | ||
| 110 | |||
| 111 | ``task-``\ taskname Overrides | ||
| 112 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 113 | |||
| 114 | ``task-``\ taskname overrides have been adjusted so that tasks whose | ||
| 115 | names contain underscores have the underscores replaced by hyphens for | ||
| 116 | the override so that they now function properly. For example, the task | ||
| 117 | override for :ref:`ref-tasks-populate_sdk` is | ||
| 118 | ``task-populate-sdk``. | ||
| 119 | |||
| 120 | .. _migration-1.6-variable-changes: | ||
| 121 | |||
| 122 | Changes to Variables | ||
| 123 | -------------------- | ||
| 124 | |||
| 125 | The following variables have changed. For information on the | ||
| 126 | OpenEmbedded build system variables, see the "`Variables | ||
| 127 | Glossary <#ref-variables-glos>`__" Chapter. | ||
| 128 | |||
| 129 | .. _migration-1.6-variable-changes-TMPDIR: | ||
| 130 | |||
| 131 | ``TMPDIR`` | ||
| 132 | ~~~~~~~~~~ | ||
| 133 | |||
| 134 | :term:`TMPDIR` can no longer be on an NFS mount. NFS does | ||
| 135 | not offer full POSIX locking and inode consistency and can cause | ||
| 136 | unexpected issues if used to store ``TMPDIR``. | ||
| 137 | |||
| 138 | The check for this occurs on startup. If ``TMPDIR`` is detected on an | ||
| 139 | NFS mount, an error occurs. | ||
| 140 | |||
| 141 | .. _migration-1.6-variable-changes-PRINC: | ||
| 142 | |||
| 143 | ``PRINC`` | ||
| 144 | ~~~~~~~~~ | ||
| 145 | |||
| 146 | The ``PRINC`` variable has been deprecated and triggers a warning if | ||
| 147 | detected during a build. For :term:`PR` increments on changes, | ||
| 148 | use the PR service instead. You can find out more about this service in | ||
| 149 | the ":ref:`dev-manual/dev-manual-common-tasks:working with a pr service`" | ||
| 150 | section in the Yocto Project Development Tasks Manual. | ||
| 151 | |||
| 152 | .. _migration-1.6-variable-changes-IMAGE_TYPES: | ||
| 153 | |||
| 154 | ``IMAGE_TYPES`` | ||
| 155 | ~~~~~~~~~~~~~~~ | ||
| 156 | |||
| 157 | The "sum.jffs2" option for :term:`IMAGE_TYPES` has | ||
| 158 | been replaced by the "jffs2.sum" option, which fits the processing | ||
| 159 | order. | ||
| 160 | |||
| 161 | .. _migration-1.6-variable-changes-COPY_LIC_MANIFEST: | ||
| 162 | |||
| 163 | ``COPY_LIC_MANIFEST`` | ||
| 164 | ~~~~~~~~~~~~~~~~~~~~~ | ||
| 165 | |||
| 166 | The :term:`COPY_LIC_MANIFEST` variable must now | ||
| 167 | be set to "1" rather than any value in order to enable it. | ||
| 168 | |||
| 169 | .. _migration-1.6-variable-changes-COPY_LIC_DIRS: | ||
| 170 | |||
| 171 | ``COPY_LIC_DIRS`` | ||
| 172 | ~~~~~~~~~~~~~~~~~ | ||
| 173 | |||
| 174 | The :term:`COPY_LIC_DIRS` variable must now be set | ||
| 175 | to "1" rather than any value in order to enable it. | ||
| 176 | |||
| 177 | .. _migration-1.6-variable-changes-PACKAGE_GROUP: | ||
| 178 | |||
| 179 | ``PACKAGE_GROUP`` | ||
| 180 | ~~~~~~~~~~~~~~~~~ | ||
| 181 | |||
| 182 | The ``PACKAGE_GROUP`` variable has been renamed to | ||
| 183 | :term:`FEATURE_PACKAGES` to more accurately | ||
| 184 | reflect its purpose. You can still use ``PACKAGE_GROUP`` but the | ||
| 185 | OpenEmbedded build system produces a warning message when it encounters | ||
| 186 | the variable. | ||
| 187 | |||
| 188 | .. _migration-1.6-variable-changes-variable-entry-behavior: | ||
| 189 | |||
| 190 | Preprocess and Post Process Command Variable Behavior | ||
| 191 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 192 | |||
| 193 | The following variables now expect a semicolon separated list of | ||
| 194 | functions to call and not arbitrary shell commands: | ||
| 195 | |||
| 196 | - :term:`ROOTFS_PREPROCESS_COMMAND` | ||
| 197 | - :term:`ROOTFS_POSTPROCESS_COMMAND` | ||
| 198 | - :term:`SDK_POSTPROCESS_COMMAND` | ||
| 199 | - :term:`POPULATE_SDK_POST_TARGET_COMMAND` | ||
| 200 | - :term:`POPULATE_SDK_POST_HOST_COMMAND` | ||
| 201 | - :term:`IMAGE_POSTPROCESS_COMMAND` | ||
| 202 | - :term:`IMAGE_PREPROCESS_COMMAND` | ||
| 203 | - :term:`ROOTFS_POSTUNINSTALL_COMMAND` | ||
| 204 | - :term:`ROOTFS_POSTINSTALL_COMMAND` | ||
| 205 | |||
| 206 | For | ||
| 207 | migration purposes, you can simply wrap shell commands in a shell | ||
| 208 | function and then call the function. Here is an example: :: | ||
| 209 | |||
| 210 | my_postprocess_function() { | ||
| 211 | echo "hello" > ${IMAGE_ROOTFS}/hello.txt | ||
| 212 | } | ||
| 213 | ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; " | ||
| 214 | |||
| 215 | .. _migration-1.6-package-test-ptest: | ||
| 216 | |||
| 217 | Package Test (ptest) | ||
| 218 | -------------------- | ||
| 219 | |||
| 220 | Package Tests (ptest) are built but not installed by default. For | ||
| 221 | information on using Package Tests, see the | ||
| 222 | ":ref:`dev-manual/dev-manual-common-tasks:testing packages with ptest`" | ||
| 223 | section in the Yocto Project Development Tasks Manual. For information on the | ||
| 224 | ``ptest`` class, see the ":ref:`ptest.bbclass <ref-classes-ptest>`" | ||
| 225 | section. | ||
| 226 | |||
| 227 | .. _migration-1.6-build-changes: | ||
| 228 | |||
| 229 | Build Changes | ||
| 230 | ------------- | ||
| 231 | |||
| 232 | Separate build and source directories have been enabled by default for | ||
| 233 | selected recipes where it is known to work (a whitelist) and for all | ||
| 234 | recipes that inherit the :ref:`cmake <ref-classes-cmake>` class. In | ||
| 235 | future releases the :ref:`autotools <ref-classes-autotools>` class | ||
| 236 | will enable a separate build directory by default as well. Recipes | ||
| 237 | building Autotools-based software that fails to build with a separate | ||
| 238 | build directory should be changed to inherit from the | ||
| 239 | :ref:`autotools-brokensep <ref-classes-autotools>` class instead of | ||
| 240 | the ``autotools`` or ``autotools_stage``\ classes. | ||
| 241 | |||
| 242 | .. _migration-1.6-building-qemu-native: | ||
| 243 | |||
| 244 | ``qemu-native`` | ||
| 245 | --------------- | ||
| 246 | |||
| 247 | ``qemu-native`` now builds without SDL-based graphical output support by | ||
| 248 | default. The following additional lines are needed in your | ||
| 249 | ``local.conf`` to enable it: | ||
| 250 | :: | ||
| 251 | |||
| 252 | PACKAGECONFIG_pn-qemu-native = "sdl" | ||
| 253 | ASSUME_PROVIDED += "libsdl-native" | ||
| 254 | |||
| 255 | .. note:: | ||
| 256 | |||
| 257 | The default | ||
| 258 | local.conf | ||
| 259 | contains these statements. Consequently, if you are building a | ||
| 260 | headless system and using a default | ||
| 261 | local.conf | ||
| 262 | file, you will need comment these two lines out. | ||
| 263 | |||
| 264 | .. _migration-1.6-core-image-basic: | ||
| 265 | |||
| 266 | ``core-image-basic`` | ||
| 267 | -------------------- | ||
| 268 | |||
| 269 | ``core-image-basic`` has been renamed to ``core-image-full-cmdline``. | ||
| 270 | |||
| 271 | In addition to ``core-image-basic`` being renamed, | ||
| 272 | ``packagegroup-core-basic`` has been renamed to | ||
| 273 | ``packagegroup-core-full-cmdline`` to match. | ||
| 274 | |||
| 275 | .. _migration-1.6-licensing: | ||
| 276 | |||
| 277 | Licensing | ||
| 278 | --------- | ||
| 279 | |||
| 280 | The top-level ``LICENSE`` file has been changed to better describe the | ||
| 281 | license of the various components of :term:`OpenEmbedded-Core (OE-Core)`. However, | ||
| 282 | the licensing itself remains unchanged. | ||
| 283 | |||
| 284 | Normally, this change would not cause any side-effects. However, some | ||
| 285 | recipes point to this file within | ||
| 286 | :term:`LIC_FILES_CHKSUM` (as | ||
| 287 | ``${COREBASE}/LICENSE``) and thus the accompanying checksum must be | ||
| 288 | changed from 3f40d7994397109285ec7b81fdeb3b58 to | ||
| 289 | 4d92cd373abda3937c2bc47fbc49d690. A better alternative is to have | ||
| 290 | ``LIC_FILES_CHKSUM`` point to a file describing the license that is | ||
| 291 | distributed with the source that the recipe is building, if possible, | ||
| 292 | rather than pointing to ``${COREBASE}/LICENSE``. | ||
| 293 | |||
| 294 | .. _migration-1.6-cflags-options: | ||
| 295 | |||
| 296 | ``CFLAGS`` Options | ||
| 297 | ------------------ | ||
| 298 | |||
| 299 | The "-fpermissive" option has been removed from the default | ||
| 300 | :term:`CFLAGS` value. You need to take action on | ||
| 301 | individual recipes that fail when building with this option. You need to | ||
| 302 | either patch the recipes to fix the issues reported by the compiler, or | ||
| 303 | you need to add "-fpermissive" to ``CFLAGS`` in the recipes. | ||
| 304 | |||
| 305 | .. _migration-1.6-custom-images: | ||
| 306 | |||
| 307 | Custom Image Output Types | ||
| 308 | ------------------------- | ||
| 309 | |||
| 310 | Custom image output types, as selected using | ||
| 311 | :term:`IMAGE_FSTYPES`, must declare their | ||
| 312 | dependencies on other image types (if any) using a new | ||
| 313 | :term:`IMAGE_TYPEDEP` variable. | ||
| 314 | |||
| 315 | .. _migration-1.6-do-package-write-task: | ||
| 316 | |||
| 317 | Tasks | ||
| 318 | ----- | ||
| 319 | |||
| 320 | The ``do_package_write`` task has been removed. The task is no longer | ||
| 321 | needed. | ||
| 322 | |||
| 323 | .. _migration-1.6-update-alternatives-provider: | ||
| 324 | |||
| 325 | ``update-alternative`` Provider | ||
| 326 | ------------------------------- | ||
| 327 | |||
| 328 | The default ``update-alternatives`` provider has been changed from | ||
| 329 | ``opkg`` to ``opkg-utils``. This change resolves some troublesome | ||
| 330 | circular dependencies. The runtime package has also been renamed from | ||
| 331 | ``update-alternatives-cworth`` to ``update-alternatives-opkg``. | ||
| 332 | |||
| 333 | .. _migration-1.6-virtclass-overrides: | ||
| 334 | |||
| 335 | ``virtclass`` Overrides | ||
| 336 | ----------------------- | ||
| 337 | |||
| 338 | The ``virtclass`` overrides are now deprecated. Use the equivalent class | ||
| 339 | overrides instead (e.g. ``virtclass-native`` becomes ``class-native``.) | ||
| 340 | |||
| 341 | .. _migration-1.6-removed-renamed-recipes: | ||
| 342 | |||
| 343 | Removed and Renamed Recipes | ||
| 344 | --------------------------- | ||
| 345 | |||
| 346 | The following recipes have been removed: | ||
| 347 | |||
| 348 | - ``packagegroup-toolset-native`` - This recipe is largely unused. | ||
| 349 | |||
| 350 | - ``linux-yocto-3.8`` - Support for the Linux yocto 3.8 kernel has been | ||
| 351 | dropped. Support for the 3.10 and 3.14 kernels have been added with | ||
| 352 | the ``linux-yocto-3.10`` and ``linux-yocto-3.14`` recipes. | ||
| 353 | |||
| 354 | - ``ocf-linux`` - This recipe has been functionally replaced using | ||
| 355 | ``cryptodev-linux``. | ||
| 356 | |||
| 357 | - ``genext2fs`` - ``genext2fs`` is no longer used by the build system | ||
| 358 | and is unmaintained upstream. | ||
| 359 | |||
| 360 | - ``js`` - This provided an ancient version of Mozilla's javascript | ||
| 361 | engine that is no longer needed. | ||
| 362 | |||
| 363 | - ``zaurusd`` - The recipe has been moved to the ``meta-handheld`` | ||
| 364 | layer. | ||
| 365 | |||
| 366 | - ``eglibc 2.17`` - Replaced by the ``eglibc 2.19`` recipe. | ||
| 367 | |||
| 368 | - ``gcc 4.7.2`` - Replaced by the now stable ``gcc 4.8.2``. | ||
| 369 | |||
| 370 | - ``external-sourcery-toolchain`` - this recipe is now maintained in | ||
| 371 | the ``meta-sourcery`` layer. | ||
| 372 | |||
| 373 | - ``linux-libc-headers-yocto 3.4+git`` - Now using version 3.10 of the | ||
| 374 | ``linux-libc-headers`` by default. | ||
| 375 | |||
| 376 | - ``meta-toolchain-gmae`` - This recipe is obsolete. | ||
| 377 | |||
| 378 | - ``packagegroup-core-sdk-gmae`` - This recipe is obsolete. | ||
| 379 | |||
| 380 | - ``packagegroup-core-standalone-gmae-sdk-target`` - This recipe is | ||
| 381 | obsolete. | ||
| 382 | |||
| 383 | .. _migration-1.6-removed-classes: | ||
| 384 | |||
| 385 | Removed Classes | ||
| 386 | --------------- | ||
| 387 | |||
| 388 | The following classes have become obsolete and have been removed: | ||
| 389 | |||
| 390 | - ``module_strip`` | ||
| 391 | |||
| 392 | - ``pkg_metainfo`` | ||
| 393 | |||
| 394 | - ``pkg_distribute`` | ||
| 395 | |||
| 396 | - ``image-empty`` | ||
| 397 | |||
| 398 | .. _migration-1.6-reference-bsps: | ||
| 399 | |||
| 400 | Reference Board Support Packages (BSPs) | ||
| 401 | --------------------------------------- | ||
| 402 | |||
| 403 | The following reference BSPs changes occurred: | ||
| 404 | |||
| 405 | - The BeagleBoard (``beagleboard``) ARM reference hardware has been | ||
| 406 | replaced by the BeagleBone (``beaglebone``) hardware. | ||
| 407 | |||
| 408 | - The RouterStation Pro (``routerstationpro``) MIPS reference hardware | ||
| 409 | has been replaced by the EdgeRouter Lite (``edgerouter``) hardware. | ||
| 410 | |||
| 411 | The previous reference BSPs for the ``beagleboard`` and | ||
| 412 | ``routerstationpro`` machines are still available in a new | ||
| 413 | ``meta-yocto-bsp-old`` layer in the | ||
| 414 | :yocto_git:`Source Repositories <>` at | ||
| 415 | http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto-bsp-old/. | ||
| 416 | |||
| 417 | |||
