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