slapd-init.in   [plain text]


#!/bin/sh 
# $Id$

srcdir=@srcdir@

rm -rf db schema
mkdir db

# kill of old slapd if running
sh ${srcdir}/slapd-stop > /dev/null

SCHEMA_NEEDED="hdb core nis cosine inetorgperson openldap samba"

SCHEMA_PATHS="${srcdir}/../../lib/hdb ${srcdir} /etc/ldap/schema /etc/openldap/schema /private/etc/openldap/schema /usr/share/openldap/schema"

test -d schema || mkdir schema

# setup needed schema files
for f in $SCHEMA_NEEDED; do
    if [ ! -r schema/$f.schema ]; then
	for d in $SCHEMA_PATHS ; do
	    if [ -r $d/$f.schema ] ; then
		cp $d/$f.schema schema/$f.schema
		continue 2
	    fi
	done
	echo "SKIPPING TESTS: you need the following schema file: $f.schema"
	exit 1
    fi
done

touch modules.conf || exit 1

slapadd -d 0 -f ${srcdir}/slapd.conf < ${srcdir}/init.ldif || exit 0

echo "starting slapd"
slapd -d0 -f ${srcdir}/slapd.conf -h ldapi://.%2Fldap-socket &

sleep 4