133 lines
4.8 KiB
Plaintext
133 lines
4.8 KiB
Plaintext
|
# -*- Mode: rpm-spec; indent-tabs-mode: nil -*-
|
||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||
|
#
|
||
|
# This file is part of systemd.
|
||
|
# Copyright © 2018 Neal Gompa
|
||
|
|
||
|
# The contents of this are an example to be copied into systemd.spec.
|
||
|
#
|
||
|
# Minimum rpm version supported: 4.14.0
|
||
|
|
||
|
%transfiletriggerin -P 900900 -p <lua> -- /usr/lib/systemd/system /etc/systemd/system
|
||
|
-- This script will run after any package is initially installed or
|
||
|
-- upgraded. We care about the case where a package is initially
|
||
|
-- installed, because other cases are covered by the *un scriptlets,
|
||
|
-- so sometimes we will reload needlessly.
|
||
|
pid = posix.fork()
|
||
|
if pid == 0 then
|
||
|
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "system-reload-restart"))
|
||
|
elseif pid > 0 then
|
||
|
posix.wait(pid)
|
||
|
end
|
||
|
|
||
|
%transfiletriggerin -P 900899 -p <lua> -- /usr/lib/systemd/user /etc/systemd/user
|
||
|
pid = posix.fork()
|
||
|
if pid == 0 then
|
||
|
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "user-reload-restart"))
|
||
|
elseif pid > 0 then
|
||
|
posix.wait(pid)
|
||
|
end
|
||
|
|
||
|
%transfiletriggerpostun -P 1000100 -p <lua> -- /usr/lib/systemd/system /etc/systemd/system
|
||
|
-- On removal, we need to run daemon-reload after any units have been
|
||
|
-- removed.
|
||
|
-- On upgrade, we need to run daemon-reload after any new unit files
|
||
|
-- have been installed, but before %postun scripts in packages get
|
||
|
-- executed.
|
||
|
pid = posix.fork()
|
||
|
if pid == 0 then
|
||
|
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "system-reload"))
|
||
|
elseif pid > 0 then
|
||
|
posix.wait(pid)
|
||
|
end
|
||
|
|
||
|
%transfiletriggerpostun -P 1000100 -p <lua> -- /usr/lib/systemd/system /etc/systemd/system
|
||
|
-- Execute daemon-reload in user managers.
|
||
|
pid = posix.fork()
|
||
|
if pid == 0 then
|
||
|
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "user-reload"))
|
||
|
elseif pid > 0 then
|
||
|
posix.wait(pid)
|
||
|
end
|
||
|
|
||
|
%transfiletriggerpostun -P 10000 -p <lua> -- /usr/lib/systemd/system /etc/systemd/system
|
||
|
-- We restart remaining system services that should be restarted here.
|
||
|
pid = posix.fork()
|
||
|
if pid == 0 then
|
||
|
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "system-restart"))
|
||
|
elseif pid > 0 then
|
||
|
posix.wait(pid)
|
||
|
end
|
||
|
|
||
|
%transfiletriggerpostun -P 9999 -p <lua> -- /usr/lib/systemd/user /etc/systemd/user
|
||
|
-- We restart remaining user services that should be restarted here.
|
||
|
pid = posix.fork()
|
||
|
if pid == 0 then
|
||
|
assert(posix.exec("/usr/lib/systemd/systemd-update-helper", "user-restart"))
|
||
|
elseif pid > 0 then
|
||
|
posix.wait(pid)
|
||
|
end
|
||
|
|
||
|
%transfiletriggerin -P 1000700 -p <lua> -- /usr/lib/sysusers.d
|
||
|
-- This script will process files installed in /usr/lib/sysusers.d to create
|
||
|
-- specified users automatically. The priority is set such that it
|
||
|
-- will run before the tmpfiles file trigger.
|
||
|
-- Note: /run is never mounted during transactional updates.
|
||
|
if posix.access("/run/systemd/system") then
|
||
|
assert(rpm.execute("systemd-sysusers"))
|
||
|
end
|
||
|
|
||
|
%if %{without bootstrap}
|
||
|
%transfiletriggerin -P 1000700 -n udev -p <lua> -- /usr/lib/udev/hwdb.d
|
||
|
-- This script will automatically invoke hwdb update if files have been
|
||
|
-- installed or updated in /usr/lib/udev/hwdb.d.
|
||
|
assert(rpm.execute("systemd-hwdb", "update"))
|
||
|
%endif
|
||
|
|
||
|
%transfiletriggerin -P 1000700 -p <lua> -- /usr/lib/systemd/catalog
|
||
|
-- This script will automatically invoke journal catalog update if files
|
||
|
-- have been installed or updated in /usr/lib/systemd/catalog.
|
||
|
assert(rpm.execute("journalctl", "--update-catalog"))
|
||
|
|
||
|
%transfiletriggerin -P 1000700 -p <lua> -- /usr/lib/binfmt.d
|
||
|
-- This script will automatically apply binfmt rules if files have been
|
||
|
-- installed or updated in /usr/lib/binfmt.d.
|
||
|
if posix.access("/run/systemd/system") then
|
||
|
pid = posix.fork()
|
||
|
if pid == 0 then
|
||
|
assert(posix.exec("/usr/lib/systemd/systemd-binfmt"))
|
||
|
elseif pid > 0 then
|
||
|
posix.wait(pid)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
%transfiletriggerin -P 1000600 -p <lua> -- /usr/lib/tmpfiles.d
|
||
|
-- This script will process files installed in /usr/lib/tmpfiles.d to create
|
||
|
-- tmpfiles automatically. The priority is set such that it will run
|
||
|
-- after the sysusers file trigger, but before any other triggers.
|
||
|
-- Note: /run is never mounted during transactional updates.
|
||
|
if posix.access("/run/systemd/system") then
|
||
|
assert(rpm.execute("systemd-tmpfiles", "--create"))
|
||
|
end
|
||
|
|
||
|
%if %{without bootstrap}
|
||
|
%transfiletriggerin -P 1000600 -n udev -p <lua> -- /usr/lib/udev/rules.d
|
||
|
-- This script will automatically update udev with new rules if files
|
||
|
-- have been installed or updated in /usr/lib/udev/rules.d.
|
||
|
if posix.access("/run/udev/control") then
|
||
|
assert(rpm.execute("udevadm", "control", "--reload"))
|
||
|
end
|
||
|
%endif
|
||
|
|
||
|
%transfiletriggerin -P 1000500 -p <lua> -- /usr/lib/sysctl.d
|
||
|
-- This script will automatically apply sysctl rules if files have been
|
||
|
-- installed or updated in /usr/lib/sysctl.d.
|
||
|
if posix.access("/run/systemd/system") then
|
||
|
pid = posix.fork()
|
||
|
if pid == 0 then
|
||
|
assert(posix.exec("/usr/lib/systemd/systemd-sysctl"))
|
||
|
elseif pid > 0 then
|
||
|
posix.wait(pid)
|
||
|
end
|
||
|
end
|