123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089 |
- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
- [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
- <chapter id='migration'>
- <title>Migrating to a Newer Yocto Project Release</title>
- <para>
- This chapter provides information you can use to migrate work to a
- newer Yocto Project release. You can find the same information in the
- release notes for a given release.
- </para>
- <section id='moving-to-the-yocto-project-1.3-release'>
- <title>Moving to the Yocto Project 1.3 Release</title>
- <para>
- This section provides migration information for moving to the
- Yocto Project 1.3 Release from the prior release.
- </para>
- <section id='1.3-local-configuration'>
- <title>Local Configuration</title>
- <para>
- Differences include changes for
- <link linkend='var-SSTATE_MIRRORS'><filename>SSTATE_MIRRORS</filename></link>
- and <filename>bblayers.conf</filename>.
- </para>
- <section id='migration-1.3-sstate-mirrors'>
- <title>SSTATE_MIRRORS</title>
- <para>
- The shared state cache (sstate-cache), as pointed to by
- <link linkend='var-SSTATE_DIR'><filename>SSTATE_DIR</filename></link>, by default
- now has two-character subdirectories to prevent issues arising
- from too many files in the same directory.
- Also, native sstate-cache packages will go into a subdirectory named using
- the distro ID string.
- If you copy the newly structured sstate-cache to a mirror location
- (either local or remote) and then point to it in
- <link linkend='var-SSTATE_MIRRORS'><filename>SSTATE_MIRRORS</filename></link>,
- you need to append "PATH" to the end of the mirror URL so that
- the path used by BitBake before the mirror substitution is
- appended to the path used to access the mirror.
- Here is an example:
- <literallayout class='monospaced'>
- SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH"
- </literallayout>
- </para>
- </section>
- <section id='migration-1.3-bblayers-conf'>
- <title>bblayers.conf</title>
- <para>
- The <filename>meta-yocto</filename> layer consists of two parts
- that correspond to the Poky reference distribution and the
- reference hardware Board Support Packages (BSPs), respectively:
- <filename>meta-yocto</filename> and
- <filename>meta-yocto-bsp</filename>.
- When running BitBake or Hob for the first time after upgrading,
- your <filename>conf/bblayers.conf</filename> file will be
- updated to handle this change and you will be asked to
- re-run or restart for the changes to take effect.
- </para>
- </section>
- </section>
- <section id='1.3-recipes'>
- <title>Recipes</title>
- <para>
- Differences include changes for the following:
- <itemizedlist>
- <listitem><para>Python function whitespace</para></listitem>
- <listitem><para><filename>proto=</filename> in <filename>SRC_URI</filename></para></listitem>
- <listitem><para><filename>nativesdk</filename></para></listitem>
- <listitem><para>Task recipes</para></listitem>
- <listitem><para><filename>IMAGE_FEATURES</filename></para></listitem>
- <listitem><para>Removed recipes</para></listitem>
- </itemizedlist>
- </para>
- <section id='migration-1.3-python-function-whitespace'>
- <title>Python Function Whitespace</title>
- <para>
- All Python functions must now use four spaces for indentation.
- Previously, an inconsistent mix of spaces and tabs existed,
- which made extending these functions using
- <filename>_append</filename> or <filename>_prepend</filename>
- complicated given that Python treats whitespace as
- syntactically significant.
- If you are defining or extending any Python functions (e.g.
- <filename>populate_packages</filename>, <filename>do_unpack</filename>,
- <filename>do_patch</filename> and so forth) in custom recipes
- or classes, you need to ensure you are using consistent
- four-space indentation.
- </para>
- </section>
- <section id='migration-1.3-proto=-in-src-uri'>
- <title>proto= in SRC_URI</title>
- <para>
- Any use of <filename>proto=</filename> in
- <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
- needs to be changed to <filename>protocol=</filename>.
- In particular, this applies to the following URIs:
- <itemizedlist>
- <listitem><para><filename>svn://</filename></para></listitem>
- <listitem><para><filename>bzr://</filename></para></listitem>
- <listitem><para><filename>hg://</filename></para></listitem>
- <listitem><para><filename>osc://</filename></para></listitem>
- </itemizedlist>
- Other URIs were already using <filename>protocol=</filename>.
- This change improves consistency.
- </para>
- </section>
- <section id='migration-1.3-nativesdk'>
- <title>nativesdk</title>
- <para>
- The suffix <filename>nativesdk</filename> is now implemented
- as a prefix, which simplifies a lot of the packaging code for
- <filename>nativesdk</filename> recipes.
- All custom <filename>nativesdk</filename> recipes and any
- references need to be updated to use
- <filename>nativesdk-*</filename> instead of
- <filename>*-nativesdk</filename>.
- </para>
- </section>
- <section id='migration-1.3-task-recipes'>
- <title>Task Recipes</title>
- <para>
- "Task" recipes are now known as "Package groups" and have
- been renamed from <filename>task-*.bb</filename> to
- <filename>packagegroup-*.bb</filename>.
- Existing references to the previous <filename>task-*</filename>
- names should work in most cases as there is an automatic
- upgrade path for most packages.
- However, you should update references in your own recipes and
- configurations as they could be removed in future releases.
- You should also rename any custom <filename>task-*</filename>
- recipes to <filename>packagegroup-*</filename>, and change
- them to inherit <filename>packagegroup</filename> instead of
- <filename>task</filename>, as well as taking the opportunity
- to remove anything now handled by
- <filename>packagegroup.bbclass</filename>, such as providing
- <filename>-dev</filename> and <filename>-dbg</filename>
- packages, setting
- <link linkend='var-LIC_FILES_CHKSUM'><filename>LIC_FILES_CHKSUM</filename></link>,
- and so forth.
- See the
- "<link linkend='ref-classes-packagegroup'><filename>packagegroup.bbclass</filename></link>"
- section for further details.
- </para>
- </section>
- <section id='migration-1.3-image-features'>
- <title>IMAGE_FEATURES</title>
- <para>
- Image recipes that previously included "apps-console-core"
- in <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>
- should now include "splash" instead to enable the boot-up
- splash screen.
- Retaining "apps-console-core" will still include the splash
- screen but generates a warning.
- The "apps-x11-core" and "apps-x11-games"
- <filename>IMAGE_FEATURES</filename> features have been removed.
- </para>
- </section>
- <section id='migration-1.3-removed-recipes'>
- <title>Removed Recipes</title>
- <para>
- The following recipes have been removed.
- For most of them, it is unlikely that you would have any
- references to them in your own
- <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>.
- However, you should check your metadata against this list to be sure:
- <itemizedlist>
- <listitem><para><emphasis><filename>libx11-trim</filename></emphasis>:
- Replaced by <filename>libx11</filename>, which has a negligible
- size difference with modern Xorg.</para></listitem>
- <listitem><para><emphasis><filename>xserver-xorg-lite</filename></emphasis>:
- Use <filename>xserver-xorg</filename>, which has a negligible
- size difference when DRI and GLX modules are not installed.</para></listitem>
- <listitem><para><emphasis><filename>xserver-kdrive</filename></emphasis>:
- Effectively unmaintained for many years.</para></listitem>
- <listitem><para><emphasis><filename>mesa-xlib</filename></emphasis>:
- No longer serves any purpose.</para></listitem>
- <listitem><para><emphasis><filename>galago</filename></emphasis>:
- Replaced by telepathy.</para></listitem>
- <listitem><para><emphasis><filename>gail</filename></emphasis>:
- Functionality was integrated into GTK+ 2.13.</para></listitem>
- <listitem><para><emphasis><filename>eggdbus</filename></emphasis>:
- No longer needed.</para></listitem>
- <listitem><para><emphasis><filename>gcc-*-intermediate</filename></emphasis>:
- The build has been restructured to avoid the need for
- this step.</para></listitem>
- <listitem><para><emphasis><filename>libgsmd</filename></emphasis>:
- Unmaintained for many years.
- Functionality now provided by
- <filename>ofono</filename> instead.</para></listitem>
- <listitem><para><emphasis>contacts, dates, tasks, eds-tools</emphasis>:
- Largely unmaintained PIM application suite.
- It has been moved to <filename>meta-gnome</filename>
- in <filename>meta-openembedded</filename>.</para></listitem>
- </itemizedlist>
- In addition to the previously listed changes, the
- <filename>meta-demoapps</filename> directory has also been removed
- because the recipes in it were not being maintained and many
- had become obsolete or broken.
- Additionally, these recipes were not parsed in the default configuration.
- Many of these recipes are already provided in an updated and
- maintained form within the OpenEmbedded community layers such as
- <filename>meta-oe</filename> and <filename>meta-gnome</filename>.
- For the remainder, you can now find them in the
- <filename>meta-extras</filename> repository, which is in the
- Yocto Project
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-repositories'>Source Repositories</ulink>.
- </para>
- </section>
- </section>
- <section id='1.3-linux-kernel-naming'>
- <title>Linux Kernel Naming</title>
- <para>
- The naming scheme for kernel output binaries has been changed to
- now include
- <link linkend='var-PE'><filename>PE</filename></link> as part of the
- filename:
- <literallayout class='monospaced'>
- KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
- </literallayout>
- </para>
- <para>
- Because the <filename>PE</filename> variable is not set by default,
- these binary files could result with names that include two dash
- characters.
- Here is an example:
- <literallayout class='monospaced'>
- bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin
- </literallayout>
- </para>
- </section>
- </section>
- <section id='moving-to-the-yocto-project-1.4-release'>
- <title>Moving to the Yocto Project 1.4 Release</title>
- <para>
- This section provides migration information for moving to the
- Yocto Project 1.4 Release from the prior release.
- </para>
- <section id='migration-1.4-bitbake'>
- <title>BitBake</title>
- <para>
- Differences include the following:
- <itemizedlist>
- <listitem><para><emphasis>Comment Continuation:</emphasis>
- If a comment ends with a line continuation (\) character,
- then the next line must also be a comment.
- Any instance where this is not the case, now triggers
- a warning.
- You must either remove the continuation character, or be
- sure the next line is a comment.
- </para></listitem>
- <listitem><para><emphasis>Package Name Overrides:</emphasis>
- The runtime package specific variables
- <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>,
- <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>,
- <link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>,
- <link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>,
- <link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>,
- <link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>,
- <link linkend='var-FILES'><filename>FILES</filename></link>,
- <link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>,
- and the pre, post, install, and uninstall script functions
- <filename>pkg_preinst</filename>,
- <filename>pkg_postinst</filename>,
- <filename>pkg_prerm</filename>, and
- <filename>pkg_postrm</filename> should always have a
- package name override.
- For example, use <filename>RDEPENDS_${PN}</filename> for
- the main package instead of <filename>RDEPENDS</filename>.
- BitBake uses more strict checks when it parses recipes.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id='migration-1.4-build-behavior'>
- <title>Build Behavior</title>
- <para>
- Differences include the following:
- <itemizedlist>
- <listitem><para><emphasis>Shared State Code:</emphasis>
- The shared state code has been optimized to avoid running
- unnecessary tasks.
- For example,
- <filename>bitbake -c rootfs some-image</filename> from
- shared state no longer populates the target sysroot
- since that is not necessary.
- Instead, the system just needs to extract the output
- package contents, re-create the packages, and construct
- the root filesystem.
- This change is unlikely to cause any problems unless
- you have missing declared dependencies.
- </para></listitem>
- <listitem><para><emphasis>Scanning Directory Names:</emphasis>
- When scanning for files in
- <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>,
- the build system now uses
- <link linkend='var-FILESOVERRIDES'><filename>FILESOVERRIDES</filename></link>
- instead of <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>
- for the directory names.
- In general, the values previously in
- <filename>OVERRIDES</filename> are now in
- <filename>FILESOVERRIDES</filename> as well.
- However, if you relied upon an additional value
- you previously added to <filename>OVERRIDES</filename>,
- you might now need to add it to
- <filename>FILESOVERRIDES</filename> unless you are already
- adding it through the
- <link linkend='var-MACHINEOVERRIDES'><filename>MACHINEOVERRIDES</filename></link>
- or <link linkend='var-DISTROOVERRIDES'><filename>DISTROOVERRIDES</filename></link>
- variables, as appropriate.
- For more related changes, see the
- "<link linkend='migration-1.4-variables'>Variables</link>"
- section.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id='migration-1.4-proxies-and-fetching-source'>
- <title>Proxies and Fetching Source</title>
- <para>
- A new <filename>oe-git-proxy</filename> script has been added to
- replace previous methods of handling proxies and fetching source
- from Git.
- See the <filename>meta-yocto/conf/site.conf.sample</filename> file
- for information on how to use this script.
- </para>
- </section>
- <section id='migration-1.4-custom-interfaces-file-netbase-change'>
- <title>Custom Interfaces File (netbase change)</title>
- <para>
- If you have created your own custom
- <filename>etc/network/interfaces</filename> file by creating
- an append file for the <filename>netbase</filename> recipe,
- you now need to create an append file for the
- <filename>init-ifupdown</filename> recipe instead, which you can
- find in the
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
- at <filename>meta/recipes-core/init-ifupdown</filename>.
- For information on how to use append files, see the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>"
- in the Yocto Project Development Manual.
- </para>
- </section>
- <section id='migration-1.4-remote-debugging'>
- <title>Remote Debugging</title>
- <para>
- Support for remote debugging with the Eclipse IDE is now
- separated into an image feature
- (<filename>eclipse-debug</filename>) that corresponds to the
- <filename>packagegroup-core-eclipse-debug</filename> package group.
- Previously, the debugging feature was included through the
- <filename>tools-debug</filename> image feature, which corresponds
- to the <filename>packagegroup-core-tools-debug</filename>
- package group.
- </para>
- </section>
- <section id='migration-1.4-variables'>
- <title>Variables</title>
- <para>
- The following variables have changed:
- <itemizedlist>
- <listitem><para><emphasis><filename>SANITY_TESTED_DISTROS</filename>:</emphasis>
- This variable now uses a distribution ID, which is composed
- of the host distributor ID followed by the release.
- Previously,
- <link linkend='var-SANITY_TESTED_DISTROS'><filename>SANITY_TESTED_DISTROS</filename></link>
- was composed of the description field.
- For example, "Ubuntu 12.10" becomes "Ubuntu-12.10".
- You do not need to worry about this change if you are not
- specifically setting this variable, or if you are
- specifically setting it to "".
- </para></listitem>
- <listitem><para><emphasis><filename>SRC_URI</filename>:</emphasis>
- The <filename>${</filename><link linkend='var-PN'><filename>PN</filename></link><filename>}</filename>,
- <filename>${</filename><link linkend='var-PF'><filename>PF</filename></link><filename>}</filename>,
- <filename>${</filename><link linkend='var-P'><filename>P</filename></link><filename>}</filename>,
- and <filename>FILE_DIRNAME</filename> directories have been
- dropped from the default value of the
- <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
- variable, which is used as the search path for finding files
- referred to in
- <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>.
- If you have a recipe that relied upon these directories,
- which would be unusual, then you will need to add the
- appropriate paths within the recipe or, alternatively,
- rearrange the files.
- The most common locations are still covered by
- <filename>${BP}</filename>, <filename>${BPN}</filename>,
- and "files", which all remain in the default value of
- <link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id='migration-target-package-management-with-rpm'>
- <title>Target Package Management with RPM</title>
- <para>
- If runtime package management is enabled and the RPM backend
- is selected, Smart is now installed for package download, dependency
- resolution, and upgrades instead of Zypper.
- For more information on how to use Smart, run the following command
- on the target:
- <literallayout class='monospaced'>
- smart --help
- </literallayout>
- </para>
- </section>
- <section id='migration-1.4-recipes-moved'>
- <title>Recipes Moved</title>
- <para>
- The following recipes were moved from their previous locations
- because they are no longer used by anything in
- the OpenEmbedded-Core:
- <itemizedlist>
- <listitem><para><emphasis><filename>clutter-box2d</filename>:</emphasis>
- Now resides in the <filename>meta-oe</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>evolution-data-server</filename>:</emphasis>
- Now resides in the <filename>meta-gnome</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>gthumb</filename>:</emphasis>
- Now resides in the <filename>meta-gnome</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>gtkhtml2</filename>:</emphasis>
- Now resides in the <filename>meta-oe</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>gupnp</filename>:</emphasis>
- Now resides in the <filename>meta-multimedia</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>gypsy</filename>:</emphasis>
- Now resides in the <filename>meta-oe</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>libcanberra</filename>:</emphasis>
- Now resides in the <filename>meta-gnome</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>libgdata</filename>:</emphasis>
- Now resides in the <filename>meta-gnome</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>libmusicbrainz</filename>:</emphasis>
- Now resides in the <filename>meta-multimedia</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>metacity</filename>:</emphasis>
- Now resides in the <filename>meta-gnome</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>polkit</filename>:</emphasis>
- Now resides in the <filename>meta-oe</filename> layer.
- </para></listitem>
- <listitem><para><emphasis><filename>zeroconf</filename>:</emphasis>
- Now resides in the <filename>meta-networking</filename> layer.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id='migration-1.4-removals-and-renames'>
- <title>Removals and Renames</title>
- <para>
- The following list shows what has been removed or renamed:
- <itemizedlist>
- <listitem><para><emphasis><filename>evieext</filename>:</emphasis>
- Removed because it has been removed from
- <filename>xserver</filename> since 2008.
- </para></listitem>
- <listitem><para><emphasis>Gtk+ DirectFB:</emphasis>
- Removed support because upstream Gtk+ no longer supports it
- as of version 2.18.
- </para></listitem>
- <listitem><para><emphasis><filename>libxfontcache / xfontcacheproto</filename>:</emphasis>
- Removed because they were removed from the Xorg server in 2008.
- </para></listitem>
- <listitem><para><emphasis><filename>libxp / libxprintapputil / libxprintutil / printproto</filename>:</emphasis>
- Removed because the XPrint server was removed from
- Xorg in 2008.
- </para></listitem>
- <listitem><para><emphasis><filename>libxtrap / xtrapproto</filename>:</emphasis>
- Removed because their functionality was broken upstream.
- </para></listitem>
- <listitem><para><emphasis>linux-yocto 3.0 kernel:</emphasis>
- Removed with linux-yocto 3.8 kernel being added.
- The linux-yocto 3.2 and linux-yocto 3.4 kernels remain
- as part of the release.
- </para></listitem>
- <listitem><para><emphasis><filename>lsbsetup</filename>:</emphasis>
- Removed with functionality now provided by
- <filename>lsbtest</filename>.
- </para></listitem>
- <listitem><para><emphasis><filename>matchbox-stroke</filename>:</emphasis>
- Removed because it was never more than a proof-of-concept.
- </para></listitem>
- <listitem><para><emphasis><filename>matchbox-wm-2 / matchbox-theme-sato-2</filename>:</emphasis>
- Removed because they are not maintained.
- However, <filename>matchbox-wm</filename> and
- <filename>matchbox-theme-sato</filename> are still
- provided.
- </para></listitem>
- <listitem><para><emphasis><filename>mesa-dri</filename>:</emphasis>
- Renamed to <filename>mesa</filename>.
- </para></listitem>
- <listitem><para><emphasis><filename>mesa-xlib</filename>:</emphasis>
- Removed because it was no longer useful.
- </para></listitem>
- <listitem><para><emphasis><filename>mutter</filename>:</emphasis>
- Removed because nothing ever uses it and the recipe is
- very old.
- </para></listitem>
- <listitem><para><emphasis><filename>orinoco-conf</filename>:</emphasis>
- Removed because it has become obsolete.
- </para></listitem>
- <listitem><para><emphasis><filename>update-modules</filename>:</emphasis>
- Removed because it is no longer used.
- The kernel module <filename>postinstall</filename> and
- <filename>postrm</filename> scripts can now do the same
- task without the use of this script.
- </para></listitem>
- <listitem><para><emphasis><filename>web</filename>:</emphasis>
- Removed because it is not maintained. Superseded by
- <filename>web-webkit</filename>.
- </para></listitem>
- <listitem><para><emphasis><filename>xf86bigfontproto</filename>:</emphasis>
- Removed because upstream it has been disabled by default
- since 2007.
- Nothing uses <filename>xf86bigfontproto</filename>.
- </para></listitem>
- <listitem><para><emphasis><filename>xf86rushproto</filename>:</emphasis>
- Removed because its dependency in
- <filename>xserver</filename> was spurious and it was
- removed in 2005.
- </para></listitem>
- <listitem><para><emphasis><filename>zypper / libzypp / sat-solver</filename>:</emphasis>
- Removed and been functionally replaced with Smart
- (<filename>python-smartpm</filename>) when RPM packaging
- is used and package management is enabled on the target.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- </section>
- <section id='moving-to-the-yocto-project-1.5-release'>
- <title>Moving to the Yocto Project 1.5 Release</title>
- <para>
- This section provides migration information for moving to the
- Yocto Project 1.5 Release from the prior release.
- </para>
- <section id='migration-1.5-host-dependency-changes'>
- <title>Host Dependency Changes</title>
- <para>
- The OpenEmbedded build system now has some additional requirements
- on the host system:
- <itemizedlist>
- <listitem><para>Python 2.7.3+</para></listitem>
- <listitem><para>Tar 1.24+</para></listitem>
- <listitem><para>Git 1.7.5+</para></listitem>
- <listitem><para>Patched version of Make if you are using
- 3.82.
- Most distributions that provide Make 3.82 use the patched
- version.</para></listitem>
- </itemizedlist>
- If the Linux distribution you are using on your build host
- does not provide packages for these, you can install and use
- the Buildtools tarball, which provides an SDK-like environment
- containing them.
- </para>
- <para>
- For more information on this requirement, see the
- "<link linkend='required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</link>"
- section.
- </para>
- </section>
- <section id='migration-1.5-atom-pc-bsp'>
- <title><filename>atom-pc</filename> Board Support Package (BSP)</title>
- <para>
- The <filename>atom-pc</filename> hardware reference BSP has been
- replaced by a <filename>genericx86</filename> BSP.
- This BSP is not necessarily guaranteed to work on all x86
- hardware, but it will run on a wider range of systems than the
- <filename>atom-pc</filename> did.
- <note>
- Additionally, a <filename>genericx86-64</filename> BSP has been
- added for 64-bit systems.
- </note>
- </para>
- </section>
- <section id='migration-1.5-bitbake'>
- <title>BitBake</title>
- <para>
- The following changes have been made that relate to BitBake:
- <itemizedlist>
- <listitem><para>
- BitBake now supports a <filename>_remove</filename>
- operator.
- The addition of this operator means you will have to
- rename any items in recipe space (functions, variables)
- whose names currently contain
- <filename>_remove_</filename> or end with
- <filename>_remove</filename> to avoid unexpected behavior.
- </para></listitem>
- <listitem><para>
- BitBake's global method pool has been removed.
- This method is not particularly useful and led to clashes
- between recipes containing functions that had the
- same name.</para></listitem>
- <listitem><para>
- The "none" server backend has been removed.
- The "process" server backend has been serving well as the
- default for a long time now.</para></listitem>
- <listitem><para>
- The <filename>bitbake-runtask</filename> script has been
- removed.</para></listitem>
- <listitem><para>
- <filename>${</filename><link linkend='var-P'><filename>P</filename></link><filename>}</filename>
- and
- <filename>${</filename><link linkend='var-PF'><filename>PF</filename></link><filename>}</filename>
- are no longer added to
- <link linkend='var-PROVIDES'><filename>PROVIDES</filename></link>
- by default in <filename>bitbake.conf</filename>.
- These version-specific <filename>PROVIDES</filename>
- items were seldom used.
- Attempting to use them could result in two versions being
- built simultaneously rather than just one version due to
- the way BitBake resolves dependencies.</para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id='migration-1.5-qa-warnings'>
- <title>QA Warnings</title>
- <para>
- The following changes have been made to the package QA checks:
- <itemizedlist>
- <listitem><para>
- If you have customized
- <link linkend='var-ERROR_QA'><filename>ERROR_QA</filename></link>
- or <link linkend='var-WARN_QA'><filename>WARN_QA</filename></link>
- values in your configuration, check that they contain all of
- the issues that you wish to be reported.
- Previous Yocto Project versions contained a bug that meant
- that any item not mentioned in <filename>ERROR_QA</filename>
- or <filename>WARN_QA</filename> would be treated as a
- warning.
- Consequently, several important items were not already in
- the default value of <filename>WARN_QA</filename>.
- All of the possible QA checks are now documented in the
- "<link linkend='ref-classes-insane'><filename>insane.bbclass</filename></link>"
- section.</para></listitem>
- <listitem><para>
- An additional QA check has been added to check if
- <filename>/usr/share/info/dir</filename> is being installed.
- Your recipe should delete this file within
- <filename>do_install</filename> if "make install" is
- installing it.</para></listitem>
- <listitem><para>
- If you are using the buildhistory class, the check for the
- package version going backwards is now controlled using a
- standard QA check.
- Thus, if you have customized your
- <filename>ERROR_QA</filename> or
- <filename>WARN_QA</filename> values and still wish to have
- this check performed, you should add
- "version-going-backwards" to your value for one or the
- other variables depending on how you wish it to be handled.
- See the documented QA checks in the
- "<link linkend='ref-classes-insane'><filename>insane.bbclass</filename></link>"
- section.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id='migration-1.5-directory-layout-changes'>
- <title>Directory Layout Changes</title>
- <para>
- The following directory changes exist:
- <itemizedlist>
- <listitem><para>
- Output SDK installer files are now named to include the
- image name and tuning architecture through the
- <link linkend='var-SDK_NAME'><filename>SDK_NAME</filename></link>
- variable.</para></listitem>
- <listitem><para>
- Images and related files are now installed into a directory
- that is specific to the machine, instead of a parent
- directory containing output files for multiple machines.
- The
- <link linkend='var-DEPLOY_DIR_IMAGE'><filename>DEPLOY_DIR_IMAGE</filename></link>
- variable continues to point to the directory containing
- images for the current
- <link linkend='var-MACHINE'><filename>MACHINE</filename></link>
- and should be used anywhere there is a need to refer to
- this directory.
- The <filename>runqemu</filename> script now uses this
- variable to find images and kernel binaries and will use
- BitBake to determine the directory.
- Alternatively, you can set the
- <filename>DEPLOY_DIR_IMAGE</filename> variable in the
- external environment.</para></listitem>
- <listitem><para>
- When buildhistory is enabled, its output is now written
- under the
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
- rather than
- <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>.
- Doing so makes it easier to delete
- <filename>TMPDIR</filename> and preserve the build history.
- Additionally, data for produced SDKs is now split by
- <link linkend='var-IMAGE_NAME'><filename>IMAGE_NAME</filename></link>.
- </para></listitem>
- <listitem><para>
- The <filename>pkgdata</filename> directory produced as
- part of the packaging process has been collapsed into a
- single machine-specific directory.
- This directory is located under
- <filename>sysroots</filename> and uses a machine-specific
- name (i.e.
- <filename>tmp/sysroots/<machine>/pkgdata</filename>).
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id='migration-1.5-shortened-git-srcrev-values'>
- <title>Shortened Git <filename>SRCREV</filename> Values</title>
- <para>
- BitBake will now shorten revisions from Git repositories from the
- normal 40 characters down to 10 characters within
- <link linkend='var-SRCPV'><filename>SRCPV</filename></link>
- for improved usability in path and file names.
- This change should be safe within contexts where these revisions
- are used because the chances of spatially close collisions
- is very low.
- Distant collisions are not a major issue in the way
- the values are used.
- </para>
- </section>
- <section id='migration-1.5-image-features'>
- <title><filename>IMAGE_FEATURES</filename></title>
- <para>
- The following changes have been made that relate to
- <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>:
- <itemizedlist>
- <listitem><para>
- The value of
- <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>
- is now validated to ensure invalid feature items are not
- added.
- Some users mistakenly add package names to this variable
- instead of using
- <link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link>
- in order to have the package added to the image, which does
- not work.
- This change is intended to catch those kinds of situations.
- Valid <filename>IMAGE_FEATURES</filename> are drawn from
- <link linkend='var-PACKAGE_GROUP'><filename>PACKAGE_GROUP</filename></link>
- definitions,
- <link linkend='var-COMPLEMENTARY_GLOB'><filename>COMPLEMENTARY_GLOB</filename></link>
- and a new "validitems" varflag on
- <filename>IMAGE_FEATURES</filename>.
- The "validitems" varflag change allows additional features
- to be added if they are not provided using the previous
- two mechanisms.
- </para></listitem>
- <listitem><para>
- The previously deprecated "apps-console-core"
- <filename>IMAGE_FEATURES</filename> item is no longer
- supported.
- Add "splash" to <filename>IMAGE_FEATURES</filename> if you
- wish to have the splash screen enabled, since this is
- all that apps-console-core was doing.</para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id='migration-1.5-run'>
- <title><filename>run</filename></title>
- <para>
- The <filename>run</filename> directory from the Filesystem
- Hierarchy Standard 3.0 has been introduced.
- You can find some of the implications for this change
- <ulink url='http://cgit.openembedded.org/openembedded-core/commit/?id=0e326280a15b0f2c4ef2ef4ec441f63f55b75873'>here</ulink>.
- The change also means that recipes that install files to
- <filename>/var/run</filename> must be changed.
- You can find a guide on how to make these changes
- <ulink url='http://permalink.gmane.org/gmane.comp.handhelds.openembedded/58530'>here</ulink>.
- </para>
- </section>
- <section id='migration-1.5-removal-of-package-manager-database-within-image-recipes'>
- <title>Removal of Package Manager Database Within Image Recipes</title>
- <para>
- The image <filename>core-image-minimal</filename> no longer adds
- <filename>remove_packaging_data_files</filename> to
- <link linkend='var-ROOTFS_POSTPROCESS_COMMAND'><filename>ROOTFS_POSTPROCESS_COMMAND</filename></link>.
- This addition is now handled automatically when "package-management"
- is not in
- <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>.
- If you have custom image recipes that make this addition,
- you should remove the lines, as they are not needed and might
- interfere with correct operation of postinstall scripts.
- </para>
- </section>
- <section id='migration-1.5-images-now-rebuild-only-on-changes-instead-of-every-time'>
- <title>Images Now Rebuild Only on Changes Instead of Every Time</title>
- <para>
- The <filename>do_rootfs</filename> and other related image
- construction tasks are no longer marked as "nostamp".
- Consequently, they will only be re-executed when their inputs have
- changed.
- Previous versions of the OpenEmbedded build system always rebuilt
- the image when requested rather when necessary.
- </para>
- </section>
- <section id='migration-1.5-task-recipes'>
- <title>Task Recipes</title>
- <para>
- The previously deprecated <filename>task.bbclass</filename> has
- now been dropped.
- For recipes that previously inherited from this task, you should
- rename them from <filename>task-*</filename> to
- <filename>packagegroup-*</filename> and inherit packagegroup
- instead.
- </para>
- <para>
- For more information, see the
- "<link linkend='ref-classes-packagegroup'><filename>packagegroup.bbclass</filename></link>"
- section.
- </para>
- </section>
- <section id='migration-1.5-busybox'>
- <title>BusyBox</title>
- <para>
- By default, we now split BusyBox into two binaries:
- one that is suid root for those components that need it, and
- another for the rest of the components.
- Splitting BusyBox allows for optimization that eliminates the
- <filename>tinylogin</filename> recipe as recommended by upstream.
- You can disable this split by setting
- <link linkend='var-BUSYBOX_SPLIT_SUID'><filename>BUSYBOX_SPLIT_SUID</filename></link>
- to "0".
- </para>
- </section>
- <section id='migration-1.5-automated-image-testing'>
- <title>Automated Image Testing</title>
- <para>
- A new automated image testing framework has been added
- through the
- <link linkend='ref-classes-testimage'><filename>testimage*.bbclass</filename></link>
- class.
- This framework replaces the older
- <filename>imagetest-qemu</filename> framework.
- </para>
- <para>
- You can learn more about performing automated image tests in the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing'>Performing Automated Runtime Testing</ulink>"
- section.
- </para>
- </section>
- <section id='migration-1.5-build-history'>
- <title>Build History</title>
- <para>
- Following are changes to Build History:
- <itemizedlist>
- <listitem><para>
- Installed package sizes:
- <filename>installed-package-sizes.txt</filename> for an
- image now records the size of the files installed by each
- package instead of the size of each compressed package
- archive file.</para></listitem>
- <listitem><para>
- The dependency graphs (<filename>depends*.dot</filename>)
- now use the actual package names instead of replacing
- dashes, dots and plus signs with underscores.
- </para></listitem>
- <listitem><para>
- The <filename>buildhistory-diff</filename> and
- <filename>buildhistory-collect-srcrevs</filename>
- utilities have improved command-line handling.
- Use the <filename>‐‐help</filename> option for
- each utility for more information on the new syntax.
- </para></listitem>
- </itemizedlist>
- For more information on Build History, see the
- "<link linkend='maintaining-build-output-quality'>Maintaining Build Output Quality</link>"
- section.
- </para>
- </section>
- <section id='migration-1.5-udev'>
- <title><filename>udev</filename></title>
- <para>
- Following are changes to <filename>udev</filename>:
- <itemizedlist>
- <listitem><para>
- <filename>udev</filename> no longer brings in
- <filename>udev-extraconf</filename> automatically
- through
- <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>,
- since this was originally intended to be optional.
- If you need the extra rules, then add
- <filename>udev-extraconf</filename> to your image.
- </para></listitem>
- <listitem><para>
- <filename>udev</filename> no longer brings in
- <filename>pciutils-ids</filename> or
- <filename>usbutils-ids</filename> through
- <filename>RRECOMMENDS</filename>.
- These are not needed by <filename>udev</filename> itself
- and removing them saves around 350KB.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- <section id='removed-renamed-recipes'>
- <title>Removed and Renamed Recipes</title>
- <itemizedlist>
- <listitem><para>
- The <filename>linux-yocto</filename> 3.2 kernel has been
- removed.</para></listitem>
- <listitem><para>
- <filename>libtool-nativesdk</filename> has been renamed to
- <filename>nativesdk-libtool</filename>.</para></listitem>
- <listitem><para>
- <filename>tinylogin</filename> has been removed.
- It has been replaced by a suid portion of Busybox.
- See the
- "<link linkend='migration-1.5-busybox'>BusyBox</link>" section
- for more information.</para></listitem>
- <listitem><para>
- <filename>external-python-tarball</filename> has been renamed
- to <filename>buildtools-tarball</filename>.
- </para></listitem>
- <listitem><para>
- <filename>web-webkit</filename> has been removed.
- It has been functionally replaced by
- <filename>midori</filename>.</para></listitem>
- <listitem><para>
- <filename>imake</filename> has been removed.
- It is no longer needed by any other recipe.
- </para></listitem>
- <listitem><para>
- <filename>transfig-native</filename> has been removed.
- It is no longer needed by any other recipe.
- </para></listitem>
- <listitem><para>
- <filename>anjuta-remote-run</filename> has been removed.
- Anjuta IDE integration has not been officially supported for
- several releases.</para></listitem>
- </itemizedlist>
- </section>
- <section id='migration-1.5-other-changes'>
- <title>Other Changes</title>
- <para>
- Following is a list of short entries describing other changes:
- <itemizedlist>
- <listitem><para>
- <filename>run-postinsts</filename>: Make this generic.
- </para></listitem>
- <listitem><para>
- <filename>base-files</filename>: Remove the unnecessary
- <filename>media/xxx</filename> directories.
- </para></listitem>
- <listitem><para>
- <filename>alsa-state</filename>: Provide an empty
- <filename>asound.conf</filename> by default.
- </para></listitem>
- <listitem><para>
- <filename>classes/image</filename>: Ensure
- <link linkend='var-BAD_RECOMMENDATIONS'><filename>BAD_RECOMMENDATIONS</filename></link>
- supports pre-renamed package names.</para></listitem>
- <listitem><para>
- <filename>classes/rootfs_rpm</filename>: Implement
- <link linkend='var-BAD_RECOMMENDATIONS'><filename>BAD_RECOMMENDATIONS</filename></link>
- for RPM.</para></listitem>
- <listitem><para>
- <filename>systemd</filename>: Remove
- <filename>systemd_unitdir</filename> if
- <filename>systemd</filename> is not in
- <link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link>.
- </para></listitem>
- <listitem><para>
- <filename>systemd</filename>: Remove
- <filename>init.d</filename> dir if
- <filename>systemd</filename> unit file is present and
- <filename>sysvinit</filename> is not a distro feature.
- </para></listitem>
- <listitem><para>
- <filename>libpam</filename>: Deny all services for the
- <filename>OTHER</filename> entries.
- </para></listitem>
- <listitem><para>
- <filename>image.bbclass</filename>: Move
- <filename>runtime_mapping_rename</filename> to avoid
- conflict with <filename>multilib</filename>.
- See
- <ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=4993'><filename>YOCTO #4993</filename></ulink>
- in Bugzilla for more information.
- </para></listitem>
- <listitem><para>
- <filename>linux-dtb</filename>: Use kernel build system
- to generate the <filename>dtb</filename> files.
- </para></listitem>
- <listitem><para>
- <filename>kern-tools</filename>: Switch from guilt to
- new <filename>kgit-s2q</filename> tool.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
- </section>
- </chapter>
- <!--
- vim: expandtab tw=80 ts=4
- -->
|