diff options
| -rw-r--r-- | documentation/ref-manual/migration.xml | 552 |
1 files changed, 540 insertions, 12 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index 670e1c1f7d..e6c0aa36b8 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml | |||
| @@ -2447,9 +2447,10 @@ | |||
| 2447 | </literallayout> | 2447 | </literallayout> |
| 2448 | </para></listitem> | 2448 | </para></listitem> |
| 2449 | <listitem><para> | 2449 | <listitem><para> |
| 2450 | <filename>d.delVar('VARNAME')</filename> and | 2450 | <filename>d.delVar('</filename><replaceable>varname</replaceable><filename>')</filename> and |
| 2451 | <filename>d.setVar('VARNAME', None)</filename> result | 2451 | <filename>d.setVar('</filename><replaceable>varname</replaceable><filename>', None)</filename> |
| 2452 | in the variable and all of its overrides being cleared out. | 2452 | result in the variable and all of its overrides being |
| 2453 | cleared out. | ||
| 2453 | Before the change, only the non-overridden values | 2454 | Before the change, only the non-overridden values |
| 2454 | were cleared. | 2455 | were cleared. |
| 2455 | </para></listitem> | 2456 | </para></listitem> |
| @@ -2734,23 +2735,550 @@ | |||
| 2734 | Yocto Project 2.1 Release from the prior release. | 2735 | Yocto Project 2.1 Release from the prior release. |
| 2735 | </para> | 2736 | </para> |
| 2736 | 2737 | ||
| 2737 | <section id='migration-2.1-placeholder'> | 2738 | <section id='migration-2.1-variable-expansion-in-python-functions'> |
| 2738 | <title>Stuff to Remember When Creating this Section</title> | 2739 | <title>Variable Expansion in Python Functions</title> |
| 2739 | 2740 | ||
| 2740 | <para> | 2741 | <para> |
| 2741 | This is a note from Alexander Kanavin regarding qt4 stuff. | 2742 | Variable expressions, such as |
| 2743 | <filename>${</filename><replaceable>varname</replaceable><filename>}</filename> | ||
| 2744 | no longer expand automatically within Python functions. | ||
| 2745 | Suppressing expansion was done to allow Python functions to | ||
| 2746 | construct shell scripts or other code for situations in which you | ||
| 2747 | do not want such expressions expanded. | ||
| 2748 | For any existing code that relies on these expansions, you need to | ||
| 2749 | change the expansions to either expand the value of individual | ||
| 2750 | variables through <filename>d.getVar()</filename>. | ||
| 2751 | To alternatively expand more complex expressions, | ||
| 2752 | use <filename>d.expand()</filename>. | ||
| 2753 | </para> | ||
| 2754 | </section> | ||
| 2755 | |||
| 2756 | <section id='migration-2.1-overrides-must-now-be-lower-case'> | ||
| 2757 | <title>Overrides Must Now be Lower-Case</title> | ||
| 2758 | |||
| 2759 | <para> | ||
| 2760 | The convention for overrides has always been for them to be | ||
| 2761 | lower-case characters. | ||
| 2762 | This practice is now a requirement as BitBake's datastore now | ||
| 2763 | assumes lower-case characters in order to give a slight performance | ||
| 2764 | boost during parsing. | ||
| 2765 | In practical terms, this requirement means that anything that ends | ||
| 2766 | up in | ||
| 2767 | <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link> | ||
| 2768 | must now appear in lower-case characters (e.g. values for | ||
| 2769 | <filename>MACHINE</filename>, <filename>TARGET_ARCH</filename>, | ||
| 2770 | <filename>DISTRO</filename>, and also recipe names if | ||
| 2771 | <filename>_pn-</filename><replaceable>recipename</replaceable> | ||
| 2772 | overrides are to be effective). | ||
| 2773 | </para> | ||
| 2774 | </section> | ||
| 2775 | |||
| 2776 | <section id='migration-2.1-expand-parameter-to-getvar-and-getvarflag-now-mandatory'> | ||
| 2777 | <title>Expand Parameter to <filename>getVar()</filename> and | ||
| 2778 | <filename>getVarFlag()</filename> is Now Mandatory</title> | ||
| 2779 | |||
| 2780 | <para> | ||
| 2781 | The expand parameter to <filename>getVar()</filename> and | ||
| 2782 | <filename>getVarFlag()</filename> previously defaulted to | ||
| 2783 | False if not specified. | ||
| 2784 | Now, however, no default exists so one must be specified. | ||
| 2785 | You must change any <filename>getVar()</filename> calls that | ||
| 2786 | do not specify the final expand parameter to calls that do specify | ||
| 2787 | the parameter. | ||
| 2788 | You can run the following <filename>sed</filename> command at the | ||
| 2789 | base of a layer to make this change: | ||
| 2790 | <literallayout class='monospaced'> | ||
| 2791 | sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' -i `grep -ril getVar *` | ||
| 2792 | sed -e 's:\(\.getVarFlag([^,()]*, [^,()]*\)):\1, False):g' -i `grep -ril getVarFlag *` | ||
| 2793 | </literallayout> | ||
| 2742 | <note> | 2794 | <note> |
| 2743 | Qt4 recipes and classes have been removed in YP 2.1 because | 2795 | The reason for this change is that it prepares the way for |
| 2744 | Qt4.x has reached end of life upstream. For legacy applications | 2796 | changing the default to True in a future Yocto Project release. |
| 2745 | and LSB compliancy purposes Qt4 can be found in meta-qt4 | 2797 | This future change is a much more sensible default than False. |
| 2746 | repository, and for any new development Qt5 is available at | 2798 | However, the change needs to be made gradually as a sudden |
| 2747 | meta-qt5 repository(provide links to both). | 2799 | change of the default would potentially cause side-effects |
| 2800 | that would be difficult to detect. | ||
| 2748 | </note> | 2801 | </note> |
| 2749 | </para> | 2802 | </para> |
| 2750 | </section> | 2803 | </section> |
| 2751 | </section> | ||
| 2752 | 2804 | ||
| 2805 | <section id='migration-2.1-makefile-environment-changes'> | ||
| 2806 | <title>Makefile Environment Changes</title> | ||
| 2807 | |||
| 2808 | <para> | ||
| 2809 | <link linkend='var-EXTRA_OEMAKE'><filename>EXTRA_OEMAKE</filename></link> | ||
| 2810 | now defaults to "" instead of "-e MAKEFLAGS=". | ||
| 2811 | Setting <filename>EXTRA_OEMAKE</filename> to "-e MAKEFLAGS=" by | ||
| 2812 | default was a historical accident that has required many classes | ||
| 2813 | (e.g. <filename>autotools</filename>, <filename>module</filename>) | ||
| 2814 | and recipes to override this default in order to work with | ||
| 2815 | sensible build systems. | ||
| 2816 | When upgrading to the release, you must edit any recipe that | ||
| 2817 | relies upon this old default by either setting | ||
| 2818 | <filename>EXTRA_OEMAKE</filename> back to "-e MAKEFLAGS=" or by | ||
| 2819 | explicitly setting any required variable value overrides using | ||
| 2820 | <filename>EXTRA_OEMAKE</filename>, which is typically only needed | ||
| 2821 | when a Makefile sets a default value for a variable that is | ||
| 2822 | inappropriate for cross-compilation using the "=" operator rather | ||
| 2823 | than the "?=" operator. | ||
| 2824 | </para> | ||
| 2825 | </section> | ||
| 2826 | |||
| 2827 | <section id='migration-2.1-libexecdir-reverted-to-prefix-libexec'> | ||
| 2828 | <title><filename>libexecdir</filename> Reverted to <filename>${prefix}/libexec</filename></title> | ||
| 2829 | |||
| 2830 | <para> | ||
| 2831 | The use of <filename>${libdir}/${BPN}</filename> as | ||
| 2832 | <filename>libexecdir</filename> is different as compared to all | ||
| 2833 | other mainstream distributions, which either uses | ||
| 2834 | <filename>${prefix}/libexec</filename> or | ||
| 2835 | <filename>${libdir}</filename>. | ||
| 2836 | The use is also contrary to the GNU Coding Standards | ||
| 2837 | (i.e. <ulink url='https://www.gnu.org/prep/standards/html_node/Directory-Variables.html'></ulink>) | ||
| 2838 | that suggest <filename>${prefix}/libexec</filename> and also | ||
| 2839 | notes that any package-specific nesting should be done by the | ||
| 2840 | package itself. | ||
| 2841 | Finally, having <filename>libexecdir</filename> change between | ||
| 2842 | recipes makes it very difficult for different recipes to invoke | ||
| 2843 | binaries that have been installed into | ||
| 2844 | <filename>libexecdir</filename>. | ||
| 2845 | The Filesystem Hierarchy Standard | ||
| 2846 | (i.e. <ulink url='http://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html'></ulink>) | ||
| 2847 | now recognizes the use of <filename>${prefix}/libexec/</filename>, | ||
| 2848 | giving distributions the choice between | ||
| 2849 | <filename>${prefix}/lib</filename> or | ||
| 2850 | <filename>${prefix}/libexec</filename> without breaking FHS. | ||
| 2851 | </para> | ||
| 2852 | </section> | ||
| 2853 | |||
| 2854 | <section id='migration-2.1-ac-cv-sizeof-off-t-no-longer-cached-in-site-files'> | ||
| 2855 | <title><filename>ac_cv_sizeof_off_t</filename> is No Longer Cached in Site Files</title> | ||
| 2856 | |||
| 2857 | <para> | ||
| 2858 | For recipes inheriting the | ||
| 2859 | <link linkend='ref-classes-autotools'><filename>autotools</filename></link> | ||
| 2860 | class, <filename>ac_cv_sizeof_off_t</filename> is no longer cached | ||
| 2861 | in the site files for <filename>autoconf</filename>. | ||
| 2862 | The reason for this change is because the | ||
| 2863 | <filename>ac_cv_sizeof_off_t</filename> value is not necessarily | ||
| 2864 | static per architecture as was previously assumed. | ||
| 2865 | Rather, the value changes based on whether large file support is | ||
| 2866 | enabled. | ||
| 2867 | For most software that uses <filename>autoconf</filename>, this | ||
| 2868 | change should not be a problem. | ||
| 2869 | However, if you have a recipe that bypasses the standard | ||
| 2870 | <link linkend='ref-tasks-configure'><filename>do_configure</filename></link> | ||
| 2871 | task from the <filename>autotools</filename> class and the software | ||
| 2872 | the recipe is building uses a very old version of | ||
| 2873 | <filename>autoconf</filename>, the recipe might be incapable of | ||
| 2874 | determining the correct size of <filename>off_t</filename> during | ||
| 2875 | <filename>do_configure</filename>. | ||
| 2876 | </para> | ||
| 2877 | |||
| 2878 | <para> | ||
| 2879 | The best course of action is to patch the software as necessary | ||
| 2880 | to allow the default implementation from the | ||
| 2881 | <filename>autotools</filename> class to work such that | ||
| 2882 | <filename>autoreconf</filename> succeeds and produces a working | ||
| 2883 | configure script), and to remove the | ||
| 2884 | overridden <filename>do_configure</filename> task such that the | ||
| 2885 | default implementation does get used. | ||
| 2886 | </para> | ||
| 2887 | </section> | ||
| 2888 | |||
| 2889 | <section id='migration-2.1-image-generation-split-out-from-filesystem-generation'> | ||
| 2890 | <title>Image Generation is Now Split Out from Filesystem Generation</title> | ||
| 2891 | |||
| 2892 | <para> | ||
| 2893 | Previously, for image recipes the | ||
| 2894 | <link linkend='ref-tasks-rootfs'><filename>do_rootfs</filename></link> | ||
| 2895 | task assembled the filesystem and then from that filesystem | ||
| 2896 | generated images. | ||
| 2897 | With this Yocto Project release, image generation is split into | ||
| 2898 | separate | ||
| 2899 | <link linkend='ref-tasks-image'><filename>do_image_*</filename></link> | ||
| 2900 | tasks for clarity both in operation and in the code. | ||
| 2901 | </para> | ||
| 2902 | |||
| 2903 | <para> | ||
| 2904 | For most cases, this change does not present any problems. | ||
| 2905 | However, if you have made customizations that directly modify the | ||
| 2906 | <filename>do_rootfs</filename> task or that mention | ||
| 2907 | <filename>do_rootfs</filename>, you might need to update those | ||
| 2908 | changes. | ||
| 2909 | In particular, if you had added any tasks after | ||
| 2910 | <filename>do_rootfs</filename>, you should make edits so that | ||
| 2911 | those tasks are after the | ||
| 2912 | <link linkend='ref-tasks-image-complete'><filename>do_image_complete</filename></link> | ||
| 2913 | task rather than before the task so that the your added tasks | ||
| 2914 | run at the correct time. | ||
| 2915 | </para> | ||
| 2916 | |||
| 2917 | <para> | ||
| 2918 | A minor part of this restructuring is that the post-processing | ||
| 2919 | definitions and functions have been moved from the | ||
| 2920 | <link linkend='ref-classes-image'><filename>image</filename></link> | ||
| 2921 | class to the | ||
| 2922 | <link linkend='ref-classes-rootfs*'><filename>rootfs-postcommands</filename></link> | ||
| 2923 | class. | ||
| 2924 | Functionally, however, they remain unchanged. | ||
| 2925 | </para> | ||
| 2926 | </section> | ||
| 2927 | |||
| 2928 | <section id='migration-2.1-removed-recipes'> | ||
| 2929 | <title>Removed Recipes</title> | ||
| 2930 | |||
| 2931 | <para> | ||
| 2932 | The following recipes have been removed in the 2.1 release: | ||
| 2933 | <itemizedlist> | ||
| 2934 | <listitem><para><filename>gcc</filename> version 4.8: | ||
| 2935 | Versions 4.9 and 5.3 remain. | ||
| 2936 | </para></listitem> | ||
| 2937 | <listitem><para><filename>qt4</filename>: | ||
| 2938 | All support for Qt 4.x has been moved out to a separate | ||
| 2939 | <filename>meta-qt4</filename> layer because Qt 4 is no | ||
| 2940 | longer supported upstream. | ||
| 2941 | </para></listitem> | ||
| 2942 | <listitem><para><filename>x11vnc</filename>: | ||
| 2943 | Moved to the <filename>meta-oe</filename> layer. | ||
| 2944 | </para></listitem> | ||
| 2945 | <listitem><para><filename>linux-yocto-3.14</filename>: | ||
| 2946 | No longer supported. | ||
| 2947 | </para></listitem> | ||
| 2948 | <listitem><para><filename>linux-yocto-3.19</filename>: | ||
| 2949 | No longer supported. | ||
| 2950 | </para></listitem> | ||
| 2951 | <listitem><para><filename>libjpeg</filename>: | ||
| 2952 | Replaced by the <filename>libjpeg-turbo</filename> recipe. | ||
| 2953 | </para></listitem> | ||
| 2954 | <listitem><para><filename>pth</filename>: | ||
| 2955 | Became obsolete. | ||
| 2956 | </para></listitem> | ||
| 2957 | <listitem><para><filename>liboil</filename>: | ||
| 2958 | Recipe is no longer needed and has been moved to the | ||
| 2959 | <filename>meta-multimedia</filename> layer. | ||
| 2960 | </para></listitem> | ||
| 2961 | <listitem><para><filename>gtk-theme-torturer</filename>: | ||
| 2962 | Recipe is no longer needed and has been moved to the | ||
| 2963 | <filename>meta-gnome</filename> layer. | ||
| 2964 | </para></listitem> | ||
| 2965 | <listitem><para><filename>gnome-mime-data</filename>: | ||
| 2966 | Recipe is no longer needed and has been moved to the | ||
| 2967 | <filename>meta-gnome</filename> layer. | ||
| 2968 | </para></listitem> | ||
| 2969 | <listitem><para><filename>udev</filename>: | ||
| 2970 | Replaced by the <filename>eudev</filename> recipe for | ||
| 2971 | compatibility when using <filename>sysvinit</filename> | ||
| 2972 | with newer kernels. | ||
| 2973 | </para></listitem> | ||
| 2974 | <listitem><para><filename>python-pygtk</filename>: | ||
| 2975 | Recipe became obsolete. | ||
| 2976 | </para></listitem> | ||
| 2977 | <listitem><para><filename>adt-installer</filename>: | ||
| 2978 | Recipe became obsolete. | ||
| 2979 | See the | ||
| 2980 | "<link linkend='migration-2.1-adt-removed'>ADT Removed</link>" | ||
| 2981 | section for more information. | ||
| 2982 | </para></listitem> | ||
| 2983 | </itemizedlist> | ||
| 2984 | </para> | ||
| 2985 | </section> | ||
| 2986 | |||
| 2987 | <section id='migration-2.1-class-changes'> | ||
| 2988 | <title>Class Changes</title> | ||
| 2753 | 2989 | ||
| 2990 | <para> | ||
| 2991 | The following classes have changed: | ||
| 2992 | <itemizedlist> | ||
| 2993 | <listitem><para><filename>autotools_stage</filename>: | ||
| 2994 | Removed because the | ||
| 2995 | <link linkend='ref-classes-autotools'><filename>autotools</filename></link> | ||
| 2996 | class now provides its functionality. | ||
| 2997 | Recipes that inherited from | ||
| 2998 | <filename>autotools_stage</filename> should now inherit | ||
| 2999 | from <filename>autotools</filename> instead. | ||
| 3000 | </para></listitem> | ||
| 3001 | <listitem><para><filename>boot-directdisk</filename>: | ||
| 3002 | Merged into the | ||
| 3003 | <link linkend='ref-classes-image-vm'><filename>image-vm</filename></link> | ||
| 3004 | class. | ||
| 3005 | The <filename>boot-directdisk</filename> class was rarely | ||
| 3006 | directly used. | ||
| 3007 | Consequently, this change should not cause any issues. | ||
| 3008 | </para></listitem> | ||
| 3009 | <listitem><para><filename>bootimg</filename>: | ||
| 3010 | Merged into the | ||
| 3011 | <link linkend='ref-classes-image-live'><filename>image-live</filename></link> | ||
| 3012 | class. | ||
| 3013 | The <filename>bootimg</filename> class was rarely | ||
| 3014 | directly used. | ||
| 3015 | Consequently, this change should not cause any issues. | ||
| 3016 | </para></listitem> | ||
| 3017 | <listitem><para><filename>packageinfo</filename>: | ||
| 3018 | Removed due to its limited use by the Hob UI, which has | ||
| 3019 | itself been removed. | ||
| 3020 | </para></listitem> | ||
| 3021 | </itemizedlist> | ||
| 3022 | </para> | ||
| 3023 | </section> | ||
| 3024 | |||
| 3025 | <section id='migration-2.1-build-system-ui-changes'> | ||
| 3026 | <title>Build System User Interface Changes</title> | ||
| 3027 | |||
| 3028 | <para> | ||
| 3029 | The following changes have been made to the build system user | ||
| 3030 | interface: | ||
| 3031 | <itemizedlist> | ||
| 3032 | <listitem><para><emphasis>Hob GTK+-based UI</emphasis>: | ||
| 3033 | Removed because it is unmaintained and based on the | ||
| 3034 | outdated GTK+ 2 library. | ||
| 3035 | The Toaster web-based UI is much more capable and is | ||
| 3036 | actively maintained. | ||
| 3037 | See the | ||
| 3038 | "<ulink url='&YOCTO_DOCS_TOAST_URL;#using-the-toaster-web-interface'>Using the Toaster Web Interface</ulink>" | ||
| 3039 | section in the Yocto Project Toaster User Manual for more | ||
| 3040 | information on this interface. | ||
| 3041 | </para></listitem> | ||
| 3042 | <listitem><para><emphasis>"puccho" BitBake UI</emphasis>: | ||
| 3043 | Removed because is unmaintained and no longer useful. | ||
| 3044 | </para></listitem> | ||
| 3045 | </itemizedlist> | ||
| 3046 | </para> | ||
| 3047 | </section> | ||
| 3048 | |||
| 3049 | <section id='migration-2.1-adt-removed'> | ||
| 3050 | <title>ADT Removed</title> | ||
| 3051 | |||
| 3052 | <para> | ||
| 3053 | The Application Development Toolkit (ADT) has been removed | ||
| 3054 | because its functionality almost completely overlapped with the | ||
| 3055 | <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-using-the-standard-sdk'>standard SDK</ulink> | ||
| 3056 | and the | ||
| 3057 | <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>extensible SDK</ulink>. | ||
| 3058 | For information on these SDKs and how to build and use them, see the | ||
| 3059 | <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-intro'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>. | ||
| 3060 | </para> | ||
| 3061 | </section> | ||
| 3062 | |||
| 3063 | <section id='migration-2.1-poky-reference-distribution-changes'> | ||
| 3064 | <title>Poky Reference Distribution Changes</title> | ||
| 3065 | |||
| 3066 | <para> | ||
| 3067 | The following changes have been made for the Poky distribution: | ||
| 3068 | <itemizedlist> | ||
| 3069 | <listitem><para> | ||
| 3070 | The <filename>meta-yocto</filename> layer has been renamed | ||
| 3071 | to <filename>meta-poky</filename> to better match its | ||
| 3072 | purpose, which is to provide the Poky reference | ||
| 3073 | distribution. | ||
| 3074 | The <filename>meta-yocto-bsp</filename> layer retains its | ||
| 3075 | original name since it provides reference machines for | ||
| 3076 | the Yocto Project and it is otherwise unrelated to Poky. | ||
| 3077 | References to <filename>meta-yocto</filename> in your | ||
| 3078 | <filename>conf/bblayers.conf</filename> should | ||
| 3079 | automatically be updated, so you should not need to change | ||
| 3080 | anything unless you are relying on this naming elsewhere. | ||
| 3081 | </para></listitem> | ||
| 3082 | <listitem><para> | ||
| 3083 | The | ||
| 3084 | <link linkend='ref-classes-uninative'><filename>uninative</filename></link> | ||
| 3085 | class is now enabled by default in Poky. | ||
| 3086 | This class attempts to isolate the build system from the | ||
| 3087 | host distribution's C library and makes re-use of native | ||
| 3088 | shared state artifacts across different host distributions | ||
| 3089 | practical. | ||
| 3090 | With this class enabled, a tarball containing a pre-built | ||
| 3091 | C library is downloaded at the start of the build.</para> | ||
| 3092 | |||
| 3093 | <para>The <filename>uninative</filename> class is enabled | ||
| 3094 | through the | ||
| 3095 | <filename>meta/conf/distro/include/yocto-uninative.inc</filename> | ||
| 3096 | file, which for those not using the Poky distribution, can | ||
| 3097 | include to easily enable the same functionality.</para> | ||
| 3098 | |||
| 3099 | <para>Alternatively, if you wish to build your own | ||
| 3100 | <filename>uninative</filename> tarball, you can do so by | ||
| 3101 | building the <filename>uninative-tarball</filename> recipe, | ||
| 3102 | making it available to your build machines | ||
| 3103 | (e.g. over HTTP/HTTPS) and setting a similar configuration | ||
| 3104 | as the one set by <filename>yocto-uninative.inc</filename>. | ||
| 3105 | </para></listitem> | ||
| 3106 | <listitem><para> | ||
| 3107 | Static library generation, for most cases, is now disabled | ||
| 3108 | by default in the Poky distribution. | ||
| 3109 | Disabling this generation saves some build time as well | ||
| 3110 | as the size used for build output artifacts.</para> | ||
| 3111 | |||
| 3112 | <para>Disabling this library generation is accomplished | ||
| 3113 | through a | ||
| 3114 | <filename>meta/conf/distro/include/no-static-libs.inc</filename>, | ||
| 3115 | which for those not using the Poky distribution can | ||
| 3116 | easily include to enable the same functionality.</para> | ||
| 3117 | |||
| 3118 | <para>Any recipe that needs to opt-out of having the | ||
| 3119 | "--disable-static" option specified on the configure | ||
| 3120 | command line either because it is not a supported option | ||
| 3121 | for the configure script or because static libraries are | ||
| 3122 | needed should set the following variable: | ||
| 3123 | <literallayout class='monospaced'> | ||
| 3124 | DISABLE_STATIC = "" | ||
| 3125 | </literallayout> | ||
| 3126 | </para></listitem> | ||
| 3127 | <listitem><para> | ||
| 3128 | The separate <filename>poky-tiny</filename> distribution | ||
| 3129 | now uses the musl C library instead of a heavily pared | ||
| 3130 | down <filename>glibc</filename>. | ||
| 3131 | Using <filename>glibc</filename> results in a smaller | ||
| 3132 | distribution and facilitates much greater maintainability | ||
| 3133 | because musl is designed to have a small footprint.</para> | ||
| 3134 | |||
| 3135 | <para>If you have used <filename>poky-tiny</filename> and | ||
| 3136 | have customized the <filename>glibc</filename> | ||
| 3137 | configuration you will need to redo those customizations | ||
| 3138 | with musl when upgrading to the new release. | ||
| 3139 | </para></listitem> | ||
| 3140 | </itemizedlist> | ||
| 3141 | </para> | ||
| 3142 | </section> | ||
| 3143 | |||
| 3144 | <section id='migration-2.1-packaging-changes'> | ||
| 3145 | <title>Packaging Changes</title> | ||
| 3146 | |||
| 3147 | <para> | ||
| 3148 | The following changes have been made to packaging: | ||
| 3149 | <itemizedlist> | ||
| 3150 | <listitem><para> | ||
| 3151 | The <filename>runuser</filename> and | ||
| 3152 | <filename>mountpoint</filename> binaries, which were | ||
| 3153 | previously in the main <filename>util-linux</filename> | ||
| 3154 | package, have been split out into the | ||
| 3155 | <filename>util-linux-runuser</filename> and | ||
| 3156 | <filename>util-linux-mountpoint</filename> packages, | ||
| 3157 | respectively. | ||
| 3158 | </para></listitem> | ||
| 3159 | <listitem><para> | ||
| 3160 | The <filename>python-elementtree</filename> package has | ||
| 3161 | been merged into the <filename>python-xml</filename> | ||
| 3162 | package. | ||
| 3163 | </para></listitem> | ||
| 3164 | </itemizedlist> | ||
| 3165 | </para> | ||
| 3166 | </section> | ||
| 3167 | |||
| 3168 | <section id='migration-2.1-tuning-file-changes'> | ||
| 3169 | <title>Tuning File Changes</title> | ||
| 3170 | |||
| 3171 | <para> | ||
| 3172 | The following changes have been made to the tuning files: | ||
| 3173 | <itemizedlist> | ||
| 3174 | <listitem><para> | ||
| 3175 | The "no-thumb-interwork" tuning feature has been dropped | ||
| 3176 | from the ARM tune include files. | ||
| 3177 | Because interworking is required for ARM EABI, attempting | ||
| 3178 | to disable it through a tuning feature no longer makes | ||
| 3179 | sense. | ||
| 3180 | <note> | ||
| 3181 | Support for ARM OABI was deprecated in gcc 4.7. | ||
| 3182 | </note> | ||
| 3183 | </para></listitem> | ||
| 3184 | <listitem><para> | ||
| 3185 | The <filename>tune-cortexm*.inc</filename> and | ||
| 3186 | <filename>tune-cortexr4.inc</filename> files have been | ||
| 3187 | removed because they are poorly tested. | ||
| 3188 | Until the OpenEmbedded build system officially gains | ||
| 3189 | support for CPUs without an MMU, these tuning files would | ||
| 3190 | probably be better maintained in a separate layer | ||
| 3191 | if needed. | ||
| 3192 | </para></listitem> | ||
| 3193 | </itemizedlist> | ||
| 3194 | </para> | ||
| 3195 | </section> | ||
| 3196 | |||
| 3197 | <section id='migration-2.1-miscellaneous-changes'> | ||
| 3198 | <title>Miscellaneous Changes</title> | ||
| 3199 | |||
| 3200 | <para> | ||
| 3201 | These additional changes exist: | ||
| 3202 | <itemizedlist> | ||
| 3203 | <listitem><para> | ||
| 3204 | The minimum Git version has been increased to 1.8.3.1. | ||
| 3205 | If your host distribution does not provide a sufficiently | ||
| 3206 | recent version, you can install the buildtools, which | ||
| 3207 | will provide it. | ||
| 3208 | </para></listitem> | ||
| 3209 | <listitem><para> | ||
| 3210 | The buggy and incomplete support for the RPM version 4 | ||
| 3211 | package manager has been removed. | ||
| 3212 | The well-tested and maintained support for RPM version 5 | ||
| 3213 | remains. | ||
| 3214 | </para></listitem> | ||
| 3215 | <listitem><para> | ||
| 3216 | The | ||
| 3217 | <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-devtool-use-devtool-modify-to-modify-the-source-of-an-existing-component'><filename>devtool modify</filename></ulink> | ||
| 3218 | command now defaults to extracting the source since that | ||
| 3219 | is most commonly expected. | ||
| 3220 | The "-x" or "--extract" options are now no-ops. | ||
| 3221 | If you wish to provide your own existing source tree, you | ||
| 3222 | will now need to specify either the "-n" or | ||
| 3223 | "--no-extract" option when running | ||
| 3224 | <filename>devtool modify</filename>. | ||
| 3225 | </para></listitem> | ||
| 3226 | <listitem><para> | ||
| 3227 | If the formfactor for a machine is either not supplied | ||
| 3228 | or does not specify whether a keyboard is attached, then | ||
| 3229 | the default is to assume a keyboard is attached rather | ||
| 3230 | than assume no keyboard. | ||
| 3231 | <note> | ||
| 3232 | This change primarily affects the Sato UI. | ||
| 3233 | </note> | ||
| 3234 | </para></listitem> | ||
| 3235 | <listitem><para> | ||
| 3236 | The <filename>.debug</filename> directory packaging is | ||
| 3237 | now automatic. | ||
| 3238 | If your recipe builds software that installs binaries into | ||
| 3239 | directories other than the standard ones, you no longer | ||
| 3240 | need to take care of setting | ||
| 3241 | <filename>FILES_${PN}-dbg</filename> to pick up the | ||
| 3242 | resulting <filename>.debug</filename> directories as these | ||
| 3243 | directories are automatically found and added. | ||
| 3244 | </para></listitem> | ||
| 3245 | <listitem><para> | ||
| 3246 | Inaccurate disk and CPU percentage data has been dropped | ||
| 3247 | from <filename>buildstats</filename> output. | ||
| 3248 | This data has been replaced with | ||
| 3249 | <filename>getrusage()</filename> data and corrected IO | ||
| 3250 | statistics. | ||
| 3251 | You will probably need to update code that reads the | ||
| 3252 | <filename>buildstats</filename> data. | ||
| 3253 | </para></listitem> | ||
| 3254 | <listitem><para> | ||
| 3255 | The | ||
| 3256 | <filename>meta/conf/distro/include/package_regex.inc</filename> | ||
| 3257 | is now deprecated. | ||
| 3258 | The contents of this file have been moved to individual | ||
| 3259 | recipes. | ||
| 3260 | <note><title>Tip</title> | ||
| 3261 | Because this file will likely be removed in a future | ||
| 3262 | Yocto Project release, it is suggested that you remove | ||
| 3263 | any references to the file that might be in your | ||
| 3264 | configuration. | ||
| 3265 | </note> | ||
| 3266 | </para></listitem> | ||
| 3267 | <listitem><para> | ||
| 3268 | The <filename>v86d/uvesafb</filename> has been removed from | ||
| 3269 | the <filename>genericx86</filename> and | ||
| 3270 | <filename>genericx86-64</filename> reference machines, | ||
| 3271 | which are provided by the | ||
| 3272 | <filename>meta-yocto-bsp</filename> layer. | ||
| 3273 | Most modern x86 boards do not rely on this file and it only | ||
| 3274 | adds kernel error messages during startup. | ||
| 3275 | If you do still need the file, you can simply add | ||
| 3276 | <filename>v86d</filename> to your image. | ||
| 3277 | </para></listitem> | ||
| 3278 | </itemizedlist> | ||
| 3279 | </para> | ||
| 3280 | </section> | ||
| 3281 | </section> | ||
| 2754 | 3282 | ||
| 2755 | </chapter> | 3283 | </chapter> |
| 2756 | <!-- | 3284 | <!-- |
