11a1589223
Files which are installed as-is (any .service and other unit files, .conf files, .policy files, etc), are left as is. My assumption is that SPDX identifiers are not yet that well known, so it's better to retain the extended header to avoid any doubt. I also kept any copyright lines. We can probably remove them, but it'd nice to obtain explicit acks from all involved authors before doing that.
141 lines
3.7 KiB
Plaintext
141 lines
3.7 KiB
Plaintext
# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */
|
|
# SPDX-License-Identifier: LGPL-2.1+
|
|
#
|
|
# This file is part of systemd.
|
|
#
|
|
# Copyright 2012 Lennart Poettering
|
|
|
|
# RPM macros for packages installing systemd unit files
|
|
|
|
%_unitdir @systemunitdir@
|
|
%_userunitdir @userunitdir@
|
|
%_presetdir @systempresetdir@
|
|
%_userpresetdir @userpresetdir@
|
|
%_udevhwdbdir @udevhwdbdir@
|
|
%_udevrulesdir @udevrulesdir@
|
|
%_journalcatalogdir @catalogdir@
|
|
%_tmpfilesdir @tmpfilesdir@
|
|
%_sysusersdir @sysusersdir@
|
|
%_sysctldir @sysctldir@
|
|
%_binfmtdir @binfmtdir@
|
|
%_systemdgeneratordir @systemgeneratordir@
|
|
%_systemdusergeneratordir @usergeneratordir@
|
|
%_systemd_system_env_generator_dir @systemenvgeneratordir@
|
|
%_systemd_user_env_generator_dir @userenvgeneratordir@
|
|
|
|
%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 2>&1 || : \
|
|
fi \
|
|
%{nil}
|
|
|
|
%systemd_user_post() %{expand:%systemd_post \\--user \\--global %%{?*}}
|
|
|
|
%systemd_preun() \
|
|
if [ $1 -eq 0 ] ; then \
|
|
# Package removal, not upgrade \
|
|
systemctl --no-reload disable --now %{?*} > /dev/null 2>&1 || : \
|
|
fi \
|
|
%{nil}
|
|
|
|
%systemd_user_preun() \
|
|
if [ $1 -eq 0 ] ; then \
|
|
# Package removal, not upgrade \
|
|
systemctl --no-reload --user --global disable %{?*} > /dev/null 2>&1 || : \
|
|
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 2>&1 || : \
|
|
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 2>&1 || : \
|
|
%{nil}
|
|
|
|
# Deprecated. Use %sysusers_create_package instead
|
|
%sysusers_create() \
|
|
systemd-sysusers %{?*} >/dev/null 2>&1 || : \
|
|
%{nil}
|
|
|
|
%sysusers_create_inline() \
|
|
systemd-sysusers - <<SYSTEMD_INLINE_EOF >/dev/null 2>&1 || : \
|
|
%{?*} \
|
|
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 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() \
|
|
systemd-tmpfiles --replace=%_tmpfilesdir/%1.conf --create - <<SYSTEMD_INLINE_EOF >/dev/null 2>&1 || : \
|
|
%(cat %2) \
|
|
SYSTEMD_INLINE_EOF \
|
|
%{nil}
|
|
|
|
%sysctl_apply() \
|
|
@rootlibexecdir@/systemd-sysctl %{?*} >/dev/null 2>&1 || : \
|
|
%{nil}
|
|
|
|
%binfmt_apply() \
|
|
@rootlibexecdir@/systemd-binfmt %{?*} >/dev/null 2>&1 || : \
|
|
%{nil}
|