The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Systemd
(Initial version) |
(correct use of %systemd_postun and add link) |
||
Line 33: | Line 33: | ||
For services that don't support a restart (eg if clients have stateful connections) then use: | For services that don't support a restart (eg if clients have stateful connections) then use: | ||
− | %systemd_postun | + | %systemd_postun |
− | + | ||
These macros support the systemd 'preset' for controlling service policy. This essentially decides whether services run automatically when installed. | These macros support the systemd 'preset' for controlling service policy. This essentially decides whether services run automatically when installed. | ||
Line 45: | Line 44: | ||
This thread was useful: http://www.mail-archive.com/systemd-devel@lists.freedesktop.org/msg10841.html | This thread was useful: http://www.mail-archive.com/systemd-devel@lists.freedesktop.org/msg10841.html | ||
− | Fedora packaging snippets: https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd | + | Fedora packaging snippets: https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd also http://www.freedesktop.org/software/systemd/man/daemon.html |
Revision as of 13:26, 17 June 2013
Currently Mer packages require systemd in the build phase to use the systemd macros. This may change.
Until then your spec/yaml should contain:
BuildRequires: systemd
System units should be installed to:
%{_unitdir}
User session units need:
%define _userunitdir %{_libdir}/systemd/user/
Note that no units should ever be installed into /etc/
Links should almost never be installed into systemd/system/*.wants ; instead use the [Install] section of the unit.
All the %preun %post and %postun macros must be provided.
The %preun macro is simply
%systemd_preun my.service
The %post macro
%systemd_post my.service
The %postun is typically
%systemd_postun_with_restart my.service
For services that don't support a restart (eg if clients have stateful connections) then use:
%systemd_postun
These macros support the systemd 'preset' for controlling service policy. This essentially decides whether services run automatically when installed. Packages *must not* install preset files - the vendor should provide these.
References
The macros definitions can be found at http://cgit.freedesktop.org/systemd/systemd/tree/src/core/macros.systemd.in
This thread was useful: http://www.mail-archive.com/systemd-devel@lists.freedesktop.org/msg10841.html
Fedora packaging snippets: https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd also http://www.freedesktop.org/software/systemd/man/daemon.html