]>
Commit | Line | Data |
---|---|---|
873e4133 | 1 | # -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ |
d9215cd8 | 2 | # SPDX-License-Identifier: LGPL-2.1+ |
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 | ||
590f18a2 LP |
43 | %systemd_post() \ |
44 | if [ $1 -eq 1 ] ; then \ | |
45 | # Initial installation \ | |
030caa65 | 46 | systemctl --no-reload preset %{?*} &>/dev/null || : \ |
590f18a2 LP |
47 | fi \ |
48 | %{nil} | |
49 | ||
28d36da6 | 50 | %systemd_user_post() %{expand:%systemd_post \\--global %%{?*}} |
7c67f0f7 | 51 | |
590f18a2 LP |
52 | %systemd_preun() \ |
53 | if [ $1 -eq 0 ] ; then \ | |
54 | # Package removal, not upgrade \ | |
030caa65 | 55 | systemctl --no-reload disable --now %{?*} &>/dev/null || : \ |
590f18a2 LP |
56 | fi \ |
57 | %{nil} | |
58 | ||
7c67f0f7 ZJS |
59 | %systemd_user_preun() \ |
60 | if [ $1 -eq 0 ] ; then \ | |
61 | # Package removal, not upgrade \ | |
030caa65 | 62 | systemctl --global disable %{?*} &>/dev/null || : \ |
7c67f0f7 ZJS |
63 | fi \ |
64 | %{nil} | |
65 | ||
873e4133 | 66 | %systemd_postun() %{nil} |
590f18a2 | 67 | |
7c67f0f7 ZJS |
68 | %systemd_user_postun() %{nil} |
69 | ||
590f18a2 | 70 | %systemd_postun_with_restart() \ |
590f18a2 LP |
71 | if [ $1 -ge 1 ] ; then \ |
72 | # Package upgrade, not uninstall \ | |
030caa65 | 73 | systemctl try-restart %{?*} &>/dev/null || : \ |
590f18a2 LP |
74 | fi \ |
75 | %{nil} | |
1b0fcd74 | 76 | |
7c67f0f7 ZJS |
77 | %systemd_user_postun_with_restart() %{nil} |
78 | ||
32a00a9c | 79 | %udev_hwdb_update() %{nil} |
1b0fcd74 | 80 | |
32a00a9c | 81 | %udev_rules_update() %{nil} |
1b0fcd74 | 82 | |
32a00a9c | 83 | %journal_catalog_update() %{nil} |
042e33ae | 84 | |
0f78fee8 | 85 | # Deprecated. Use %tmpfiles_create_package instead |
042e33ae | 86 | %tmpfiles_create() \ |
030caa65 | 87 | systemd-tmpfiles --create %{?*} &>/dev/null || : \ |
042e33ae | 88 | %{nil} |
b532bdea | 89 | |
07a7d4a0 | 90 | # Deprecated. Use %sysusers_create_package instead |
b532bdea | 91 | %sysusers_create() \ |
030caa65 | 92 | systemd-sysusers %{?*} &>/dev/null || : \ |
b532bdea LP |
93 | %{nil} |
94 | ||
0e77023e | 95 | %sysusers_create_inline() \ |
030caa65 | 96 | systemd-sysusers - <<SYSTEMD_INLINE_EOF &>/dev/null || : \ |
c2887d56 | 97 | %{?*} \ |
dd2490ae | 98 | SYSTEMD_INLINE_EOF \ |
0e77023e LP |
99 | %{nil} |
100 | ||
0f78fee8 ZJS |
101 | # This should be used by package installation scripts which require users or |
102 | # groups to be present before the files installed by the package are present on | |
103 | # disk (for example because some files are owned by those users or groups). | |
07a7d4a0 ZJS |
104 | # |
105 | # Example: | |
0f78fee8 | 106 | # Source1: %{name}-sysusers.conf |
07a7d4a0 ZJS |
107 | # ... |
108 | # %install | |
0f78fee8 | 109 | # install -D %SOURCE1 %{buildroot}%{_sysusersdir}/%{name}.conf |
07a7d4a0 ZJS |
110 | # %pre |
111 | # %sysusers_create_package %{name} %SOURCE1 | |
112 | # %files | |
0f78fee8 | 113 | # %{_sysusersdir}/%{name}.conf |
07a7d4a0 | 114 | %sysusers_create_package() \ |
030caa65 | 115 | systemd-sysusers --replace=%_sysusersdir/%1.conf - <<SYSTEMD_INLINE_EOF &>/dev/null || : \ |
dd2490ae ZJS |
116 | %(cat %2) \ |
117 | SYSTEMD_INLINE_EOF \ | |
07a7d4a0 ZJS |
118 | %{nil} |
119 | ||
0f78fee8 ZJS |
120 | # This may be used by package installation scripts to create files according to |
121 | # their tmpfiles configuration from a package installation script, even before | |
122 | # the files of that package are installed on disk. | |
123 | # | |
124 | # Example: | |
125 | # Source1: %{name}-tmpfiles.conf | |
126 | # ... | |
127 | # %install | |
128 | # install -D %SOURCE1 %{buildroot}%{_tmpfilesdir}/%{name}.conf | |
129 | # %pre | |
130 | # %tmpfiles_create_package %{name} %SOURCE1 | |
131 | # %files | |
132 | # %{_tmpfilesdir}/%{name}.conf | |
133 | %tmpfiles_create_package() \ | |
030caa65 | 134 | systemd-tmpfiles --replace=%_tmpfilesdir/%1.conf --create - <<SYSTEMD_INLINE_EOF &>/dev/null || : \ |
dd2490ae ZJS |
135 | %(cat %2) \ |
136 | SYSTEMD_INLINE_EOF \ | |
0f78fee8 ZJS |
137 | %{nil} |
138 | ||
b532bdea | 139 | %sysctl_apply() \ |
030caa65 | 140 | @rootlibexecdir@/systemd-sysctl %{?*} &>/dev/null || : \ |
b532bdea LP |
141 | %{nil} |
142 | ||
143 | %binfmt_apply() \ | |
030caa65 | 144 | @rootlibexecdir@/systemd-binfmt %{?*} &>/dev/null || : \ |
b532bdea | 145 | %{nil} |