summaryrefslogtreecommitdiffstats
path: root/debian/libnss-winbind.postrm
diff options
context:
space:
mode:
Diffstat (limited to 'debian/libnss-winbind.postrm')
-rw-r--r--debian/libnss-winbind.postrm29
1 files changed, 29 insertions, 0 deletions
diff --git a/debian/libnss-winbind.postrm b/debian/libnss-winbind.postrm
new file mode 100644
index 0000000..cd1c7e3
--- /dev/null
+++ b/debian/libnss-winbind.postrm
@@ -0,0 +1,29 @@
+#!/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
+ # abort if file does not exist
+ if ! [ -e $file ]; then
+ echo "Could not find ${file}."
+ return
+ fi
+ echo "Removing $module from $file if any..."
+ # we must remove possible [foo=bar] options as well
+ sed -i -r "/(passwd|group):/ s/[[:space:]]+$module\b([[:space:]]*\[[^]]*\])*//" $file
+}
+
+if [ "$1" = remove ]; then
+ remove_nss_entry /etc/nsswitch.conf libnss-winbind winbind
+fi
+
+#DEBHELPER#