migration-1.4.rst 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. .. SPDX-License-Identifier: CC-BY-SA-2.0-UK
  2. Release 1.4 (dylan)
  3. ===================
  4. This section provides migration information for moving to the Yocto
  5. Project 1.4 Release (codename "dylan") from the prior release.
  6. .. _migration-1.4-bitbake:
  7. BitBake
  8. -------
  9. Differences include the following:
  10. - *Comment Continuation:* If a comment ends with a line continuation
  11. (\\) character, then the next line must also be a comment. Any
  12. instance where this is not the case, now triggers a warning. You must
  13. either remove the continuation character, or be sure the next line is
  14. a comment.
  15. - *Package Name Overrides:* The runtime package specific variables
  16. :term:`RDEPENDS`,
  17. :term:`RRECOMMENDS`,
  18. :term:`RSUGGESTS`,
  19. :term:`RPROVIDES`,
  20. :term:`RCONFLICTS`,
  21. :term:`RREPLACES`, :term:`FILES`,
  22. :term:`ALLOW_EMPTY`, and the pre, post, install,
  23. and uninstall script functions ``pkg_preinst``, ``pkg_postinst``,
  24. ``pkg_prerm``, and ``pkg_postrm`` should always have a package name
  25. override. For example, use ``RDEPENDS_${PN}`` for the main package
  26. instead of :term:`RDEPENDS`. BitBake uses more strict checks when it
  27. parses recipes.
  28. .. _migration-1.4-build-behavior:
  29. Build Behavior
  30. --------------
  31. Differences include the following:
  32. - *Shared State Code:* The shared state code has been optimized to
  33. avoid running unnecessary tasks. For example, the following no longer
  34. populates the target sysroot since that is not necessary::
  35. $ bitbake -c rootfs some-image
  36. Instead, the system just needs to extract the
  37. output package contents, re-create the packages, and construct the
  38. root filesystem. This change is unlikely to cause any problems unless
  39. you have missing declared dependencies.
  40. - *Scanning Directory Names:* When scanning for files in
  41. :term:`SRC_URI`, the build system now uses
  42. :term:`FILESOVERRIDES` instead of
  43. :term:`OVERRIDES` for the directory names. In
  44. general, the values previously in :term:`OVERRIDES` are now in
  45. :term:`FILESOVERRIDES` as well. However, if you relied upon an additional
  46. value you previously added to :term:`OVERRIDES`, you might now need to
  47. add it to :term:`FILESOVERRIDES` unless you are already adding it through
  48. the :term:`MACHINEOVERRIDES` or
  49. :term:`DISTROOVERRIDES` variables, as
  50. appropriate. For more related changes, see the
  51. ":ref:`migration-guides/migration-1.4:variables`" section.
  52. .. _migration-1.4-proxies-and-fetching-source:
  53. Proxies and Fetching Source
  54. ---------------------------
  55. A new ``oe-git-proxy`` script has been added to replace previous methods
  56. of handling proxies and fetching source from Git. See the
  57. ``meta-yocto/conf/site.conf.sample`` file for information on how to use
  58. this script.
  59. .. _migration-1.4-custom-interfaces-file-netbase-change:
  60. Custom Interfaces File (netbase change)
  61. ---------------------------------------
  62. If you have created your own custom ``etc/network/interfaces`` file by
  63. creating an append file for the ``netbase`` recipe, you now need to
  64. create an append file for the ``init-ifupdown`` recipe instead, which
  65. you can find in the :term:`Source Directory` at
  66. ``meta/recipes-core/init-ifupdown``. For information on how to use
  67. append files, see the
  68. ":ref:`dev-manual/layers:appending other layers metadata with your layer`"
  69. section in the Yocto Project Development Tasks Manual.
  70. .. _migration-1.4-remote-debugging:
  71. Remote Debugging
  72. ----------------
  73. Support for remote debugging with the Eclipse IDE is now separated into
  74. an image feature (``eclipse-debug``) that corresponds to the
  75. ``packagegroup-core-eclipse-debug`` package group. Previously, the
  76. debugging feature was included through the ``tools-debug`` image
  77. feature, which corresponds to the ``packagegroup-core-tools-debug``
  78. package group.
  79. .. _migration-1.4-variables:
  80. Variables
  81. ---------
  82. The following variables have changed:
  83. - :term:`SANITY_TESTED_DISTROS`: This variable now uses a distribution
  84. ID, which is composed of the host distributor ID followed by the
  85. release. Previously,
  86. :term:`SANITY_TESTED_DISTROS` was
  87. composed of the description field. For example, "Ubuntu 12.10"
  88. becomes "Ubuntu-12.10". You do not need to worry about this change if
  89. you are not specifically setting this variable, or if you are
  90. specifically setting it to "".
  91. - :term:`SRC_URI`: The ``${``\ :term:`PN`\ ``}``,
  92. ``${``\ :term:`PF`\ ``}``,
  93. ``${``\ :term:`P`\ ``}``, and ``FILE_DIRNAME`` directories
  94. have been dropped from the default value of the
  95. :term:`FILESPATH` variable, which is used as the
  96. search path for finding files referred to in
  97. :term:`SRC_URI`. If you have a recipe that relied upon
  98. these directories, which would be unusual, then you will need to add
  99. the appropriate paths within the recipe or, alternatively, rearrange
  100. the files. The most common locations are still covered by ``${``\ :term:`BP`\ ``}``,
  101. ``${``\ :term:`BPN`\ ``}``, and "files", which all remain in the default value of
  102. :term:`FILESPATH`.
  103. .. _migration-target-package-management-with-rpm:
  104. Target Package Management with RPM
  105. ----------------------------------
  106. If runtime package management is enabled and the RPM backend is
  107. selected, Smart is now installed for package download, dependency
  108. resolution, and upgrades instead of Zypper. For more information on how
  109. to use Smart, run the following command on the target::
  110. smart --help
  111. .. _migration-1.4-recipes-moved:
  112. Recipes Moved
  113. -------------
  114. The following recipes were moved from their previous locations because
  115. they are no longer used by anything in the OpenEmbedded-Core:
  116. - ``clutter-box2d``: Now resides in the ``meta-oe`` layer.
  117. - ``evolution-data-server``: Now resides in the ``meta-gnome`` layer.
  118. - ``gthumb``: Now resides in the ``meta-gnome`` layer.
  119. - ``gtkhtml2``: Now resides in the ``meta-oe`` layer.
  120. - ``gupnp``: Now resides in the ``meta-multimedia`` layer.
  121. - ``gypsy``: Now resides in the ``meta-oe`` layer.
  122. - ``libcanberra``: Now resides in the ``meta-gnome`` layer.
  123. - ``libgdata``: Now resides in the ``meta-gnome`` layer.
  124. - ``libmusicbrainz``: Now resides in the ``meta-multimedia`` layer.
  125. - ``metacity``: Now resides in the ``meta-gnome`` layer.
  126. - ``polkit``: Now resides in the ``meta-oe`` layer.
  127. - ``zeroconf``: Now resides in the ``meta-networking`` layer.
  128. .. _migration-1.4-removals-and-renames:
  129. Removals and Renames
  130. --------------------
  131. The following list shows what has been removed or renamed:
  132. - ``evieext``: Removed because it has been removed from ``xserver``
  133. since 2008.
  134. - *Gtk+ DirectFB:* Removed support because upstream Gtk+ no longer
  135. supports it as of version 2.18.
  136. - ``libxfontcache / xfontcacheproto``: Removed because they were
  137. removed from the Xorg server in 2008.
  138. - ``libxp / libxprintapputil / libxprintutil / printproto``: Removed
  139. because the XPrint server was removed from Xorg in 2008.
  140. - ``libxtrap / xtrapproto``: Removed because their functionality was
  141. broken upstream.
  142. - *linux-yocto 3.0 kernel:* Removed with linux-yocto 3.8 kernel being
  143. added. The linux-yocto 3.2 and linux-yocto 3.4 kernels remain as part
  144. of the release.
  145. - ``lsbsetup``: Removed with functionality now provided by
  146. ``lsbtest``.
  147. - ``matchbox-stroke``: Removed because it was never more than a
  148. proof-of-concept.
  149. - ``matchbox-wm-2 / matchbox-theme-sato-2``: Removed because they are
  150. not maintained. However, ``matchbox-wm`` and ``matchbox-theme-sato``
  151. are still provided.
  152. - ``mesa-dri``: Renamed to ``mesa``.
  153. - ``mesa-xlib``: Removed because it was no longer useful.
  154. - ``mutter``: Removed because nothing ever uses it and the recipe is
  155. very old.
  156. - ``orinoco-conf``: Removed because it has become obsolete.
  157. - ``update-modules``: Removed because it is no longer used. The
  158. kernel module ``postinstall`` and ``postrm`` scripts can now do the
  159. same task without the use of this script.
  160. - ``web``: Removed because it is not maintained. Superseded by
  161. ``web-webkit``.
  162. - ``xf86bigfontproto``: Removed because upstream it has been disabled
  163. by default since 2007. Nothing uses ``xf86bigfontproto``.
  164. - ``xf86rushproto``: Removed because its dependency in ``xserver``
  165. was spurious and it was removed in 2005.
  166. - ``zypper / libzypp / sat-solver``: Removed and been functionally
  167. replaced with Smart (``python-smartpm``) when RPM packaging is used
  168. and package management is enabled on the target.