diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2017-04-09 12:27:11 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-12 19:35:00 +0100 |
commit | 7f47526f5c99b09b5c3edc52290729e9303b3030 (patch) | |
tree | 3630793cb5f2af0a4644bbbf75d675b7d27fc0d1 /documentation | |
parent | beb301c03afa600214bd54753ddc7d60a953c8c4 (diff) | |
download | poky-7f47526f5c99b09b5c3edc52290729e9303b3030.tar.gz |
ref-manual: Initial draft of 2.3 migration section.
(From yocto-docs rev: c4c995aa94e5100e0d306eb91f490c23726ea91f)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-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 |