summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'documentation')
-rw-r--r--documentation/ref-manual/migration.xml286
1 files changed, 284 insertions, 2 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml
index 466081d526..9b6711558e 100644
--- a/documentation/ref-manual/migration.xml
+++ b/documentation/ref-manual/migration.xml
@@ -3619,7 +3619,7 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.
<para>
The
- <link linkend='var-KERNEL_IMAGE_BASE_NAME'><filename>KERNEL_IMAGE_BASE_NAME</filename></link>
+ <filename>KERNEL_IMAGE_BASE_NAME</filename>
variable no longer uses the
<link linkend='var-KERNEL_IMAGETYPE'><filename>KERNEL_IMAGETYPE</filename></link>
variable to create the image's base name.
@@ -5687,7 +5687,289 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
Yocto Project 2.6 Release from the prior release.
</para>
- <section id='migration-2.5-automatic-testing-changes'>
+ <section id='migration-2.6-gcc-changes'>
+ <title>GCC 8.2 is Now Used by Default</title>
+
+ <para>
+ The GNU Compiler Collection version 8.2 is now used by default
+ for compilation.
+ For more information on what has changed in the GCC 8.x release,
+ see
+ <ulink url='https://gcc.gnu.org/gcc-8/changes.html'></ulink>.
+ </para>
+
+ <para>
+ If you still need to compile with version 7.x, GCC 7.3 is
+ also provided.
+ You can select this version by setting the
+ and can be selected by setting the
+ <link linkend='var-GCCVERSION'><filename>GCCVERSION</filename></link>
+ variable to "7.%" in your configuration.
+ </para>
+ </section>
+
+ <section id='migration-2.6-removed-recipes'>
+ <title>Removed Recipes</title>
+
+ <para>
+ The following recipes have been removed:
+ <literallayout class='monospaced'>
+ <emphasis><filename>beecrypt</filename>:</emphasis> No longer needed since moving to <filename>rpm4</filename>.
+ <emphasis><filename>bigreqsproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>calibrateproto</filename>:</emphasis> Removed in favor of <filename>xinput</filename>.
+ <emphasis><filename>compositeproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>damageproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>dmxproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>dri2proto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>dri3proto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>eee-acpi-scripts</filename>:</emphasis> Became obsolete.
+ <emphasis><filename>fixesproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>fontsproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>fstests</filename>:</emphasis> Became obsolete.
+ <emphasis><filename>gccmakedep</filename>:</emphasis> No longer used.
+ <emphasis><filename>glproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>gnome-desktop3</filename>:</emphasis> No longer needed. This recipe has moved to <filename>meta-oe</filename>.
+ <emphasis><filename>icon-naming-utils</filename>:</emphasis> No longer used since the Sato theme was removed in 2016.
+ <emphasis><filename>inputproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>kbproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>libusb-compat</filename>:</emphasis> Became obsolete.
+ <emphasis><filename>libuser</filename>:</emphasis> Became obsolete.
+ <emphasis><filename>libnfsidmap</filename>:</emphasis> No longer an external requirement since <filename>nfs-utils</filename> 2.2.1. <filename>libnfsidmap</filename> is now integrated.
+ <emphasis><filename>libxcalibrate</filename>:</emphasis> No longer needed with <filename>xinput</filename>
+ <emphasis><filename>mktemp</filename>:</emphasis> Became obsolete. The <filename>mktemp</filename> command is provided by both <filename>busybox</filename> and <filename>coreutils</filename>.
+ <emphasis><filename>ossp-uuid</filename>:</emphasis> Is not being maintained and has mostly been replaced by <filename>uuid.h</filename> in <filename>util-linux</filename>.
+ <emphasis><filename>pax-utils</filename>:</emphasis> No longer needed. Previous QA tests that did use this recipe are now done at build time.
+ <emphasis><filename>pcmciautils</filename>:</emphasis> Became obsolete.
+ <emphasis><filename>pixz</filename>:</emphasis> No longer needed. <filename>xz</filename> now supports multi-threaded compression.
+ <emphasis><filename>presentproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>randrproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>recordproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>renderproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>resourceproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>scrnsaverproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>trace-cmd</filename>:</emphasis> Became obsolete. <filename>perf</filename> replaced this recipe's functionally.
+ <emphasis><filename>videoproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>wireless-tools</filename>:</emphasis> Became obsolete. Superseded by <filename>iw</filename>.
+ <emphasis><filename>xcmiscproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xextproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xf86dgaproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xf86driproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xf86miscproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xf86-video-omapfb</filename>:</emphasis> Became obsolete. Use kernel modesetting driver instead.
+ <emphasis><filename>xf86-video-omap</filename>:</emphasis> Became obsolete Use kernel modesetting driver instead.
+ <emphasis><filename>xf86vidmodeproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xineramaproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>yasm</filename>:</emphasis> No longer needed since previous usages are now satisfied by <filename>nasm</filename>.
+ </literallayout>
+ </para>
+ </section>
+
+ <section id='migration-2.6-packaging-changes'>
+ <title>Packaging Changes</title>
+
+ <para>
+ The following packaging changes have been made:
+ <itemizedlist>
+ <listitem><para>
+ <emphasis><filename>cmake</filename>:</emphasis>
+ <filename>cmake.m4</filename> and
+ <filename>toolchain</filename> files have been moved to the
+ main package.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>iptables</filename>:</emphasis>
+ The <filename>iptables</filename> modules have been split
+ into separate packages.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>alsa-lib</filename>:</emphasis>
+ <filename>libasound</filename> is now in the main
+ <filename>alsa-lib</filename> package instead of
+ <filename>libasound</filename>.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>glibc</filename>:</emphasis>
+ <filename>libnss-db</filename> is now in its own package
+ along with a <filename>/var/db/makedbs.sh</filename>
+ script to update databases.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>python</filename> and <filename>python3</filename>:</emphasis>
+ These have been removed from the main package entirely.
+ You must install specific packages or
+ <filename>python-modules</filename> for everything.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>systemtap</filename>:</emphasis>
+ Moved <filename>systemtap-exporter</filename> into its own
+ package.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id='migration-2.6-xorg-protocol-dependencies'>
+ <title>XOrg Protocol dependencies</title>
+
+ <para>
+ The "*proto" upstream repositories have been combined into one
+ "xorgproto" repository.
+ Thus, the corresponding recipes have also been combined into a
+ single <filename>xorgproto</filename> recipe.
+ Any recipes that depend upon the older <filename>*proto</filename>
+ recipes need to be changed to depend on the newer
+ <filename>xorgproto</filename> recipe instead.
+ </para>
+
+ <para>
+ For names of recipes removed because of this repository change,
+ see the
+ <link linkend="migration-2.6-removed-recipes">Removed Recipes</link>
+ section.
+ </para>
+ </section>
+
+ <section id='migration-2.6-distutils-distutils3-fetching-dependencies'>
+ <title><filename>distutils</filename> and <filename>distutils3</filename> Now Prevent Fetching Dependencies During the <filename>do_configure</filename> Task</title>
+
+ <para>
+ Previously, it was possible for Python recipes that inherited
+ the
+ <link linkend='ref-classes-distutils'><filename>distutils</filename></link>
+ and
+ <link linkend='ref-classes-distutils3'><filename>distutils3</filename></link>
+ classes to fetch code during the
+ <link linkend='ref-tasks-configure'><filename>do_configure</filename></link>
+ task to satisfy dependencies mentioned in
+ <filename>setup.py</filename> if those dependencies were not
+ provided in the sysroot (i.e. recipes providing the dependencies
+ were missing from
+ <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>).
+ <note>
+ This dependency affects classes beyond just the two mentioned
+ (i.e. <filename>distutils</filename> and
+ <filename>distutils3</filename>).
+ Any recipe that inherits <filename>distutils*</filename>
+ classes are affected.
+ For example, the <filename>setuptools</filename> and
+ <filename>setuptools3</filename> recipes are affected since
+ they inherit the <filename>distutils*</filename> classes.
+ </note>
+ </para>
+
+ <para>
+ Fetching these types of dependencies that are not provided in the
+ sysroot negatively affects the ability to reproduce builds.
+ This type of fetching is now explicitly disabled.
+ Consequently, any missing dependencies in Python recipes that
+ use these classes now result in an error during the
+ <filename>do_configure</filename> task.
+ </para>
+ </section>
+
+ <section id='migration-2.6-linux-yocto-configuration-audit-issues-now-correctly-reported'>
+ <title><filename>linux-yocto</filename> Configuration Audit Issues Now Correctly Reported</title>
+
+ <para>
+ Due to a bug, the kernel configuration audit functionality was
+ not writing out any resulting warnings during the build.
+ This issue is now corrected.
+ You might notice these warnings now if you have a custom kernel
+ configuration with a <filename>linux-yocto</filename> style
+ kernel recipe.
+ </para>
+ </section>
+
+ <section id='migration-2.6-image-kernel-artifact-naming-changes'>
+ <title>Image/Kernel Artifact Naming Changes</title>
+
+ <para>
+ The following changes have been made:
+ <itemizedlist>
+ <listitem><para>
+ Name variables (e.g.
+ <link linkend='var-IMAGE_NAME'><filename>IMAGE_NAME</filename></link>)
+ use a new <filename>IMAGE_VERSION_SUFFIX</filename>
+ variable instead of
+ <link linkend='var-DATETIME'><filename>DATETIME</filename></link>.
+ Using <filename>IMAGE_VERSION_SUFFIX</filename> allows
+ easier and more direct changes.</para>
+
+ <para>The <filename>IMAGE_VERSION_SUFFIX</filename>
+ variable is set in the
+ <filename>bitbake.conf</filename> configuration file as
+ follows:
+ <literallayout class='monospaced'>
+ IMAGE_VERSION_SUFFIX = "-${DATETIME}"
+ </literallayout>
+ </para></listitem>
+ <listitem><para>
+ Several variables have changed names for consistency:
+ <literallayout class='monospaced'>
+ Old Variable Name New Variable Name
+ ========================================================
+ KERNEL_IMAGE_BASE_NAME <link linkend='var-KERNEL_IMAGE_NAME'>KERNEL_IMAGE_NAME</link>
+ KERNEL_IMAGE_SYMLINK_NAME <link linkend='var-KERNEL_IMAGE_LINK_NAME'>KERNEL_IMAGE_LINK_NAME</link>
+ MODULE_TARBALL_BASE_NAME <link linkend='var-MODULE_TARBALL_NAME'>MODULE_TARBALL_NAME</link>
+ MODULE_TARBALL_SYMLINK_NAME <link linkend='var-MODULE_TARBALL_LINK_NAME'>MODULE_TARBALL_LINK_NAME</link>
+ INITRAMFS_BASE_NAME <link linkend='var-INITRAMFS_NAME'>INITRAMFS_NAME</link>
+ </literallayout>
+ </para></listitem>
+ <listitem><para>
+ The <filename>MODULE_IMAGE_BASE_NAME</filename> variable
+ has been removed.
+ The module tarball name is now controlled directly with the
+ <link linkend='var-MODULE_TARBALL_NAME'><filename>MODULE_TARBALL_NAME</filename></link>
+ variable.
+ </para></listitem>
+ <listitem><para>
+ The
+ <link linkend='var-KERNEL_DTB_NAME'><filename>KERNEL_DTB_NAME</filename></link>
+ and
+ <link linkend='var-KERNEL_DTB_LINK_NAME'><filename>KERNEL_DTB_LINK_NAME</filename></link>
+ variables have been introduced to control kernel Device
+ Tree Binary (DTB) artifact names instead of mangling
+ <filename>KERNEL_IMAGE_*</filename> variables.
+ </para></listitem>
+ <listitem><para>
+ The
+ <link linkend='var-KERNEL_FIT_NAME'><filename>KERNEL_FIT_NAME</filename></link>
+ and
+ <link linkend='var-KERNEL_FIT_LINK_NAME'><filename>KERNEL_FIT_LINK_NAME</filename></link>
+ variables have been introduced to specify the name of
+ flattened image tree (FIT) kernel images similar to other
+ deployed artifacts.
+ </para></listitem>
+ <listitem><para>
+ The
+ <link linkend='var-MODULE_TARBALL_NAME'><filename>MODULE_TARBALL_NAME</filename></link>
+ and
+ <link linkend='var-MODULE_TARBALL_LINK_NAME'><filename>MODULE_TARBALL_LINK_NAME</filename></link>
+ variable values no longer include the "module-" prefix or
+ ".tgz" suffix.
+ These parts are now hardcoded so that the values are
+ consistent with other artifact naming variables.
+ </para></listitem>
+ <listitem><para>
+ Added the
+ <link linkend='var-INITRAMFS_LINK_NAME'><filename>INITRAMFS_LINK_NAME</filename></link>
+ variable so that the symlink can be controlled similarly
+ to other artifact types.
+ </para></listitem>
+ <listitem><para>
+ <link linkend='var-INITRAMFS_NAME'><filename>INITRAMFS_NAME</filename></link>
+ now uses
+ "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+ instead of
+ "${PV}-${PR}-${MACHINE}-${DATETIME}", which
+ makes it consistent with other variables.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id='migration-2.6-automatic-testing-changes'>
<title>Automatic Testing Changes</title>
<para>