]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/core/macros.systemd.in
license: LGPL-2.1+ -> LGPL-2.1-or-later
[thirdparty/systemd.git] / src / core / macros.systemd.in
CommitLineData
873e4133 1# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */
db9ecf05 2# SPDX-License-Identifier: LGPL-2.1-or-later
590f18a2
LP
3#
4# This file is part of systemd.
590f18a2
LP
5
6# RPM macros for packages installing systemd unit files
7
8%_unitdir @systemunitdir@
ed8086d1 9%_userunitdir @userunitdir@
a1d41e17 10%_presetdir @systempresetdir@
c715e7a9 11%_userpresetdir @userpresetdir@
1b0fcd74
LP
12%_udevhwdbdir @udevhwdbdir@
13%_udevrulesdir @udevrulesdir@
14%_journalcatalogdir @catalogdir@
b532bdea 15%_binfmtdir @binfmtdir@
424e80b4
ZJS
16%_sysctldir @sysctldir@
17%_sysusersdir @sysusersdir@
18%_tmpfilesdir @tmpfilesdir@
6ea4cb97 19%_environmentdir @environmentdir@
424e80b4
ZJS
20%_modulesloaddir @modulesloaddir@
21%_modprobedir @modprobedir@
1071fd08
ZJS
22%_systemdgeneratordir @systemgeneratordir@
23%_systemdusergeneratordir @usergeneratordir@
64691d20
ZJS
24%_systemd_system_env_generator_dir @systemenvgeneratordir@
25%_systemd_user_env_generator_dir @userenvgeneratordir@
590f18a2 26
a6bb5504
NG
27# Because we had one release with a typo...
28# This is temporary (Remove after systemd 240 is released)
be9bf171 29%_environmnentdir %{warn:Use %%_environmentdir instead}%_environmentdir
a6bb5504 30
590f18a2
LP
31%systemd_requires \
32Requires(post): systemd \
33Requires(preun): systemd \
34Requires(postun): systemd \
35%{nil}
36
2424b6bd
HH
37%systemd_ordering \
38OrderWithRequires(post): systemd \
39OrderWithRequires(preun): systemd \
40OrderWithRequires(postun): systemd \
41%{nil}
42
281014b7 43%__systemd_someargs_0(:) %{error:The %%%1 macro requires some arguments}
085f8266
JE
44%__systemd_twoargs_2() %{nil}
45
590f18a2 46%systemd_post() \
281014b7
ZJS
47%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_post}} \
48if [ $1 -eq 1 ] && [ -x @bindir@/systemctl ]; then \
590f18a2 49 # Initial installation \
b0ca7265 50 @bindir@/systemctl --no-reload preset %{?*} || : \
590f18a2
LP
51fi \
52%{nil}
53
28d36da6 54%systemd_user_post() %{expand:%systemd_post \\--global %%{?*}}
7c67f0f7 55
590f18a2 56%systemd_preun() \
281014b7
ZJS
57%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_preun}} \
58if [ $1 -eq 0 ] && [ -x @bindir@/systemctl ]; then \
590f18a2 59 # Package removal, not upgrade \
b0ca7265 60 @bindir@/systemctl --no-reload disable --now %{?*} || : \
590f18a2
LP
61fi \
62%{nil}
63
7c67f0f7 64%systemd_user_preun() \
281014b7
ZJS
65%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_user_preun}} \
66if [ $1 -eq 0 ] && [ -x @bindir@/systemctl ]; then \
7c67f0f7 67 # Package removal, not upgrade \
b0ca7265 68 @bindir@/systemctl --global disable %{?*} || : \
7c67f0f7
ZJS
69fi \
70%{nil}
71
281014b7
ZJS
72%systemd_postun() \
73%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_postun}} \
74%{nil}
590f18a2 75
281014b7
ZJS
76%systemd_user_postun() \
77%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_user_postun}} \
78%{nil}
7c67f0f7 79
590f18a2 80%systemd_postun_with_restart() \
281014b7
ZJS
81%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_postun_with_restart}} \
82if [ $1 -ge 1 ] && [ -x @bindir@/systemctl ]; then \
590f18a2 83 # Package upgrade, not uninstall \
b0ca7265 84 @bindir@/systemctl try-restart %{?*} || : \
590f18a2
LP
85fi \
86%{nil}
1b0fcd74 87
281014b7
ZJS
88%systemd_user_postun_with_restart() \
89%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_postun_with_restart}} \
90%{nil}
7c67f0f7 91
32a00a9c 92%udev_hwdb_update() %{nil}
1b0fcd74 93
32a00a9c 94%udev_rules_update() %{nil}
1b0fcd74 95
32a00a9c 96%journal_catalog_update() %{nil}
042e33ae 97
0f78fee8 98# Deprecated. Use %tmpfiles_create_package instead
042e33ae 99%tmpfiles_create() \
281014b7 100%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# tmpfiles_create}} \
b0ca7265 101[ -x @bindir@/systemd-tmpfiles ] && @bindir@/systemd-tmpfiles --create %{?*} || : \
042e33ae 102%{nil}
b532bdea 103
07a7d4a0 104# Deprecated. Use %sysusers_create_package instead
b532bdea 105%sysusers_create() \
281014b7 106%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# sysusers_create}} \
b0ca7265 107[ -x @bindir@/systemd-sysusers ] && @bindir@/systemd-sysusers %{?*} || : \
b532bdea
LP
108%{nil}
109
0e77023e 110%sysusers_create_inline() \
b0ca7265 111[ -x @bindir@/systemd-sysusers ] && @bindir@/systemd-sysusers - <<SYSTEMD_INLINE_EOF || : \
c2887d56 112%{?*} \
93406fd3 113SYSTEMD_INLINE_EOF\
0e77023e
LP
114%{nil}
115
0f78fee8
ZJS
116# This should be used by package installation scripts which require users or
117# groups to be present before the files installed by the package are present on
118# disk (for example because some files are owned by those users or groups).
07a7d4a0
ZJS
119#
120# Example:
0f78fee8 121# Source1: %{name}-sysusers.conf
07a7d4a0
ZJS
122# ...
123# %install
0f78fee8 124# install -D %SOURCE1 %{buildroot}%{_sysusersdir}/%{name}.conf
07a7d4a0
ZJS
125# %pre
126# %sysusers_create_package %{name} %SOURCE1
127# %files
0f78fee8 128# %{_sysusersdir}/%{name}.conf
07a7d4a0 129%sysusers_create_package() \
1061fc1c 130%{expand:%%{?!__systemd_twoargs_%#:%%{error:The %%%%sysusers_create_package macro requires two arguments}}} \
3e6e0856 131systemd-sysusers --replace=%_sysusersdir/%1.conf - <<SYSTEMD_INLINE_EOF || : \
dd2490ae 132%(cat %2) \
93406fd3 133SYSTEMD_INLINE_EOF\
07a7d4a0
ZJS
134%{nil}
135
0f78fee8
ZJS
136# This may be used by package installation scripts to create files according to
137# their tmpfiles configuration from a package installation script, even before
138# the files of that package are installed on disk.
139#
140# Example:
141# Source1: %{name}-tmpfiles.conf
142# ...
143# %install
144# install -D %SOURCE1 %{buildroot}%{_tmpfilesdir}/%{name}.conf
145# %pre
146# %tmpfiles_create_package %{name} %SOURCE1
147# %files
148# %{_tmpfilesdir}/%{name}.conf
149%tmpfiles_create_package() \
1061fc1c 150%{expand:%%{?!__systemd_twoargs_%#:%%{error:The %%%%tmpfiles_create_package macro requires two arguments}}} \
3e6e0856 151systemd-tmpfiles --replace=%_tmpfilesdir/%1.conf --create - <<SYSTEMD_INLINE_EOF || : \
dd2490ae 152%(cat %2) \
93406fd3 153SYSTEMD_INLINE_EOF\
0f78fee8
ZJS
154%{nil}
155
b532bdea 156%sysctl_apply() \
281014b7 157%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# sysctl_apply}} \
b0ca7265 158[ -x @rootlibexecdir@/systemd-sysctl ] && @rootlibexecdir@/systemd-sysctl %{?*} || : \
b532bdea
LP
159%{nil}
160
161%binfmt_apply() \
281014b7 162%{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# binfmt_apply}} \
b0ca7265 163[ -x @rootlibexecdir@/systemd-binfmt ] && @rootlibexecdir@/systemd-binfmt %{?*} || : \
b532bdea 164%{nil}