summaryrefslogtreecommitdiffstats
path: root/ldap/admin/src/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'ldap/admin/src/scripts')
-rw-r--r--ldap/admin/src/scripts/DSMigration.pm.in10
-rw-r--r--ldap/admin/src/scripts/Util.pm.in12
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;