summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/migration.xml
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2017-04-28 16:23:48 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-05-10 12:13:32 +0100
commitb1dc0ee121e575f1978cdea409a16bba4040e5b2 (patch)
tree1e6bfab76d6053cd163a77a674ac82482c840c97 /documentation/ref-manual/migration.xml
parent7fdd0ac087328524f27ae42d503898dbd113f417 (diff)
downloadpoky-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.xml538
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 4429id=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<!--