SYSTEMD.ECLASS
Section: eclass-manpages (5)Updated: Nov 2024
Index Return to Main Contents
NAME
systemd.eclass - helper functions to install systemd unitsDESCRIPTION
This eclass provides a set of functions to install unit files for sys-apps/systemd within ebuilds.SUPPORTED EAPIS
7 8EXAMPLE
inherit systemd src_configure() { local myconf=( --enable-foo --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" ) econf "${myconf[@]}" }
FUNCTIONS
- systemd_get_systemunitdir
- Output the path for the systemd system unit directory (not including ${D}). This function always succeeds, even if systemd is not installed.
- systemd_get_userunitdir
- Output the path for the systemd user unit directory (not including ${D}). This function always succeeds, even if systemd is not installed.
- systemd_get_utildir
- Output the path for the systemd utility directory (not including ${D}). This function always succeeds, even if systemd is not installed.
- systemd_get_systemgeneratordir
- Output the path for the systemd system generator directory (not including ${D}). This function always succeeds, even if systemd is not installed.
- systemd_get_systempresetdir
- Output the path for the systemd system preset directory (not including ${D}). This function always succeeds, even if systemd is not installed.
- systemd_get_sleepdir
- Output the path for the system sleep directory.
- systemd_dounit <unit>...
- Install systemd unit(s). Uses doins, thus it is fatal.
- systemd_newunit <old-name> <new-name>
- Install systemd unit with a new name. Uses newins, thus it is fatal.
- systemd_douserunit <unit>...
- Install systemd user unit(s). Uses doins, thus it is fatal.
- systemd_newuserunit <old-name> <new-name>
- Install systemd user unit with a new name. Uses newins, thus it is fatal.
- systemd_install_serviced <conf-file> [<service>]
- Install <conf-file> as the template <service>.d/00gentoo.conf. If <service> is not specified <conf-file> with the .conf suffix stripped is used (e.g. foo.service.conf -> foo.service.d/00gentoo.conf).
- systemd_install_dropin [--user] <unit> <conf-file>
- Install <conf-file> as the dropin file <unit>.d/00gentoo.conf, overriding the settings of <unit>. Defaults to system unit dropins, unless --user is provided, which causes the dropin to be installed for user units. The required argument <conf-file> may be '-', in which case the file is read from stdin and <unit> must also be specified.
- systemd_enable_service <target> <service>
- Enable service in desired target, e.g. install a symlink for it. Uses dosym, thus it is fatal.
- systemd_enable_ntpunit <NN-name> <service>...
-
Add an NTP service provider to the list of implementations
in timedated. <NN-name> defines the newly-created ntp-units.d priority
and name, while the remaining arguments list service units that will
be added to that file.
Uses doins, thus it is fatal.
Doc: https://www.freedesktop.org/wiki/Software/systemd/timedated/
- systemd_update_catalog
-
Update the journald catalog. This needs to be called after installing
or removing catalog files. This must be called in pkg_post* phases.
If systemd is not installed, no operation will be done. The catalog will be (re)built once systemd is installed.
See: https://www.freedesktop.org/wiki/Software/systemd/catalog
- systemd_is_booted
-
Check whether the system was booted using systemd.
This should be used purely for informational purposes, e.g. warning user that he needs to use systemd. Installed files or application behavior *must not* rely on this. Please remember to check MERGE_TYPE to not trigger the check on binary package build hosts!
Returns 0 if systemd is used to boot the system, 1 otherwise.
See: man sd_booted
- systemd_reenable <unit> ...
-
Re-enables units if they are currently enabled. This resets symlinks to the
defaults specified in the [Install] section.
This function is intended to fix broken symlinks that result from moving the systemd system unit directory. It should be called from pkg_postinst for system units that define the 'Alias' option in their [Install] section. It is not necessary to call this function to fix dependency symlinks generated by the 'WantedBy' and 'RequiredBy' options.
MAINTAINERS
systemd@gentoo.orgREPORTING BUGS
Please report bugs via https://bugs.gentoo.org/FILES
systemd.eclassSEE ALSO
ebuild(5)https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/systemd.eclass
Index
This document was created by man2html, using the manual pages.
Time: 03:27:01 GMT, November 10, 2024