ref-manual: Added the 1.8 to 2.0 migration section.
(From yocto-docs rev: 494fc31bbaee6b0c1912d00d3249cc7044e43988) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
cd48ccccaf
commit
e7c8c79f13
|
@ -2315,6 +2315,403 @@
|
|||
</section>
|
||||
</section>
|
||||
|
||||
<section id='moving-to-the-yocto-project-2.0-release'>
|
||||
<title>Moving to the Yocto Project 2.0 Release</title>
|
||||
|
||||
<para>
|
||||
This section provides migration information for moving to the
|
||||
Yocto Project 2.0 Release from the prior release.
|
||||
</para>
|
||||
|
||||
<section id='migration-2.0-gcc-5'>
|
||||
<title>Gcc 5</title>
|
||||
|
||||
<para>
|
||||
The default compiler is now GCC 5.2.
|
||||
This change has resulted in fixes for compile errors in a number
|
||||
of other recipes.
|
||||
For further details, please see
|
||||
<ulink url='https://gcc.gnu.org/gcc-5/changes.html'></ulink>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='migration-2.0-Gstreamer-0.10-removed'>
|
||||
<title>Gstreamer 0.10 Removed</title>
|
||||
|
||||
<para>
|
||||
Gstreamer 0.10 has been removed in favor of Gstreamer 1.x.
|
||||
As part of the change, Gstreamer 0.10 recipes
|
||||
that still need Gstreamer 0.10 are now located
|
||||
in <filename>meta-multimedia</filename>.
|
||||
This change results in Qt4 having Phonon and Gstreamer
|
||||
support in QtWebkit disabled by default.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='migration-2.0-removed-recipes'>
|
||||
<title>Removed Recipes</title>
|
||||
|
||||
<para>
|
||||
The following recipes have been moved or removed:
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
<filename>bluez4</filename>: The recipe is obsolete and
|
||||
has been moved due to <filename>bluez5</filename>
|
||||
becoming fully integrated.
|
||||
The <filename>bluez4</filename> recipe now resides in
|
||||
<filename>meta-oe</filename>.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>gamin</filename>: The recipe is obsolete and
|
||||
has been removed.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>gnome-icon-theme</filename>: The recipe's
|
||||
functionally has been replaced by
|
||||
<filename>adwaita-icon-theme</filename>.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Gstreamer 0.10 Recipes: Recipes that are part of
|
||||
Gstreamer 0.10 have been removed in favor of the
|
||||
recipes in Gstreamer 1.x.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>insserv</filename>: The recipe is obsolete and
|
||||
has been removed.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>libunique</filename>: The recipe is no longer
|
||||
used and has been move to <filename>meta-oe</filename>.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>midori</filename>: The recipe's functionally
|
||||
has been replaced by <filename>epiphany</filename>.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>python-gst</filename>: The recipe is obsolete
|
||||
and has been removed since it only contains bindings for
|
||||
Gstreamer 0.10.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>qt-mobility</filename>: The recipe is obsolete and
|
||||
has been removed since it requires
|
||||
<filename>Gstreamer 0.10</filename>, which has been
|
||||
replaced.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>subversion</filename>: All 1.6.x versions of this
|
||||
recipe have been removed.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>webkit-gtk</filename>: The older 1.8.3 version
|
||||
of this recipe has been removed in favor of
|
||||
<filename>webkitgtk</filename>.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='migration-2.0-bitbake-datastore-improvements'>
|
||||
<title>BitBake datastore improvements</title>
|
||||
|
||||
<para>
|
||||
The method by which BitBake's datastore handles overrides has
|
||||
changed.
|
||||
Overrides are now applied dynamically and
|
||||
<filename>bb.data.update_data()</filename> is now a no-op.
|
||||
Thus, <filename>bb.data.update_data()</filename> is no longer
|
||||
required in order to apply the correct overrides.
|
||||
In practice, this change is unlikely to require any changes to
|
||||
Metadata.
|
||||
However, these minor changes in behavior exist:
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
All potential overrides are now visible in the variable
|
||||
history as seen when you run the following:
|
||||
<literallayout class='monospaced'>
|
||||
$ bitbake -e
|
||||
</literallayout>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>d.delVar('VARNAME')</filename> and
|
||||
<filename>d.setVar('VARNAME', None)</filename> result
|
||||
in the variable and all of its overrides being cleared out.
|
||||
Before the change, only the non-overridden values
|
||||
were cleared.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='migration-2.0-shell-message-function-changes'>
|
||||
<title>Shell Message Function Changes</title>
|
||||
|
||||
<para>
|
||||
The shell versions of the BitBake message functions (i.e.
|
||||
<filename>bbdebug</filename>, <filename>bbnote</filename>,
|
||||
<filename>bbwarn</filename>, <filename>bbplain</filename>,
|
||||
<filename>bberror</filename>, and <filename>bbfatal</filename>)
|
||||
are now connected through to their BitBake equivalents
|
||||
<filename>bb.debug()</filename>, <filename>bb.note()</filename>,
|
||||
<filename>bb.warn()</filename>, <filename>bb.plain()</filename>,
|
||||
<filename>bb.error()</filename>, and
|
||||
<filename>bb.fatal()</filename>, respectively.
|
||||
Thus, those message functions that you would expect to be printed
|
||||
by the BitBake UI are now actually printed.
|
||||
In practice, this change means two things:
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
If you now see messages on the console that you did not
|
||||
previously see as a result of this change, you might
|
||||
need to clean up the calls to
|
||||
<filename>bbwarn</filename>, <filename>bberror</filename>,
|
||||
and so forth.
|
||||
Or, you might want to simply remove the calls.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
The <filename>bbfatal</filename> message function now
|
||||
suppresses the full error log in the UI, which means any
|
||||
calls to <filename>bbfatal</filename> where you still
|
||||
wish to see the full error log should be replaced by
|
||||
<filename>die</filename> or
|
||||
<filename>bbfatal_log</filename>.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='migration-2.0-extra-development-debug-package-cleanup'>
|
||||
<title>Extra Development/Debug Package Cleanup</title>
|
||||
|
||||
<para>
|
||||
The following recipes have had extra
|
||||
<filename>dev/dbg</filename> packages removed:
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
<filename>acl</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>apmd</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>aspell</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>attr</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>augeas</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>bzip2</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>cogl</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>curl</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>elfutils</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>gcc-target</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>libgcc</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>libtool</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>libxmu</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>opkg</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>pciutils</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>rpm</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>sysfsutils</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>tiff</filename>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
<filename>xz</filename>
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
All of the above recipes now conform to the standard packaging
|
||||
scheme where a single <filename>-dev</filename>,
|
||||
<filename>-dbg</filename>, and <filename>-staticdev</filename>
|
||||
package exists per recipe.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='migration-2.0-recipe-maintenance-tracking-data-moved-to-oe-core'>
|
||||
<title>Recipe Maintenance Tracking Data Moved to OE-Core</title>
|
||||
|
||||
<para>
|
||||
Maintenance tracking data for recipes that was previously part
|
||||
of <filename>meta-yocto</filename> has been moved to OE-Core.
|
||||
The change includes <filename>package_regex.inc</filename> and
|
||||
<filename>distro_alias.inc</filename>, which are typically enabled
|
||||
when using the
|
||||
<link linkend='ref-classes-distrodata'><filename>distrodata</filename></link>
|
||||
class.
|
||||
Additionally, the contents of
|
||||
<filename>upstream_tracking.inc</filename> has now been split out
|
||||
to the relevant recipes.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='migration-2.0-automatic-stale-sysroot-file-cleanup'>
|
||||
<title>Automatic Stale Sysroot File Cleanup</title>
|
||||
|
||||
<para>
|
||||
Stale files from recipes that no longer exist in the current
|
||||
configuration are now automatically removed from
|
||||
sysroot as well as removed from
|
||||
any other place managed by shared state.
|
||||
This automatic cleanup means that the build system now properly
|
||||
handles situations such as renaming the build system side of
|
||||
recipes, removal of layers from
|
||||
<filename>bblayers.conf</filename>, and
|
||||
<link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link>
|
||||
changes.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Additionally, work directories for old versions of recipes are
|
||||
now pruned.
|
||||
If you wish to disable pruning old work directories, you can set
|
||||
the following variable in your configuration:
|
||||
<literallayout class='monospaced'>
|
||||
SSTATE_PRUNE_OBSOLETEWORKDIR = "0"
|
||||
</literallayout>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='migration-2.0-linux-yocto-kernel-metadata-repository-now-split-from-source'>
|
||||
<title><filename>linux-yocto</filename> Kernel Metadata Repository Now Split from Source</title>
|
||||
|
||||
<para>
|
||||
The <filename>linux-yocto</filename> tree has up to now been a
|
||||
combined set of kernel changes and configuration (meta) data
|
||||
carried in a single tree.
|
||||
While this format is effective at keeping kernel configuration and
|
||||
source modifications synchronized, it is not always obvious to
|
||||
developers how to manipulate the Metadata as compared to the
|
||||
source.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Metadata processing has now been removed from the
|
||||
<link linkend='ref-classes-kernel-yocto'><filename>kernel-yocto</filename></link>
|
||||
class and the external Metadata repository
|
||||
<filename>yocto-kernel-cache</filename>, which has always been used
|
||||
to seed the <filename>linux-yocto</filename> "meta" branch.
|
||||
This separate <filename>linux-yocto</filename> cache repository
|
||||
is now the primary location for this data.
|
||||
Due to this change, <filename>linux-yocto</filename> is no longer
|
||||
able to process combined trees.
|
||||
Thus, if you need to have your own combined kernel repository,
|
||||
you must do the split there as well and update your recipes
|
||||
accordingly.
|
||||
See the <filename>meta/recipes-kernel/linux/linux-yocto_4.1.bb</filename>
|
||||
recipe for an example.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='migration-2.0-additional-qa-checks'>
|
||||
<title>Additional QA checks</title>
|
||||
|
||||
<para>
|
||||
The following QA checks have been added:
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
Added a "host-user-contaminated" check for any paths
|
||||
of packaged files outside of
|
||||
<filename>/home</filename> that are owned by the user
|
||||
and run BitBake.
|
||||
The existence of these types of paths usually
|
||||
indicates ownership has been incorrectly set.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Added an "invalid-chars" check for invalid (non-UTF8)
|
||||
characters in recipe metadata variable values
|
||||
(i.e.
|
||||
<link linkend='var-DESCRIPTION'><filename>DESCRIPTION</filename></link>,
|
||||
<link linkend='var-SUMMARY'><filename>SUMMARY</filename></link>,
|
||||
<link linkend='var-LICENSE'><filename>LICENSE</filename></link>,
|
||||
and
|
||||
<link linkend='var-SECTION'><filename>SECTION</filename></link>).
|
||||
Some package managers do not support these variables.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Added a check for any options specified in
|
||||
<link linkend='var-PACKAGECONFIG'><filename>PACKAGECONFIG</filename></link>
|
||||
that do not match any <filename>PACKAGECONFIG</filename>
|
||||
option defined for the recipe.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='migration-2.0-miscellaneous'>
|
||||
<title>Miscellaneous Changes</title>
|
||||
|
||||
<para>
|
||||
These additional changes exist:
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
<filename>gtk-update-icon-cache</filename> has been
|
||||
renamed to <filename>gtk-icon-utils</filename>.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
The <filename>tools-profile</filename>
|
||||
<link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>
|
||||
item as well as its corresponding packagegroup and
|
||||
<filename>packagegroup-core-tools-profile</filename> no
|
||||
longer bring in <filename>oprofile</filename>.
|
||||
Bringing in <filename>oprofile</filename> was originally
|
||||
added to aid compilation on resource-constrained
|
||||
targets.
|
||||
However, this aid has not been widely used and is not
|
||||
likely to be used going forward due to the more powerful
|
||||
target platforms and the existence of better
|
||||
cross-compilation tools.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
The
|
||||
<link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link>
|
||||
variable's default value now specifies
|
||||
<filename>ext4</filename> instead of
|
||||
<filename>ext3</filename>.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
All support for the <filename>PRINC</filename>
|
||||
variable has been removed.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
The <filename>packagegroup-core-full-cmdline</filename>
|
||||
packagegroup no longer brings in
|
||||
<filename>lighttpd</filename> due to the fact that
|
||||
bringing in <filename>lighttpd</filename> is not really in
|
||||
line with the packagegroup's purpose, which is to add full
|
||||
versions of command-line tools that by default are
|
||||
provided by <filename>busybox</filename>.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</chapter>
|
||||
<!--
|
||||
vim: expandtab tw=80 ts=4
|
||||
|
|
Loading…
Reference in New Issue