File: libnss-mdns.postrm

package info (click to toggle)
nss-mdns 0.14.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,800 kB
  • sloc: sh: 4,939; ansic: 1,692; makefile: 85
file content (51 lines) | stat: -rw-r--r-- 1,326 bytes parent folder | download | duplicates (3)
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
45
46
47
48
49
50
51
#!/bin/sh
set -e
#DEBHELPER#

log() {
    echo "libnss-mdns.postrm: $*"
}

remove_mdns() {
    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 mdns from NSS setup"
    perl -i -pe '
        my @remove=(
            "mdns4_minimal [NOTFOUND=return]",
            "mdns4_minimal",
            "mdns4",
            "mdns6_minimal [NOTFOUND=return]",
            "mdns6_minimal",
            "mdns6",
            "mdns_minimal [NOTFOUND=return]",
            "mdns_minimal",
            "mdns",
        );
        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" = purge ]; 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-mdns | grep -v '^.n' | wc -l)"
    if [ "$instances" = 1 ]; then
      remove_mdns
    else
      log "Not removing mdns from nsswitch.conf, $(( $instances - 1 )) architecture(s) still installed"
    fi
fi