diff options
Diffstat (limited to 'ldap/admin/src/scripts')
| -rw-r--r-- | ldap/admin/src/scripts/DSMigration.pm.in | 10 | ||||
| -rw-r--r-- | ldap/admin/src/scripts/Util.pm.in | 12 |
2 files changed, 22 insertions, 0 deletions
diff --git a/ldap/admin/src/scripts/DSMigration.pm.in b/ldap/admin/src/scripts/DSMigration.pm.in index e500bd26..e5c76582 100644 --- a/ldap/admin/src/scripts/DSMigration.pm.in +++ b/ldap/admin/src/scripts/DSMigration.pm.in @@ -895,6 +895,16 @@ sub migrateDS { my $mig = shift; my @errs; + # migration needs to know the instance directory for the directory + # servers - this assumes they are all in the same place + if (!$mig->{ServerRoot}) { + if ("@with_fhs_opt@") { + $mig->{ServerRoot} = "$inf->{General}->{prefix}/opt/@PACKAGE_NAME@"; + } else { + $mig->{ServerRoot} = "$inf->{General}->{prefix}@serverdir@"; + } + } + # for each instance foreach my $inst (@{$mig->{instances}}) { if (-f "$mig->{configdir}/$inst/dse.ldif") { diff --git a/ldap/admin/src/scripts/Util.pm.in b/ldap/admin/src/scripts/Util.pm.in index 7b2e1a5c..9a2cfd23 100644 --- a/ldap/admin/src/scripts/Util.pm.in +++ b/ldap/admin/src/scripts/Util.pm.in @@ -829,8 +829,20 @@ sub createInfFromConfig { last if ($ent->hasValue('cn', 'userRoot', 1)); $ent = $conn->nextEntry(); } + + # we also need the instance dir + $ent = $conn->search("cn=config", "base", "(objectclass=*)"); + if (!$ent) { + push @{$errs}, "error_opening_dseldif", $fname, $!; + close $outfh; + $conn->close(); + return 0; + } + my $inst_dir = $ent->getValue('nsslapd-instancedir'); + $conn->close(); + print $outfh, "inst_dir = $inst_dir\n"; print $outfh "Suffix = $suffix\n"; close $outfh; |
