| # -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */ |
| # SPDX-License-Identifier: LGPL-2.1-or-later |
| # |
| # This file is part of systemd. |
| |
| # RPM macros for packages installing systemd unit files |
| |
| %_systemd_util_dir {{ROOTLIBEXECDIR}} |
| %_unitdir {{SYSTEM_DATA_UNIT_DIR}} |
| %_userunitdir {{USER_DATA_UNIT_DIR}} |
| %_presetdir {{SYSTEM_PRESET_DIR}} |
| %_userpresetdir {{USER_PRESET_DIR}} |
| %_udevhwdbdir {{UDEV_HWDB_DIR}} |
| %_udevrulesdir {{UDEV_RULES_DIR}} |
| %_journalcatalogdir {{SYSTEMD_CATALOG_DIR}} |
| %_binfmtdir {{BINFMT_DIR}} |
| %_sysctldir {{SYSCTL_DIR}} |
| %_sysusersdir {{SYSUSERS_DIR}} |
| %_tmpfilesdir {{TMPFILES_DIR}} |
| %_user_tmpfilesdir {{USER_TMPFILES_DIR}} |
| %_environmentdir {{ENVIRONMENT_DIR}} |
| %_modulesloaddir {{MODULESLOAD_DIR}} |
| %_modprobedir {{MODPROBE_DIR}} |
| %_systemdgeneratordir {{SYSTEM_GENERATOR_DIR}} |
| %_systemdusergeneratordir {{USER_GENERATOR_DIR}} |
| %_systemd_system_env_generator_dir {{SYSTEM_ENV_GENERATOR_DIR}} |
| %_systemd_user_env_generator_dir {{USER_ENV_GENERATOR_DIR}} |
| |
| # 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:The %%%1 macro requires some arguments} |
| %__systemd_twoargs_2() %{nil} |
| |
| %systemd_post() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_post}} \ |
| if [ $1 -eq 1 ] && [ -x "{{SYSTEMD_UPDATE_HELPER_PATH}}" ]; then \ |
| # Initial installation \ |
| {{SYSTEMD_UPDATE_HELPER_PATH}} install-system-units %{?*} || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_user_post() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_user_post}} \ |
| if [ $1 -eq 1 ] && [ -x "{{SYSTEMD_UPDATE_HELPER_PATH}}" ]; then \ |
| # Initial installation \ |
| {{SYSTEMD_UPDATE_HELPER_PATH}} install-user-units %{?*} || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_preun() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_preun}} \ |
| if [ $1 -eq 0 ] && [ -x "{{SYSTEMD_UPDATE_HELPER_PATH}}" ]; then \ |
| # Package removal, not upgrade \ |
| {{SYSTEMD_UPDATE_HELPER_PATH}} remove-system-units %{?*} || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_user_preun() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_user_preun}} \ |
| if [ $1 -eq 0 ] && [ -x "{{SYSTEMD_UPDATE_HELPER_PATH}}" ]; then \ |
| # Package removal, not upgrade \ |
| {{SYSTEMD_UPDATE_HELPER_PATH}} remove-user-units %{?*} || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_postun() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_postun}} \ |
| %{nil} |
| |
| %systemd_user_postun() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_user_postun}} \ |
| %{nil} |
| |
| %systemd_postun_with_restart() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_postun_with_restart}} \ |
| if [ $1 -ge 1 ] && [ -x "{{SYSTEMD_UPDATE_HELPER_PATH}}" ]; then \ |
| # Package upgrade, not uninstall \ |
| {{SYSTEMD_UPDATE_HELPER_PATH}} mark-restart-system-units %{?*} || : \ |
| fi \ |
| %{nil} |
| |
| %systemd_user_postun_with_restart() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# systemd_user_postun_with_restart}} \ |
| if [ $1 -ge 1 ] && [ -x "{{SYSTEMD_UPDATE_HELPER_PATH}}" ]; then \ |
| # Package upgrade, not uninstall \ |
| {{SYSTEMD_UPDATE_HELPER_PATH}} mark-restart-user-units %{?*} || : \ |
| fi \ |
| %{nil} |
| |
| %udev_hwdb_update() %{nil} |
| |
| %udev_rules_update() %{nil} |
| |
| %journal_catalog_update() %{nil} |
| |
| # Deprecated. Use %tmpfiles_create_package instead |
| %tmpfiles_create() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# tmpfiles_create}} \ |
| command -v systemd-tmpfiles >/dev/null && systemd-tmpfiles --create %{?*} || : \ |
| %{nil} |
| |
| # Deprecated. Use %sysusers_create_package instead |
| %sysusers_create() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# sysusers_create}} \ |
| command -v systemd-sysusers >/dev/null && systemd-sysusers %{?*} || : \ |
| %{nil} |
| |
| %sysusers_create_inline() \ |
| command -v systemd-sysusers >/dev/null && 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:The %%%%sysusers_create_package macro requires two arguments}}} \ |
| systemd-sysusers --replace=%_sysusersdir/%1.conf - <<SYSTEMD_INLINE_EOF || : \ |
| %(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:The %%%%tmpfiles_create_package macro requires two arguments}}} \ |
| systemd-tmpfiles --replace=%_tmpfilesdir/%1.conf --create - <<SYSTEMD_INLINE_EOF || : \ |
| %(cat %2) \ |
| SYSTEMD_INLINE_EOF\ |
| %{nil} |
| |
| %sysctl_apply() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# sysctl_apply}} \ |
| [ -x {{ROOTLIBEXECDIR}}/systemd-sysctl ] && {{ROOTLIBEXECDIR}}/systemd-sysctl %{?*} || : \ |
| %{nil} |
| |
| %binfmt_apply() \ |
| %{expand:%%{?__systemd_someargs_%#:%%__systemd_someargs_%# binfmt_apply}} \ |
| [ -x {{ROOTLIBEXECDIR}}/systemd-binfmt ] && {{ROOTLIBEXECDIR}}/systemd-binfmt %{?*} || : \ |
| %{nil} |