diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2017-04-28 16:23:48 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-05-10 12:13:32 +0100 |
| commit | b1dc0ee121e575f1978cdea409a16bba4040e5b2 (patch) | |
| tree | 1e6bfab76d6053cd163a77a674ac82482c840c97 /documentation/ref-manual/migration.xml | |
| parent | 7fdd0ac087328524f27ae42d503898dbd113f417 (diff) | |
| download | poky-b1dc0ee121e575f1978cdea409a16bba4040e5b2.tar.gz | |
ref-manual, dev-manual: Completed first draft of 2.3 migration section.
(From yocto-docs rev: 42ab9e34da640b46d39741c9c83648dc65518ec1)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.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 | 538 |
1 files changed, 504 insertions, 34 deletions
diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index ddd6644240..f46d230577 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml | |||
| @@ -3689,7 +3689,7 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 3689 | by <filename>BB_SETSCENE_VERIFY_FUNCTION</filename> | 3689 | by <filename>BB_SETSCENE_VERIFY_FUNCTION</filename> |
| 3690 | needed to change signature. | 3690 | needed to change signature. |
| 3691 | Consequently, a new variable named | 3691 | Consequently, a new variable named |
| 3692 | <ulink url='&YOCTO_DOCS_BB_URL;#var-BB_SETSCENE_VERIFY_FUNCTION2'><filename>BB_SETSCENE_VERIFY_FUNCTION2</filename></ulink> | 3692 | <filename>BB_SETSCENE_VERIFY_FUNCTION2</filename> |
| 3693 | has been added allowing multiple versions of BitBake | 3693 | has been added allowing multiple versions of BitBake |
| 3694 | to work with suitably written metadata, which includes | 3694 | to work with suitably written metadata, which includes |
| 3695 | OpenEmbedded-Core and Poky. | 3695 | OpenEmbedded-Core and Poky. |
| @@ -3974,20 +3974,100 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 3974 | written custom recipes are missing declared dependencies, | 3974 | written custom recipes are missing declared dependencies, |
| 3975 | particularly those dependencies that are incidentally built | 3975 | particularly those dependencies that are incidentally built |
| 3976 | earlier in a typical build process and thus are already likely | 3976 | earlier in a typical build process and thus are already likely |
| 3977 | to be present in the shared sysroot in a previous release. | 3977 | to be present in the shared sysroot in previous releases. |
| 3978 | </para> | 3978 | </para> |
| 3979 | 3979 | ||
| 3980 | <para> | 3980 | <para> |
| 3981 | Because of this new feature, you must explicitly declare all | 3981 | Consider the following: |
| 3982 | build-time dependencies for your recipe. | 3982 | <itemizedlist> |
| 3983 | If you do not declare these dependencies, they are not | 3983 | <listitem><para> |
| 3984 | populated into the sysroot for the recipe. | 3984 | <emphasis>Declare Build-Time Dependencies:</emphasis> |
| 3985 | </para> | 3985 | Because of this new feature, you must explicitly |
| 3986 | declare all build-time dependencies for your recipe. | ||
| 3987 | If you do not declare these dependencies, they are not | ||
| 3988 | populated into the sysroot for the recipe. | ||
| 3989 | </para></listitem> | ||
| 3990 | <listitem><para> | ||
| 3991 | <emphasis>Specify Pre-Installation and Post-Installtion | ||
| 3992 | Native Tool Dependencies:</emphasis> | ||
| 3993 | You must specifically specify any special native tool | ||
| 3994 | dependencies of <filename>pkg_preinst</filename> and | ||
| 3995 | <filename>pkg_postinst</filename> scripts by using the | ||
| 3996 | <link linkend='var-PACKAGE_WRITE_DEPS'><filename>PACKAGE_WRITE_DEPS</filename></link> | ||
| 3997 | variable. | ||
| 3998 | Specifying these dependencies ensures that these tools | ||
| 3999 | are available if these scripts need to be run on the | ||
| 4000 | build host during the | ||
| 4001 | <link linkend='ref-tasks-rootfs'><filename>do_rootfs</filename></link> | ||
| 4002 | task.</para> | ||
| 4003 | |||
| 4004 | <para>As an example, see the <filename>dbus</filename> | ||
| 4005 | recipe. | ||
| 4006 | You will see that this recipe has a | ||
| 4007 | <filename>pkg_postinst</filename> that calls | ||
| 4008 | <filename>systemctl</filename> if "systemd" is in | ||
| 4009 | <link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link>. | ||
| 4010 | In the example, | ||
| 4011 | <filename>systemd-systemctl-native</filename> is added to | ||
| 4012 | <filename>PACKAGE_WRITE_DEPS</filename>, which is also | ||
| 4013 | conditional on "systemd" being in | ||
| 4014 | <filename>DISTRO_FEATURES</filename>. | ||
| 4015 | </para></listitem> | ||
| 4016 | <listitem><para> | ||
| 4017 | <emphasis>Examine Recipes that Use | ||
| 4018 | <filename>SSTATEPOSTINSTFUNCS</filename>:</emphasis> | ||
| 4019 | You need to examine any recipe that uses | ||
| 4020 | <filename>SSTATEPOSTINSTFUNCS</filename> and determine | ||
| 4021 | steps to take.</para> | ||
| 4022 | |||
| 4023 | <para>Functions added to | ||
| 4024 | <filename>SSTATEPOSTINSTFUNCS</filename> are still | ||
| 4025 | called as they were in previous Yocto Project releases. | ||
| 4026 | However, since a separate sysroot is now being populated | ||
| 4027 | for every recipe and if existing functions being called | ||
| 4028 | through <filename>SSTATEPOSTINSTFUNCS</filename> are | ||
| 4029 | doing relocation, then you will need to change these | ||
| 4030 | to use a post-installation script that is installed by a | ||
| 4031 | function added to | ||
| 4032 | <link linkend='var-SYSROOT_PREPROCESS_FUNCS'><filename>SYSROOT_PREPROCESS_FUNCS</filename></link>. | ||
| 4033 | </para> | ||
| 3986 | 4034 | ||
| 3987 | <para> | 4035 | <para>For an example, see the |
| 3988 | You can find information on how this works in the | 4036 | <filename>pixbufcache</filename> class in |
| 3989 | <link linkend='ref-classes-staging'><filename>staging</filename></link> | 4037 | <filename>meta/classes/</filename> in the Yocto Project |
| 3990 | class. | 4038 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-repositories'>Source Repositories</ulink>. |
| 4039 | <note> | ||
| 4040 | The <filename>SSTATEPOSTINSTFUNCS</filename> variable | ||
| 4041 | itself is now deprecated in favor of the | ||
| 4042 | <filename>do_populate_sysroot[postfuncs]</filename> | ||
| 4043 | task. | ||
| 4044 | Consequently, if you do still have any function or | ||
| 4045 | functions that need to be called after the sysroot | ||
| 4046 | component is created for a recipe, then you would be | ||
| 4047 | well advised to take steps to use a post installation | ||
| 4048 | script as described previously. | ||
| 4049 | Taking these steps prepares your code for when | ||
| 4050 | <filename>SSTATEPOSTINSTFUNCS</filename> is | ||
| 4051 | removed in a future Yocto Project release. | ||
| 4052 | </note> | ||
| 4053 | </para></listitem> | ||
| 4054 | <listitem><para> | ||
| 4055 | <emphasis>Specify Which | ||
| 4056 | <filename>STAGING_DIR_NATIVE</filename> is Used:</emphasis> | ||
| 4057 | Because the shared sysroot is now gone, the scripts | ||
| 4058 | <filename>oe-find-native-sysroot</filename> and | ||
| 4059 | <filename>oe-run-native</filename> have been changed such | ||
| 4060 | that you need to specify which recipe's | ||
| 4061 | <link linkend='var-STAGING_DIR_NATIVE'><filename>STAGING_DIR_NATIVE</filename></link> | ||
| 4062 | is used. | ||
| 4063 | </para></listitem> | ||
| 4064 | </itemizedlist> | ||
| 4065 | <note> | ||
| 4066 | You can find more information on how recipe-specific sysroots | ||
| 4067 | work in the | ||
| 4068 | "<link linkend='ref-classes-staging'><filename>staging.bbclass</filename></link>" | ||
| 4069 | section. | ||
| 4070 | </note> | ||
| 3991 | </para> | 4071 | </para> |
| 3992 | </section> | 4072 | </section> |
| 3993 | 4073 | ||
| @@ -3997,16 +4077,21 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 3997 | <para> | 4077 | <para> |
| 3998 | Within the environment used to run build tasks, the environment | 4078 | Within the environment used to run build tasks, the environment |
| 3999 | variable <filename>PATH</filename> is now sanitized such that | 4079 | variable <filename>PATH</filename> is now sanitized such that |
| 4000 | symbolic links linking only the binaries from the host mentioned | 4080 | the normal native binary paths |
| 4001 | in the | 4081 | (<filename>/bin</filename>, <filename>/sbin</filename>, |
| 4082 | <filename>/usr/bin</filename> and so forth) are | ||
| 4083 | removed and a directory containing symbolic links linking only | ||
| 4084 | to the binaries from the host mentioned in the | ||
| 4002 | <link linkend='var-HOSTTOOLS'><filename>HOSTTOOLS</filename></link> | 4085 | <link linkend='var-HOSTTOOLS'><filename>HOSTTOOLS</filename></link> |
| 4003 | and | 4086 | and |
| 4004 | <link linkend='var-HOSTTOOLS_NONFATAL'><filename>HOSTTOOLS_NONFATAL</filename></link> | 4087 | <link linkend='var-HOSTTOOLS_NONFATAL'><filename>HOSTTOOLS_NONFATAL</filename></link> |
| 4005 | variables into | 4088 | variables is added to <filename>PATH</filename>. |
| 4006 | their own directory are added to <filename>PATH</filename>. | 4089 | </para> |
| 4007 | Consequently, any native binaries that you need to call should | 4090 | |
| 4008 | either be in one of these two variables at the configuration | 4091 | <para> |
| 4009 | level. | 4092 | Consequently, any native binaries provided by the host that you |
| 4093 | need to call needs to be in one of these two variables at | ||
| 4094 | the configuration level. | ||
| 4010 | </para> | 4095 | </para> |
| 4011 | 4096 | ||
| 4012 | <para> | 4097 | <para> |
| @@ -4024,6 +4109,60 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4024 | </para> | 4109 | </para> |
| 4025 | </section> | 4110 | </section> |
| 4026 | 4111 | ||
| 4112 | <section id='migration-2.3-scripts'> | ||
| 4113 | <title>Changes to Scripts</title> | ||
| 4114 | |||
| 4115 | <para> | ||
| 4116 | The following changes to scripts took place: | ||
| 4117 | <itemizedlist> | ||
| 4118 | <listitem><para> | ||
| 4119 | <emphasis><filename>oe-find-native-sysroot</filename>:</emphasis> | ||
| 4120 | The usage for the | ||
| 4121 | <filename>oe-find-native-sysroot</filename> script has | ||
| 4122 | changed to the following: | ||
| 4123 | <literallayout class='monospaced'> | ||
| 4124 | $ . oe-find-native-sysroot <replaceable>recipe</replaceable> | ||
| 4125 | </literallayout> | ||
| 4126 | You must now supply a recipe for | ||
| 4127 | <replaceable>recipe</replaceable> as part of the command. | ||
| 4128 | Prior to the Yocto Project &DISTRO; release, it was not | ||
| 4129 | necessary to provide the script with the command. | ||
| 4130 | </para></listitem> | ||
| 4131 | <listitem><para> | ||
| 4132 | <emphasis><filename>oe-run-native</filename>:</emphasis> | ||
| 4133 | The usage for the | ||
| 4134 | <filename>oe-run-native</filename> script has changed | ||
| 4135 | to the following: | ||
| 4136 | <literallayout class='monospaced'> | ||
| 4137 | $ oe-run-native <replaceable>native_recipe</replaceable> <replaceable>tool</replaceable> | ||
| 4138 | </literallayout> | ||
| 4139 | You must supply the name of the native recipe and the tool | ||
| 4140 | you want to run as part of the command. | ||
| 4141 | Prior to the Yocto Project &DISTRO; release, it was not | ||
| 4142 | necessary to provide the native recipe with the command. | ||
| 4143 | </para></listitem> | ||
| 4144 | <listitem><para> | ||
| 4145 | <emphasis><filename>cleanup-workdir</filename>:</emphasis> | ||
| 4146 | The <filename>cleanup-workdir</filename> script has been | ||
| 4147 | removed because the script was found to be deleting | ||
| 4148 | files it should not have, which lead to broken build | ||
| 4149 | trees. | ||
| 4150 | Rather than trying to delete portions of | ||
| 4151 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> | ||
| 4152 | and getting it wrong, it is recommended that you | ||
| 4153 | delete <filename>TMPDIR</filename> and have it restored | ||
| 4154 | from shared state (sstate) on subsequent builds. | ||
| 4155 | </para></listitem> | ||
| 4156 | <listitem><para> | ||
| 4157 | <emphasis><filename>wipe-sysroot</filename>:</emphasis> | ||
| 4158 | The <filename>wipe-sysroot</filename> script has been | ||
| 4159 | removed as it is no longer needed with recipe-specific | ||
| 4160 | sysroots. | ||
| 4161 | </para></listitem> | ||
| 4162 | </itemizedlist> | ||
| 4163 | </para> | ||
| 4164 | </section> | ||
| 4165 | |||
| 4027 | <section id='migration-2.3-functions'> | 4166 | <section id='migration-2.3-functions'> |
| 4028 | <title>Changes to Functions</title> | 4167 | <title>Changes to Functions</title> |
| 4029 | 4168 | ||
| @@ -4055,7 +4194,7 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4055 | provides a graphical way of exploring the | 4194 | provides a graphical way of exploring the |
| 4056 | <filename>task-depends.dot</filename> file. | 4195 | <filename>task-depends.dot</filename> file. |
| 4057 | The data presented by Task Explorer is much more | 4196 | The data presented by Task Explorer is much more |
| 4058 | accurate than the data that is presented by | 4197 | accurate than the data that was presented by |
| 4059 | <filename>depexp</filename>. | 4198 | <filename>depexp</filename>. |
| 4060 | Being able to visualize the data is an often requested | 4199 | Being able to visualize the data is an often requested |
| 4061 | feature as standard <filename>*.dot</filename> file | 4200 | feature as standard <filename>*.dot</filename> file |
| @@ -4063,7 +4202,7 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4063 | the <filename>task-depends.dot</filename> file. | 4202 | the <filename>task-depends.dot</filename> file. |
| 4064 | </para></listitem> | 4203 | </para></listitem> |
| 4065 | <listitem><para> | 4204 | <listitem><para> |
| 4066 | <emphasis>Dependency Tree Information Removals:</emphasis> | 4205 | <emphasis>BitBake "-g" Output Changes:</emphasis> |
| 4067 | The <filename>package-depends.dot</filename> and | 4206 | The <filename>package-depends.dot</filename> and |
| 4068 | <filename>pn-depends.dot</filename> files as previously | 4207 | <filename>pn-depends.dot</filename> files as previously |
| 4069 | generated using the <filename>bitbake -g</filename> command | 4208 | generated using the <filename>bitbake -g</filename> command |
| @@ -4080,6 +4219,48 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4080 | into account task-level dependencies between recipes, | 4219 | into account task-level dependencies between recipes, |
| 4081 | which could be misleading. | 4220 | which could be misleading. |
| 4082 | </para></listitem> | 4221 | </para></listitem> |
| 4222 | <listitem><para> | ||
| 4223 | <emphasis>Mirror Variable Splitting Changes:</emphasis> | ||
| 4224 | Mirror variables including | ||
| 4225 | <link linkend='var-MIRRORS'><filename>MIRRORS</filename></link>, | ||
| 4226 | <link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>, | ||
| 4227 | and | ||
| 4228 | <link linkend='var-SSTATE_MIRRORS'><filename>SSTATE_MIRRORS</filename></link> | ||
| 4229 | can now separate values entirely with spaces. | ||
| 4230 | Consequently, you no longer need "\\n". | ||
| 4231 | BitBake looks for pairs of values, which simplifies usage. | ||
| 4232 | There should be no change required to existing mirror | ||
| 4233 | variable values themselves. | ||
| 4234 | </para></listitem> | ||
| 4235 | <listitem><para> | ||
| 4236 | <emphasis>The Subversion (SVN) Fetcher Uses an "ssh" Parameter and Not an "rsh" Parameter:</emphasis> | ||
| 4237 | The SVN fetcher now takes an "ssh" parameter instead of an | ||
| 4238 | "rsh" parameter. | ||
| 4239 | This new optional parameter is used when the "protocol" | ||
| 4240 | parameter is set to "svn+ssh". | ||
| 4241 | You can only use the new parameter to specify the | ||
| 4242 | <filename>ssh</filename> program used by SVN. | ||
| 4243 | The SVN fetcher passes the new parameter through the | ||
| 4244 | <filename>SVN_SSH</filename> environment variable during | ||
| 4245 | the | ||
| 4246 | <link linkend='ref-tasks-fetch'><filename>do_fetch</filename></link> | ||
| 4247 | task.</para> | ||
| 4248 | |||
| 4249 | <para>See the | ||
| 4250 | "<ulink url='&YOCTO_DOCS_BB_URL;#svn-fetcher'>Subversion (SVN) Fetcher (svn://)</ulink>" | ||
| 4251 | section in the Yocto Project BitBake User Manual for | ||
| 4252 | additional information. | ||
| 4253 | </para></listitem> | ||
| 4254 | <listitem><para> | ||
| 4255 | <emphasis><filename>BB_SETSCENE_VERIFY_FUNCTION</filename> | ||
| 4256 | and <filename>BB_SETSCENE_VERIFY_FUNCTION2</filename> | ||
| 4257 | Removed:</emphasis> | ||
| 4258 | Because the mechanism they were part of is no longer | ||
| 4259 | necessary with recipe-specific sysroots, the | ||
| 4260 | <filename>BB_SETSCENE_VERIFY_FUNCTION</filename> and | ||
| 4261 | <filename>BB_SETSCENE_VERIFY_FUNCTION2</filename> | ||
| 4262 | variables have been removed. | ||
| 4263 | </para></listitem> | ||
| 4083 | </itemizedlist> | 4264 | </itemizedlist> |
| 4084 | </para> | 4265 | </para> |
| 4085 | </section> | 4266 | </section> |
| @@ -4117,8 +4298,8 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4117 | <link linkend='var-INCOMPATIBLE_LICENSE'><filename>INCOMPATIBLE_LICENSE</filename></link> | 4298 | <link linkend='var-INCOMPATIBLE_LICENSE'><filename>INCOMPATIBLE_LICENSE</filename></link> |
| 4118 | to exclude GPLv3 or set | 4299 | to exclude GPLv3 or set |
| 4119 | <link linkend='var-PREFERRED_VERSION'><filename>PREFERRED_VERSION</filename></link> | 4300 | <link linkend='var-PREFERRED_VERSION'><filename>PREFERRED_VERSION</filename></link> |
| 4120 | to select recipes that use GPLv3, then you must add the | 4301 | to substitute a GPLv2 version of a GPLv3 recipe, then you must add |
| 4121 | <filename>meta-gplv2</filename> layer to your configuration. | 4302 | the <filename>meta-gplv2</filename> layer to your configuration. |
| 4122 | <note> | 4303 | <note> |
| 4123 | You can find <filename>meta-gplv2</filename> layer in the | 4304 | You can find <filename>meta-gplv2</filename> layer in the |
| 4124 | OpenEmbedded layer index at | 4305 | OpenEmbedded layer index at |
| @@ -4127,7 +4308,7 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4127 | </para> | 4308 | </para> |
| 4128 | 4309 | ||
| 4129 | <para> | 4310 | <para> |
| 4130 | These relocated GPLv3 recipes do not receive the same level of | 4311 | These relocated GPLv2 recipes do not receive the same level of |
| 4131 | maintenance as other core recipes. | 4312 | maintenance as other core recipes. |
| 4132 | The recipes do not get security fixes and upstream no longer | 4313 | The recipes do not get security fixes and upstream no longer |
| 4133 | maintains them. | 4314 | maintains them. |
| @@ -4153,11 +4334,11 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4153 | The following package management changes took place: | 4334 | The following package management changes took place: |
| 4154 | <itemizedlist> | 4335 | <itemizedlist> |
| 4155 | <listitem><para> | 4336 | <listitem><para> |
| 4156 | Smart package manager is replaced by Dnf package manager. | 4337 | Smart package manager is replaced by DNF package manager. |
| 4157 | Smart has become unmaintained upstream, is not ported | 4338 | Smart has become unmaintained upstream, is not ported |
| 4158 | to Python 3.x. | 4339 | to Python 3.x. |
| 4159 | Consequently, Smart needed to be replaced. | 4340 | Consequently, Smart needed to be replaced. |
| 4160 | Dnf is the only feasible candidate.</para> | 4341 | DNF is the only feasible candidate.</para> |
| 4161 | <para>The change in functionality is that the on-target | 4342 | <para>The change in functionality is that the on-target |
| 4162 | runtime package management from remote package feeds is | 4343 | runtime package management from remote package feeds is |
| 4163 | now done with a different tool that has a | 4344 | now done with a different tool that has a |
| @@ -4165,14 +4346,14 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4165 | If you have scripts that call the | 4346 | If you have scripts that call the |
| 4166 | tool directly, or use its API, they need to be fixed.</para> | 4347 | tool directly, or use its API, they need to be fixed.</para> |
| 4167 | <para>For more information, see the | 4348 | <para>For more information, see the |
| 4168 | <ulink url='http://dnf.readthedocs.io/en/latest/'>Dnf Documentation</ulink>. | 4349 | <ulink url='http://dnf.readthedocs.io/en/latest/'>DNF Documentation</ulink>. |
| 4169 | </para></listitem> | 4350 | </para></listitem> |
| 4170 | <listitem><para> | 4351 | <listitem><para> |
| 4171 | Rpm 5.x is replaced with Rpm 4.x. | 4352 | Rpm 5.x is replaced with Rpm 4.x. |
| 4172 | This is done for two major reasons: | 4353 | This is done for two major reasons: |
| 4173 | <itemizedlist> | 4354 | <itemizedlist> |
| 4174 | <listitem><para> | 4355 | <listitem><para> |
| 4175 | Dnf is API-incompatible with Rpm 5.x and porting | 4356 | DNF is API-incompatible with Rpm 5.x and porting |
| 4176 | it and maintaining the port is non-trivial. | 4357 | it and maintaining the port is non-trivial. |
| 4177 | </para></listitem> | 4358 | </para></listitem> |
| 4178 | <listitem><para> | 4359 | <listitem><para> |
| @@ -4193,8 +4374,6 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4193 | As a result, most mainstream open source projects | 4374 | As a result, most mainstream open source projects |
| 4194 | that require DB are still developed and tested with | 4375 | that require DB are still developed and tested with |
| 4195 | DB 5.x. | 4376 | DB 5.x. |
| 4196 | By extension,all the open source projects are still | ||
| 4197 | developed and tested with DB 5.x | ||
| 4198 | </para></listitem> | 4377 | </para></listitem> |
| 4199 | <listitem><para> | 4378 | <listitem><para> |
| 4200 | In OE-core, the only thing that was requiring | 4379 | In OE-core, the only thing that was requiring |
| @@ -4220,7 +4399,7 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4220 | Architecture-independent RPM packages are "noarch" | 4399 | Architecture-independent RPM packages are "noarch" |
| 4221 | instead of "all".</para> | 4400 | instead of "all".</para> |
| 4222 | <para>This change was made because too many places in | 4401 | <para>This change was made because too many places in |
| 4223 | dnf/rpm4 stack already make that assumption. | 4402 | DNF/RPM4 stack already make that assumption. |
| 4224 | Only the filenames and the architecture tag has changed. | 4403 | Only the filenames and the architecture tag has changed. |
| 4225 | Nothing else has changed in OE-core system, particularly | 4404 | Nothing else has changed in OE-core system, particularly |
| 4226 | in the | 4405 | in the |
| @@ -4233,16 +4412,307 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64. | |||
| 4233 | is not currently supported. | 4412 | is not currently supported. |
| 4234 | This issue will be fully addressed in a future | 4413 | This issue will be fully addressed in a future |
| 4235 | Yocto Project release. | 4414 | Yocto Project release. |
| 4415 | See <ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=11209'>defect 11209</ulink> | ||
| 4416 | for more information on a solution to package feed | ||
| 4417 | signing with RPM in the Yocto Project 2.3 release. | ||
| 4418 | </para></listitem> | ||
| 4419 | <listitem><para> | ||
| 4420 | OPKG now uses the libsolv backend for resolving package | ||
| 4421 | dependencies by default. | ||
| 4422 | This is vastly superior to OPKG's internal ad-hoc solver | ||
| 4423 | that was previously used. | ||
| 4424 | This change does have a small impact on disk (around | ||
| 4425 | 500 KB) and memory footprint. | ||
| 4236 | <note> | 4426 | <note> |
| 4237 | See the defect | 4427 | For further details on this change, see the |
| 4238 | <ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=11209'>11209</ulink> | 4428 | <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/? |
| 4239 | for more information on a solution to package feed | 4429 | id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>. |
| 4240 | signing with RPM in the Yocto Project 2.3 release. | ||
| 4241 | </note> | 4430 | </note> |
| 4242 | </para></listitem> | 4431 | </para></listitem> |
| 4243 | </itemizedlist> | 4432 | </itemizedlist> |
| 4244 | </para> | 4433 | </para> |
| 4245 | </section> | 4434 | </section> |
| 4435 | |||
| 4436 | <section id='migration-2.3-removed-recipes'> | ||
| 4437 | <title>Removed Recipes</title> | ||
| 4438 | |||
| 4439 | <para> | ||
| 4440 | The following recipes have been removed: | ||
| 4441 | <itemizedlist> | ||
| 4442 | <listitem><para> | ||
| 4443 | <emphasis><filename>linux-yocto 4.8:</filename></emphasis> | ||
| 4444 | Version 4.8 has been removed. | ||
| 4445 | Versions 4.1 (LTSI), 4.4 (LTS), 4.9 (LTS/LTSI) and 4.10 | ||
| 4446 | are now present. | ||
| 4447 | </para></listitem> | ||
| 4448 | <listitem><para> | ||
| 4449 | <emphasis><filename>python-smartpm:</filename></emphasis> | ||
| 4450 | Functionally replaced by <filename>dnf</filename>. | ||
| 4451 | </para></listitem> | ||
| 4452 | <listitem><para> | ||
| 4453 | <emphasis><filename>createrepo:</filename></emphasis> | ||
| 4454 | Replaced by the <filename>createrepo-c</filename> recipe. | ||
| 4455 | </para></listitem> | ||
| 4456 | <listitem><para> | ||
| 4457 | <emphasis><filename>rpmresolve:</filename></emphasis> | ||
| 4458 | No longer needed with the move to RPM 4 as RPM itself is | ||
| 4459 | used instead. | ||
| 4460 | </para></listitem> | ||
| 4461 | <listitem><para> | ||
| 4462 | <emphasis><filename>gstreamer:</filename></emphasis> | ||
| 4463 | Removed the GStreamer Git version recipes as they have | ||
| 4464 | been stale. | ||
| 4465 | <filename>1.10.</filename><replaceable>x</replaceable> | ||
| 4466 | recipes are still present. | ||
| 4467 | </para></listitem> | ||
| 4468 | <listitem><para> | ||
| 4469 | <emphasis><filename>alsa-conf-base:</filename></emphasis> | ||
| 4470 | Merged into <filename>alsa-conf</filename> since | ||
| 4471 | <filename>libasound</filename> depended on both. | ||
| 4472 | Essentially, no way existed to install only one of these. | ||
| 4473 | </para></listitem> | ||
| 4474 | <listitem><para> | ||
| 4475 | <emphasis><filename>tremor:</filename></emphasis> | ||
| 4476 | Moved to <filename>meta-multimedia</filename>. | ||
| 4477 | Fixed-integer Vorbis decoding is not | ||
| 4478 | needed by current hardware. | ||
| 4479 | Thus, GStreamer's ivorbis plugin has been disabled | ||
| 4480 | by default eliminating the need for the | ||
| 4481 | <filename>tremor</filename> recipe in OE-Core. | ||
| 4482 | </para></listitem> | ||
| 4483 | <listitem><para> | ||
| 4484 | <emphasis><filename>gummiboot:</filename></emphasis> | ||
| 4485 | Replaced by <filename>systemd-boot</filename>. | ||
| 4486 | </para></listitem> | ||
| 4487 | </itemizedlist> | ||
| 4488 | </para> | ||
| 4489 | </section> | ||
| 4490 | |||
| 4491 | <section id='migration-2.3-wic-changes'> | ||
| 4492 | <title>Wic Changes</title> | ||
| 4493 | |||
| 4494 | <para> | ||
| 4495 | The following changes have been made to Wic: | ||
| 4496 | <note> | ||
| 4497 | For more information on Wic, see the | ||
| 4498 | "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-partitioned-images'>Creating Partitioned Images</ulink>" | ||
| 4499 | section in the Yocto Project Development Manual. | ||
| 4500 | </note> | ||
| 4501 | <itemizedlist> | ||
| 4502 | <listitem><para> | ||
| 4503 | <emphasis>Default Output Directory Changed:</emphasis> | ||
| 4504 | Wic's default output directory is now the current directory | ||
| 4505 | by default instead of the unusual | ||
| 4506 | <filename>/var/tmp/wic</filename>.</para> | ||
| 4507 | |||
| 4508 | <para>The "-o" and "--outdir" options remain unchanged | ||
| 4509 | and are used to specify your preferred output directory | ||
| 4510 | if you do not want to use the default directory. | ||
| 4511 | </para></listitem> | ||
| 4512 | <listitem><para> | ||
| 4513 | <emphasis>fsimage Plug-in Removed:</emphasis> | ||
| 4514 | The Wic fsimage plug-in has been removed as it duplicates | ||
| 4515 | functionality of the rawcopy plug-in. | ||
| 4516 | </para></listitem> | ||
| 4517 | </itemizedlist> | ||
| 4518 | </para> | ||
| 4519 | </section> | ||
| 4520 | |||
| 4521 | <section id='migration-2.3-qa-changes'> | ||
| 4522 | <title>QA Changes</title> | ||
| 4523 | |||
| 4524 | <para> | ||
| 4525 | The following QA checks have changed: | ||
| 4526 | <itemizedlist> | ||
| 4527 | <listitem><para> | ||
| 4528 | <emphasis><filename>unsafe-references-in-binaries</filename>:</emphasis> | ||
| 4529 | The <filename>unsafe-references-in-binaries</filename> | ||
| 4530 | QA check, which was disabled by default, has now been | ||
| 4531 | removed. | ||
| 4532 | This check was intended to detect binaries in | ||
| 4533 | <filename>/bin</filename> that link to libraries in | ||
| 4534 | <filename>/usr/lib</filename> and have the case where | ||
| 4535 | the user has <filename>/usr</filename> on a separate | ||
| 4536 | filesystem to <filename>/</filename>.</para> | ||
| 4537 | |||
| 4538 | <para>The removed QA check was buggy. | ||
| 4539 | Additionally, <filename>/usr</filename> residing on a | ||
| 4540 | separate partition from <filename>/</filename> is now | ||
| 4541 | a rare configuration. | ||
| 4542 | Consequently, | ||
| 4543 | <filename>unsafe-references-in-binaries</filename> was | ||
| 4544 | removed. | ||
| 4545 | </para></listitem> | ||
| 4546 | <listitem><para> | ||
| 4547 | <emphasis><filename>file-rdeps</filename>:</emphasis> | ||
| 4548 | The <filename>file-rdeps</filename> QA check is now an | ||
| 4549 | error by default instead of a warning. | ||
| 4550 | Because it is an error instead of a warning, you need to | ||
| 4551 | address missing runtime dependencies.</para> | ||
| 4552 | |||
| 4553 | <para>For additional information, see the | ||
| 4554 | <link linkend='ref-classes-insane'><filename>insane</filename></link> | ||
| 4555 | class and the | ||
| 4556 | "<link linkend='qa-errors-and-warnings'>Errors and Warnings</link>" | ||
| 4557 | section. | ||
| 4558 | </para></listitem> | ||
| 4559 | </itemizedlist> | ||
| 4560 | </para> | ||
| 4561 | </section> | ||
| 4562 | |||
| 4563 | <section id='migration-2.3-miscellaneous-changes'> | ||
| 4564 | <title>Miscellaneous Changes</title> | ||
| 4565 | |||
| 4566 | <para> | ||
| 4567 | The following miscellaneous changes have occurred: | ||
| 4568 | <itemizedlist> | ||
| 4569 | <listitem><para> | ||
| 4570 | In this release, a number of recipes have been changed to | ||
| 4571 | ignore the <filename>largefile</filename> | ||
| 4572 | <link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link> | ||
| 4573 | item, enabling large file support unconditionally. | ||
| 4574 | This feature has always been enabled by default. | ||
| 4575 | Disabling the feature has not been widely tested. | ||
| 4576 | <note> | ||
| 4577 | Future releases of the Yocto Project will remove | ||
| 4578 | entirely the ability to disable the | ||
| 4579 | <filename>largefile</filename> feature, | ||
| 4580 | which would make it unconditionally enabled everywhere. | ||
| 4581 | </note> | ||
| 4582 | </para></listitem> | ||
| 4583 | <listitem><para> | ||
| 4584 | If the | ||
| 4585 | <link linkend='var-DISTRO_VERSION'><filename>DISTRO_VERSION</filename></link> | ||
| 4586 | value contains the value of the | ||
| 4587 | <link linkend='var-DATE'><filename>DATE</filename></link> | ||
| 4588 | variable, which is the default between Poky releases, | ||
| 4589 | the <filename>DATE</filename> value is explicitly excluded | ||
| 4590 | from <filename>/etc/issue</filename> and | ||
| 4591 | <filename>/etc/issue.net</filename>, which is displayed at | ||
| 4592 | the login prompt, in order to avoid conflicts with | ||
| 4593 | Multilib enabled. | ||
| 4594 | Regardless, the <filename>DATE</filename> value is | ||
| 4595 | inaccurate if the <filename>base-files</filename> | ||
| 4596 | recipe is restored from shared state (sstate) rather | ||
| 4597 | than rebuilt.</para> | ||
| 4598 | |||
| 4599 | <para>If you need the build date recorded in | ||
| 4600 | <filename>/etc/issue*</filename> or anywhere else in your | ||
| 4601 | image, a better method is to define a post-processing | ||
| 4602 | function to do it and have the function called from | ||
| 4603 | <link linkend='var-ROOTFS_POSTPROCESS_COMMAND'><filename>ROOTFS_POSTPROCESS_COMMAND</filename></link>. | ||
| 4604 | Doing so ensures the value is always up-to-date with the | ||
| 4605 | created image. | ||
| 4606 | </para></listitem> | ||
| 4607 | <listitem><para> | ||
| 4608 | Dropbear's <filename>init</filename> script now disables | ||
| 4609 | DSA host keys by default. | ||
| 4610 | This change is in line with the systemd service | ||
| 4611 | file, which supports RSA keys only, and with recent | ||
| 4612 | versions of OpenSSH, which deprecates DSA host keys. | ||
| 4613 | </para></listitem> | ||
| 4614 | <listitem><para> | ||
| 4615 | The | ||
| 4616 | <link linkend='ref-classes-buildhistory'><filename>buildhistory</filename></link> | ||
| 4617 | class now correctly uses tabs as separators between all | ||
| 4618 | columns in <filename>installed-package-sizes.txt</filename> | ||
| 4619 | in order to aid import into other tools. | ||
| 4620 | </para></listitem> | ||
| 4621 | <listitem><para> | ||
| 4622 | The <filename>USE_LDCONFIG</filename> variable has been | ||
| 4623 | replaced with the "ldconfig" | ||
| 4624 | <link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link> | ||
| 4625 | feature. | ||
| 4626 | Distributions that previously set: | ||
| 4627 | <literallayout class='monospaced'> | ||
| 4628 | USE_LDCONFIG = "0" | ||
| 4629 | </literallayout> | ||
| 4630 | should now instead use the following: | ||
| 4631 | <literallayout class='monospaced'> | ||
| 4632 | DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig" | ||
| 4633 | </literallayout> | ||
| 4634 | </para></listitem> | ||
| 4635 | <listitem><para> | ||
| 4636 | The default value of | ||
| 4637 | <link linkend='var-COPYLEFT_LICENSE_INCLUDE'><filename>COPYLEFT_LICENSE_INCLUDE</filename></link> | ||
| 4638 | now includes all versions of AGPL licenses in addition | ||
| 4639 | to GPL and LGPL. | ||
| 4640 | <note> | ||
| 4641 | The default list is not intended to be guaranteed | ||
| 4642 | as a complete safe list. | ||
| 4643 | You should seek legal advice based on what you are | ||
| 4644 | distributing if you are unsure. | ||
| 4645 | </note> | ||
| 4646 | </para></listitem> | ||
| 4647 | <listitem><para> | ||
| 4648 | Kernel module packages are now suffixed with the kernel | ||
| 4649 | version in order to allow module packages from multiple | ||
| 4650 | kernel versions to co-exist on a target system. | ||
| 4651 | If you wish to return to the previous naming scheme | ||
| 4652 | that does not include the version suffix, use the | ||
| 4653 | following: | ||
| 4654 | <literallayout class='monospaced'> | ||
| 4655 | KERNEL_MODULE_PACKAGE_SUFFIX to "" | ||
| 4656 | </literallayout> | ||
| 4657 | </para></listitem> | ||
| 4658 | <listitem><para> | ||
| 4659 | Removal of <filename>libtool</filename> | ||
| 4660 | <filename>*.la</filename> files is now enabled by default. | ||
| 4661 | The <filename>*.la</filename> files are not actually | ||
| 4662 | needed on Linux and relocating them is an unnecessary | ||
| 4663 | burden.</para> | ||
| 4664 | |||
| 4665 | <para>If you need to preserve these | ||
| 4666 | <filename>.la</filename> files (e.g. in a custom | ||
| 4667 | distribution), you must change | ||
| 4668 | <link linkend='var-INHERIT_DISTRO'><filename>INHERIT_DISTRO</filename></link> | ||
| 4669 | such that "remove-libtool" is not included in the value. | ||
| 4670 | </para></listitem> | ||
| 4671 | <listitem><para> | ||
| 4672 | Extensible SDKs built for GCC 5+ now refuse to install on a | ||
| 4673 | distribution where the host GCC version is 4.8 or 4.9. | ||
| 4674 | This change resulted from the fact that the installation | ||
| 4675 | is known to fail due to the way the | ||
| 4676 | <filename>uninative</filename> shared state (sstate) | ||
| 4677 | package is built. | ||
| 4678 | See the | ||
| 4679 | <link linkend='ref-classes-uninative'><filename>uninative</filename></link> | ||
| 4680 | class for additional information. | ||
| 4681 | </para></listitem> | ||
| 4682 | <listitem><para> | ||
| 4683 | All native and nativesdk recipes now use a separate | ||
| 4684 | <link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link> | ||
| 4685 | value instead of sharing the value used by recipes for the | ||
| 4686 | target, in order to avoid unnecessary rebuilds.</para> | ||
| 4687 | |||
| 4688 | <para>The <filename>DISTRO_FEATURES</filename> for | ||
| 4689 | <filename>native</filename> recipes is | ||
| 4690 | <filename>DISTRO_FEATURES_NATIVE</filename> added to an | ||
| 4691 | intersection of <filename>DISTRO_FEATURES</filename> and | ||
| 4692 | <filename>DISTRO_FEATURES_FILTER_NATIVE</filename>.</para> | ||
| 4693 | |||
| 4694 | <para>For nativesdk recipes, the | ||
| 4695 | corresponding variables are | ||
| 4696 | <filename>DISTRO_FEATURES_NATIVESDK</filename> and | ||
| 4697 | <filename>DISTRO_FEATURES_FILTER_NATIVESDK</filename>. | ||
| 4698 | </para></listitem> | ||
| 4699 | <listitem><para> | ||
| 4700 | The <filename>FILESDIR</filename> | ||
| 4701 | variable, which was previously deprecated and rarely used, | ||
| 4702 | has now been removed. | ||
| 4703 | You should change any recipes that set | ||
| 4704 | <filename>FILESDIR</filename> to set | ||
| 4705 | <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link> | ||
| 4706 | instead. | ||
| 4707 | </para></listitem> | ||
| 4708 | <listitem><para> | ||
| 4709 | The <filename>MULTIMACH_HOST_SYS</filename> | ||
| 4710 | variable has been removed as it is no longer needed | ||
| 4711 | with recipe-specific sysroots. | ||
| 4712 | </para></listitem> | ||
| 4713 | </itemizedlist> | ||
| 4714 | </para> | ||
| 4715 | </section> | ||
| 4246 | </section> | 4716 | </section> |
| 4247 | </chapter> | 4717 | </chapter> |
| 4248 | <!-- | 4718 | <!-- |
