summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/migration.xml
diff options
context:
space:
mode:
authorKristi Rifenbark <kristi@buzzcollectivemarketing.com>2018-05-07 11:49:03 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-05-24 17:16:33 +0100
commit8d751c065d4ba958ebda1c9e1b3757f5ca582e09 (patch)
tree47e8aeb51c97d8d4cbb2b8b8cb5a9fcc07e50186 /documentation/ref-manual/migration.xml
parentd96c451901ef7f39d4f03170b0ec8652289406ca (diff)
downloadopenembedded-core-contrib-8d751c065d4ba958ebda1c9e1b3757f5ca582e09.tar.gz
ref-manual: Added 2.5 Migration Section
(From yocto-docs rev: 5d6c1b69e5559eced5142f46421302f61c95404c) Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/migration.xml')
-rw-r--r--documentation/ref-manual/migration.xml417
1 files changed, 417 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml
index 09f5f33de7..2998fbe437 100644
--- a/documentation/ref-manual/migration.xml
+++ b/documentation/ref-manual/migration.xml
@@ -5227,6 +5227,423 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
</para>
</section>
</section>
+
+<section id='moving-to-the-yocto-project-2.5-release'>
+ <title>Moving to the Yocto Project 2.5 Release</title>
+
+ <para>
+ This section provides migration information for moving to the
+ Yocto Project 2.5 Release from the prior release.
+ </para>
+
+ <section id='migration-2.5-packaging-changes'>
+ <title>Packaging Changes</title>
+
+ <para>
+ This section provides information about packaging changes that have
+ ocurred:
+ <itemizedlist>
+ <listitem><para>
+ <emphasis><filename>bind-libs</filename>:</emphasis>
+ The libraries packaged by the bind recipe are in a
+ separate <filename>bind-libs</filename> package.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>libfm-gtk</filename>:</emphasis>
+ The <filename>libfm gtk</filename>package and bindings are
+ split into a separate <filename>libfm-gtk</filename> package.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>flex-libfl</filename>:</emphasis>
+ The flex recipe splits out libfl into a separate
+ <filename>flex-libfl</filename> package to avoid too many
+ dependencies being pulled in where only the library is
+ needed.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>grub-efi</filename>:</emphasis>
+ The <filename>grub-efi</filename> configuration is split
+ into a separate <filename>grub-bootconf</filename>
+ recipe.
+ However, the dependency relationship from
+ <filename>grub-efi</filename> is through a
+ virtual/grub-bootconf provider making it possible to have
+ your own recipe provide the dependency.
+ Alternatively, you can use a BitBake append file to bring
+ the configuration back into the
+ <filename>grub-efi</filename> recipe.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>ARMv7-A Legacy Support:</emphasis>
+ Legacy support is removed for transitioning from ARMv7-A
+ to armv7a-vfp-neon in package feeds, which was previously
+ enabled by setting
+ <filename>PKGARCHCOMPAT_ARMV7A</filename>.
+ This transition occurred in 2011 and active package feeds
+ should by now be updated to the new naming.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id='migration-2.5-removed-recipes'>
+ <title>Removed Recipes</title>
+
+ <para>
+ The following recipes have been removed:
+ <itemizedlist>
+ <listitem><para>
+ <emphasis><filename>gcc</filename>:</emphasis>
+ The version 6.4 recipes are replaced by 7.x.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>gst-player</filename>:</emphasis>
+ Renamed to <filename>gst-examples</filename> as per
+ upstream.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>hostap-utils</filename>:</emphasis>
+ This recipe is obsolete.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>latencytop</filename>:</emphasis>
+ This recipe is no longer maintained upstream.
+ The last release was in 2009.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>libpfm4</filename>:</emphasis>
+ The only file that requires this recipe is
+ <filename>oprofile</filename>, which has been removed.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>linux-yocto</filename>:</emphasis>
+ The version 4.4, 4.9, and 4.10 recipes have been removed.
+ Versions 4.12, 4.14, and 4.15 remain.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>man</filename>:</emphasis>
+ This recipe has been replaced by
+ <filename>modern man-db</filename>
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>mkelfimage</filename>:</emphasis>
+ This recipe has been removed in the upstream coreboot,
+ and is no longer needed with the removal of the ELF image
+ type.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>nativesdk-postinst-intercept</filename>:</emphasis>
+ This recipe is not maintained.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>neon</filename>:</emphasis>
+ This recipe is not maintained upstream and is not used by
+ anything in OpenEmbedded-Core.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>oprofile</filename>:</emphasis>
+ The functionality of this recipe is replaced by
+ <filename>perf</filename> since keeping ongoing
+ compatibility on with <filename>musl</filename> is
+ difficult.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>pax</filename>:</emphasis>
+ This recipe is obsolete.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>stat</filename>:</emphasis>
+ This recipe is not maintained upstream.
+ <filename>coreutils</filename> provides a modern binary for
+ the stat recipe.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>zisofs-tools-native</filename>:</emphasis>
+ This recipe is no longer needed because the compressed
+ ISO image feature has been removed.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <section id='migration-2.5-scripts-and-tools-changes'>
+ <title>Scripts and Tools Changes</title>
+
+ <para>
+ The following are changes to scripts and tools:
+ <itemizedlist>
+ <listitem><para>
+ <filename>yocto-bsp</filename>,
+ <filename>yocto-kernel</filename>, and
+ <filename>yocto-layer</filename>:
+ The <filename>yocto-bsp</filename>,
+ <filename>yocto-kernel</filename>, and
+ <filename>yocto-layer</filename> scripts previously shipped
+ with poky but not in OpenEmbedded-Core have been removed.
+ These scripts are not maintained and are outdated.
+ In many cases, they are also limited in scope.
+ The <filename>bitbake-layers create-layer</filename> command
+ is a direct replacement for <filename>yocto-layer</filename>.
+ See the documentation to create a BSP or kernel recipe in
+ the
+ "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-kernel-recipe-example'>BSP Kernel Recipe Example</ulink>"
+ section.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>devtool finish</filename>:</emphasis>
+ will now exit with an error if there are uncommitted changes
+ or a rebase/am in progress in the source repository for the
+ recipe, as it may indicate that you have forgotten to
+ commit some changes (and thus these would not be reflected
+ in updates to the patches applied by the recipe).
+ A -f/--force option is provided for situations where you
+ know that those uncomitted changes are inconsequential and
+ wish to proceed regardless.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>scripts/oe-setup-rpmrepo</filename> script:</emphasis>
+ has been removed as its functionality can be replaced by
+ bitbake package-index.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>scripts/test-dependencies.sh</filename> script:</emphasis>
+ has been removed as it was largely made obsolete by the
+ recipe-specific sysroots functionality introduced in the
+ previous release.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id='migration-2.5-bitbake-changes'>
+ <title>BitBake Changes</title>
+
+ <para>
+ The following are changes BitBake:
+ <itemizedlist>
+ <listitem><para>
+ The --runall option has changed behaviour slightly.
+ There are in fact two different behaviours people may want:
+ <itemizedlist>
+ <listitem><para>
+ For a given target (or set of targets) look through
+ the task graph and run task X only if its present
+ and would have been built.
+ </para></listitem>
+ <listitem><para>
+ For a given target (or set of targets) look through
+ the task graph and run task X if any recipe in the
+ taskgraph has such a target even if it wasn't in the
+ original task graph.
+ </para></listitem>
+ </itemizedlist>
+ The --runall option now performs (b), previously it behaved
+ like (a). A --runonly option has been added to retain the
+ ability to perform (a).
+ </para></listitem>
+ <listitem><para>
+ Several explicit "run this task for all recipes in the
+ dependency tree" tasks (such as fetchall, checkuriall, and
+ the *all tasks provided by the distrodata and archiver
+ classes) have now been removed as there is a bitbake option
+ to do this for any arbitrary task, for example:
+ <literallayout class='monospaced'>
+ bitbake &lt;target&gt; -c fetchall
+ </literallayout>
+ should now be replaced with:
+ <literallayout class='monospaced'>
+ bitbake &lt;target&gt; --runall=fetch
+ </literallayout>
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+
+ <section id='migration-2.5-miscellaneous-changes'>
+ <title>Miscellaneous Changes</title>
+
+ <para>
+ The following are additional changes:
+ <itemizedlist>
+ <listitem><para>
+ The kernel class now supports building packages for multiple
+ kernels. If your kernel recipe/bbappend mentions packaging
+ at all, then you are advised to replace references to kernel
+ in package names with ${KERNEL_PACKAGE_NAME}. For example,
+ if you disable automatic installation of the kernel image
+ using RDEPENDS_kernel-base = "" then to avoid warnings you
+ will now need to use
+ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" instead.
+ </para></listitem>
+ <listitem><para>
+ The buildhistory class now commits changes to the repository
+ by default, so setting BUILDHISTORY_COMMIT = "1" is no
+ longer necessary. If you wish commits to be disabled, then
+ you will now need to set BUILDHISTORY_COMMIT = "0" in your
+ configuration.
+ </para></listitem>
+ <listitem><para>
+ The beaglebone reference machine has been renamed to
+ beaglebone-yocto. The beaglebone-yocto BSP is a reference
+ implementation using only mainline components available in
+ OpenEmbedded-Core and meta-yocto-bsp, whereas Texas
+ Instruments maintain a full-featured BSP in the meta-ti
+ layer, and the rename avoids the previous name clash that
+ existed between the two BSPs.
+ </para></listitem>
+ <listitem><para>
+ The update-alternatives class will now no longer work with
+ SysV init scripts as such usage has been proven to be
+ problematic.
+ Related to this, the sysklogd recipe no longer uses
+ update-alternatives as it is incompatible with other
+ implementations.
+ </para></listitem>
+ <listitem><para>
+ The cmake class now uses ninja instead of make by default
+ for building in order to improve build performance. If a
+ recipe is broken with ninja then the recipe can set
+ OECMAKE_GENERATOR = "Unix Makefiles" to change back to make.
+ </para></listitem>
+ <listitem><para>
+ python: Restructure python packaging and replace it with
+ autopackaging
+ </para></listitem>
+ <listitem><para>
+ python3: Restructure python3 packaging and replace it with
+ autopackaging
+ </para></listitem>
+ <listitem><para>
+ The previously deprecated base_* functions have now removed,
+ in favour of their replacements in meta/lib/oe and
+ bitbake/lib/bb.
+ These are typically used from recipes and classes and any
+ references to the old functions will now need to be updated.
+ The full list along with each of their replacements:
+ <itemizedlist>
+ <listitem><para>
+ base_path_join() -> oe.path.join()
+ </para></listitem>
+ base_path_relative() -> oe.path.relative()
+ <listitem><para>
+ base_path_out() -> oe.path.format_display()
+ </para></listitem>
+ <listitem><para>
+ base_read_file() -> oe.utils.read_file()
+ </para></listitem>
+ <listitem><para>
+ base_ifelse() -> oe.utils.ifelse()
+ </para></listitem>
+ <listitem><para>
+ base_conditional() -> oe.utils.conditional()
+ </para></listitem>
+ <listitem><para>
+ base_less_or_equal() -> oe.utils.less_or_equal()
+ </para></listitem>
+ <listitem><para>
+ base_version_less_or_equal() -> oe.utils.version_less_or_equal()
+ </para></listitem>
+ <listitem><para>
+ base_contains() -> bb.utils.contains()
+ </para></listitem>
+ <listitem><para>
+ base_both_contain() -> oe.utils.both_contain()
+ </para></listitem>
+ <listitem><para>
+ base_prune_suffix() -> oe.utils.prune_suffix()
+ </para></listitem>
+ <listitem><para>
+ oe_filter() -> oe.utils.str_filter()
+ </para></listitem>
+ <listitem><para>
+ oe_filter_out() -> oe.utils.str_filter_out()
+ (or use the _remove operator)
+ </para></listitem>
+ </itemizedlist>
+ </para></listitem>
+ <listitem><para>
+ Using exit 1 as a means of explicitly deferring a
+ postinstall script until first boot is now deprecated, as
+ it is not an obvious mechanism and can mask actual errors.
+ If you want to explicitly defer a postinstall to first boot
+ on the target rather than possibly at rootfs creation time,
+ use pkg_postinst_ontarget() or alternatively call
+ postinst-intercepts defer_to_first_boot from pkg_postinst().
+ Any failure of a pkg_postinst() script (including exit 1)
+ will now trigger a warning during do_rootfs.
+ </para></listitem>
+ <listitem><para>
+ The elf image type has been removed, as the mkelfimage tool
+ that was required to create it is no longer provided by
+ coreboot upstream, and required updating every time binutils
+ got updated.
+ </para></listitem>
+ <listitem><para>
+ Support for .iso image compression (previously enabled via
+ COMPRESSISO = "1") has been removed, since the userspace
+ tools (zisofs-tools) are unmaintained and squashfs provides
+ better performance and compression.
+ In order to build a live image with squashfs+lz4 compression
+ enabled you would set LIVE_ROOTFS_TYPE = "squashfs-lz4"
+ and ensure that live is in IMAGE_FSTYPES.
+ </para></listitem>
+ <listitem><para>
+ Recipes having an unconditional dependency on libpam will
+ now only be buildable with pam in DISTRO_FEATURES.
+ If the dependency is truly optional then it is recommended
+ that the dependency be made conditional upon pam being in
+ DISTRO_FEATURES.
+ </para></listitem>
+ <listitem><para>
+ For EFI-based machines, the bootloader (grub-efi by default)
+ is now installed into the image at /boot. wic can be used to
+ split this into separate boot and rootfs partitions if
+ desired.
+ </para></listitem>
+ <listitem><para>
+ Patches whose context does not match exactly (i.e. where
+ patch reports "fuzz" when applying) will now generate a
+ warning.
+ See http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=cc97bc08125b63821ce3f616771830f77c456f57
+ </para></listitem>
+ <listitem><para>
+ Layers are now expected to set LAYERSERIES_COMPAT_layername
+ to match the version(s) of OpenEmbedded-Core they are
+ compatible with (specified as codenames using spaces to
+ separate multiple values, e.g. "rocko sumo").
+ If a layer does not set this, a warning will be shown.
+ If a layer sets a value that does not include the current
+ version, then an error will be produced.
+ </para></listitem>
+ <listitem><para>
+ The TZ environment variable is now set to "UTC" within the
+ build environment in order to fix reproducibility problems
+ in some recipes.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4