| # -*- 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_post() \ |
| if [ $1 -eq 1 ] ; then \ |
| # Initial installation \ |
| systemctl --no-reload preset %{?*} &>/dev/null || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_user_post() %{expand:%systemd_post \\--global %%{?*}} |
| |
| %systemd_preun() \ |
| if [ $1 -eq 0 ] ; then \ |
| # Package removal, not upgrade \ |
| systemctl --no-reload disable --now %{?*} &>/dev/null || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_user_preun() \ |
| if [ $1 -eq 0 ] ; then \ |
| # Package removal, not upgrade \ |
| systemctl --global disable %{?*} &>/dev/null || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_postun() %{nil} |
| |
| %systemd_user_postun() %{nil} |
| |
| %systemd_postun_with_restart() \ |
| if [ $1 -ge 1 ] ; then \ |
| # Package upgrade, not uninstall \ |
| systemctl try-restart %{?*} &>/dev/null || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_user_postun_with_restart() %{nil} |
| |
| %udev_hwdb_update() %{nil} |
| |
| %udev_rules_update() %{nil} |
| |
| %journal_catalog_update() %{nil} |
| |
| # Deprecated. Use %tmpfiles_create_package instead |
| %tmpfiles_create() \ |
| systemd-tmpfiles --create %{?*} &>/dev/null || : \ |
| %{nil} |
| |
| # Deprecated. Use %sysusers_create_package instead |
| %sysusers_create() \ |
| systemd-sysusers %{?*} &>/dev/null || : \ |
| %{nil} |
| |
| %sysusers_create_inline() \ |
| systemd-sysusers - <<SYSTEMD_INLINE_EOF &>/dev/null || : \ |
| %{?*} \ |
| 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() \ |
| systemd-sysusers --replace=%_sysusersdir/%1.conf - <<SYSTEMD_INLINE_EOF &>/dev/null || : \ |
| %(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() \ |
| systemd-tmpfiles --replace=%_tmpfilesdir/%1.conf --create - <<SYSTEMD_INLINE_EOF &>/dev/null || : \ |
| %(cat %2) \ |
| SYSTEMD_INLINE_EOF \ |
| %{nil} |
| |
| %sysctl_apply() \ |
| @rootlibexecdir@/systemd-sysctl %{?*} &>/dev/null || : \ |
| %{nil} |
| |
| %binfmt_apply() \ |
| @rootlibexecdir@/systemd-binfmt %{?*} &>/dev/null || : \ |
| %{nil} |