aboutsummaryrefslogtreecommitdiff
path: root/debian/postrm
blob: f7fc630106cc287d676509ea22cc4f31a64b415c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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