summaryrefslogtreecommitdiffstats
path: root/debian/libnss-winbind.postrm
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 17:20:02 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 17:20:02 +0000
commit0a354ad0b2c9eaaa204c31db478da109dc6d2a8b (patch)
tree2467caa8ad20a7fca31bef64224e41a4238db0c9 /debian/libnss-winbind.postrm
parentAdding upstream version 2:4.20.0+dfsg. (diff)
downloadsamba-debian/2%4.20.0+dfsg-1_exp1.tar.xz
samba-debian/2%4.20.0+dfsg-1_exp1.zip
Adding debian version 2:4.20.0+dfsg-1~exp1.debian/2%4.20.0+dfsg-1_exp1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-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#