diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2014-10-13 17:33:38 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-10-18 16:15:27 +0200 |
commit | d8e41e8026bedcde2a9eb9270f6d7cf6a4c76f86 (patch) | |
tree | 76d8e2ebd4a1b8d5f7d994247d267af62aa99543 /documentation/ref-manual/migration.xml | |
parent | a51b75517890cab35f7c65c24b03d2882286bf9e (diff) | |
download | poky-d8e41e8026bedcde2a9eb9270f6d7cf6a4c76f86.tar.gz |
ref-manual: Added new migration section for the 1.7 release.
(From yocto-docs rev: 5b06b29f7f9e53db7b885795c2e11e1eccfc98df)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.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.xml | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index efed11dcb2..864c489251 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml | |||
@@ -1691,6 +1691,304 @@ | |||
1691 | </para> | 1691 | </para> |
1692 | </section> | 1692 | </section> |
1693 | </section> | 1693 | </section> |
1694 | |||
1695 | <section id='moving-to-the-yocto-project-1.7-release'> | ||
1696 | <title>Moving to the Yocto Project 1.7 Release</title> | ||
1697 | |||
1698 | <para> | ||
1699 | This section provides migration information for moving to the | ||
1700 | Yocto Project 1.7 Release from the prior release. | ||
1701 | </para> | ||
1702 | |||
1703 | |||
1704 | <section id='migration-1.7-autotools-class-changes'> | ||
1705 | <title>Autotools Class Changes</title> | ||
1706 | |||
1707 | <para> | ||
1708 | The following | ||
1709 | <link linkend='ref-classes-autotools'><filename>autotools</filename></link> | ||
1710 | class changes occurred: | ||
1711 | <itemizedlist> | ||
1712 | <listitem><para><emphasis> | ||
1713 | A separate build directory in Autotools recipes is | ||
1714 | handled:</emphasis> | ||
1715 | The <filename>autotools</filename> class has been changed | ||
1716 | to use a directory for building | ||
1717 | (<link linkend='var-B'><filename>B</filename></link>), | ||
1718 | which is separate from the source directory | ||
1719 | (<link linkend='var-S'><filename>S</filename></link>). | ||
1720 | If the software being built is already capable of | ||
1721 | building in a directory separate from the source, you | ||
1722 | do not need to do anything. | ||
1723 | However, if this capability does not exist, you will | ||
1724 | need to either patch the software so that it can build | ||
1725 | separately, or you will need to change the recipe to | ||
1726 | inherit the | ||
1727 | <link linkend='ref-classes-autotools-brokensep'><filename>autotools-brokensep</filename></link> | ||
1728 | class instead of the <filename>autotools</filename> class. | ||
1729 | </para></listitem> | ||
1730 | <listitem><para><emphasis> | ||
1731 | Handle "foreign":</emphasis> | ||
1732 | The <filename>--foreign</filename> option is no longer | ||
1733 | passed to <filename>automake</filename> when running | ||
1734 | <filename>autoreconf</filename>. | ||
1735 | This option tells <filename>automake</filename> that a | ||
1736 | particular software package does not follow the GNU | ||
1737 | standards and therefore should not be expected | ||
1738 | to distribute certain files such as | ||
1739 | <filename>ChangeLog</filename>, | ||
1740 | <filename>AUTHORS</filename>, and so forth. | ||
1741 | The majority of upstream software packages already tell | ||
1742 | <filename>automake</filename> these packages are foreign | ||
1743 | and thus this option is mostly superfluous. | ||
1744 | However, some recipes will need patches for this change. | ||
1745 | You can easily make the change by patching | ||
1746 | <filename>configure.ac</filename> so that it passes | ||
1747 | "foreign" to <filename>AM_INIT_AUTOMAKE()</filename>. | ||
1748 | See | ||
1749 | <ulink url='http://cgit.openembedded.org/openembedded-core/commit/?id=01943188f85ce6411717fb5bf702d609f55813f2'></ulink> | ||
1750 | for an example showing how to make the patch. | ||
1751 | </para></listitem> | ||
1752 | </itemizedlist> | ||
1753 | </para> | ||
1754 | </section> | ||
1755 | |||
1756 | <section id='migration-1.7-binary-configuration-scripts-disabled'> | ||
1757 | <title>Binary Configuration Scripts Disabled</title> | ||
1758 | |||
1759 | <para> | ||
1760 | Some of the core recipes that previously packaged binary | ||
1761 | configuration scripts now disable the scripts instead due to the | ||
1762 | scripts previously requiring error-prone path substitution. | ||
1763 | Software that links against these libraries using these scripts | ||
1764 | should use the much more robust | ||
1765 | <filename>pkg-config</filename> instead. | ||
1766 | The list of recipes changed in this version (and their | ||
1767 | configuration scripts) is as follows: | ||
1768 | <literallayout class='monospaced'> | ||
1769 | directfb (directfb-config) | ||
1770 | freetype (freetype-config) | ||
1771 | gpgme (gpgme-config) | ||
1772 | libassuan (libassuan-config) | ||
1773 | libcroco (croco-6.0-config) | ||
1774 | libgcrypt (libgcrypt-config) | ||
1775 | libgpg-error (gpg-error-config) | ||
1776 | libksba (ksba-config) | ||
1777 | libpcap (pcap-config) | ||
1778 | libpcre (pcre-config) | ||
1779 | libpng (libpng-config, libpng16-config) | ||
1780 | libsdl (sdl-config) | ||
1781 | libusb-compat (libusb-config) | ||
1782 | libxml2 (xml2-config) | ||
1783 | libxslt (xslt-config) | ||
1784 | ncurses (ncurses-config) | ||
1785 | neon (neon-config) | ||
1786 | npth (npth-config) | ||
1787 | pth (pth-config) | ||
1788 | taglib (taglib-config) | ||
1789 | </literallayout> | ||
1790 | <note> | ||
1791 | Support for <filename>pkg-config</filename> has been added to | ||
1792 | some recipes in the previous list in the rare cases | ||
1793 | where the upstream software package does not already provide | ||
1794 | it. | ||
1795 | </note> | ||
1796 | </para> | ||
1797 | </section> | ||
1798 | |||
1799 | <section id='migration-1.7-glibc-replaces-eglibc'> | ||
1800 | <title><filename>eglibc 2.19</filename> Replaced with <filename>glibc 2.20</filename></title> | ||
1801 | |||
1802 | <para> | ||
1803 | Because <filename>eglibc</filename> and | ||
1804 | <filename>glibc</filename> were already fairly close, this | ||
1805 | replacement should not require any significant changes to other | ||
1806 | software that links to <filename>eglibc</filename>. | ||
1807 | However, there were a number of minor changes in | ||
1808 | <filename>glibc 2.20</filename> upstream that could require | ||
1809 | patching some software (e.g. the removal of the | ||
1810 | <filename>_BSD_SOURCE</filename> feature test macro). | ||
1811 | </para> | ||
1812 | |||
1813 | <para> | ||
1814 | <filename>glibc 2.20</filename> also minimally requires version | ||
1815 | 2.6.32 of the Linux kernel. | ||
1816 | Thus, older kernels will no longer be usable in conjunction with it. | ||
1817 | </para> | ||
1818 | |||
1819 | <para> | ||
1820 | For full details on the changes in <filename>glibc 2.20</filename>, | ||
1821 | see the upstream release notes at | ||
1822 | <ulink url='https://sourceware.org/ml/libc-alpha/2014-09/msg00088.html'></ulink>. | ||
1823 | </para> | ||
1824 | </section> | ||
1825 | |||
1826 | <section id='migration-1.7-kernel-module-autoloading'> | ||
1827 | <title>Kernel Module Autoloading</title> | ||
1828 | |||
1829 | <para> | ||
1830 | The | ||
1831 | <link linkend='var-module_autoload'><filename>module_autoload_*</filename></link> | ||
1832 | and | ||
1833 | <link linkend='var-module_conf'><filename>module_conf_*</filename></link> | ||
1834 | variables have been replaced with the variables | ||
1835 | <link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link> | ||
1836 | and | ||
1837 | <link linkend='var-KERNEL_MODULE_PROBECONF'><filename>KERNEL_MODULE_PROBECONF</filename></link>, | ||
1838 | respectively. | ||
1839 | These variables no longer require you to specify the module name | ||
1840 | as part of the variable name. | ||
1841 | This change not only simplifies usage but also allows the values | ||
1842 | of these variables to be appropriately incorporated into task | ||
1843 | signatures and thus trigger the appropriate tasks to re-execute | ||
1844 | when changed. | ||
1845 | You should replace any references to | ||
1846 | <filename>module_autoload_*</filename> or | ||
1847 | <filename>module_conf_*</filename> with the new variables. | ||
1848 | <note> | ||
1849 | While it is recommended that you replace occurrences of the | ||
1850 | <filename>module_conf_*</filename> variable with the | ||
1851 | <filename>KERNEL_MODULE_PROBECONF</filename> variable, the | ||
1852 | OpenEmbedded build system still recognizes the | ||
1853 | <filename>module_conf_*</filename> variable. | ||
1854 | However, you must be sure that any module name used in the | ||
1855 | override with the <filename>module_conf</filename> variable | ||
1856 | is included in the <filename>KERNEL_MODULE_PROBECONF</filename> | ||
1857 | variable. | ||
1858 | </note> | ||
1859 | </para> | ||
1860 | |||
1861 | <para> | ||
1862 | For more information, see the | ||
1863 | <link linkend='var-KERNEL_MODULE_AUTOLOAD'><filename>KERNEL_MODULE_AUTOLOAD</filename></link> | ||
1864 | and | ||
1865 | <link linkend='var-KERNEL_MODULE_PROBECONF'><filename>KERNEL_MODULE_PROBECONF</filename></link> | ||
1866 | descriptions in the variable's glossary. | ||
1867 | </para> | ||
1868 | </section> | ||
1869 | |||
1870 | <section id='migration-1.7-removed-recipes'> | ||
1871 | <title>Removed Recipes</title> | ||
1872 | |||
1873 | <para> | ||
1874 | The following recipes have been removed: | ||
1875 | <itemizedlist> | ||
1876 | <listitem><para> | ||
1877 | <filename>x-load</filename>: | ||
1878 | This recipe has been superseded by | ||
1879 | U-boot SPL for all Cortex-based TI SoCs. | ||
1880 | For legacy boards, the <filename>meta-ti</filename> | ||
1881 | layer, which contains a maintained recipe, should be used | ||
1882 | instead. | ||
1883 | </para></listitem> | ||
1884 | <listitem><para> | ||
1885 | <filename>ubootchart</filename>: | ||
1886 | This recipe is obsolete. | ||
1887 | A <filename>bootchart2</filename> recipe has been added | ||
1888 | to functionally replace it. | ||
1889 | </para></listitem> | ||
1890 | <listitem><para> | ||
1891 | <filename>linux-yocto 3.4</filename>: | ||
1892 | Support for the linux-yocto 3.4 kernel has been dropped. | ||
1893 | Support for the 3.10 and 3.14 kernels remains, while | ||
1894 | support for version 3.17 has been added. | ||
1895 | </para></listitem> | ||
1896 | <listitem><para> | ||
1897 | <filename>eglibc</filename> has been removed in favor of | ||
1898 | <filename>glibc</filename>. | ||
1899 | See the | ||
1900 | "<link linkend='migration-1.7-glibc-replaces-eglibc'><filename>eglibc 2.19</filename> Replaced with <filename>glibc 2.20</filename></link>" | ||
1901 | section for more information. | ||
1902 | </para></listitem> | ||
1903 | </itemizedlist> | ||
1904 | </para> | ||
1905 | </section> | ||
1906 | |||
1907 | <section id='migration-1.7-minimum-git-version'> | ||
1908 | <title>Minimum Git version</title> | ||
1909 | |||
1910 | <para> | ||
1911 | The minimum | ||
1912 | <ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink> version required | ||
1913 | on the build host is now 1.7.8 because the | ||
1914 | <filename>‐‐list</filename> option is now required by | ||
1915 | BitBake's Git fetcher. | ||
1916 | As always, if your host distribution does not provide a version of | ||
1917 | Git that meets this requirement, you can use the | ||
1918 | <filename>buildtools-tarball</filename> that does. | ||
1919 | See the | ||
1920 | "<link linkend='required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</link>" | ||
1921 | section for more information. | ||
1922 | </para> | ||
1923 | </section> | ||
1924 | |||
1925 | <section id='migration-1.7-qa-check-changes'> | ||
1926 | <title>QA Check Changes</title> | ||
1927 | |||
1928 | <para> | ||
1929 | The following changes have occurred to the QA check process: | ||
1930 | <itemizedlist> | ||
1931 | <listitem><para> | ||
1932 | Additional QA checks <filename>file-rdeps</filename> | ||
1933 | and <filename>build-deps</filename> have been added in | ||
1934 | order to verify that file dependencies are satisfied | ||
1935 | (e.g. package contains a script requiring | ||
1936 | <filename>/bin/bash</filename>) and build-time dependencies | ||
1937 | are declared, respectively. | ||
1938 | For more information, please see the | ||
1939 | "<link linkend='ref-qa-checks'>QA Error and Warning Messages</link>" | ||
1940 | chapter. | ||
1941 | </para></listitem> | ||
1942 | <listitem><para> | ||
1943 | Package QA checks are now performed during a new | ||
1944 | <filename>do_package_qa</filename> task rather | ||
1945 | than being part of the | ||
1946 | <link linkend='ref-tasks-package'><filename>do_package</filename></link> | ||
1947 | task. | ||
1948 | This allows more parallel execution. | ||
1949 | This change is unlikely to be an issue except for highly | ||
1950 | customized recipes that disable packaging tasks themselves | ||
1951 | by marking them as <filename>noexec</filename>. | ||
1952 | For those packages, you will need to disable the | ||
1953 | <filename>do_package_qa</filename> task as well. | ||
1954 | </para></listitem> | ||
1955 | <listitem><para> | ||
1956 | Files being overwritten during the | ||
1957 | <link linkend='ref-tasks-populate_sysroot'><filename>do_populate_sysroot</filename></link> | ||
1958 | task now trigger an error instead of a warning. | ||
1959 | Recipes should not be overwriting files written to the | ||
1960 | sysroot by other recipes. | ||
1961 | If you have these types of recipes, you need to alter them | ||
1962 | so that they do not overwrite these files. | ||
1963 | </para></listitem> | ||
1964 | </itemizedlist> | ||
1965 | </para> | ||
1966 | </section> | ||
1967 | |||
1968 | <section id='migration-1.7-miscellaneous-changes'> | ||
1969 | <title>Miscellaneous Changes</title> | ||
1970 | |||
1971 | <para> | ||
1972 | The following miscellaneous change occurred: | ||
1973 | <itemizedlist> | ||
1974 | <listitem><para> | ||
1975 | The build history feature now writes | ||
1976 | <filename>build-id.txt</filename> instead of | ||
1977 | <filename>build-id</filename>. | ||
1978 | Additionally, <filename>build-id.txt</filename> | ||
1979 | now contains the full build header as printed by | ||
1980 | BitBake upon starting the build. | ||
1981 | You should manually remove old "build-id" files from your | ||
1982 | existing build history repositories to avoid confusion. | ||
1983 | For information on the build history feature, see the | ||
1984 | "<link linkend='maintaining-build-output-quality'>Maintaining Build Output Quality</link>" | ||
1985 | section. | ||
1986 | </para></listitem> | ||
1987 | </itemizedlist> | ||
1988 | </para> | ||
1989 | </section> | ||
1990 | </section> | ||
1991 | |||
1694 | </chapter> | 1992 | </chapter> |
1695 | <!-- | 1993 | <!-- |
1696 | vim: expandtab tw=80 ts=4 | 1994 | vim: expandtab tw=80 ts=4 |