]>
Commit | Line | Data |
---|---|---|
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 \ |
32 | Requires(post): systemd \ | |
33 | Requires(preun): systemd \ | |
34 | Requires(postun): systemd \ | |
35 | %{nil} | |
36 | ||
2424b6bd HH |
37 | %systemd_ordering \ |
38 | OrderWithRequires(post): systemd \ | |
39 | OrderWithRequires(preun): systemd \ | |
40 | OrderWithRequires(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}} \ |
48 | if [ $1 -eq 1 ] && [ -x @bindir@/systemctl ]; then \ | |
590f18a2 | 49 | # Initial installation \ |
b0ca7265 | 50 | @bindir@/systemctl --no-reload preset %{?*} || : \ |
590f18a2 LP |
51 | fi \ |
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}} \ |
58 | if [ $1 -eq 0 ] && [ -x @bindir@/systemctl ]; then \ | |
590f18a2 | 59 | # Package removal, not upgrade \ |
b0ca7265 | 60 | @bindir@/systemctl --no-reload disable --now %{?*} || : \ |
590f18a2 LP |
61 | fi \ |
62 | %{nil} | |
63 | ||
7c67f0f7 | 64 | %systemd_user_preun() \ |
281014b7 ZJS |
65 | %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_user_preun}} \ |
66 | if [ $1 -eq 0 ] && [ -x @bindir@/systemctl ]; then \ | |
7c67f0f7 | 67 | # Package removal, not upgrade \ |
b0ca7265 | 68 | @bindir@/systemctl --global disable %{?*} || : \ |
7c67f0f7 ZJS |
69 | fi \ |
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}} \ |
82 | if [ $1 -ge 1 ] && [ -x @bindir@/systemctl ]; then \ | |
590f18a2 | 83 | # Package upgrade, not uninstall \ |
b0ca7265 | 84 | @bindir@/systemctl try-restart %{?*} || : \ |
590f18a2 LP |
85 | fi \ |
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 | 113 | SYSTEMD_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 | 131 | systemd-sysusers --replace=%_sysusersdir/%1.conf - <<SYSTEMD_INLINE_EOF || : \ |
dd2490ae | 132 | %(cat %2) \ |
93406fd3 | 133 | SYSTEMD_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 | 151 | systemd-tmpfiles --replace=%_tmpfilesdir/%1.conf --create - <<SYSTEMD_INLINE_EOF || : \ |
dd2490ae | 152 | %(cat %2) \ |
93406fd3 | 153 | SYSTEMD_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} |