diff options
| -rw-r--r-- | documentation/ref-manual/migration.xml | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index 2bdb542ec1..92f8a7f67b 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml | |||
| @@ -3955,6 +3955,218 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 3955 | </section> | 3955 | </section> |
| 3956 | </section> | 3956 | </section> |
| 3957 | 3957 | ||
| 3958 | <section id='moving-to-the-yocto-project-2.3-release'> | ||
| 3959 | <title>Moving to the Yocto Project 2.3 Release</title> | ||
| 3960 | |||
| 3961 | <para> | ||
| 3962 | This section provides migration information for moving to the | ||
| 3963 | Yocto Project 2.3 Release from the prior release. | ||
| 3964 | </para> | ||
| 3965 | |||
| 3966 | <section id='migration-2.3-sysroots'> | ||
| 3967 | <title>Sysroots</title> | ||
| 3968 | |||
| 3969 | <para> | ||
| 3970 | The Open-Embedded build system now uses one sysroot per | ||
| 3971 | recipe to resolve long-standing issues with configuration | ||
| 3972 | script auto-detection of undeclared dependencies. | ||
| 3973 | Consequently, you must explicitely declare all build-time | ||
| 3974 | dependencies for your recipe. | ||
| 3975 | If you do not declare these dependencies, they are not | ||
| 3976 | populated into the sysroot for the recipe. | ||
| 3977 | </para> | ||
| 3978 | </section> | ||
| 3979 | |||
| 3980 | <section id='migration-2.3-path-variable'> | ||
| 3981 | <title><filename>PATH</filename> Variable</title> | ||
| 3982 | |||
| 3983 | <para> | ||
| 3984 | The environment variable <filename>PATH</filename> is now | ||
| 3985 | sanitized such that symbolic links linking only the binaries | ||
| 3986 | from the host mentioned in the | ||
| 3987 | <filename>HOSTTOOLS</filename> and | ||
| 3988 | <filename>HOSTTOOLS_NONFATAL</filename> variables into | ||
| 3989 | their own directory are added to <filename>PATH</filename>. | ||
| 3990 | Consequently, any native binaries that you need to call should | ||
| 3991 | either be in one of these two variables at the configuration | ||
| 3992 | level. | ||
| 3993 | </para> | ||
| 3994 | |||
| 3995 | <para> | ||
| 3996 | Alternatively, you can use a native recipe (i.e. | ||
| 3997 | <filename>-native</filename>) that includes the recipe's | ||
| 3998 | <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link> | ||
| 3999 | value. | ||
| 4000 | </para> | ||
| 4001 | </section> | ||
| 4002 | |||
| 4003 | <section id='migration-2.3-functions'> | ||
| 4004 | <title>Changes to Functions</title> | ||
| 4005 | |||
| 4006 | <para> | ||
| 4007 | The previously deprecated | ||
| 4008 | <filename>bb.data.getVar()</filename>, | ||
| 4009 | <filename>bb.data.setVar()</filename>, and | ||
| 4010 | related functions have been removed in favor of | ||
| 4011 | <filename>d.getVar()</filename>, | ||
| 4012 | <filename>d.setVar()</filename>, and so forth. | ||
| 4013 | </para> | ||
| 4014 | |||
| 4015 | <para> | ||
| 4016 | You need to fix any references to these old functions. | ||
| 4017 | </para> | ||
| 4018 | </section> | ||
| 4019 | |||
| 4020 | <section id='migration-2.3-dependency-tree-information'> | ||
| 4021 | <title>Dependency Tree Information</title> | ||
| 4022 | |||
| 4023 | <para> | ||
| 4024 | The <filename>package-depends.dot</filename> and | ||
| 4025 | <filename>pn-depends.dot</filename> files as previously generated | ||
| 4026 | using the <filename>bitbake -g</filename> command have been | ||
| 4027 | removed. | ||
| 4028 | A <filename>recipe-depends.dot</filename> file | ||
| 4029 | is now generated as a collapsed version of | ||
| 4030 | <filename>task-depends.dot</filename> instead. | ||
| 4031 | </para> | ||
| 4032 | |||
| 4033 | <para> | ||
| 4034 | The reason for this change is because | ||
| 4035 | <filename>package-depends.dot</filename> and | ||
| 4036 | <filename>pn-depends.dot</filename> largely date back to a time | ||
| 4037 | before task-based execution and do not take into account | ||
| 4038 | task-level dependencies between recipes, which could be | ||
| 4039 | misleading. | ||
| 4040 | </para> | ||
| 4041 | </section> | ||
| 4042 | |||
| 4043 | <section id='migration-2.3-bitbake-changes'> | ||
| 4044 | <title>BitBake Changes</title> | ||
| 4045 | |||
| 4046 | <para> | ||
| 4047 | The following changes took place for BitBake: | ||
| 4048 | <itemizedlist> | ||
| 4049 | <listitem><para> | ||
| 4050 | BitBake's graphical dependency explorer UI | ||
| 4051 | <filename>depexp</filename> was replaced by | ||
| 4052 | <filename>taskexp</filename>. | ||
| 4053 | </para></listitem> | ||
| 4054 | </itemizedlist> | ||
| 4055 | </para> | ||
| 4056 | </section> | ||
| 4057 | |||
| 4058 | <section id='migration-2.3-absolute-symlinks'> | ||
| 4059 | <title>Absolute Symbolic Links</title> | ||
| 4060 | |||
| 4061 | <para> | ||
| 4062 | Absolute symbolic links (symlinks) within staged files are no | ||
| 4063 | longer permitted and now trigger an error. | ||
| 4064 | </para> | ||
| 4065 | </section> | ||
| 4066 | |||
| 4067 | <section id='migration-2.3-gplv2-and-gplv3-moves'> | ||
| 4068 | <title>GPLv2 Versions of GPLv3 Recipes Moved</title> | ||
| 4069 | |||
| 4070 | <para> | ||
| 4071 | Older GPLv2 versions of GPLv3 recipes have moved to a | ||
| 4072 | separate <filename>meta-gplv2</filename> layer. | ||
| 4073 | </para> | ||
| 4074 | </section> | ||
| 4075 | |||
| 4076 | <section id='migration-2.3-package-management-changes'> | ||
| 4077 | <title>Package Management Changes</title> | ||
| 4078 | |||
| 4079 | <para> | ||
| 4080 | The following package management changes took place: | ||
| 4081 | <itemizedlist> | ||
| 4082 | <listitem><para> | ||
| 4083 | Smart package manager is replaced by Dnf package manager. | ||
| 4084 | Smart has become unmaintained upstream, is not ported | ||
| 4085 | to Python 3.x. | ||
| 4086 | Consequently, Smart needed to be replaced. | ||
| 4087 | Dnf is the only feasible candidate.</para> | ||
| 4088 | <para>The change in functionality is that the on-target | ||
| 4089 | runtime package management from remote package feeds is | ||
| 4090 | now done with a different tool that has a | ||
| 4091 | different set of command-line options. | ||
| 4092 | If you have scripts that call the | ||
| 4093 | tool directly, or use its API, they need to be fixed.</para> | ||
| 4094 | <para>For more information, see the | ||
| 4095 | <ulink url='http://dnf.readthedocs.io/en/latest/'>Dnf Documentation</ulink>. | ||
| 4096 | </para></listitem> | ||
| 4097 | <listitem><para> | ||
| 4098 | Rpm 5.x is replaced with Rpm 4.x. | ||
| 4099 | This is done for two major reasons: | ||
| 4100 | <itemizedlist> | ||
| 4101 | <listitem><para> | ||
| 4102 | Dnf is API-incompatible with Rpm 5.x and porting | ||
| 4103 | it and maintaining the port is non-trivial. | ||
| 4104 | </para></listitem> | ||
| 4105 | <listitem><para> | ||
| 4106 | Rpm 5.x itself is more or less unmaintained both | ||
| 4107 | in the upstream and in Yocto Project. | ||
| 4108 | Community support does not exist around it and | ||
| 4109 | the Yocto Project is the sole remaining user. | ||
| 4110 | </para></listitem> | ||
| 4111 | </itemizedlist> | ||
| 4112 | </para></listitem> | ||
| 4113 | <listitem><para> | ||
| 4114 | Berkeley db 6.x is removed and Berkeley db 5.x becomes | ||
| 4115 | the default: | ||
| 4116 | <itemizedlist> | ||
| 4117 | <listitem><para> | ||
| 4118 | Version 6.x of Berkeley DB has been rejected | ||
| 4119 | by the open source community due to its hostile | ||
| 4120 | AGPLv3 license. | ||
| 4121 | Both Fedora and Debian are sticking | ||
| 4122 | with db 5.x. | ||
| 4123 | By extension,all the open source projects are still | ||
| 4124 | developed and tested with db 5.x | ||
| 4125 | </para></listitem> | ||
| 4126 | <listitem><para> | ||
| 4127 | In OE-core, the only thing that was requiring | ||
| 4128 | db 6.x was Rpm 5.x. | ||
| 4129 | Thus, no reason exists to continue carrying db 6.x | ||
| 4130 | in OE-core. | ||
| 4131 | </para></listitem> | ||
| 4132 | </itemizedlist> | ||
| 4133 | </para></listitem> | ||
| 4134 | <listitem><para> | ||
| 4135 | <filename>createrepo</filename> is replaced with | ||
| 4136 | <filename>createrepo_c</filename>.</para> | ||
| 4137 | <para><filename>createrepo_c</filename> is the current | ||
| 4138 | incarnation of the tool that generates remote repository | ||
| 4139 | metadata. | ||
| 4140 | It is written in C as compared to | ||
| 4141 | <filename>createrepo</filename>, which is written in | ||
| 4142 | Python. | ||
| 4143 | <filename>createrepo_c</filename> is faster and is | ||
| 4144 | maintained. | ||
| 4145 | </para></listitem> | ||
| 4146 | <listitem><para> | ||
| 4147 | Architecture-independent RPM packages are "noarch" | ||
| 4148 | instead of "all".</para> | ||
| 4149 | <para>This change was made because too many places in | ||
| 4150 | dnf/rpm4 stack already make that assumption. | ||
| 4151 | Only the filenames and the architecture tag has changed. | ||
| 4152 | Nothing else has changed in OE-core system, particularly | ||
| 4153 | in the | ||
| 4154 | <link linkend='ref-classes-allarch'><filename>allarch.bbclass</filename></link> | ||
| 4155 | class. | ||
| 4156 | </para></listitem> | ||
| 4157 | <listitem><para> | ||
| 4158 | Signing of remote package feeds using | ||
| 4159 | <filename>PACKAGE_FEED_SIGN</filename> is not supported. | ||
| 4160 | <note> | ||
| 4161 | See the defect | ||
| 4162 | <ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=11209'>11209</ulink> | ||
| 4163 | for more information on a solution. | ||
| 4164 | </note> | ||
| 4165 | </para></listitem> | ||
| 4166 | </itemizedlist> | ||
| 4167 | </para> | ||
| 4168 | </section> | ||
| 4169 | </section> | ||
| 3958 | </chapter> | 4170 | </chapter> |
| 3959 | <!-- | 4171 | <!-- |
| 3960 | vim: expandtab tw=80 ts=4 | 4172 | vim: expandtab tw=80 ts=4 |
