| # -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ |
| # SPDX-License-Identifier: LGPL-2.1+ |
| # |
| # This file is part of systemd. |
| |
| # RPM macros for packages installing systemd unit files |
| |
| %_unitdir @systemunitdir@ |
| %_userunitdir @userunitdir@ |
| %_presetdir @systempresetdir@ |
| %_userpresetdir @userpresetdir@ |
| %_udevhwdbdir @udevhwdbdir@ |
| %_udevrulesdir @udevrulesdir@ |
| %_journalcatalogdir @catalogdir@ |
| %_binfmtdir @binfmtdir@ |
| %_sysctldir @sysctldir@ |
| %_sysusersdir @sysusersdir@ |
| %_tmpfilesdir @tmpfilesdir@ |
| %_environmentdir @environmentdir@ |
| %_modulesloaddir @modulesloaddir@ |
| %_modprobedir @modprobedir@ |
| %_systemdgeneratordir @systemgeneratordir@ |
| %_systemdusergeneratordir @usergeneratordir@ |
| %_systemd_system_env_generator_dir @systemenvgeneratordir@ |
| %_systemd_user_env_generator_dir @userenvgeneratordir@ |
| |
| # Because we had one release with a typo... |
| # This is temporary (Remove after systemd 240 is released) |
| %_environmnentdir %{warn:Use %%_environmentdir instead}%_environmentdir |
| |
| %systemd_requires \ |
| Requires(post): systemd \ |
| Requires(preun): systemd \ |
| Requires(postun): systemd \ |
| %{nil} |
| |
| %systemd_ordering \ |
| OrderWithRequires(post): systemd \ |
| OrderWithRequires(preun): systemd \ |
| OrderWithRequires(postun): systemd \ |
| %{nil} |
| |
| %__systemd_someargs_0() %{error:This macro requires some arguments} |
| %__systemd_twoargs_2() %{nil} |
| |
| %systemd_post() \ |
| %{expand:%%{?__systemd_someargs_%#}} \ |
| if [ $1 -eq 1 ] && [ -x @bindir@/systemctl ] ; then \ |
| # Initial installation \ |
| @bindir@/systemctl --no-reload preset %{?*} || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_user_post() %{expand:%systemd_post \\--global %%{?*}} |
| |
| %systemd_preun() \ |
| %{expand:%%{?__systemd_someargs_%#}} \ |
| if [ $1 -eq 0 ] && [ -x @bindir@/systemctl ] ; then \ |
| # Package removal, not upgrade \ |
| @bindir@/systemctl --no-reload disable --now %{?*} || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_user_preun() \ |
| %{expand:%%{?__systemd_someargs_%#}} \ |
| if [ $1 -eq 0 ] && [ -x @bindir@/systemctl ] ; then \ |
| # Package removal, not upgrade \ |
| @bindir@/systemctl --global disable %{?*} || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_postun() %{expand:%%{?__systemd_someargs_%#}}%{nil} |
| |
| %systemd_user_postun() %{expand:%%{?__systemd_someargs_%#}}%{nil} |
| |
| %systemd_postun_with_restart() \ |
| %{expand:%%{?__systemd_someargs_%#}} \ |
| if [ $1 -ge 1 ] && [ -x @bindir@/systemctl ] ; then \ |
| # Package upgrade, not uninstall \ |
| @bindir@/systemctl try-restart %{?*} || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_user_postun_with_restart() %{expand:%%{?__systemd_someargs_%#}}%{nil} |
| |
| %udev_hwdb_update() %{nil} |
| |
| %udev_rules_update() %{nil} |
| |
| %journal_catalog_update() %{nil} |
| |
| # Deprecated. Use %tmpfiles_create_package instead |
| %tmpfiles_create() \ |
| %{expand:%%{?__systemd_someargs_%#}} \ |
| [ -x @bindir@/systemd-tmpfiles ] && @bindir@/systemd-tmpfiles --create %{?*} || : \ |
| %{nil} |
| |
| # Deprecated. Use %sysusers_create_package instead |
| %sysusers_create() \ |
| %{expand:%%{?__systemd_someargs_%#}} \ |
| [ -x @bindir@/systemd-sysusers ] && @bindir@/systemd-sysusers %{?*} || : \ |
| %{nil} |
| |
| %sysusers_create_inline() \ |
| [ -x @bindir@/systemd-sysusers ] && @bindir@/systemd-sysusers - <<SYSTEMD_INLINE_EOF || : \ |
| %{?*} \ |
| SYSTEMD_INLINE_EOF \ |
| %{nil} |
| |
| # This should be used by package installation scripts which require users or |
| # groups to be present before the files installed by the package are present on |
| # disk (for example because some files are owned by those users or groups). |
| # |
| # Example: |
| # Source1: %{name}-sysusers.conf |
| # ... |
| # %install |
| # install -D %SOURCE1 %{buildroot}%{_sysusersdir}/%{name}.conf |
| # %pre |
| # %sysusers_create_package %{name} %SOURCE1 |
| # %files |
| # %{_sysusersdir}/%{name}.conf |
| %sysusers_create_package() \ |
| %{expand:%%{?!__systemd_twoargs_%#:%%{error:This macro requires two arguments}}} \ |
| systemd-sysusers --replace=%_sysusersdir/%1.conf - <<SYSTEMD_INLINE_EOF >/dev/null 2>&1 || : \ |
| %(cat %2) \ |
| SYSTEMD_INLINE_EOF \ |
| %{nil} |
| |
| # This may be used by package installation scripts to create files according to |
| # their tmpfiles configuration from a package installation script, even before |
| # the files of that package are installed on disk. |
| # |
| # Example: |
| # Source1: %{name}-tmpfiles.conf |
| # ... |
| # %install |
| # install -D %SOURCE1 %{buildroot}%{_tmpfilesdir}/%{name}.conf |
| # %pre |
| # %tmpfiles_create_package %{name} %SOURCE1 |
| # %files |
| # %{_tmpfilesdir}/%{name}.conf |
| %tmpfiles_create_package() \ |
| %{expand:%%{?!__systemd_twoargs_%#:%%{error:This macro requires two arguments}}} \ |
| systemd-tmpfiles --replace=%_tmpfilesdir/%1.conf --create - <<SYSTEMD_INLINE_EOF >/dev/null 2>&1 || : \ |
| %(cat %2) \ |
| SYSTEMD_INLINE_EOF \ |
| %{nil} |
| |
| %sysctl_apply() \ |
| %{expand:%%{?__systemd_someargs_%#}} \ |
| [ -x @rootlibexecdir@/systemd-sysctl ] && @rootlibexecdir@/systemd-sysctl %{?*} || : \ |
| %{nil} |
| |
| %binfmt_apply() \ |
| %{expand:%%{?__systemd_someargs_%#}} \ |
| [ -x @rootlibexecdir@/systemd-binfmt ] && @rootlibexecdir@/systemd-binfmt %{?*} || : \ |
| %{nil} |