81 lines
3.7 KiB
Bash
Executable File
81 lines
3.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
_adopt_conffile() {
|
|
conffile=$1
|
|
pkg=$2
|
|
|
|
[ -f "${conffile}.dpkg-bak" ] || return 0
|
|
|
|
md5sum="$(md5sum "${conffile}" | sed -e 's/ .*//')"
|
|
old_md5sum="$(dpkg-query -W -f='${Conffiles}' "$pkg" | \
|
|
sed -n -e "\' ${conffile} ' { s/ obsolete$//; s/.* //; p }")"
|
|
# On new installs, if the policy file was preserved on systemd upgrade
|
|
# by dpkg-maintscript helper, copy it back if the new file has not been modified yet
|
|
if [ "$md5sum" = "$old_md5sum" ]; then
|
|
mv "${conffile}.dpkg-bak" "${conffile}"
|
|
fi
|
|
}
|
|
|
|
|
|
if [ "$1" = configure ] && [ -z "$2" ]; then
|
|
_adopt_conffile "${DPKG_ROOT}/etc/systemd/resolved.conf" systemd-resolved
|
|
fi
|
|
|
|
if [ "$1" = configure ] && dpkg --compare-versions "$2" lt 251.4-2; then
|
|
if [ "$(readlink "${DPKG_ROOT}/etc/resolv.conf")" != "../run/systemd/resolve/stub-resolv.conf" ] && [ "$(readlink "${DPKG_ROOT}/etc/resolv.conf")" != "/run/systemd/resolve/stub-resolv.conf" ]; then
|
|
echo "Converting /etc/resolv.conf to a symlink to /run/systemd/resolve/stub-resolv.conf..."
|
|
mkdir -p "${DPKG_ROOT}/run/systemd/resolve"
|
|
if [ -f "${DPKG_ROOT}/etc/resolv.conf" ]; then
|
|
cp "${DPKG_ROOT}/etc/resolv.conf" "${DPKG_ROOT}/run/systemd/resolve/stub-resolv.conf" || echo "Cannot copy /etc/resolv.conf to /run/systemd/resolve/stub-resolv.conf"
|
|
mv "${DPKG_ROOT}/etc/resolv.conf" "${DPKG_ROOT}/etc/.resolv.conf.systemd-resolved.bak" || echo "Cannot take a backup of /etc/resolv.conf."
|
|
fi
|
|
ln -sf ../run/systemd/resolve/stub-resolv.conf "${DPKG_ROOT}/etc/resolv.conf" || echo "Cannot install symlink from /etc/resolv.conf to ../run/systemd/resolve/stub-resolv.conf"
|
|
fi
|
|
fi
|
|
|
|
# Automatically added by dh_installsysusers/13.14.1ubuntu5
|
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
|
systemd-sysusers ${DPKG_ROOT:+--root="$DPKG_ROOT"} systemd-resolve.conf
|
|
fi
|
|
# End automatically added section
|
|
# Automatically added by dh_installtmpfiles/13.14.1ubuntu5
|
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
|
if [ -x "$(command -v systemd-tmpfiles)" ]; then
|
|
systemd-tmpfiles ${DPKG_ROOT:+--root="$DPKG_ROOT"} --create systemd-resolve.conf || true
|
|
fi
|
|
fi
|
|
# End automatically added section
|
|
# Automatically added by dh_installsystemd/13.14.1ubuntu5
|
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
|
# The following line should be removed in trixie or trixie+1
|
|
deb-systemd-helper unmask 'systemd-resolved.service' >/dev/null || true
|
|
|
|
# was-enabled defaults to true, so new installations run enable.
|
|
if deb-systemd-helper --quiet was-enabled 'systemd-resolved.service'; then
|
|
# Enables the unit on first installation, creates new
|
|
# symlinks on upgrades if the unit file has changed.
|
|
deb-systemd-helper enable 'systemd-resolved.service' >/dev/null || true
|
|
else
|
|
# Update the statefile to add new symlinks (if any), which need to be
|
|
# cleaned up on purge. Also remove old symlinks.
|
|
deb-systemd-helper update-state 'systemd-resolved.service' >/dev/null || true
|
|
fi
|
|
fi
|
|
# End automatically added section
|
|
# Automatically added by dh_installsystemd/13.14.1ubuntu5
|
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
|
if [ -d /run/systemd/system ]; then
|
|
systemctl --system daemon-reload >/dev/null || true
|
|
if [ -n "$2" ]; then
|
|
_dh_action=restart
|
|
else
|
|
_dh_action=start
|
|
fi
|
|
deb-systemd-invoke $_dh_action 'systemd-resolved.service' >/dev/null || true
|
|
fi
|
|
fi
|
|
# End automatically added section
|
|
|