64691d2024
Environment file generators are a lot like unit file generators, but not exactly: 1. environment file generators are run for each manager instance, and their output is (or at least can be) individualized. The generators themselves are system-wide, the same for all users. 2. environment file generators are run sequentially, in priority order. Thus, the lifetime of those files is tied to lifecycle of the manager instance. Because generators are run sequentially, later generators can use or modify the output of earlier generators. Each generator is run with no arguments, and the whole state is stored in the environment variables. The generator can echo a set of variable assignments to standard output: VAR_A=something VAR_B=something else This output is parsed, and the next and subsequent generators run with those updated variables in the environment. After the last generator is done, the environment that the manager itself exports is updated. Each generator must return 0, otherwise the output is ignored. The generators in */user-env-generator are for the user session managers, including root, and the ones in */system-env-generator are for pid1.
116 lines
3 KiB
Plaintext
116 lines
3 KiB
Plaintext
# -*- Mode: rpm-spec; indent-tabs-mode: nil -*- */
|
|
#
|
|
# This file is part of systemd.
|
|
#
|
|
# Copyright 2012 Lennart Poettering
|
|
#
|
|
# systemd is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Lesser General Public License as published by
|
|
# the Free Software Foundation; either version 2.1 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# systemd is distributed in the hope that it will be useful, but
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public License
|
|
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# RPM macros for packages installing systemd unit files
|
|
|
|
%_unitdir @systemunitdir@
|
|
%_userunitdir @userunitdir@
|
|
%_presetdir @systempresetdir@
|
|
%_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() \
|
|
systemd-hwdb update >/dev/null 2>&1 || : \
|
|
%{nil}
|
|
|
|
%udev_rules_update() \
|
|
udevadm control --reload >/dev/null 2>&1 || : \
|
|
%{nil}
|
|
|
|
%journal_catalog_update() \
|
|
journalctl --update-catalog >/dev/null 2>&1 || : \
|
|
%{nil}
|
|
|
|
%tmpfiles_create() \
|
|
systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \
|
|
%{nil}
|
|
|
|
%sysusers_create() \
|
|
systemd-sysusers %{?*} >/dev/null 2>&1 || : \
|
|
%{nil}
|
|
|
|
%sysusers_create_inline() \
|
|
echo %{?*} | systemd-sysusers - >/dev/null 2>&1 || : \
|
|
%{nil}
|
|
|
|
%sysctl_apply() \
|
|
@rootlibexecdir@/systemd-sysctl %{?*} >/dev/null 2>&1 || : \
|
|
%{nil}
|
|
|
|
%binfmt_apply() \
|
|
@rootlibexecdir@/systemd-binfmt %{?*} >/dev/null 2>&1 || : \
|
|
%{nil}
|