aboutsummaryrefslogtreecommitdiff
path: root/debian/postrm
diff options
context:
space:
mode:
Diffstat (limited to 'debian/postrm')
-rwxr-xr-xdebian/postrm44
1 files changed, 44 insertions, 0 deletions
diff --git a/debian/postrm b/debian/postrm
new file mode 100755
index 0000000..f7fc630
--- /dev/null
+++ b/debian/postrm
@@ -0,0 +1,44 @@
+#!/bin/sh
+set -e
+
+#DEBHELPER#
+
+log() {
+ echo "libnss-dontstalkme: $*"
+}
+
+remove_dontstalkme() {
+ log "Checking NSS setup..."
+ # abort if /etc/nsswitch.conf does not exist
+ if ! [ -e /etc/nsswitch.conf ]; then
+ log "Could not find /etc/nsswitch.conf."
+ return
+ fi
+ log "Removing dontstalkm from NSS setup"
+ perl -i -pe '
+ my @remove=(
+ "dontstalkme",
+ );
+ sub remove {
+ my $s=shift;
+ foreach my $bit (@remove) {
+ $s=~s/\s+\Q$bit\E//g;
+ }
+ return $s;
+ }
+ s/^(hosts:)(.*)/$1.remove($2)/e;
+ ' /etc/nsswitch.conf
+}
+
+action="$1"
+
+if [ "$action" = remove ]; then
+ # as recommended by
+ # <https://lists.debian.org/debian-devel/2013/04/msg00656.html>
+ instances="$(dpkg-query -f '${db:Status-Abbrev} ${binary:Package}\n' -W libnss-dontstalkme | grep -v '^.n' | wc -l)"
+ if [ "$instances" = 1 ]; then
+ remove_dontstalkme
+ else
+ log "Not removing dontstalkme from nsswitch.conf, $(( $instances - 1 )) architecture(s) still installed"
+ fi
+fi