summaryrefslogtreecommitdiffstats
path: root/debian/libnss-resolve.postrm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/libnss-resolve.postrm33
1 files changed, 33 insertions, 0 deletions
diff --git a/debian/libnss-resolve.postrm b/debian/libnss-resolve.postrm
new file mode 100644
index 0000000..c951b86
--- /dev/null
+++ b/debian/libnss-resolve.postrm
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+set -e
+
+remove_nss_entry() {
+ local file=$1
+ local pkg=$2
+ local module=$3
+ refcount=$(dpkg-query -f '${db:Status-Abbrev} ${binary:Package}\n' \
+ -W $pkg | grep '^i' | wc -l)
+ if [ "$refcount" -gt 0 ] ; then
+ # package is installed for other architectures still, do nothing
+ return
+ fi
+ echo "Checking NSS setup..."
+ # abort if file does not exist
+ if ! [ -e $file ]; then
+ echo "Could not find ${file}."
+ return
+ fi
+ # we must remove possible [foo=bar] options as well
+ sed -i -r "/hosts:/ s/[[:space:]]+$module\b([[:space:]]*\[[^]]*\])*//" $file
+}
+
+if [ "$1" = remove ]; then
+ remove_nss_entry /etc/nsswitch.conf libnss-resolve resolve
+ systemctl disable systemd-resolved.service
+ if [ -d /run/systemd/system ]; then
+ deb-systemd-invoke stop systemd-resolved.service || true
+ fi
+fi
+
+#DEBHELPER#