diff options
Diffstat (limited to 'debian/postrm')
-rwxr-xr-x | debian/postrm | 44 |
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 |