1*4882a593SmuzhiyunRelease 3.2 (gatesgarth) 2*4882a593Smuzhiyun======================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunThis section provides migration information for moving to the Yocto 5*4882a593SmuzhiyunProject 3.2 Release (codename "gatesgarth") from the prior release. 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun.. _migration-3.2-minimum-system-requirements: 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunMinimum system requirements 10*4882a593Smuzhiyun--------------------------- 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun``gcc`` version 6.0 is now required at minimum on the build host. For older 13*4882a593Smuzhiyunhost distributions where this is not available, you can use the 14*4882a593Smuzhiyun``buildtools-extended-tarball`` (easily installable using 15*4882a593Smuzhiyun``scripts/install-buildtools``). 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun.. _migration-3.2-removed-recipes: 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunRemoved recipes 21*4882a593Smuzhiyun--------------- 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunThe following recipes have been removed: 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun- ``bjam-native``: replaced by ``boost-build-native`` 26*4882a593Smuzhiyun- ``avahi-ui``: folded into the main ``avahi`` recipe - the GTK UI can be disabled using :term:`PACKAGECONFIG` for ``avahi``. 27*4882a593Smuzhiyun- ``build-compare``: no longer needed with the removal of the ``packagefeed-stability`` class 28*4882a593Smuzhiyun- ``dhcp``: obsolete, functionally replaced by ``dhcpcd`` and ``kea`` 29*4882a593Smuzhiyun- ``libmodulemd-v1``: replaced by ``libmodulemd`` 30*4882a593Smuzhiyun- ``packagegroup-core-device-devel``: obsolete 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun.. _migration-3.2-removed-classes: 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunRemoved classes 36*4882a593Smuzhiyun--------------- 37*4882a593Smuzhiyun 38*4882a593SmuzhiyunThe following classes (.bbclass files) have been removed: 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun- ``spdx``: obsolete - the Yocto Project is a strong supporter of SPDX, but this class was old code using a dated approach and had the potential to be misleading. The ``meta-sdpxscanner`` layer is a much more modern and active approach to handling this and is recommended as a replacement. 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun- ``packagefeed-stability``: this class had become obsolete with the advent of hash equivalence and reproducible builds. 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun 45*4882a593Smuzhiyunpseudo path filtering and mismatch behaviour 46*4882a593Smuzhiyun-------------------------------------------- 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunpseudo now operates on a filtered subset of files. This is a significant change 49*4882a593Smuzhiyunto the way pseudo operates within OpenEmbedded - by default, pseudo monitors and 50*4882a593Smuzhiyunlogs (adds to its database) any file created or modified whilst in a ``fakeroot`` 51*4882a593Smuzhiyunenvironment. However, there are large numbers of files that we simply don't care 52*4882a593Smuzhiyunabout the permissions of whilst in that ``fakeroot`` context, for example ${:term:`S`}, ${:term:`B`}, ${:term:`T`}, 53*4882a593Smuzhiyun${:term:`SSTATE_DIR`}, the central sstate control directories, and others. 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunAs of this release, new functionality in pseudo is enabled to ignore these 56*4882a593Smuzhiyundirectory trees (controlled using a new :term:`PSEUDO_IGNORE_PATHS` variable) 57*4882a593Smuzhiyunresulting in a cleaner database with less chance of "stray" mismatches if files 58*4882a593Smuzhiyunare modified outside pseudo context. It also should reduce some overhead from 59*4882a593Smuzhiyunpseudo as the interprocess round trip to the server is avoided. 60*4882a593Smuzhiyun 61*4882a593SmuzhiyunThere is a possible complication where some existing recipe may break, for 62*4882a593Smuzhiyunexample, a recipe was found to be writing to ``${B}/install`` for 63*4882a593Smuzhiyun``make install`` in ``do_install`` and since ``${B}`` is listed as not to be tracked, 64*4882a593Smuzhiyunthere were errors trying to ``chown root`` for files in this location. Another 65*4882a593Smuzhiyunexample was the ``tcl`` recipe where the source directory :term:`S` is set to a 66*4882a593Smuzhiyunsubdirectory of the source tree but files were written out to the directory 67*4882a593Smuzhiyunstructure above that subdirectory. For these types of cases in your own recipes, 68*4882a593Smuzhiyunextend :term:`PSEUDO_IGNORE_PATHS` to cover additional paths that pseudo should not 69*4882a593Smuzhiyunbe monitoring. 70*4882a593Smuzhiyun 71*4882a593SmuzhiyunIn addition, pseudo's behaviour on mismatches has now been changed - rather 72*4882a593Smuzhiyunthan doing what turns out to be a rather dangerous "fixup" if it sees a file 73*4882a593Smuzhiyunwith a different path but the same inode as another file it has previously seen, 74*4882a593Smuzhiyunpseudo will throw an ``abort()`` and direct you to a :yocto_wiki:`wiki page </Pseudo_Abort>` 75*4882a593Smuzhiyunthat explains how to deal with this. 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun.. _migration-3.2-multilib-mlprefix: 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun``MLPREFIX`` now required for multilib when runtime dependencies conditionally added 81*4882a593Smuzhiyun------------------------------------------------------------------------------------ 82*4882a593Smuzhiyun 83*4882a593SmuzhiyunIn order to solve some previously intractable problems with runtime 84*4882a593Smuzhiyundependencies and multilib, a change was made that now requires the :term:`MLPREFIX` 85*4882a593Smuzhiyunvalue to be explicitly prepended to package names being added as 86*4882a593Smuzhiyundependencies (e.g. in :term:`RDEPENDS` and :term:`RRECOMMENDS` values) 87*4882a593Smuzhiyunwhere the dependency is conditionally added. 88*4882a593Smuzhiyun 89*4882a593SmuzhiyunIf you have anonymous python or in-line python conditionally adding 90*4882a593Smuzhiyundependencies in your custom recipes, and you intend for those recipes to 91*4882a593Smuzhiyunwork with multilib, then you will need to ensure that ``${MLPREFIX}`` 92*4882a593Smuzhiyunis prefixed on the package names in the dependencies, for example 93*4882a593Smuzhiyun(from the ``glibc`` recipe):: 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}" 96*4882a593Smuzhiyun 97*4882a593SmuzhiyunThis also applies when conditionally adding packages to :term:`PACKAGES` where 98*4882a593Smuzhiyunthose packages have dependencies, for example (from the ``alsa-plugins`` recipe):: 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}" 101*4882a593Smuzhiyun ... 102*4882a593Smuzhiyun RDEPENDS_${PN}-pulseaudio-conf += "\ 103*4882a593Smuzhiyun ${MLPREFIX}libasound-module-conf-pulse \ 104*4882a593Smuzhiyun ${MLPREFIX}libasound-module-ctl-pulse \ 105*4882a593Smuzhiyun ${MLPREFIX}libasound-module-pcm-pulse \ 106*4882a593Smuzhiyun " 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun.. _migration-3.2-packagegroup-core-device-devel: 110*4882a593Smuzhiyun 111*4882a593Smuzhiyunpackagegroup-core-device-devel no longer included in images built for qemu* machines 112*4882a593Smuzhiyun------------------------------------------------------------------------------------ 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun``packagegroup-core-device-devel`` was previously added automatically to 115*4882a593Smuzhiyunimages built for ``qemu*`` machines, however the purpose of the group and what 116*4882a593Smuzhiyunit should contain is no longer clear, and in general, adding userspace 117*4882a593Smuzhiyundevelopment items to images is best done at the image/class level; thus this 118*4882a593Smuzhiyunpackagegroup was removed. 119*4882a593Smuzhiyun 120*4882a593SmuzhiyunThis packagegroup previously pulled in the following: 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun- ``distcc-config`` 123*4882a593Smuzhiyun- ``nfs-export-root`` 124*4882a593Smuzhiyun- ``bash`` 125*4882a593Smuzhiyun- ``binutils-symlinks`` 126*4882a593Smuzhiyun 127*4882a593SmuzhiyunIf you still need any of these in your image built for a ``qemu*`` machine 128*4882a593Smuzhiyunthen you will add them explicitly to :term:`IMAGE_INSTALL` or another 129*4882a593Smuzhiyunappropriate place in the dependency chain for your image (if you have not 130*4882a593Smuzhiyunalready done so). 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun.. _migration-3.2-dhcp: 134*4882a593Smuzhiyun 135*4882a593SmuzhiyunDHCP server/client replaced 136*4882a593Smuzhiyun--------------------------- 137*4882a593Smuzhiyun 138*4882a593SmuzhiyunThe ``dhcp`` software package has become unmaintained and thus has been 139*4882a593Smuzhiyunfunctionally replaced by ``dhcpcd`` (client) and ``kea`` (server). You will 140*4882a593Smuzhiyunneed to replace references to the recipe/package names as appropriate - most 141*4882a593Smuzhiyuncommonly, at the package level ``dhcp-client`` should be replaced by 142*4882a593Smuzhiyun``dhcpcd`` and ``dhcp-server`` should be replaced by ``kea``. If you have any 143*4882a593Smuzhiyuncustom configuration files for these they will need to be adapted - refer to 144*4882a593Smuzhiyunthe upstream documentation for ``dhcpcd`` and ``kea`` for further details. 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun.. _migration-3.2-packaging-changes: 148*4882a593Smuzhiyun 149*4882a593SmuzhiyunPackaging changes 150*4882a593Smuzhiyun----------------- 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun- ``python3``: the ``urllib`` python package has now moved into the core package, as it is used more commonly than just netclient (e.g. email, xml, mimetypes, pydoc). In addition, the ``pathlib`` module is now also part of the core package. 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun- ``iptables``: ``iptables-apply`` and ``ip6tables-apply`` have been split out to their own package to avoid a bash dependency in the main ``iptables`` package 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun.. _migration-3.2-package-qa-checks: 158*4882a593Smuzhiyun 159*4882a593SmuzhiyunPackage QA check changes 160*4882a593Smuzhiyun------------------------ 161*4882a593Smuzhiyun 162*4882a593SmuzhiyunPreviously, the following package QA checks triggered warnings, however they can 163*4882a593Smuzhiyunbe indicators of genuine underlying problems and are therefore now treated as 164*4882a593Smuzhiyunerrors: 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun- :ref:`already-stripped <qa-check-already-stripped>` 167*4882a593Smuzhiyun- :ref:`compile-host-path <qa-check-compile-host-path>` 168*4882a593Smuzhiyun- :ref:`installed-vs-shipped <qa-check-installed-vs-shipped>` 169*4882a593Smuzhiyun- :ref:`ldflags <qa-check-ldflags>` 170*4882a593Smuzhiyun- :ref:`pn-overrides <qa-check-pn-overrides>` 171*4882a593Smuzhiyun- :ref:`rpaths <qa-check-rpaths>` 172*4882a593Smuzhiyun- :ref:`staticdev <qa-check-staticdev>` 173*4882a593Smuzhiyun- :ref:`unknown-configure-option <qa-check-unknown-configure-option>` 174*4882a593Smuzhiyun- :ref:`useless-rpaths <qa-check-useless-rpaths>` 175*4882a593Smuzhiyun 176*4882a593SmuzhiyunIn addition, the following new checks were added and default to triggering an error: 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun- :ref:`shebang-size <qa-check-shebang-size>`: Check for shebang (#!) lines longer than 128 characters, which can give an error at runtime depending on the operating system. 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun- :ref:`unhandled-features-check <qa-check-unhandled-features-check>`: Check if any of the variables supported by the :ref:`features_check <ref-classes-features_check>` class is set while not inheriting the class itself. 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun- :ref:`missing-update-alternatives <qa-check-missing-update-alternatives>`: Check if the recipe sets the :term:`ALTERNATIVE` variable for any of its packages, and does not inherit the :ref:`update-alternatives <ref-classes-update-alternatives>` class. 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun- A trailing slash or duplicated slashes in the value of :term:`S` or :term:`B` will now trigger a warning so that they can be removed and path comparisons can be more reliable - remove any instances of these in your recipes if the warning is displayed. 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun.. _migration-3.2-src-uri-file-globbing: 188*4882a593Smuzhiyun 189*4882a593SmuzhiyunGlobbing no longer supported in ``file://`` entries in ``SRC_URI`` 190*4882a593Smuzhiyun------------------------------------------------------------------ 191*4882a593Smuzhiyun 192*4882a593SmuzhiyunGlobbing (``*`` and ``?`` wildcards) in ``file://`` URLs within :term:`SRC_URI` 193*4882a593Smuzhiyundid not properly support file checksums, thus changes to the source files 194*4882a593Smuzhiyunwould not always change the do_fetch task checksum, and consequently would 195*4882a593Smuzhiyunnot ensure that the changed files would be incorporated in subsequent builds. 196*4882a593Smuzhiyun 197*4882a593SmuzhiyunUnfortunately it is not practical to make globbing work generically here, so 198*4882a593Smuzhiyunthe decision was taken to remove support for globs in ``file://`` URLs. 199*4882a593SmuzhiyunIf you have any usage of these in your recipes, then you will now need to 200*4882a593Smuzhiyuneither add each of the files that you expect to match explicitly, or 201*4882a593Smuzhiyunalternatively if you still need files to be pulled in dynamically, put the 202*4882a593Smuzhiyunfiles into a subdirectory and reference that instead. 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun.. _migration-3.2-deploydir-clean: 206*4882a593Smuzhiyun 207*4882a593Smuzhiyundeploy class now cleans ``DEPLOYDIR`` before ``do_deploy`` 208*4882a593Smuzhiyun---------------------------------------------------------- 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun``do_deploy`` as implemented in the :ref:`deploy <ref-classes-deploy>` class now cleans up ${:term:`DEPLOYDIR`} before running, just as ``do_install`` cleans up ${:term:`D`} before running. This reduces the risk of :term:`DEPLOYDIR` being accidentally contaminated by files from previous runs, possibly even with different config, in case of incremental builds. 211*4882a593Smuzhiyun 212*4882a593SmuzhiyunMost recipes and classes that inherit the :ref:`deploy <ref-classes-deploy>` class or interact with ``do_deploy`` are unlikely to be affected by this unless they add ``prefuncs`` to ``do_deploy`` *which also* put files into ``${DEPLOYDIR}`` - these should be refactored to use ``do_deploy_prepend`` instead. 213*4882a593Smuzhiyun 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun.. _migration-3.2-nativesdk-sdk-provides-dummy: 216*4882a593Smuzhiyun 217*4882a593SmuzhiyunCustom SDK / SDK-style recipes need to include ``nativesdk-sdk-provides-dummy`` 218*4882a593Smuzhiyun------------------------------------------------------------------------------- 219*4882a593Smuzhiyun 220*4882a593SmuzhiyunAll ``nativesdk`` packages require ``/bin/sh`` due to their postinstall scriptlets, thus this package has to be dummy-provided within the SDK and ``nativesdk-sdk-provides-dummy`` now does this. If you have a custom SDK recipe (or your own SDK-style recipe similar to e.g. ``buildtools-tarball``), you will need to ensure ``nativesdk-sdk-provides-dummy`` or an equivalent is included in :term:`TOOLCHAIN_HOST_TASK`. 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun``ld.so.conf`` now moved back to main ``glibc`` package 224*4882a593Smuzhiyun------------------------------------------------------- 225*4882a593Smuzhiyun 226*4882a593SmuzhiyunThere are cases where one doesn't want ``ldconfig`` on target (e.g. for 227*4882a593Smuzhiyunread-only root filesystems, it's rather pointless), yet one still 228*4882a593Smuzhiyunneeds ``/etc/ld.so.conf`` to be present at image build time: 229*4882a593Smuzhiyun 230*4882a593SmuzhiyunWhen some recipe installs libraries to a non-standard location, and 231*4882a593Smuzhiyuntherefore installs in a file in ``/etc/ld.so.conf.d/foo.conf``, we 232*4882a593Smuzhiyunneed ``/etc/ld.so.conf`` containing:: 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun include /etc/ld.so.conf.d/*.conf 235*4882a593Smuzhiyun 236*4882a593Smuzhiyunin order to get those other locations picked up. 237*4882a593Smuzhiyun 238*4882a593SmuzhiyunThus ``/etc/ld.so.conf`` is now in the main ``glibc`` package so that 239*4882a593Smuzhiyunthere's always an ``ld.so.conf`` present when the build-time ``ldconfig`` 240*4882a593Smuzhiyunruns towards the end of image construction. 241*4882a593Smuzhiyun 242*4882a593SmuzhiyunThe ``ld.so.conf`` and ``ld.so.conf.d/*.conf`` files do not take up 243*4882a593Smuzhiyunsignificant space (at least not compared to the ~700kB ``ldconfig`` binary), and they 244*4882a593Smuzhiyunmight be needed in case ``ldconfig`` is installable, so they are left 245*4882a593Smuzhiyunin place after the image is built. Technically it would be possible to 246*4882a593Smuzhiyunremove them if desired, though it would not be trivial if you still 247*4882a593Smuzhiyunwanted the build-time ldconfig to function (:term:`ROOTFS_POSTPROCESS_COMMAND` 248*4882a593Smuzhiyunwill not work as ``ldconfig`` is run after the functions referred to 249*4882a593Smuzhiyunby that variable). 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun.. _migration-3.2-virgl: 253*4882a593Smuzhiyun 254*4882a593SmuzhiyunHost DRI drivers now used for GL support within ``runqemu`` 255*4882a593Smuzhiyun----------------------------------------------------------- 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun``runqemu`` now uses the mesa-native libraries everywhere virgl is used 258*4882a593Smuzhiyun(i.e. when ``gl``, ``gl-es`` or ``egl-headless`` options are specified), 259*4882a593Smuzhiyunbut instructs them to load DRI drivers from the host. Unfortunately this 260*4882a593Smuzhiyunmay not work well with proprietary graphics drivers such as those from 261*4882a593SmuzhiyunNvidia; if you are using such drivers then you may need to switch to an 262*4882a593Smuzhiyunalternative (such as Nouveau in the case of Nvidia hardware) or avoid 263*4882a593Smuzhiyunusing the GL options. 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun.. _migration-3.2-initramfs-suffix: 267*4882a593Smuzhiyun 268*4882a593Smuzhiyuninitramfs images now use a blank suffix 269*4882a593Smuzhiyun--------------------------------------- 270*4882a593Smuzhiyun 271*4882a593SmuzhiyunThe reference initramfs images (``core-image-minimal-initramfs``, 272*4882a593Smuzhiyun``core-image-tiny-initramfs`` and ``core-image-testmaster-initramfs``) now 273*4882a593Smuzhiyunset an empty string for :term:`IMAGE_NAME_SUFFIX`, which otherwise defaults 274*4882a593Smuzhiyunto ``".rootfs"``. These images aren't root filesystems and thus the rootfs 275*4882a593Smuzhiyunlabel didn't make sense. If you are looking for the output files generated 276*4882a593Smuzhiyunby these image recipes directly then you will need to adapt to the new 277*4882a593Smuzhiyunnaming without the ``.rootfs`` part. 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun 280*4882a593Smuzhiyun.. _migration-3.2-image-artifact-names: 281*4882a593Smuzhiyun 282*4882a593SmuzhiyunImage artifact name variables now centralised in image-artifact-names class 283*4882a593Smuzhiyun--------------------------------------------------------------------------- 284*4882a593Smuzhiyun 285*4882a593SmuzhiyunThe defaults for the following image artifact name variables have been moved 286*4882a593Smuzhiyunfrom bitbake.conf to a new ``image-artifact-names`` class: 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun- :term:`IMAGE_BASENAME` 289*4882a593Smuzhiyun- :term:`IMAGE_LINK_NAME` 290*4882a593Smuzhiyun- :term:`IMAGE_NAME` 291*4882a593Smuzhiyun- :term:`IMAGE_NAME_SUFFIX` 292*4882a593Smuzhiyun- :term:`IMAGE_VERSION_SUFFIX` 293*4882a593Smuzhiyun 294*4882a593SmuzhiyunImage-related classes now inherit this class, and typically these variables 295*4882a593Smuzhiyunare only referenced within image recipes so those will be unaffected by this 296*4882a593Smuzhiyunchange. However if you have references to these variables in either a recipe 297*4882a593Smuzhiyunthat is not an image or a class that is enabled globally, then those will 298*4882a593Smuzhiyunnow need to be changed to ``inherit image-artifact-names``. 299*4882a593Smuzhiyun 300*4882a593Smuzhiyun 301*4882a593Smuzhiyun.. _migration-3.2-misc: 302*4882a593Smuzhiyun 303*4882a593SmuzhiyunMiscellaneous changes 304*4882a593Smuzhiyun--------------------- 305*4882a593Smuzhiyun 306*4882a593Smuzhiyun- Support for the long-deprecated ``PACKAGE_GROUP`` variable has now been removed - replace any remaining instances with :term:`FEATURE_PACKAGES`. 307*4882a593Smuzhiyun- The ``FILESPATHPKG`` variable, having been previously deprecated, has now been removed. Replace any remaining references with appropriate use of :term:`FILESEXTRAPATHS`. 308*4882a593Smuzhiyun- Erroneous use of ``inherit +=`` (instead of ``INHERIT +=``) in a configuration file now triggers an error instead of silently being ignored. 309*4882a593Smuzhiyun- ptest support has been removed from the ``kbd`` recipe, as upstream has moved to autotest which is difficult to work with in a cross-compilation environment. 310*4882a593Smuzhiyun- ``oe.utils.is_machine_specific()`` and ``oe.utils.machine_paths()`` have been removed as their utility was questionable. In the unlikely event that you have references to these in your own code, then the code will need to be reworked. 311*4882a593Smuzhiyun- The ``i2ctransfer`` module is now disabled by default when building ``busybox`` in order to be consistent with disabling the other i2c tools there. If you do wish the i2ctransfer module to be built in BusyBox then add ``CONFIG_I2CTRANSFER=y`` to your custom BusyBox configuration. 312*4882a593Smuzhiyun- In the ``Upstream-Status`` header convention for patches, ``Accepted`` has been replaced with ``Backport`` as these almost always mean the same thing i.e. the patch is already upstream and may need to be removed in a future recipe upgrade. If you are adding these headers to your own patches then use ``Backport`` to indicate that the patch has been sent upstream. 313*4882a593Smuzhiyun- The ``tune-supersparc.inc`` tune file has been removed as it does not appear to be widely used and no longer works. 314