summaryrefslogtreecommitdiffstats
path: root/debian/libnss-winbind.postrm
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:47:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:47:31 +0000
commit236cb75e4430569627585a5818d9ce9bc85640f8 (patch)
treef84b5c0335eb76eb9df1e6c2c0004d7d9667c6e4 /debian/libnss-winbind.postrm
parentAdding upstream version 2:4.17.12+dfsg. (diff)
downloadsamba-debian.tar.xz
samba-debian.zip
Adding debian version 2:4.17.12+dfsg-0+deb12u1.debian/2%4.17.12+dfsg-0+deb12u1debian
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#