Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 1 | Moving to the Yocto Project 2.7 Release |
| 2 | ======================================= |
| 3 | |
| 4 | This section provides migration information for moving to the Yocto |
| 5 | Project 2.7 Release from the prior release. |
| 6 | |
| 7 | .. _migration-2.7-bitbake-changes: |
| 8 | |
| 9 | BitBake Changes |
| 10 | --------------- |
| 11 | |
| 12 | The following changes have been made to BitBake: |
| 13 | |
| 14 | - BitBake now checks anonymous Python functions and pure Python |
| 15 | functions (e.g. ``def funcname:``) in the metadata for tab |
| 16 | indentation. If found, BitBake produces a warning. |
| 17 | |
| 18 | - Bitbake now checks |
| 19 | :term:`BBFILE_COLLECTIONS` for duplicate |
| 20 | entries and triggers an error if any are found. |
| 21 | |
| 22 | .. _migration-2.7-eclipse-support-dropped: |
| 23 | |
| 24 | Eclipse Support Removed |
| 25 | ----------------------- |
| 26 | |
| 27 | Support for the Eclipse IDE has been removed. Support continues for |
| 28 | those releases prior to 2.7 that did include support. The 2.7 release |
| 29 | does not include the Eclipse Yocto plugin. |
| 30 | |
| 31 | .. _migration-2.7-qemu-native-splits-system-and-user-mode-parts: |
| 32 | |
| 33 | ``qemu-native`` Splits the System and User-Mode Parts |
| 34 | ----------------------------------------------------- |
| 35 | |
| 36 | The system and user-mode parts of ``qemu-native`` are now split. |
| 37 | ``qemu-native`` provides the user-mode components and |
| 38 | ``qemu-system-native`` provides the system components. If you have |
| 39 | recipes that depend on QEMU's system emulation functionality at build |
| 40 | time, they should now depend upon ``qemu-system-native`` instead of |
| 41 | ``qemu-native``. |
| 42 | |
| 43 | .. _migration-2.7-upstream-tracking.inc-removed: |
| 44 | |
| 45 | The ``upstream-tracking.inc`` File Has Been Removed |
| 46 | --------------------------------------------------- |
| 47 | |
| 48 | The previously deprecated ``upstream-tracking.inc`` file is now removed. |
| 49 | Any ``UPSTREAM_TRACKING*`` variables are now set in the corresponding |
| 50 | recipes instead. |
| 51 | |
| 52 | Remove any references you have to the ``upstream-tracking.inc`` file in |
| 53 | your configuration. |
| 54 | |
| 55 | .. _migration-2.7-distro-features-libc-removed: |
| 56 | |
| 57 | The ``DISTRO_FEATURES_LIBC`` Variable Has Been Removed |
| 58 | ------------------------------------------------------ |
| 59 | |
| 60 | The ``DISTRO_FEATURES_LIBC`` variable is no longer used. The ability to |
| 61 | configure glibc using kconfig has been removed for quite some time |
| 62 | making the ``libc-*`` features set no longer effective. |
| 63 | |
| 64 | Remove any references you have to ``DISTRO_FEATURES_LIBC`` in your own |
| 65 | layers. |
| 66 | |
| 67 | .. _migration-2.7-license-values: |
| 68 | |
| 69 | License Value Corrections |
| 70 | ------------------------- |
| 71 | |
| 72 | The following corrections have been made to the |
| 73 | :term:`LICENSE` values set by recipes: |
| 74 | |
| 75 | - *socat*: Corrected ``LICENSE`` to be "GPLv2" rather than "GPLv2+". |
| 76 | - *libgfortran*: Set license to "GPL-3.0-with-GCC-exception". |
| 77 | - *elfutils*: Removed "Elfutils-Exception" and set to "GPLv2" for shared libraries |
| 78 | |
| 79 | .. _migration-2.7-packaging-changes: |
| 80 | |
| 81 | Packaging Changes |
| 82 | ----------------- |
| 83 | |
| 84 | This section provides information about packaging changes. |
| 85 | |
| 86 | - ``bind``: The ``nsupdate`` binary has been moved to the |
| 87 | ``bind-utils`` package. |
| 88 | |
| 89 | - Debug split: The default debug split has been changed to create |
| 90 | separate source packages (i.e. package_name\ ``-dbg`` and |
| 91 | package_name\ ``-src``). If you are currently using ``dbg-pkgs`` in |
| 92 | :term:`IMAGE_FEATURES` to bring in debug |
| 93 | symbols and you still need the sources, you must now also add |
| 94 | ``src-pkgs`` to ``IMAGE_FEATURES``. Source packages remain in the |
| 95 | target portion of the SDK by default, unless you have set your own |
| 96 | value for :term:`SDKIMAGE_FEATURES` that |
| 97 | does not include ``src-pkgs``. |
| 98 | |
| 99 | - Mount all using ``util-linux``: ``/etc/default/mountall`` has moved |
| 100 | into the -mount sub-package. |
| 101 | |
| 102 | - Splitting binaries using ``util-linux``: ``util-linux`` now splits |
| 103 | each binary into its own package for fine-grained control. The main |
| 104 | ``util-linux`` package pulls in the individual binary packages using |
| 105 | the :term:`RRECOMMENDS` and |
| 106 | :term:`RDEPENDS` variables. As a result, existing |
| 107 | images should not see any changes assuming |
| 108 | :term:`NO_RECOMMENDATIONS` is not set. |
| 109 | |
| 110 | - ``netbase/base-files``: ``/etc/hosts`` has moved from ``netbase`` to |
| 111 | ``base-files``. |
| 112 | |
| 113 | - ``tzdata``: The main package has been converted to an empty meta |
| 114 | package that pulls in all ``tzdata`` packages by default. |
| 115 | |
| 116 | - ``lrzsz``: This package has been removed from |
| 117 | ``packagegroup-self-hosted`` and |
| 118 | ``packagegroup-core-tools-testapps``. The X/Y/ZModem support is less |
| 119 | likely to be needed on modern systems. If you are relying on these |
| 120 | packagegroups to include the ``lrzsz`` package in your image, you now |
| 121 | need to explicitly add the package. |
| 122 | |
| 123 | .. _migration-2.7-removed-recipes: |
| 124 | |
| 125 | Removed Recipes |
| 126 | --------------- |
| 127 | |
| 128 | The following recipes have been removed: |
| 129 | |
| 130 | - *gcc*: Drop version 7.3 recipes. Version 8.3 now remains. |
| 131 | - *linux-yocto*: Drop versions 4.14 and 4.18 recipes. Versions 4.19 and 5.0 remain. |
| 132 | - *go*: Drop version 1.9 recipes. Versions 1.11 and 1.12 remain. |
| 133 | - *xvideo-tests*: Became obsolete. |
| 134 | - *libart-lgpl*: Became obsolete. |
| 135 | - *gtk-icon-utils-native*: These tools are now provided by gtk+3-native |
| 136 | - *gcc-cross-initial*: No longer needed. gcc-cross/gcc-crosssdk is now used instead. |
| 137 | - *gcc-crosssdk-initial*: No longer needed. gcc-cross/gcc-crosssdk is now used instead. |
| 138 | - *glibc-initial*: Removed because the benefits of having it for site_config are currently outweighed by the cost of building the recipe. |
| 139 | |
| 140 | .. _migration-2.7-removed-classes: |
| 141 | |
| 142 | Removed Classes |
| 143 | --------------- |
| 144 | |
| 145 | The following classes have been removed: |
| 146 | |
| 147 | - *distutils-tools*: This class was never used. |
| 148 | - *bugzilla.bbclass*: Became obsolete. |
| 149 | - *distrodata*: This functionally has been replaced by a more modern tinfoil-based implementation. |
| 150 | |
| 151 | .. _migration-2.7-miscellaneous-changes: |
| 152 | |
| 153 | Miscellaneous Changes |
| 154 | --------------------- |
| 155 | |
| 156 | The following miscellaneous changes occurred: |
| 157 | |
| 158 | - The ``distro`` subdirectory of the Poky repository has been removed |
| 159 | from the top-level ``scripts`` directory. |
| 160 | |
| 161 | - Perl now builds for the target using |
Andrew Geissler | c723b72 | 2021-01-08 16:14:09 -0600 | [diff] [blame] | 162 | `perl-cross <https://arsv.github.io/perl-cross/>`_ for better |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 163 | maintainability and improved build performance. This change should |
| 164 | not present any problems unless you have heavily customized your Perl |
| 165 | recipe. |
| 166 | |
| 167 | - ``arm-tunes``: Removed the "-march" option if mcpu is already added. |
| 168 | |
| 169 | - ``update-alternatives``: Convert file renames to |
| 170 | :term:`PACKAGE_PREPROCESS_FUNCS` |
| 171 | |
| 172 | - ``base/pixbufcache``: Obsolete ``sstatecompletions`` code has been |
| 173 | removed. |
| 174 | |
| 175 | - :ref:`native <ref-classes-native>` class: |
| 176 | :term:`RDEPENDS` handling has been enabled. |
| 177 | |
| 178 | - ``inetutils``: This recipe has rsh disabled. |
| 179 | |
| 180 | |