mirror of
https://git.proxmox.com/git/systemd
synced 2025-08-16 02:29:02 +00:00

This makes sure that systemd-sysusers was executed as well as systemd-tmpfiles to setup proper permissions for /var/log/journal before systemd-journald is being restarted.
88 lines
2.8 KiB
Bash
88 lines
2.8 KiB
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
_systemctl() {
|
|
if [ -z "$DPKG_ROOT" ] && [ -d /run/systemd/system ]; then
|
|
systemctl "$@"
|
|
fi
|
|
}
|
|
|
|
_update_catalog() {
|
|
journalctl ${DPKG_ROOT:+--root="$DPKG_ROOT"} --update-catalog || true
|
|
}
|
|
|
|
_update_binfmt() {
|
|
# If binfmt-support is installed and active do not restart
|
|
# systemd-binfmt.service. It will unregister all currently registered
|
|
# binary formats in ExecStop and not all packages with a binfmt-support
|
|
# configuration ship a corresponding binfmt.d snippet yet.
|
|
# Once this is the case, this additional safety check can be removed.
|
|
if ! _systemctl -q is-active binfmt-support.service; then
|
|
_systemctl try-restart systemd-binfmt.service || true
|
|
fi
|
|
}
|
|
|
|
# Update Message Catalogs database and binfmt registrations in response to dpkg triggers
|
|
if [ "$1" = "triggered" ]; then
|
|
shift
|
|
for trigger in $@; do
|
|
case $trigger in
|
|
/usr/lib/systemd/catalog)
|
|
_update_catalog
|
|
;;
|
|
/usr/lib/binfmt.d)
|
|
_update_binfmt
|
|
;;
|
|
esac
|
|
done
|
|
exit 0
|
|
fi
|
|
|
|
# Enable getty and remote-fs.target by default on new installs
|
|
if [ -z "$2" ]; then
|
|
systemctl ${DPKG_ROOT:+--root="$DPKG_ROOT"} enable getty@tty1.service || true
|
|
systemctl ${DPKG_ROOT:+--root="$DPKG_ROOT"} enable remote-fs.target || true
|
|
fi
|
|
|
|
# Enable systemd-pstore by default on new installs and upgrades, see #952767
|
|
if dpkg --compare-versions "$2" lt "245.4-4~"; then
|
|
systemctl ${DPKG_ROOT:+--root="$DPKG_ROOT"} enable systemd-pstore.service || true
|
|
fi
|
|
|
|
# Create /etc/machine-id
|
|
systemd-machine-id-setup ${DPKG_ROOT:+--root="$DPKG_ROOT"}
|
|
|
|
# Enable persistent journal, in auto-mode, by default on new installs and upgrades
|
|
if dpkg --compare-versions "$2" lt "244.1-2~"; then
|
|
mkdir -p "$DPKG_ROOT/var/log/journal"
|
|
fi
|
|
|
|
# Initial update of the Message Catalogs database
|
|
_update_catalog
|
|
|
|
if dpkg --compare-versions "$2" lt-nl "245.4-4~"; then
|
|
# systemd-pstore.service is now enabled via sysinit.target
|
|
rm -f /etc/systemd/system/systemd-remount-fs.service.wants/systemd-pstore.service
|
|
rmdir --ignore-fail-on-non-empty /etc/systemd/system/systemd-remount-fs.service.wants 2> /dev/null || true
|
|
fi
|
|
|
|
if dpkg --compare-versions "$2" lt-nl "245.4-5~"; then
|
|
# Clean up removed ondemand service
|
|
rm -f /etc/systemd/system/multi-user.target.wants/ondemand.service
|
|
fi
|
|
|
|
#DEBHELPER#
|
|
|
|
if [ -n "$2" ]; then
|
|
_systemctl daemon-reexec || true
|
|
# do not restart logind
|
|
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919509
|
|
if dpkg --compare-versions "$2" lt-nl "246.2-2~"; then
|
|
# the socket configuration changed
|
|
_systemctl stop systemd-networkd.socket || true
|
|
fi
|
|
_systemctl try-restart systemd-networkd.service || true
|
|
_systemctl try-restart systemd-journald.service || true
|
|
fi
|