Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 1 | .. SPDX-License-Identifier: CC-BY-SA-2.0-UK |
| 2 | |
Andrew Geissler | 0903674 | 2021-06-25 14:25:14 -0500 | [diff] [blame] | 3 | Release 2.1 (krogoth) |
| 4 | ===================== |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 5 | |
| 6 | This section provides migration information for moving to the Yocto |
Andrew Geissler | 3b8a17c | 2021-04-15 15:55:55 -0500 | [diff] [blame] | 7 | Project 2.1 Release (codename "krogoth") from the prior release. |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 8 | |
| 9 | .. _migration-2.1-variable-expansion-in-python-functions: |
| 10 | |
| 11 | Variable Expansion in Python Functions |
| 12 | -------------------------------------- |
| 13 | |
Andrew Geissler | 4c19ea1 | 2020-10-27 13:52:24 -0500 | [diff] [blame] | 14 | Variable expressions, such as ``${VARNAME}`` no longer expand |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 15 | automatically within Python functions. Suppressing expansion was done to |
| 16 | allow Python functions to construct shell scripts or other code for |
| 17 | situations in which you do not want such expressions expanded. For any |
| 18 | existing code that relies on these expansions, you need to change the |
| 19 | expansions to expand the value of individual variables through |
| 20 | ``d.getVar()``. To alternatively expand more complex expressions, use |
| 21 | ``d.expand()``. |
| 22 | |
| 23 | .. _migration-2.1-overrides-must-now-be-lower-case: |
| 24 | |
| 25 | Overrides Must Now be Lower-Case |
| 26 | -------------------------------- |
| 27 | |
| 28 | The convention for overrides has always been for them to be lower-case |
| 29 | characters. This practice is now a requirement as BitBake's datastore |
| 30 | now assumes lower-case characters in order to give a slight performance |
| 31 | boost during parsing. In practical terms, this requirement means that |
| 32 | anything that ends up in :term:`OVERRIDES` must now |
Andrew Geissler | 0903674 | 2021-06-25 14:25:14 -0500 | [diff] [blame] | 33 | appear in lower-case characters (e.g. values for :term:`MACHINE`, |
| 34 | :term:`TARGET_ARCH`, :term:`DISTRO`, and also recipe names if |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 35 | ``_pn-``\ recipename overrides are to be effective). |
| 36 | |
| 37 | .. _migration-2.1-expand-parameter-to-getvar-and-getvarflag-now-mandatory: |
| 38 | |
| 39 | Expand Parameter to ``getVar()`` and ``getVarFlag()`` is Now Mandatory |
| 40 | ---------------------------------------------------------------------- |
| 41 | |
| 42 | The expand parameter to ``getVar()`` and ``getVarFlag()`` previously |
| 43 | defaulted to False if not specified. Now, however, no default exists so |
| 44 | one must be specified. You must change any ``getVar()`` calls that do |
| 45 | not specify the final expand parameter to calls that do specify the |
| 46 | parameter. You can run the following ``sed`` command at the base of a |
Andrew Geissler | c926e17 | 2021-05-07 16:11:35 -0500 | [diff] [blame] | 47 | layer to make this change:: |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 48 | |
| 49 | sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' -i `grep -ril getVar *` |
| 50 | sed -e 's:\(\.getVarFlag([^,()]*,[^,()]*\)):\1, False):g' -i `grep -ril getVarFlag *` |
| 51 | |
| 52 | .. note:: |
| 53 | |
| 54 | The reason for this change is that it prepares the way for changing |
| 55 | the default to True in a future Yocto Project release. This future |
| 56 | change is a much more sensible default than False. However, the |
| 57 | change needs to be made gradually as a sudden change of the default |
| 58 | would potentially cause side-effects that would be difficult to |
| 59 | detect. |
| 60 | |
| 61 | .. _migration-2.1-makefile-environment-changes: |
| 62 | |
| 63 | Makefile Environment Changes |
| 64 | ---------------------------- |
| 65 | |
| 66 | :term:`EXTRA_OEMAKE` now defaults to "" instead of |
Andrew Geissler | 5f35090 | 2021-07-23 13:09:54 -0400 | [diff] [blame] | 67 | "-e MAKEFLAGS=". Setting :term:`EXTRA_OEMAKE` to "-e MAKEFLAGS=" by default |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 68 | was a historical accident that has required many classes (e.g. |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 69 | :ref:`ref-classes-autotools`, ``module``) and recipes to override this default in order |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 70 | to work with sensible build systems. When upgrading to the release, you |
| 71 | must edit any recipe that relies upon this old default by either setting |
Andrew Geissler | 5f35090 | 2021-07-23 13:09:54 -0400 | [diff] [blame] | 72 | :term:`EXTRA_OEMAKE` back to "-e MAKEFLAGS=" or by explicitly setting any |
Andrew Geissler | 0903674 | 2021-06-25 14:25:14 -0500 | [diff] [blame] | 73 | required variable value overrides using :term:`EXTRA_OEMAKE`, which is |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 74 | typically only needed when a Makefile sets a default value for a |
| 75 | variable that is inappropriate for cross-compilation using the "=" |
| 76 | operator rather than the "?=" operator. |
| 77 | |
| 78 | .. _migration-2.1-libexecdir-reverted-to-prefix-libexec: |
| 79 | |
| 80 | ``libexecdir`` Reverted to ``${prefix}/libexec`` |
| 81 | ------------------------------------------------ |
| 82 | |
| 83 | The use of ``${libdir}/${BPN}`` as ``libexecdir`` is different as |
| 84 | compared to all other mainstream distributions, which either uses |
| 85 | ``${prefix}/libexec`` or ``${libdir}``. The use is also contrary to the |
| 86 | GNU Coding Standards (i.e. |
| 87 | https://www.gnu.org/prep/standards/html_node/Directory-Variables.html) |
| 88 | that suggest ``${prefix}/libexec`` and also notes that any |
| 89 | package-specific nesting should be done by the package itself. Finally, |
| 90 | having ``libexecdir`` change between recipes makes it very difficult for |
| 91 | different recipes to invoke binaries that have been installed into |
| 92 | ``libexecdir``. The Filesystem Hierarchy Standard (i.e. |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 93 | https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html) now |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 94 | recognizes the use of ``${prefix}/libexec/``, giving distributions the |
| 95 | choice between ``${prefix}/lib`` or ``${prefix}/libexec`` without |
| 96 | breaking FHS. |
| 97 | |
| 98 | .. _migration-2.1-ac-cv-sizeof-off-t-no-longer-cached-in-site-files: |
| 99 | |
| 100 | ``ac_cv_sizeof_off_t`` is No Longer Cached in Site Files |
| 101 | -------------------------------------------------------- |
| 102 | |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 103 | For recipes inheriting the :ref:`ref-classes-autotools` |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 104 | class, ``ac_cv_sizeof_off_t`` is no longer cached in the site files for |
| 105 | ``autoconf``. The reason for this change is because the |
| 106 | ``ac_cv_sizeof_off_t`` value is not necessarily static per architecture |
| 107 | as was previously assumed. Rather, the value changes based on whether |
| 108 | large file support is enabled. For most software that uses ``autoconf``, |
| 109 | this change should not be a problem. However, if you have a recipe that |
| 110 | bypasses the standard :ref:`ref-tasks-configure` task |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 111 | from the :ref:`ref-classes-autotools` class and the software the recipe is building |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 112 | uses a very old version of ``autoconf``, the recipe might be incapable |
Patrick Williams | 2194f50 | 2022-10-16 14:26:09 -0500 | [diff] [blame] | 113 | of determining the correct size of ``off_t`` during :ref:`ref-tasks-configure`. |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 114 | |
| 115 | The best course of action is to patch the software as necessary to allow |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 116 | the default implementation from the :ref:`ref-classes-autotools` class to work such |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 117 | that ``autoreconf`` succeeds and produces a working configure script, |
Patrick Williams | 2194f50 | 2022-10-16 14:26:09 -0500 | [diff] [blame] | 118 | and to remove the overridden :ref:`ref-tasks-configure` task such that the default |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 119 | implementation does get used. |
| 120 | |
| 121 | .. _migration-2.1-image-generation-split-out-from-filesystem-generation: |
| 122 | |
| 123 | Image Generation is Now Split Out from Filesystem Generation |
| 124 | ------------------------------------------------------------ |
| 125 | |
| 126 | Previously, for image recipes the :ref:`ref-tasks-rootfs` |
| 127 | task assembled the filesystem and then from that filesystem generated |
| 128 | images. With this Yocto Project release, image generation is split into |
Andrew Geissler | 4c19ea1 | 2020-10-27 13:52:24 -0500 | [diff] [blame] | 129 | separate :ref:`ref-tasks-image` tasks for clarity both in |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 130 | operation and in the code. |
| 131 | |
| 132 | For most cases, this change does not present any problems. However, if |
Patrick Williams | 2194f50 | 2022-10-16 14:26:09 -0500 | [diff] [blame] | 133 | you have made customizations that directly modify the :ref:`ref-tasks-rootfs` task |
| 134 | or that mention :ref:`ref-tasks-rootfs`, you might need to update those changes. |
| 135 | In particular, if you had added any tasks after :ref:`ref-tasks-rootfs`, you |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 136 | should make edits so that those tasks are after the |
Andrew Geissler | 4c19ea1 | 2020-10-27 13:52:24 -0500 | [diff] [blame] | 137 | :ref:`ref-tasks-image-complete` task rather than |
Patrick Williams | 2194f50 | 2022-10-16 14:26:09 -0500 | [diff] [blame] | 138 | after :ref:`ref-tasks-rootfs` so that your added tasks run at the correct |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 139 | time. |
| 140 | |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 141 | A minor part of this restructuring is that the post-processing definitions and |
| 142 | functions have been moved from the :ref:`ref-classes-image` class to the |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 143 | :ref:`rootfs-postcommands <ref-classes-rootfs*>` class. Functionally, |
| 144 | however, they remain unchanged. |
| 145 | |
| 146 | .. _migration-2.1-removed-recipes: |
| 147 | |
| 148 | Removed Recipes |
| 149 | --------------- |
| 150 | |
| 151 | The following recipes have been removed in the 2.1 release: |
| 152 | |
| 153 | - ``gcc`` version 4.8: Versions 4.9 and 5.3 remain. |
| 154 | |
| 155 | - ``qt4``: All support for Qt 4.x has been moved out to a separate |
| 156 | ``meta-qt4`` layer because Qt 4 is no longer supported upstream. |
| 157 | |
| 158 | - ``x11vnc``: Moved to the ``meta-oe`` layer. |
| 159 | |
| 160 | - ``linux-yocto-3.14``: No longer supported. |
| 161 | |
| 162 | - ``linux-yocto-3.19``: No longer supported. |
| 163 | |
| 164 | - ``libjpeg``: Replaced by the ``libjpeg-turbo`` recipe. |
| 165 | |
| 166 | - ``pth``: Became obsolete. |
| 167 | |
| 168 | - ``liboil``: Recipe is no longer needed and has been moved to the |
| 169 | ``meta-multimedia`` layer. |
| 170 | |
| 171 | - ``gtk-theme-torturer``: Recipe is no longer needed and has been moved |
| 172 | to the ``meta-gnome`` layer. |
| 173 | |
| 174 | - ``gnome-mime-data``: Recipe is no longer needed and has been moved to |
| 175 | the ``meta-gnome`` layer. |
| 176 | |
| 177 | - ``udev``: Replaced by the ``eudev`` recipe for compatibility when |
| 178 | using ``sysvinit`` with newer kernels. |
| 179 | |
| 180 | - ``python-pygtk``: Recipe became obsolete. |
| 181 | |
Andrew Geissler | 3b8a17c | 2021-04-15 15:55:55 -0500 | [diff] [blame] | 182 | - ``adt-installer``: Recipe became obsolete. See the |
Andrew Geissler | 0903674 | 2021-06-25 14:25:14 -0500 | [diff] [blame] | 183 | ":ref:`migration-guides/migration-2.1:adt removed`" section for more information. |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 184 | |
| 185 | .. _migration-2.1-class-changes: |
| 186 | |
| 187 | Class Changes |
| 188 | ------------- |
| 189 | |
| 190 | The following classes have changed: |
| 191 | |
| 192 | - ``autotools_stage``: Removed because the |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 193 | :ref:`ref-classes-autotools` class now provides its |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 194 | functionality. Recipes that inherited from ``autotools_stage`` should |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 195 | now inherit from :ref:`ref-classes-autotools` instead. |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 196 | |
| 197 | - ``boot-directdisk``: Merged into the ``image-vm`` class. The |
| 198 | ``boot-directdisk`` class was rarely directly used. Consequently, |
| 199 | this change should not cause any issues. |
| 200 | |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 201 | - ``bootimg``: Merged into the :ref:`ref-classes-image-live` class. The |
| 202 | ``bootimg`` class was rarely directly used. Consequently, this change should |
| 203 | not cause any issues. |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 204 | |
| 205 | - ``packageinfo``: Removed due to its limited use by the Hob UI, which |
| 206 | has itself been removed. |
| 207 | |
| 208 | .. _migration-2.1-build-system-ui-changes: |
| 209 | |
| 210 | Build System User Interface Changes |
| 211 | ----------------------------------- |
| 212 | |
| 213 | The following changes have been made to the build system user interface: |
| 214 | |
| 215 | - *Hob GTK+-based UI*: Removed because it is unmaintained and based on |
| 216 | the outdated GTK+ 2 library. The Toaster web-based UI is much more |
| 217 | capable and is actively maintained. See the |
Andrew Geissler | 09209ee | 2020-12-13 08:44:15 -0600 | [diff] [blame] | 218 | ":ref:`toaster-manual/setup-and-use:using the toaster web interface`" |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 219 | section in the Toaster User Manual for more information on this |
| 220 | interface. |
| 221 | |
| 222 | - *"puccho" BitBake UI*: Removed because is unmaintained and no longer |
| 223 | useful. |
| 224 | |
| 225 | .. _migration-2.1-adt-removed: |
| 226 | |
| 227 | ADT Removed |
| 228 | ----------- |
| 229 | |
| 230 | The Application Development Toolkit (ADT) has been removed because its |
| 231 | functionality almost completely overlapped with the :ref:`standard |
Andrew Geissler | 09209ee | 2020-12-13 08:44:15 -0600 | [diff] [blame] | 232 | SDK <sdk-manual/using:using the standard sdk>` and the |
| 233 | :ref:`extensible SDK <sdk-manual/extensible:using the extensible sdk>`. For |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 234 | information on these SDKs and how to build and use them, see the |
Andrew Geissler | 09209ee | 2020-12-13 08:44:15 -0600 | [diff] [blame] | 235 | :doc:`/sdk-manual/index` manual. |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 236 | |
| 237 | .. note:: |
| 238 | |
| 239 | The Yocto Project Eclipse IDE Plug-in is still supported and is not |
| 240 | affected by this change. |
| 241 | |
| 242 | .. _migration-2.1-poky-reference-distribution-changes: |
| 243 | |
| 244 | Poky Reference Distribution Changes |
| 245 | ----------------------------------- |
| 246 | |
| 247 | The following changes have been made for the Poky distribution: |
| 248 | |
| 249 | - The ``meta-yocto`` layer has been renamed to ``meta-poky`` to better |
| 250 | match its purpose, which is to provide the Poky reference |
| 251 | distribution. The ``meta-yocto-bsp`` layer retains its original name |
| 252 | since it provides reference machines for the Yocto Project and it is |
| 253 | otherwise unrelated to Poky. References to ``meta-yocto`` in your |
| 254 | ``conf/bblayers.conf`` should automatically be updated, so you should |
| 255 | not need to change anything unless you are relying on this naming |
| 256 | elsewhere. |
| 257 | |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 258 | - The :ref:`ref-classes-uninative` class is now enabled |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 259 | by default in Poky. This class attempts to isolate the build system |
| 260 | from the host distribution's C library and makes re-use of native |
| 261 | shared state artifacts across different host distributions practical. |
| 262 | With this class enabled, a tarball containing a pre-built C library |
| 263 | is downloaded at the start of the build. |
| 264 | |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 265 | The :ref:`ref-classes-uninative` class is enabled through the |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 266 | ``meta/conf/distro/include/yocto-uninative.inc`` file, which for |
| 267 | those not using the Poky distribution, can include to easily enable |
| 268 | the same functionality. |
| 269 | |
| 270 | Alternatively, if you wish to build your own ``uninative`` tarball, |
| 271 | you can do so by building the ``uninative-tarball`` recipe, making it |
| 272 | available to your build machines (e.g. over HTTP/HTTPS) and setting a |
| 273 | similar configuration as the one set by ``yocto-uninative.inc``. |
| 274 | |
| 275 | - Static library generation, for most cases, is now disabled by default |
| 276 | in the Poky distribution. Disabling this generation saves some build |
| 277 | time as well as the size used for build output artifacts. |
| 278 | |
| 279 | Disabling this library generation is accomplished through a |
| 280 | ``meta/conf/distro/include/no-static-libs.inc``, which for those not |
| 281 | using the Poky distribution can easily include to enable the same |
| 282 | functionality. |
| 283 | |
Patrick Williams | 4585273 | 2022-04-02 08:58:32 -0500 | [diff] [blame] | 284 | Any recipe that needs to opt-out of having the ``--disable-static`` |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 285 | option specified on the configure command line either because it is |
| 286 | not a supported option for the configure script or because static |
Andrew Geissler | c926e17 | 2021-05-07 16:11:35 -0500 | [diff] [blame] | 287 | libraries are needed should set the following variable:: |
Andrew Geissler | 4c19ea1 | 2020-10-27 13:52:24 -0500 | [diff] [blame] | 288 | |
| 289 | DISABLE_STATIC = "" |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 290 | |
| 291 | - The separate ``poky-tiny`` distribution now uses the musl C library |
| 292 | instead of a heavily pared down ``glibc``. Using musl results in a |
| 293 | smaller distribution and facilitates much greater maintainability |
| 294 | because musl is designed to have a small footprint. |
| 295 | |
| 296 | If you have used ``poky-tiny`` and have customized the ``glibc`` |
| 297 | configuration you will need to redo those customizations with musl |
| 298 | when upgrading to the new release. |
| 299 | |
| 300 | .. _migration-2.1-packaging-changes: |
| 301 | |
| 302 | Packaging Changes |
| 303 | ----------------- |
| 304 | |
| 305 | The following changes have been made to packaging: |
| 306 | |
| 307 | - The ``runuser`` and ``mountpoint`` binaries, which were previously in |
| 308 | the main ``util-linux`` package, have been split out into the |
| 309 | ``util-linux-runuser`` and ``util-linux-mountpoint`` packages, |
| 310 | respectively. |
| 311 | |
| 312 | - The ``python-elementtree`` package has been merged into the |
| 313 | ``python-xml`` package. |
| 314 | |
| 315 | .. _migration-2.1-tuning-file-changes: |
| 316 | |
| 317 | Tuning File Changes |
| 318 | ------------------- |
| 319 | |
| 320 | The following changes have been made to the tuning files: |
| 321 | |
| 322 | - The "no-thumb-interwork" tuning feature has been dropped from the ARM |
| 323 | tune include files. Because interworking is required for ARM EABI, |
| 324 | attempting to disable it through a tuning feature no longer makes |
| 325 | sense. |
| 326 | |
| 327 | .. note:: |
| 328 | |
| 329 | Support for ARM OABI was deprecated in gcc 4.7. |
| 330 | |
| 331 | - The ``tune-cortexm*.inc`` and ``tune-cortexr4.inc`` files have been |
| 332 | removed because they are poorly tested. Until the OpenEmbedded build |
| 333 | system officially gains support for CPUs without an MMU, these tuning |
| 334 | files would probably be better maintained in a separate layer if |
| 335 | needed. |
| 336 | |
| 337 | .. _migration-2.1-supporting-gobject-introspection: |
| 338 | |
| 339 | Supporting GObject Introspection |
| 340 | -------------------------------- |
| 341 | |
| 342 | This release supports generation of GLib Introspective Repository (GIR) |
| 343 | files through GObject introspection, which is the standard mechanism for |
| 344 | accessing GObject-based software from runtime environments. You can |
| 345 | enable, disable, and test the generation of this data. See the |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 346 | ":ref:`dev-manual/gobject-introspection:enabling gobject introspection support`" |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 347 | section in the Yocto Project Development Tasks Manual for more |
| 348 | information. |
| 349 | |
| 350 | .. _migration-2.1-miscellaneous-changes: |
| 351 | |
| 352 | Miscellaneous Changes |
| 353 | --------------------- |
| 354 | |
| 355 | These additional changes exist: |
| 356 | |
| 357 | - The minimum Git version has been increased to 1.8.3.1. If your host |
| 358 | distribution does not provide a sufficiently recent version, you can |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 359 | install the :term:`buildtools`, which will provide it. See the |
Andrew Geissler | 615f2f1 | 2022-07-15 14:00:58 -0500 | [diff] [blame] | 360 | :ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions` |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 361 | section for more information on the :term:`buildtools` tarball. |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 362 | |
| 363 | - The buggy and incomplete support for the RPM version 4 package |
| 364 | manager has been removed. The well-tested and maintained support for |
| 365 | RPM version 5 remains. |
| 366 | |
| 367 | - Previously, the following list of packages were removed if |
| 368 | package-management was not in |
| 369 | :term:`IMAGE_FEATURES`, regardless of any |
Andrew Geissler | c926e17 | 2021-05-07 16:11:35 -0500 | [diff] [blame] | 370 | dependencies:: |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 371 | |
| 372 | update-rc.d |
| 373 | base-passwd |
| 374 | shadow |
| 375 | update-alternatives |
Andrew Geissler | 4c19ea1 | 2020-10-27 13:52:24 -0500 | [diff] [blame] | 376 | run-postinsts |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 377 | |
Andrew Geissler | 4c19ea1 | 2020-10-27 13:52:24 -0500 | [diff] [blame] | 378 | With the Yocto Project 2.1 release, these packages are |
Andrew Geissler | 0903674 | 2021-06-25 14:25:14 -0500 | [diff] [blame] | 379 | only removed if "read-only-rootfs" is in :term:`IMAGE_FEATURES`, since |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 380 | they might still be needed for a read-write image even in the absence |
| 381 | of a package manager (e.g. if users need to be added, modified, or |
| 382 | removed at runtime). |
| 383 | |
| 384 | - The |
Andrew Geissler | 09209ee | 2020-12-13 08:44:15 -0600 | [diff] [blame] | 385 | :ref:`devtool modify <sdk-manual/extensible:use \`\`devtool modify\`\` to modify the source of an existing component>` |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 386 | command now defaults to extracting the source since that is most |
Patrick Williams | 4585273 | 2022-04-02 08:58:32 -0500 | [diff] [blame] | 387 | commonly expected. The ``-x`` or ``--extract`` options are now no-ops. If |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 388 | you wish to provide your own existing source tree, you will now need |
Patrick Williams | 4585273 | 2022-04-02 08:58:32 -0500 | [diff] [blame] | 389 | to specify either the ``-n`` or ``--no-extract`` options when running |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 390 | ``devtool modify``. |
| 391 | |
| 392 | - If the formfactor for a machine is either not supplied or does not |
| 393 | specify whether a keyboard is attached, then the default is to assume |
| 394 | a keyboard is attached rather than assume no keyboard. This change |
| 395 | primarily affects the Sato UI. |
| 396 | |
| 397 | - The ``.debug`` directory packaging is now automatic. If your recipe |
| 398 | builds software that installs binaries into directories other than |
| 399 | the standard ones, you no longer need to take care of setting |
| 400 | ``FILES_${PN}-dbg`` to pick up the resulting ``.debug`` directories |
| 401 | as these directories are automatically found and added. |
| 402 | |
| 403 | - Inaccurate disk and CPU percentage data has been dropped from |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 404 | :ref:`ref-classes-buildstats` output. This data has been replaced with |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 405 | ``getrusage()`` data and corrected IO statistics. You will probably |
Andrew Geissler | 517393d | 2023-01-13 08:55:19 -0600 | [diff] [blame] | 406 | need to update any custom code that reads the :ref:`ref-classes-buildstats` data. |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 407 | |
| 408 | - The ``meta/conf/distro/include/package_regex.inc`` is now deprecated. |
| 409 | The contents of this file have been moved to individual recipes. |
| 410 | |
| 411 | .. note:: |
| 412 | |
| 413 | Because this file will likely be removed in a future Yocto Project |
| 414 | release, it is suggested that you remove any references to the |
| 415 | file that might be in your configuration. |
| 416 | |
| 417 | - The ``v86d/uvesafb`` has been removed from the ``genericx86`` and |
| 418 | ``genericx86-64`` reference machines, which are provided by the |
| 419 | ``meta-yocto-bsp`` layer. Most modern x86 boards do not rely on this |
| 420 | file and it only adds kernel error messages during startup. If you do |
| 421 | still need to support ``uvesafb``, you can simply add ``v86d`` to |
| 422 | your image. |
| 423 | |
| 424 | - Build sysroot paths are now removed from debug symbol files. Removing |
| 425 | these paths means that remote GDB using an unstripped build system |
| 426 | sysroot will no longer work (although this was never documented to |
| 427 | work). The supported method to accomplish something similar is to set |
| 428 | ``IMAGE_GEN_DEBUGFS`` to "1", which will generate a companion debug |
| 429 | image containing unstripped binaries and associated debug sources |
| 430 | alongside the image. |
| 431 | |
| 432 | |