summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2015-10-21 11:44:46 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-10-21 23:06:35 +0100
commite7c8c79f13b445558c3bc9cd57384018df6e5541 (patch)
tree307b748c75962da84b9e6c2a5a8c4ff220ac73b4 /documentation
parentcd48ccccaf0c5b62195cfed56574e6f7eb5d8ee7 (diff)
downloadopenembedded-core-contrib-e7c8c79f13b445558c3bc9cd57384018df6e5541.tar.gz
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>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/ref-manual/migration.xml397
1 files changed, 397 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml
index de88a88b2c..e8e258aa6f 100644
--- a/documentation/ref-manual/migration.xml
+++ b/documentation/ref-manual/migration.xml
@@ -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