summaryrefslogtreecommitdiffstats
path: root/debian/systemd-resolved.postinst
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:35:19 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:35:19 +0000
commitb7e8d5af06ee840cc48217ca4629cf28aeeb3c50 (patch)
tree6aa8dc840b085de50db46e2ad0725eae248fef02 /debian/systemd-resolved.postinst
parentAdding upstream version 252.22. (diff)
downloadsystemd-debian.tar.xz
systemd-debian.zip
Adding debian version 252.22-1~deb12u1.debian/252.22-1_deb12u1debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/systemd-resolved.postinst')
-rw-r--r--debian/systemd-resolved.postinst36
1 files changed, 36 insertions, 0 deletions
diff --git a/debian/systemd-resolved.postinst b/debian/systemd-resolved.postinst
new file mode 100644
index 0000000..07518ba
--- /dev/null
+++ b/debian/systemd-resolved.postinst
@@ -0,0 +1,36 @@
+#!/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..."
+ if [ -f "${DPKG_ROOT}/etc/resolv.conf" ]; then
+ 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
+
+#DEBHELPER#