blob: 60340b9592f12d3e470f70a8a18bbe0490da5cc4 [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
Andrew Geissler09036742021-06-25 14:25:14 -05003Release 2.3 (pyro)
4==================
Andrew Geisslerc9f78652020-09-18 14:11:35 -05005
6This section provides migration information for moving to the Yocto
Andrew Geissler3b8a17c2021-04-15 15:55:55 -05007Project 2.3 Release (codename "pyro") from the prior release.
Andrew Geisslerc9f78652020-09-18 14:11:35 -05008
9.. _migration-2.3-recipe-specific-sysroots:
10
11Recipe-specific Sysroots
12------------------------
13
14The OpenEmbedded build system now uses one sysroot per recipe to resolve
15long-standing issues with configuration script auto-detection of
16undeclared dependencies. Consequently, you might find that some of your
17previously written custom recipes are missing declared dependencies,
18particularly those dependencies that are incidentally built earlier in a
19typical build process and thus are already likely to be present in the
20shared sysroot in previous releases.
21
22Consider the following:
23
24- *Declare Build-Time Dependencies:* Because of this new feature, you
25 must explicitly declare all build-time dependencies for your recipe.
26 If you do not declare these dependencies, they are not populated into
27 the sysroot for the recipe.
28
29- *Specify Pre-Installation and Post-Installation Native Tool
30 Dependencies:* You must specifically specify any special native tool
31 dependencies of ``pkg_preinst`` and ``pkg_postinst`` scripts by using
32 the :term:`PACKAGE_WRITE_DEPS` variable.
33 Specifying these dependencies ensures that these tools are available
34 if these scripts need to be run on the build host during the
35 :ref:`ref-tasks-rootfs` task.
36
37 As an example, see the ``dbus`` recipe. You will see that this recipe
38 has a ``pkg_postinst`` that calls ``systemctl`` if "systemd" is in
39 :term:`DISTRO_FEATURES`. In the example,
Andrew Geissler09036742021-06-25 14:25:14 -050040 ``systemd-systemctl-native`` is added to :term:`PACKAGE_WRITE_DEPS`,
Andrew Geissler5f350902021-07-23 13:09:54 -040041 which is also conditional on "systemd" being in :term:`DISTRO_FEATURES`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050042
43- Examine Recipes that Use ``SSTATEPOSTINSTFUNCS``: You need to
44 examine any recipe that uses ``SSTATEPOSTINSTFUNCS`` and determine
45 steps to take.
46
47 Functions added to ``SSTATEPOSTINSTFUNCS`` are still called as they
48 were in previous Yocto Project releases. However, since a separate
49 sysroot is now being populated for every recipe and if existing
50 functions being called through ``SSTATEPOSTINSTFUNCS`` are doing
51 relocation, then you will need to change these to use a
52 post-installation script that is installed by a function added to
53 :term:`SYSROOT_PREPROCESS_FUNCS`.
54
Andrew Geissler517393d2023-01-13 08:55:19 -060055 For an example, see the :ref:`ref-classes-pixbufcache` class in ``meta/classes/`` in
Andrew Geissler09209ee2020-12-13 08:44:15 -060056 the :ref:`overview-manual/development-environment:yocto project source repositories`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050057
58 .. note::
59
60 The
61 SSTATEPOSTINSTFUNCS
62 variable itself is now deprecated in favor of the
63 do_populate_sysroot[postfuncs]
64 task. Consequently, if you do still have any function or functions
65 that need to be called after the sysroot component is created for
66 a recipe, then you would be well advised to take steps to use a
67 post installation script as described previously. Taking these
68 steps prepares your code for when
69 SSTATEPOSTINSTFUNCS
70 is removed in a future Yocto Project release.
71
72- *Specify the Sysroot when Using Certain External Scripts:* Because
73 the shared sysroot is now gone, the scripts
74 ``oe-find-native-sysroot`` and ``oe-run-native`` have been changed
75 such that you need to specify which recipe's
76 :term:`STAGING_DIR_NATIVE` is used.
77
78.. note::
79
80 You can find more information on how recipe-specific sysroots work in
Andrew Geissler4c19ea12020-10-27 13:52:24 -050081 the ":ref:`ref-classes-staging`" section.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050082
83.. _migration-2.3-path-variable:
84
85``PATH`` Variable
86-----------------
87
88Within the environment used to run build tasks, the environment variable
89``PATH`` is now sanitized such that the normal native binary paths
90(``/bin``, ``/sbin``, ``/usr/bin`` and so forth) are removed and a
91directory containing symbolic links linking only to the binaries from
92the host mentioned in the :term:`HOSTTOOLS` and
93:term:`HOSTTOOLS_NONFATAL` variables is added
94to ``PATH``.
95
96Consequently, any native binaries provided by the host that you need to
97call needs to be in one of these two variables at the configuration
98level.
99
100Alternatively, you can add a native recipe (i.e. ``-native``) that
101provides the binary to the recipe's :term:`DEPENDS`
102value.
103
104.. note::
105
106 PATH
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500107 is not sanitized in the same way within ``devshell``.
108 If it were, you would have difficulty running host tools for
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500109 development and debugging within the shell.
110
111.. _migration-2.3-scripts:
112
113Changes to Scripts
114------------------
115
116The following changes to scripts took place:
117
118- ``oe-find-native-sysroot``: The usage for the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500119 ``oe-find-native-sysroot`` script has changed to the following::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500120
121 $ . oe-find-native-sysroot recipe
122
123 You must now supply a recipe for recipe
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500124 as part of the command. Prior to the Yocto Project 2.3 release, it
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500125 was not necessary to provide the script with the command.
126
127- ``oe-run-native``: The usage for the ``oe-run-native`` script has
Andrew Geisslerc926e172021-05-07 16:11:35 -0500128 changed to the following::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500129
130 $ oe-run-native native_recipe tool
131
132 You must
133 supply the name of the native recipe and the tool you want to run as
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500134 part of the command. Prior to the Yocto Project 2.3 release, it
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500135 was not necessary to provide the native recipe with the command.
136
137- ``cleanup-workdir``: The ``cleanup-workdir`` script has been
138 removed because the script was found to be deleting files it should
139 not have, which lead to broken build trees. Rather than trying to
140 delete portions of :term:`TMPDIR` and getting it wrong,
Andrew Geissler09036742021-06-25 14:25:14 -0500141 it is recommended that you delete :term:`TMPDIR` and have it restored
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500142 from shared state (sstate) on subsequent builds.
143
144- ``wipe-sysroot``: The ``wipe-sysroot`` script has been removed as
145 it is no longer needed with recipe-specific sysroots.
146
147.. _migration-2.3-functions:
148
149Changes to Functions
150--------------------
151
152The previously deprecated ``bb.data.getVar()``, ``bb.data.setVar()``,
153and related functions have been removed in favor of ``d.getVar()``,
154``d.setVar()``, and so forth.
155
156You need to fix any references to these old functions.
157
158.. _migration-2.3-bitbake-changes:
159
160BitBake Changes
161---------------
162
163The following changes took place for BitBake:
164
165- *BitBake's Graphical Dependency Explorer UI Replaced:* BitBake's
166 graphical dependency explorer UI ``depexp`` was replaced by
167 ``taskexp`` ("Task Explorer"), which provides a graphical way of
168 exploring the ``task-depends.dot`` file. The data presented by Task
169 Explorer is much more accurate than the data that was presented by
170 ``depexp``. Being able to visualize the data is an often requested
171 feature as standard ``*.dot`` file viewers cannot usual cope with the
172 size of the ``task-depends.dot`` file.
173
174- *BitBake "-g" Output Changes:* The ``package-depends.dot`` and
175 ``pn-depends.dot`` files as previously generated using the
176 ``bitbake -g`` command have been removed. A ``recipe-depends.dot``
177 file is now generated as a collapsed version of ``task-depends.dot``
178 instead.
179
180 The reason for this change is because ``package-depends.dot`` and
181 ``pn-depends.dot`` largely date back to a time before task-based
182 execution and do not take into account task-level dependencies
183 between recipes, which could be misleading.
184
185- *Mirror Variable Splitting Changes:* Mirror variables including
186 :term:`MIRRORS`, :term:`PREMIRRORS`,
187 and :term:`SSTATE_MIRRORS` can now separate
188 values entirely with spaces. Consequently, you no longer need "\\n".
189 BitBake looks for pairs of values, which simplifies usage. There
190 should be no change required to existing mirror variable values
191 themselves.
192
193- *The Subversion (SVN) Fetcher Uses an "ssh" Parameter and Not an
194 "rsh" Parameter:* The SVN fetcher now takes an "ssh" parameter
195 instead of an "rsh" parameter. This new optional parameter is used
196 when the "protocol" parameter is set to "svn+ssh". You can only use
197 the new parameter to specify the ``ssh`` program used by SVN. The SVN
198 fetcher passes the new parameter through the ``SVN_SSH`` environment
199 variable during the :ref:`ref-tasks-fetch` task.
200
Andrew Geisslerfc113ea2023-03-31 09:59:46 -0500201 See the
202 ":ref:`bitbake-user-manual/bitbake-user-manual-fetching:subversion (svn) fetcher (\`\`svn://\`\`)`"
203 section in the BitBake User Manual for additional information.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500204
205- ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2``
206 Removed: Because the mechanism they were part of is no longer
207 necessary with recipe-specific sysroots, the
208 ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2``
209 variables have been removed.
210
211.. _migration-2.3-absolute-symlinks:
212
213Absolute Symbolic Links
214-----------------------
215
216Absolute symbolic links (symlinks) within staged files are no longer
217permitted and now trigger an error. Any explicit creation of symlinks
218can use the ``lnr`` script, which is a replacement for ``ln -r``.
219
220If the build scripts in the software that the recipe is building are
221creating a number of absolute symlinks that need to be corrected, you
222can inherit ``relative_symlinks`` within the recipe to turn those
223absolute symlinks into relative symlinks.
224
225.. _migration-2.3-gplv2-and-gplv3-moves:
226
227GPLv2 Versions of GPLv3 Recipes Moved
228-------------------------------------
229
230Older GPLv2 versions of GPLv3 recipes have moved to a separate
231``meta-gplv2`` layer.
232
233If you use :term:`INCOMPATIBLE_LICENSE` to
234exclude GPLv3 or set :term:`PREFERRED_VERSION`
235to substitute a GPLv2 version of a GPLv3 recipe, then you must add the
236``meta-gplv2`` layer to your configuration.
237
238.. note::
239
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500240 You can ``find meta-gplv2`` layer in the OpenEmbedded layer index at
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600241 :oe_layer:`/meta-gplv2`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500242
243These relocated GPLv2 recipes do not receive the same level of
244maintenance as other core recipes. The recipes do not get security fixes
245and upstream no longer maintains them. In fact, the upstream community
246is actively hostile towards people that use the old versions of the
247recipes. Moving these recipes into a separate layer both makes the
248different needs of the recipes clearer and clearly identifies the number
249of these recipes.
250
251.. note::
252
253 The long-term solution might be to move to BSD-licensed replacements
254 of the GPLv3 components for those that need to exclude GPLv3-licensed
255 components from the target system. This solution will be investigated
256 for future Yocto Project releases.
257
258.. _migration-2.3-package-management-changes:
259
260Package Management Changes
261--------------------------
262
263The following package management changes took place:
264
265- Smart package manager is replaced by DNF package manager. Smart has
266 become unmaintained upstream, is not ported to Python 3.x.
267 Consequently, Smart needed to be replaced. DNF is the only feasible
268 candidate.
269
270 The change in functionality is that the on-target runtime package
271 management from remote package feeds is now done with a different
272 tool that has a different set of command-line options. If you have
273 scripts that call the tool directly, or use its API, they need to be
274 fixed.
275
276 For more information, see the `DNF
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600277 Documentation <https://dnf.readthedocs.io/en/latest/>`__.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500278
279- Rpm 5.x is replaced with Rpm 4.x. This is done for two major reasons:
280
281 - DNF is API-incompatible with Rpm 5.x and porting it and
282 maintaining the port is non-trivial.
283
284 - Rpm 5.x itself has limited maintenance upstream, and the Yocto
285 Project is one of the very few remaining users.
286
287- Berkeley DB 6.x is removed and Berkeley DB 5.x becomes the default:
288
289 - Version 6.x of Berkeley DB has largely been rejected by the open
290 source community due to its AGPLv3 license. As a result, most
291 mainstream open source projects that require DB are still
292 developed and tested with DB 5.x.
293
294 - In OE-core, the only thing that was requiring DB 6.x was Rpm 5.x.
295 Thus, no reason exists to continue carrying DB 6.x in OE-core.
296
297- ``createrepo`` is replaced with ``createrepo_c``.
298
299 ``createrepo_c`` is the current incarnation of the tool that
300 generates remote repository metadata. It is written in C as compared
301 to ``createrepo``, which is written in Python. ``createrepo_c`` is
302 faster and is maintained.
303
304- Architecture-independent RPM packages are "noarch" instead of "all".
305
306 This change was made because too many places in DNF/RPM4 stack
307 already make that assumption. Only the filenames and the architecture
308 tag has changed. Nothing else has changed in OE-core system,
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000309 particularly in the :ref:`ref-classes-allarch` class.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500310
311- Signing of remote package feeds using ``PACKAGE_FEED_SIGN`` is not
312 currently supported. This issue will be fully addressed in a future
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500313 Yocto Project release. See :yocto_bugs:`defect 11209 </show_bug.cgi?id=11209>`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500314 for more information on a solution to package feed signing with RPM
315 in the Yocto Project 2.3 release.
316
317- OPKG now uses the libsolv backend for resolving package dependencies
318 by default. This is vastly superior to OPKG's internal ad-hoc solver
319 that was previously used. This change does have a small impact on
320 disk (around 500 KB) and memory footprint.
321
322 .. note::
323
324 For further details on this change, see the
Andrew Geissler09209ee2020-12-13 08:44:15 -0600325 :yocto_git:`commit message </poky/commit/?id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81>`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500326
327.. _migration-2.3-removed-recipes:
328
329Removed Recipes
330---------------
331
332The following recipes have been removed:
333
334- ``linux-yocto 4.8``: Version 4.8 has been removed. Versions 4.1
335 (LTSI), 4.4 (LTS), 4.9 (LTS/LTSI) and 4.10 are now present.
336
337- ``python-smartpm``: Functionally replaced by ``dnf``.
338
339- ``createrepo``: Replaced by the ``createrepo-c`` recipe.
340
341- ``rpmresolve``: No longer needed with the move to RPM 4 as RPM
342 itself is used instead.
343
344- ``gstreamer``: Removed the GStreamer Git version recipes as they
345 have been stale. ``1.10.``\ x recipes are still present.
346
347- ``alsa-conf-base``: Merged into ``alsa-conf`` since ``libasound``
348 depended on both. Essentially, no way existed to install only one of
349 these.
350
351- ``tremor``: Moved to ``meta-multimedia``. Fixed-integer Vorbis
352 decoding is not needed by current hardware. Thus, GStreamer's ivorbis
353 plugin has been disabled by default eliminating the need for the
354 ``tremor`` recipe in :term:`OpenEmbedded-Core (OE-Core)`.
355
356- ``gummiboot``: Replaced by ``systemd-boot``.
357
358.. _migration-2.3-wic-changes:
359
360Wic Changes
361-----------
362
363The following changes have been made to Wic:
364
365.. note::
366
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500367 For more information on Wic, see the
Andrew Geissler517393d2023-01-13 08:55:19 -0600368 ":ref:`dev-manual/wic:creating partitioned images using wic`"
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500369 section in the Yocto Project Development Tasks Manual.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500370
371- *Default Output Directory Changed:* Wic's default output directory is
372 now the current directory by default instead of the unusual
373 ``/var/tmp/wic``.
374
Patrick Williams45852732022-04-02 08:58:32 -0500375 The ``-o`` and ``--outdir`` options remain unchanged and are used to
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500376 specify your preferred output directory if you do not want to use the
377 default directory.
378
379- *fsimage Plug-in Removed:* The Wic fsimage plugin has been removed as
380 it duplicates functionality of the rawcopy plugin.
381
382.. _migration-2.3-qa-changes:
383
384QA Changes
385----------
386
387The following QA checks have changed:
388
389- ``unsafe-references-in-binaries``: The
390 ``unsafe-references-in-binaries`` QA check, which was disabled by
391 default, has now been removed. This check was intended to detect
392 binaries in ``/bin`` that link to libraries in ``/usr/lib`` and have
393 the case where the user has ``/usr`` on a separate filesystem to
394 ``/``.
395
396 The removed QA check was buggy. Additionally, ``/usr`` residing on a
397 separate partition from ``/`` is now a rare configuration.
398 Consequently, ``unsafe-references-in-binaries`` was removed.
399
400- ``file-rdeps``: The ``file-rdeps`` QA check is now an error by
401 default instead of a warning. Because it is an error instead of a
402 warning, you need to address missing runtime dependencies.
403
404 For additional information, see the
Andrew Geissler517393d2023-01-13 08:55:19 -0600405 :ref:`ref-classes-insane` class and the
Andrew Geissler09209ee2020-12-13 08:44:15 -0600406 ":ref:`ref-manual/qa-checks:errors and warnings`" section.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500407
408.. _migration-2.3-miscellaneous-changes:
409
410Miscellaneous Changes
411---------------------
412
413The following miscellaneous changes have occurred:
414
415- In this release, a number of recipes have been changed to ignore the
416 ``largefile`` :term:`DISTRO_FEATURES` item,
417 enabling large file support unconditionally. This feature has always
418 been enabled by default. Disabling the feature has not been widely
419 tested.
420
421 .. note::
422
423 Future releases of the Yocto Project will remove entirely the
424 ability to disable the
425 largefile
426 feature, which would make it unconditionally enabled everywhere.
427
428- If the :term:`DISTRO_VERSION` value contains
429 the value of the :term:`DATE` variable, which is the
Andrew Geissler09036742021-06-25 14:25:14 -0500430 default between Poky releases, the :term:`DATE` value is explicitly
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500431 excluded from ``/etc/issue`` and ``/etc/issue.net``, which is
432 displayed at the login prompt, in order to avoid conflicts with
Andrew Geissler09036742021-06-25 14:25:14 -0500433 Multilib enabled. Regardless, the :term:`DATE` value is inaccurate if the
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500434 ``base-files`` recipe is restored from shared state (sstate) rather
435 than rebuilt.
436
437 If you need the build date recorded in ``/etc/issue*`` or anywhere
438 else in your image, a better method is to define a post-processing
439 function to do it and have the function called from
440 :term:`ROOTFS_POSTPROCESS_COMMAND`.
441 Doing so ensures the value is always up-to-date with the created
442 image.
443
444- Dropbear's ``init`` script now disables DSA host keys by default.
445 This change is in line with the systemd service file, which supports
446 RSA keys only, and with recent versions of OpenSSH, which deprecates
447 DSA host keys.
448
Andrew Geissler517393d2023-01-13 08:55:19 -0600449- The :ref:`ref-classes-buildhistory` class now
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500450 correctly uses tabs as separators between all columns in
451 ``installed-package-sizes.txt`` in order to aid import into other
452 tools.
453
454- The ``USE_LDCONFIG`` variable has been replaced with the "ldconfig"
Andrew Geissler09036742021-06-25 14:25:14 -0500455 :term:`DISTRO_FEATURES` feature. Distributions that previously set::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500456
457 USE_LDCONFIG = "0"
458
Andrew Geisslerc926e172021-05-07 16:11:35 -0500459 should now instead use the following::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500460
461 DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig"
462
463- The default value of
464 :term:`COPYLEFT_LICENSE_INCLUDE` now
465 includes all versions of AGPL licenses in addition to GPL and LGPL.
466
467 .. note::
468
469 The default list is not intended to be guaranteed as a complete
470 safe list. You should seek legal advice based on what you are
471 distributing if you are unsure.
472
473- Kernel module packages are now suffixed with the kernel version in
474 order to allow module packages from multiple kernel versions to
475 co-exist on a target system. If you wish to return to the previous
476 naming scheme that does not include the version suffix, use the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500477 following::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500478
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500479 KERNEL_MODULE_PACKAGE_SUFFIX = ""
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500480
481- Removal of ``libtool`` ``*.la`` files is now enabled by default. The
482 ``*.la`` files are not actually needed on Linux and relocating them
483 is an unnecessary burden.
484
485 If you need to preserve these ``.la`` files (e.g. in a custom
Andrew Geissler517393d2023-01-13 08:55:19 -0600486 distribution), you must change :term:`INHERIT_DISTRO` such that
487 ":ref:`ref-classes-remove-libtool`" is not included
488 in the value.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500489
490- Extensible SDKs built for GCC 5+ now refuse to install on a
491 distribution where the host GCC version is 4.8 or 4.9. This change
492 resulted from the fact that the installation is known to fail due to
493 the way the ``uninative`` shared state (sstate) package is built. See
Andrew Geissler517393d2023-01-13 08:55:19 -0600494 the :ref:`ref-classes-uninative` class for additional information.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500495
Andrew Geissler517393d2023-01-13 08:55:19 -0600496- All :ref:`ref-classes-native` and :ref:`ref-classes-nativesdk` recipes now
497 use a separate :term:`DISTRO_FEATURES` value instead of sharing the value
498 used by recipes for the target, in order to avoid unnecessary rebuilds.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500499
Andrew Geissler517393d2023-01-13 08:55:19 -0600500 The :term:`DISTRO_FEATURES` for :ref:`ref-classes-native` recipes
501 is :term:`DISTRO_FEATURES_NATIVE` added to an intersection of
502 :term:`DISTRO_FEATURES` and :term:`DISTRO_FEATURES_FILTER_NATIVE`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500503
Andrew Geissler517393d2023-01-13 08:55:19 -0600504 For :ref:`ref-classes-nativesdk` recipes, the corresponding
505 variables are :term:`DISTRO_FEATURES_NATIVESDK` and
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500506 :term:`DISTRO_FEATURES_FILTER_NATIVESDK`.
507
508- The ``FILESDIR`` variable, which was previously deprecated and rarely
509 used, has now been removed. You should change any recipes that set
510 ``FILESDIR`` to set :term:`FILESPATH` instead.
511
512- The ``MULTIMACH_HOST_SYS`` variable has been removed as it is no
513 longer needed with recipe-specific sysroots.
514
515