xref: /OK3568_Linux_fs/yocto/poky/documentation/migration-guides/migration-3.2.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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