#!/bin/sh
# _ldapinit : initializes the LDAP directory with a minimal tree
# Copyright (C) 2005 Ganaël LAPLANCHE - Linagora
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
# USA.
if [ "$1" = "-h" ]
then
echo "Usage : $0 [-r | -s]"
exit 1
fi
# Source runtime file
_RUNTIMEFILE="/etc/ldapscripts/runtime"
. "$_RUNTIMEFILE"
# Clean up suffix info
_SUFFIX=`echo $SUFFIX | cut -d ',' -f 1 | cut -d '=' -f 2`
_USUFFIX=`echo $USUFFIX | cut -d ',' -f 1 | cut -d '=' -f 2`
_GSUFFIX=`echo $GSUFFIX | cut -d ',' -f 1 | cut -d '=' -f 2`
_MSUFFIX=`echo $MSUFFIX | cut -d ',' -f 1 | cut -d '=' -f 2`
# First add the root DN if necessary
if [ "$1" != "-s" ]
then
_extractldif 2 | _filterldif | _ldapadd
[ $? -eq 0 ] || end_die "Error initializing LDAP tree"
fi
# Now add remaining stuff
if [ "$1" != "-r" ]
then
_extractldif 3 | _filterldif | _ldapadd
[ $? -eq 0 ] || end_die "Error initializing LDAP tree"
fi
end_ok "Successfully initialized LDAP tree"
# Ldif template ##################################
##dn: <suffix>
##objectClass: dcObject
##objectClass: organization
##dc: <_suffix>
##o: <_suffix>
##description: <_suffix>
##
###dn: <usuffix>,<suffix>
###objectClass: top
###objectClass: organizationalUnit
###ou: <_usuffix>
###
###dn: <gsuffix>,<suffix>
###objectClass: top
###objectClass: organizationalUnit
###ou: <_gsuffix>
###
###dn: <msuffix>,<suffix>
###objectClass: top
###objectClass: organizationalUnit
###ou: <_msuffix>
###
###dn: ou=Idmap,<suffix>
###objectClass: organizationalUnit
###ou: Idmap
syntax highlighted by Code2HTML, v. 0.9.1