summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2014-10-13 17:33:38 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-10-18 16:15:27 +0200
commitd8e41e8026bedcde2a9eb9270f6d7cf6a4c76f86 (patch)
tree76d8e2ebd4a1b8d5f7d994247d267af62aa99543 /documentation
parenta51b75517890cab35f7c65c24b03d2882286bf9e (diff)
downloadpoky-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')
-rw-r--r--documentation/ref-manual/migration.xml298
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>&dash;&dash;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<!--
1696vim: expandtab tw=80 ts=4 1994vim: expandtab tw=80 ts=4