cvsdist 7a16c4a
Try adding the top-level object, which may be missing, but don't worry if
cvsdist 7a16c4a
the add operation fails.
cvsdist 7a16c4a
--- MigrationTools-26/migrate_all_online.sh	Wed Oct 25 16:27:02 2000
cvsdist 9bfe3cb
+++ MigrationTools-26/migrate_all_online.sh	Wed Oct 25 16:30:11 2000
cvsdist fa9c485
@@ -179,5 +179,31 @@
cvsdist 9bfe3cb
 echo "Migrating netgroups (by host)..."
cvsdist 9bfe3cb
 $PERL -I${INSTDIR} ${INSTDIR}migrate_netgroup_byhost.pl	$ETC_NETGROUP >> $DB
cvsdist 9bfe3cb
 
cvsdist fa9c485
+# Try to add the top-level object, because it's frequently missing.
cvsdist fa9c485
+NAMINGATTRNAME=`echo $LDAP_BASEDN | cut -f1 -d=`
cvsdist fa9c485
+NAMINGATTRVALUE=`echo $LDAP_BASEDN | cut -f1 -d, | cut -f2 -d=`
cvsdist fa9c485
+OBJECTCLASS=
cvsdist fa9c485
+case "$NAMINGATTRNAME" in
cvsdist fa9c485
+	dc)         OBJECTCLASS=domain;;
cvsdist fa9c485
+	o)          OBJECTCLASS=organization;;
cvsdist fa9c485
+	l)          OBJECTCLASS=locality;;
cvsdist fa9c485
+	c)          OBJECTCLASS=country;;
cvsdist fa9c485
+	nismapname) OBJECTCLASS=nisMap;;
cvsdist fa9c485
+	cn)         OBJECTCLASS=container;;
cvsdist fa9c485
+esac
cvsdist 9bfe3cb
+
cvsdist fa9c485
+if test -n "$NAMINGATTRNAME" ; then
cvsdist fa9c485
+if test -n "$NAMINGATTRVALUE" ; then
cvsdist fa9c485
+if test -n "$OBJECTCLASS" ; then
cvsdist 9bfe3cb
+cat << EOF | $LDAPADD -h $LDAPHOST -D "$LDAP_BINDDN" -x -w "$LDAP_BINDCRED"
cvsdist 9bfe3cb
+dn: $LDAP_BASEDN
cvsdist fa9c485
+$NAMINGATTRNAME: $NAMINGATTRVALUE
cvsdist 9bfe3cb
+objectClass: top
cvsdist fa9c485
+objectClass: $OBJECTCLASS
cvsdist 9bfe3cb
+EOF
cvsdist fa9c485
+fi
cvsdist fa9c485
+fi
cvsdist fa9c485
+fi
cvsdist 9bfe3cb
+
cvsdist 9bfe3cb
 echo "Importing into LDAP..."
cvsdist 9bfe3cb