systemd/debian/libnss-resolve.postrm
Martin Pitt 1d744b97d4 libnss-*.prerm: Remove possible [key=value] options from NSS modules as well
Parameterize remove_nss_entry() so that it is exactly the same in all postrms
and thus easier to test and keep in sync. Move from the complicated Perl
subroutine to a simpler sed.

LP: #1625584
2016-09-20 13:25:28 +02:00

33 lines
897 B
Bash

#!/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#