task description "Delay start lighdm until slapd has been started correctly" start on starting lightdm #stop on [!2345] script [ ! -e '/etc/default/slapd' ] || . /etc/default/slapd if [ -z "$SLAPD_CONF" ]; then if [ -e /etc/ldap/slapd.d ]; then SLAPD_CONF=/etc/ldap/slapd.d else SLAPD_CONF=/etc/ldap/slapd.conf fi fi if [ -z "$SLAPD_PIDFILE" ]; then # If using old one-file configuration scheme if [ -f "$SLAPD_CONF" ] ; then SLAPD_PIDFILE=`sed -ne 's/^pidfile[[:space:]]\+\(.\+\)/\1/p' \ "$SLAPD_CONF"` # Else, if using new directory configuration scheme elif [ -d "$SLAPD_CONF" ] ; then SLAPD_PIDFILE=`sed -ne \ 's/^olcPidFile:[[:space:]]\+\(.\+\)[[:space:]]*/\1/p' \ "$SLAPD_CONF"/'cn=config.ldif'` fi fi if [ -z "$SLAPD_PIDFILE" ]; then exit 0 fi COUNT=0 while true ; do if [ -f "$SLAPD_PIDFILE" ]; then break fi COUNT=$((COUNT+1)) if [ $COUNT -gt 180 ]; then break fi sleep 1 done /usr/bin/ldap-check-start end script