ref-manual: Added systemd class and three variables:

Variables:
  SYSTEMD_PACKAGES
  SYSTEMD_SERVICE
  SYSTEMD_AUTO_ENABLE

(From yocto-docs rev: 052db07a049fac9e41a1f4cbef0e6daa0c0a1d76)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2013-12-05 07:49:01 -06:00 committed by Richard Purdie
parent 4dcaea2128
commit 99f680264d
2 changed files with 109 additions and 0 deletions

View File

@ -2027,6 +2027,56 @@
</para>
</section>
<section id='ref-classes-systemd'>
<title><filename>systemd.bbclass</filename></title>
<para>
The <filename>systemd</filename> class provides support for recipes
that install <filename>systemd</filename> unit files.
</para>
<para>
The functionality for this class is disabled unless you have "systemd"
in
<link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link>.
</para>
<para>
Under this class, unit files are installed into
<filename>${</filename><link linkend='var-D'><filename>D</filename></link><filename>}${systemd_unitdir}/system</filename>
during the <filename>do_install</filename> task.
If the unit files being installed go into packages other than the
main package, you need to set
<link linkend='var-SYSTEMD_PACKAGES'><filename>SYSTEMD_PACKAGES</filename></link>
in your recipe to identify the packages in which the files will be
installed.
</para>
<para>
You should set
<link linkend='var-SYSTEMD_SERVICE'><filename>SYSTEMD_SERVICE</filename></link>
to the name of the service file.
You should also use a package name override to indicate the package
to which the value applies.
If the value applies to the recipe's main package, use
<filename>${</filename><link linkend='var-PN'><filename>PN</filename></link><filename>}</filename>.
Here is an example from the connman recipe:
<literallayout class='monospaced'>
SYSTEMD_SERVICE_${PN} = "connman.service"
</literallayout>
Services are set up to start on boot automatically unless
you have set
<link linkend='var-SYSTEMD_AUTO_ENABLE'><filename>SYSTEMD_AUTO_ENABLE</filename></link>
to "disable".
</para>
<para>
For more information on <filename>systemd</filename>, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#selecting-an-initialization-manager'>Selecting an Initialization Manager</ulink>"
section in the Yocto Project Development Manual.
</para>
</section>
<section id='ref-classes-package_tar'>
<title><filename>package_tar.bbclass</filename></title>

View File

@ -6289,6 +6289,65 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
<glossentry id='var-SYSTEMD_AUTO_ENABLE'><glossterm>SYSTEMD_AUTO_ENABLE</glossterm>
<glossdef>
<para>
Enables and disables the <filename>systemd</filename>
service manager.
By default, the service is enabled to automatically start
at boot time.
The default setting is in the
<link linkend='ref-classes-systemd'><filename>systemd</filename></link>
class as follows:
<literallayout class='monospaced'>
SYSTEMD_AUTO_ENABLE ??= "enable"
</literallayout>
You can disable the service by setting the variable to
"disable."
</para>
</glossdef>
</glossentry>
<glossentry id='var-SYSTEMD_PACKAGES'><glossterm>SYSTEMD_PACKAGES</glossterm>
<glossdef>
<para>
Specifies the packages into which
<filename>systemd</filename> unit files are installed
when the files need to be installed into packages other
than recipe's main package.
</para>
<para>
The
<link linkend='ref-classes-systemd'><filename>systemd</filename></link>
class sets <filename>SYSTEMD_PACKAGES</filename> as follows:
<literallayout class='monospaced'>
SYSTEMD_PACKAGES ?= "${PN}"
</literallayout>
</para>
</glossdef>
</glossentry>
<glossentry id='var-SYSTEMD_SERVICE'><glossterm>SYSTEMD_SERVICE</glossterm>
<glossdef>
<para>
The service file for the <filename>systemd</filename>
service manager.
</para>
<para>
When you specify this file in your recipe, use a package
name override to indicate the package to which the value
applies when the value applies to a package other than
the recipe's main package.
Here is an example from the connman recipe:
<literallayout class='monospaced'>
SYSTEMD_SERVICE_${PN} = "connman.service"
</literallayout>
</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id='var-glossary-t'><title>T</title>