From aff592a14f0f8e4d780e7829375cc37a9a4b49fe Mon Sep 17 00:00:00 2001
From: David Beniamine <david.beniamine@tetras-libre.fr>
Date: Tue, 6 Feb 2018 18:08:57 +0100
Subject: [PATCH] Fix bad test + use separate ldiff files for groups

---
 create_primtux_user.sh | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/create_primtux_user.sh b/create_primtux_user.sh
index e189394c..882c995a 100755
--- a/create_primtux_user.sh
+++ b/create_primtux_user.sh
@@ -43,12 +43,18 @@ fi
 . /etc/slis/slis.conf
 # set -x
 # Check for LDAP group Primtux
-if [ -z "ldapsearch -x cn=Primtux | grep numEntries" ]
-then
-    # insert primtux group
-    sed -e "s/BASE/$LDAP_BASE_DN/" $DIST/primtux.ldiff > $TEMPF.ldiff
-    ldapadd -x -D "cn=$LDAP_ADMIN_RDN,$LDAP_BASE_DN" -w $LDAP_ADMIN_PW -f $TEMPF.ldiff
-fi
+for f in dist/*.ldiff
+do
+    echo $f
+    group=`head -n 1 $f | sed 's/^[^ ]* \([^,]*\),.*$/\1/'`
+    if [ -z "`ldapsearch -x $group | grep numEntries`" ]
+    then
+        echo "adding group"
+        # insert primtux group
+        sed -e "s/BASE/$LDAP_BASE_DN/" $f > $TEMPF.ldiff
+        ldapadd -x -D "cn=$LDAP_ADMIN_RDN,$LDAP_BASE_DN" -w $LDAP_ADMIN_PW -f $TEMPF.ldiff
+    fi
+done
 ldapsearch -x -LLL uid=$user > $TEMPF.ldiff
 if [ ! -s $TEMPF.ldiff ]
 then
-- 
GitLab