summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/migration.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/migration.xml')
-rw-r--r--documentation/ref-manual/migration.xml505
1 files changed, 476 insertions, 29 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml
index aa44957894..9e329cf698 100644
--- a/documentation/ref-manual/migration.xml
+++ b/documentation/ref-manual/migration.xml
@@ -4739,7 +4739,7 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
4739 4739
4740 <para> 4740 <para>
4741 This section provides information about packaging changes that have 4741 This section provides information about packaging changes that have
4742 ocurred: 4742 occurred:
4743 <itemizedlist> 4743 <itemizedlist>
4744 <listitem><para> 4744 <listitem><para>
4745 <emphasis><filename>python3</filename> Changes:</emphasis> 4745 <emphasis><filename>python3</filename> Changes:</emphasis>
@@ -6605,6 +6605,11 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
6605 6605
6606 6606
6607 6607
6608
6609
6610
6611
6612
6608<section id='moving-to-the-yocto-project-3.0-release'> 6613<section id='moving-to-the-yocto-project-3.0-release'>
6609 <title>Moving to the Yocto Project 3.0 Release</title> 6614 <title>Moving to the Yocto Project 3.0 Release</title>
6610 6615
@@ -6613,64 +6618,392 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
6613 Yocto Project 3.0 Release from the prior release. 6618 Yocto Project 3.0 Release from the prior release.
6614 </para> 6619 </para>
6615 6620
6616 <section id='migration-3.0-lsb-support-removed'> 6621 <section id='migration-3.0-init-system-selection'>
6617 <title>LSB Support Removed</title> 6622 <title>Init System Selection</title>
6618 6623
6619 <para> 6624 <para>
6620 LSB support has been removed. 6625 Changing the init system manager previously required setting a
6626 number of different variables.
6627 You can now change the manager by setting the
6628 <filename>INIT_MANAGER</filename> variable and the corresponding
6629 include files
6630 (i.e. <filename>conf/distro/include/init-manager-*.conf</filename>).
6631 Include files are provided for four values: "none", "sysvinit",
6632 "systemd", and "mdev-busybox".
6633 The default value, "none", for <filename>INIT_MANAGER</filename>
6634 should allow your current settings to continue working.
6635 However, it is advisable to explicitly set
6636 <filename>INIT_MANAGER</filename>.
6621 </para> 6637 </para>
6622 </section> 6638 </section>
6623 6639
6624 <section id='migration-3.0-poky-lsb-replaced'> 6640 <section id='migration-3.0-lsb-support-removed'>
6625 <title><filename>poky-lsb</filename> Replaced</title> 6641 <title>LSB Support Removed</title>
6626 6642
6627 <para> 6643 <para>
6628 <filename>poky-lsb</filename> replaced by 6644 Linux Standard Base (LSB) as a standard is not current, and
6629 <filename>poky-altcfg</filename> for alternate configurations to 6645 is not well suited for embedded applications.
6630 be tested on the autobuilder. 6646 Support can be continued in a separate layer if needed.
6631 As well as an example of subclassing a distro config. 6647 However, presently LSB support has been removed from the core.
6648 </para>
6649
6650 <para>
6651 As a result of this change, the <filename>poky-lsb</filename>
6652 derivative distribution configuration that was also used for
6653 testing alternative configurations has been replaced with a
6654 <filename>poky-altcfg</filename> distribution that has LSB
6655 parts removed.
6632 </para> 6656 </para>
6633 </section> 6657 </section>
6634 6658
6635 <section id='migration-3.0-openssl-removed'> 6659 <section id='migration-3.0-removed-recipes'>
6636 <title>OpenSSL 1.0.X removed</title> 6660 <title>Removed Recipes</title>
6637 6661
6638 <para> 6662 <para>
6639 OpenSSL 1.0.X removed. 6663 The following recipes have been removed.
6664 <itemizedlist>
6665 <listitem><para>
6666 <filename>core-image-lsb-dev</filename>: Part of removed
6667 LSB support.
6668 </para></listitem>
6669 <listitem><para>
6670 <filename>core-image-lsb</filename>: Part of removed
6671 LSB support.
6672 </para></listitem>
6673 <listitem><para>
6674 <filename>core-image-lsb-sdk</filename>: Part of removed
6675 LSB support.
6676 </para></listitem>
6677 <listitem><para>
6678 <filename>cve-check-tool</filename>: Functionally replaced
6679 by the <filename>cve-update-db</filename> recipe and
6680 <filename>cve-check</filename> class.
6681 </para></listitem>
6682 <listitem><para>
6683 <filename>eglinfo</filename>: No longer maintained.
6684 <filename>eglinfo</filename> from
6685 <filename>mesa-demos</filename> is an adequate and
6686 maintained alternative.
6687 </para></listitem>
6688 <listitem><para>
6689 <filename>gcc-8.3</filename>: Version 8.3 removed.
6690 Replaced by 9.2.
6691 </para></listitem>
6692 <listitem><para>
6693 <filename>gnome-themes-standard</filename>: Only needed
6694 by gtk+ 2.x, which has been removed.
6695 </para></listitem>
6696 <listitem><para>
6697 <filename>gtk+</filename>: GTK+ 2 is obsolete and has been
6698 replaced by gtk+3.
6699 </para></listitem>
6700 <listitem><para>
6701 <filename>irda-utils</filename>: Has become obsolete.
6702 IrDA support has been removed from the Linux kernel in
6703 version 4.17 and later.
6704 </para></listitem>
6705 <listitem><para>
6706 <filename>libnewt-python</filename>:
6707 <filename>libnewt</filename> Python support merged into
6708 main <filename>libnewt</filename> recipe.
6709 </para></listitem>
6710 <listitem><para>
6711 <filename>libsdl</filename>: Replaced by newer
6712 <filename>libsdl2</filename>.
6713 </para></listitem>
6714 <listitem><para>
6715 <filename>libx11-diet</filename>: Became obsolete.
6716 </para></listitem>
6717 <listitem><para>
6718 <filename>libxx86dga</filename>: Removed obsolete client
6719 library.
6720 </para></listitem>
6721 <listitem><para>
6722 <filename>libxx86misc</filename>: Removed. Library is
6723 redundant.
6724 </para></listitem>
6725 <listitem><para>
6726 <filename>linux-yocto</filename>: Version 5.0 removed,
6727 which is now redundant (5.2 / 4.19 present).
6728 </para></listitem>
6729 <listitem><para>
6730 <filename>lsbinitscripts</filename>: Part of removed LSB
6731 support.
6732 </para></listitem>
6733 <listitem><para>
6734 <filename>lsb</filename>: Part of removed LSB support.
6735 </para></listitem>
6736 <listitem><para>
6737 <filename>lsbtest</filename>: Part of removed LSB support.
6738 </para></listitem>
6739 <listitem><para>
6740 <filename>openssl10</filename>: Replaced by newer
6741 <filename>openssl</filename> version 1.1.
6742 </para></listitem>
6743 <listitem><para>
6744 <filename>packagegroup-core-lsb</filename>: Part of removed
6745 LSB support.
6746 </para></listitem>
6747 <listitem><para>
6748 <filename>python-nose</filename>: Removed the Python 2.x
6749 version of the recipe.
6750 </para></listitem>
6751 <listitem><para>
6752 <filename>python-numpy</filename>: Removed the Python 2.x
6753 version of the recipe.
6754 </para></listitem>
6755 <listitem><para>
6756 <filename>python-scons</filename>: Removed the Python 2.x
6757 version of the recipe.
6758 </para></listitem>
6759 <listitem><para>
6760 <filename>source-highlight</filename>: No longer needed.
6761 </para></listitem>
6762 <listitem><para>
6763 <filename>stress</filename>: Replaced by
6764 <filename>stress-ng</filename>.
6765 </para></listitem>
6766 <listitem><para>
6767 <filename>vulkan</filename>: Split into
6768 <filename>vulkan-loader</filename>,
6769 <filename>vulkan-headers</filename>, and
6770 <filename>vulkan-tools</filename>.
6771 </para></listitem>
6772 <listitem><para>
6773 <filename>weston-conf</filename>: Functionality moved to
6774 <filename>weston-init</filename>.
6775 </para></listitem>
6776 </itemizedlist>
6640 </para> 6777 </para>
6641 </section> 6778 </section>
6642 6779
6643 <section id='migration-3.0-hash-Equivalence added'> 6780 <section id='migration-3.0-packaging-changes'>
6644 <title>Hash Equivalence Added</title> 6781 <title>Packaging Changes</title>
6645 6782
6646 <para> 6783 <para>
6647 Hash Equivalence added. 6784 The following packaging changes have occurred.
6648 See <ulink url='https://git.openembedded.org/openembedded-core/commit/?id=49b10ab3f802bf36d8a2add7db208a868f525d5b'></ulink> 6785 <itemizedlist>
6649 for setup information. 6786 <listitem><para>
6787 The
6788 <ulink url='https://en.wikipedia.org/wiki/GNOME_Web'>Epiphany</ulink>
6789 browser has been dropped from
6790 <filename>packagegroup-self-hosted</filename> as it has
6791 not been needed inside
6792 <filename>build-appliance-image</filename> for
6793 quite some time and was causing resource problems.
6794 </para></listitem>
6795 <listitem><para>
6796 <filename>libcap-ng</filename> Python support has been
6797 moved to a separate <filename>libcap-ng-python</filename>
6798 recipe to streamline the build process when the Python
6799 bindings are not needed.
6800 </para></listitem>
6801 <listitem><para>
6802 <filename>libdrm</filename> now packages the file
6803 <filename>amdgpu.ids</filename> into a separate
6804 <filename>libdrm-amdgpu</filename> package.
6805 </para></listitem>
6806 <listitem><para>
6807 <filename>python3</filename>: The
6808 <filename>runpy</filename> module is now in the
6809 <filename>python3-core</filename> package as it is
6810 required to support the common "python3 -m" command usage.
6811 </para></listitem>
6812 <listitem><para>
6813 <filename>distcc</filename> now provides separate
6814 <filename>distcc-client</filename> and
6815 <filename>distcc-server</filename> packages as typically
6816 one or the other are needed, rather than both.
6817 </para></listitem>
6818 <listitem><para>
6819 <filename>python*-setuptools</filename> recipes now
6820 separately package the <filename>pkg_resources</filename>
6821 module in a <filename>python-pkg-resources</filename> /
6822 <filename>python3-pkg-resources</filename> package as
6823 the module is useful independent of the rest of the
6824 setuptools package.
6825 The main <filename>python-setuptools</filename> /
6826 <filename>python3-setuptools</filename> package depends
6827 on this new package so you should only need to update
6828 dependencies unless you want to take advantage of the
6829 increased granularity.
6830 </para></listitem>
6831 </itemizedlist>
6650 </para> 6832 </para>
6651 </section> 6833 </section>
6652 6834
6653 <section id='migration-3.0-gnu-tests-added'> 6835 <section id='migration-3.0-cve-checking'>
6654 <title><filename>gcc/glibc/binutls</filename> GNU Tests Added</title> 6836 <title>CVE Checking</title>
6837
6838 <para>
6839 <filename>cve-check-tool</filename> has been functionally replaced
6840 by a new <filename>cve-update-db</filename> recipe and
6841 functionality built into the <filename>cve-check</filename> class.
6842 The result uses NVD JSON data feeds rather than the deprecated
6843 XML feeds that <filename>cve-check-tool</filename> was using,
6844 supports CVSSv3 scoring, and makes other improvements.
6845 </para>
6655 6846
6656 <para> 6847 <para>
6657 <filename>gcc/glibc/binutls</filename> GNU tests added. 6848 Additionally, the <filename>CVE_CHECK_CVE_WHITELIST</filename>
6849 variable has been replaced by
6850 <filename>CVE_CHECK_WHITELIST</filename>.
6658 </para> 6851 </para>
6659 </section> 6852 </section>
6660 6853
6661 <section id='migration-3.0-removed-recipes'> 6854 <section id='migration-3.0-bitbake-changes'>
6662 <title>Removed Recipes</title> 6855 <title>Bitbake Changes</title>
6663 6856
6664 <para> 6857 <para>
6665 Some topic... 6858 The following BitBake changes have occurred.
6666 </para> 6859 <itemizedlist>
6860 <listitem><para>
6861 <filename>addtask</filename> statements now properly
6862 validate dependent tasks.
6863 Previously, an invalid task was silently ignored.
6864 With this change, the invalid task generates a warning.
6865 </para></listitem>
6866 <listitem><para>
6867 Other invalid <filename>addtask</filename> and
6868 <filename>deltask</filename> usages now trigger these
6869 warnings: "multiple target tasks arguments with
6870 addtask / deltask", and "multiple before/after clauses".
6871 </para></listitem>
6872 <listitem><para>
6873 The "multiconfig" prefix is now shortened to "mc".
6874 "multiconfig" will continue to work, however it may be
6875 removed in a future release.
6876 </para></listitem>
6877 <listitem><para>
6878 The <filename>bitbake -g</filename> command no longer
6879 generates a <filename>recipe-depends.dot</filename> file
6880 as the contents (i.e. a reprocessed version of
6881 <filename>task-depends.dot</filename>) were confusing.
6882 </para></listitem>
6883 <listitem><para>
6884 The <filename>bb.build.FuncFailed</filename> exception,
6885 previously raised by
6886 <filename>bb.build.exec_func()</filename> when certain
6887 other exceptions have occurred, has been removed.
6888 The real underlying exceptions will be raised instead.
6889 If you have calls to
6890 <filename>bb.build.exec_func()</filename> in custom classes
6891 or <filename>tinfoil-using</filename> scripts, any
6892 references to <filename>bb.build.FuncFailed</filename>
6893 should be cleaned up.
6894 </para></listitem>
6895 <listitem><para>
6896 Additionally, the
6897 <filename>bb.build.exec_func()</filename> no longer accepts
6898 the "pythonexception" parameter.
6899 The function now always raises exceptions.
6900 Remove this argument in any calls to
6901 <filename>bb.build.exec_func()</filename> in custom classes
6902 or scripts.
6903 </para></listitem>
6904 <listitem><para>
6905 The
6906 <ulink url='&YOCTO_DOCS_BB_URL;#var-bb-BB_SETSCENE_VERIFY_FUNCTION2'><filename>BB_SETSCENE_VERIFY_FUNCTION2</filename></ulink>
6907 is no longer used.
6908 In the unlikely event that you have any references to it,
6909 they should be removed.
6910 </para></listitem>
6911 <listitem><para>
6912 The <filename>RunQueueExecuteScenequeue</filename> and
6913 <filename>RunQueueExecuteTasks</filename> events have been
6914 removed since setscene tasks are now executed as part of
6915 the normal runqueue.
6916 Any event handling code in custom classes or scripts that
6917 handles these two events need to be updated.
6918 </para></listitem>
6919 <listitem><para>
6920 The arguments passed to functions used with
6921 <ulink url='&YOCTO_DOCS_BB_URL;#var-bb-BB_HASHCHECK_FUNCTION'><filename>BB_HASHCHECK_FUNCTION</filename></ulink>
6922 have changed.
6923 If you are using your own custom hash check function, see
6924 <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=40a5e193c4ba45c928fccd899415ea56b5417725'></ulink>
6925 for details.
6926 </para></listitem>
6927 <listitem><para>
6928 Task specifications in <filename>BB_TASKDEPDATA</filename>
6929 and class implementations used in signature generator
6930 classes now use "&lt;fn&gt;:&lt;task&gt;" everywhere rather than
6931 the "." delimiter that was being used in some places.
6932 This change makes it consistent with all areas in the code.
6933 Custom signature generator classes and code that reads
6934 <filename>BB_TASKDEPDATA</filename> need to be updated to
6935 use ':' as a separator rather than '.'.
6936 </para></listitem>
6937 </itemizedlist>
6938 </para>
6667 </section> 6939 </section>
6668 6940
6669 <section id='migration-3.0-removed-classes'> 6941 <section id='migration-3.0-sanity-checks'>
6670 <title>Removed Classes</title> 6942 <title>Sanity Checks</title>
6671 6943
6672 <para> 6944 <para>
6673 Some topic... 6945 The following sanity check changes occurred.
6946 <itemizedlist>
6947 <listitem><para>
6948 <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
6949 is now checked for usage of two problematic items:
6950 <itemizedlist>
6951 <listitem><para>
6952 "${PN}" prefix/suffix use - Warnings always appear
6953 if ${PN} is used.
6954 You must fix the issue regardless of whether
6955 multiconfig or anything else that would cause
6956 prefixing/suffixing to happen.
6957 </para></listitem>
6958 <listitem><para>
6959 Github archive tarballs - these are not guaranteed
6960 to be stable.
6961 Consequently, it is likely that the tarballs will
6962 be refreshed and thus the SRC_URI checksums
6963 will fail to apply.
6964 It is recommended that you fetch either an official
6965 release tarball or a specific revision from the
6966 actual Git repository instead.
6967 </para></listitem>
6968 </itemizedlist>
6969 Either one of these items now trigger a warning by default.
6970 If you wish to disable this check, remove
6971 <filename>src-uri-bad</filename> from
6972 <link linkend='var-WARN_QA'><filename>WARN_QA</filename></link>.
6973 </para></listitem>
6974 <listitem><para>
6975 The <filename>file-rdeps</filename> runtime dependency
6976 check no longer expands
6977 <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>
6978 recursively as there is no mechanism to ensure they can be
6979 fully computed, and thus races sometimes result in errors
6980 either showing up or not.
6981 Thus, you might now see errors for missing runtime
6982 dependencies that were previously satisfied recursively.
6983 Here is an example: package A contains a shell script
6984 starting with <filename>#!/bin/bash</filename> but has no
6985 dependency on bash.
6986 However, package A depends on package B, which does depend
6987 on bash.
6988 You need to add the missing dependency or dependencies to
6989 resolve the warning.
6990 </para></listitem>
6991 <listitem><para>
6992 Setting <filename>DEPENDS_${PN}</filename> anywhere
6993 (i.e. typically in a recipe) now triggers an error.
6994 The error is triggered because
6995 <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>
6996 is not a package-specific variable unlike RDEPENDS.
6997 You should set <filename>DEPENDS</filename> instead.
6998 </para></listitem>
6999 <listitem><para>
7000 systemd currently does not work well with the musl C
7001 library because only upstream officially supports linking
7002 the library with glibc.
7003 Thus, a warning is shown when building systemd in
7004 conjunction with musl.
7005 </para></listitem>
7006 </itemizedlist>
6674 </para> 7007 </para>
6675 </section> 7008 </section>
6676 7009
@@ -6678,7 +7011,99 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
6678 <title>Miscellaneous Changes</title> 7011 <title>Miscellaneous Changes</title>
6679 7012
6680 <para> 7013 <para>
6681 Some topic... 7014 The following miscellaneous changes have occurred.
7015 <itemizedlist>
7016 <listitem><para>
7017 The <filename>gnome</filename>
7018 class has been removed because it now does very little.
7019 You should update recipes that previously inherited this
7020 class to do the following:
7021 <literallayout class='monospaced'>
7022 inherit gnomebase gtk-icon-cache gconf mime
7023 </literallayout>
7024 </para></listitem>
7025 <listitem><para>
7026 The
7027 <filename>meta/recipes-kernel/linux/linux-dtb.inc</filename>
7028 file has been removed.
7029 This file was previously deprecated in favor of setting
7030 <link linkend='var-KERNEL_DEVICETREE'><filename>KERNEL_DEVICETREE</filename></link>
7031 in any kernel recipe and only produced a warning.
7032 Remove any <filename>include</filename> or
7033 <filename>require</filename> statements pointing to this
7034 file.
7035 </para></listitem>
7036 <listitem><para>
7037 <link linkend='var-TARGET_CFLAGS'><filename>TARGET_CFLAGS</filename></link>,
7038 <link linkend='var-TARGET_CPPFLAGS'><filename>TARGET_CPPFLAGS</filename></link>,
7039 <link linkend='var-TARGET_CXXFLAGS'><filename>TARGET_CXXFLAGS</filename></link>,
7040 and
7041 <link linkend='var-TARGET_LDFLAGS'><filename>TARGET_LDFLAGS</filename></link>
7042 are no longer exported to the external environment.
7043 This change did not require any changes to core recipes,
7044 which is a good indicator that no changes will be
7045 required.
7046 However, if for some reason the software being built by one
7047 of your recipes is expecting these variables to be set,
7048 then building the recipe will fail.
7049 In such cases, you must either export the variable or
7050 variables in the recipe or change the scripts so that
7051 exporting is not necessary.
7052 </para></listitem>
7053 <listitem><para>
7054 You must change the host distro identifier used in
7055 <link linkend='var-NATIVELSBSTRING'><filename>NATIVELSBSTRING</filename></link>
7056 to use all lowercase characters even if it does not contain
7057 a version number.
7058 This change is necessary only if you are not using
7059 <filename>uninative</filename> and
7060 <link linkend='var-SANITY_TESTED_DISTROS'><filename>SANITY_TESTED_DISTROS</filename></link>.
7061 </para></listitem>
7062 <listitem><para>
7063 In the <filename>base-files</filename> recipe, writing the
7064 hostname into <filename>/etc/hosts</filename> and
7065 <filename>/etc/hostname</filename> is now done within the
7066 main
7067 <link linkend='ref-tasks-install'><filename>do_install</filename></link>
7068 function rather than in the
7069 <filename>do_install_basefilesissue</filename> function.
7070 The reason for the change is because
7071 <filename>do_install_basefilesissue</filename> is more
7072 easily overridden without having to duplicate the hostname
7073 functionality.
7074 If you have done the latter (e.g. in a
7075 <filename>base-files</filename> bbappend), then you should
7076 remove it from your customized
7077 <filename>do_install_basefilesissue</filename> function.
7078 </para></listitem>
7079 <listitem><para>
7080 The <filename>wic --expand</filename> command now uses
7081 commas to separate "key:value" pairs rather than hyphens.
7082 <note>
7083 The wic command-line help is not updated.
7084 </note>
7085 You must update any scripts or commands where you use
7086 <filename>wic --expand</filename> with multiple
7087 "key:value" pairs.
7088 </para></listitem>
7089 <listitem><para>
7090 UEFI image variable settings have been moved from various
7091 places to a central
7092 <filename>conf/image-uefi.conf</filename>.
7093 This change should not influence any existing configuration
7094 as the <filename>meta/conf/image-uefi.conf</filename>
7095 in the core metadata sets defaults that can be overridden
7096 in the same manner as before.
7097 </para></listitem>
7098 <listitem><para>
7099 <filename>conf/distro/include/world-broken.inc</filename>
7100 has been removed.
7101 For cases where certain recipes need to be disabled when
7102 using the musl C library, these recipes now have
7103 <filename>COMPATIBLE_HOST_libc-musl</filename> set with a
7104 comment that explains why.
7105 </para></listitem>
7106 </itemizedlist>
6682 </para> 7107 </para>
6683 </section> 7108 </section>
6684</section> 7109</section>
@@ -6694,6 +7119,28 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
6694 7119
6695 7120
6696 7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
6697</chapter> 7144</chapter>
6698<!-- 7145<!--
6699vim: expandtab tw=80 ts=4 7146vim: expandtab tw=80 ts=4