From 144dd19d2673d21893ab31bda4651de7efc66d1c Mon Sep 17 00:00:00 2001 From: Wes Cilldhaire Date: Tue, 1 Mar 2016 14:03:14 +1100 Subject: net-nds/389-ds-base: Version bump to 1.3.4.8 Deps on db4.8 specifically, being the current stable, instead of trying to determine best installed version <6 at configure time, as discussed with various devs on irc. Additionally, 1.3.4.7 is vuln to CVE-2016-0741 and will be removed in the next commit. Upstream has advised that they will not be providing a patch against 1.3.4.7 and request users to upgrade to 1.3.4.8 Acked-by: wibrown@redhat.com Package-Manager: portage-2.2.27 --- net-nds/389-ds-base/389-ds-base-1.3.4.8.ebuild | 143 ++++++++ net-nds/389-ds-base/Manifest | 1 + .../389-ds-base-1.3.4-no-instance-script.patch | 396 +++++++++++++++++++++ 3 files changed, 540 insertions(+) create mode 100644 net-nds/389-ds-base/389-ds-base-1.3.4.8.ebuild create mode 100644 net-nds/389-ds-base/files/389-ds-base-1.3.4-no-instance-script.patch diff --git a/net-nds/389-ds-base/389-ds-base-1.3.4.8.ebuild b/net-nds/389-ds-base/389-ds-base-1.3.4.8.ebuild new file mode 100644 index 000000000000..02ee08abdcf2 --- /dev/null +++ b/net-nds/389-ds-base/389-ds-base-1.3.4.8.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +WANT_AUTOMAKE="1.9" + +inherit user eutils multilib flag-o-matic autotools + +DESCRIPTION="389 Directory Server (core librares and daemons )" +HOMEPAGE="http://port389.org/" +SRC_URI="http://directory.fedoraproject.org/sources/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="autobind auto-dn-suffix debug doc +pam-passthru +dna +ldapi +bitwise +presence kerberos selinux" + +# Pinned to db:4.8 as it is the current stable, can change to a later db version < 6 when they stabilize. +# The --with-db-inc line in econf will need to be updated as well when changing db version. +COMMON_DEPEND=" + sys-libs/db:4.8 + >=dev-libs/cyrus-sasl-2.1.19 + >=net-analyzer/net-snmp-5.1.2 + >=dev-libs/icu-3.4:= + dev-libs/nss[utils] + dev-libs/nspr + dev-libs/svrcore + dev-libs/openssl:0= + dev-libs/libpcre:3 + >=dev-perl/perl-mozldap-1.5.3 + dev-perl/NetAddr-IP + net-nds/openldap + sys-libs/pam + sys-libs/zlib + kerberos? ( >=app-crypt/mit-krb5-1.7-r100[openldap] )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig + sys-devel/libtool + doc? ( app-doc/doxygen ) + sys-apps/sed" +RDEPEND="${COMMON_DEPEND} + selinux? ( sec-policy/selinux-dirsrv ) + virtual/perl-Time-Local + virtual/perl-MIME-Base64" + +pkg_setup() { + enewgroup dirsrv + enewuser dirsrv -1 -1 -1 dirsrv +} + +src_prepare() { + #0001-Ticket-47840-add-configure-option-to-disable-instanc.patch + epatch "${FILESDIR}/389-ds-base-1.3.4-no-instance-script.patch" + + # as per 389 documentation, when 64bit, export USE_64 + use amd64 && export USE_64=1 + + # This will be changed in 1.3.5.X + sed -i -e 's/nobody/dirsrv/g' configure.ac || die "sed failed on configure.ac" + eautoreconf + + append-lfs-flags +} + +src_configure() { + local myconf="" + + # for 1.3.5.X, will add --enable-gcc-security. + # auto-dn-suffix currently throws warning in configure script, + # see https://fedorahosted.org/389/ticket/48710 + econf \ + $(use_enable debug) \ + $(use_enable pam-passthru) \ + $(use_enable ldapi) \ + $(use_enable autobind) \ + $(use_enable dna) \ + $(use_enable bitwise) \ + $(use_enable presence) \ + $(use_with kerberos) \ + $(use_enable debug) \ + $(use_enable auto-dn-suffix) \ + --enable-maintainer-mode \ + --with-fhs \ + --with-openldap \ + --sbindir=/usr/sbin \ + --bindir=/usr/bin \ + --with-db-inc=/usr/include/db4.8 + +} + +src_compile() { + default + if use doc; then + doxygen slapi.doxy || die "cannot run doxygen" + fi +} + +src_install () { + emake DESTDIR="${D}" install + + # remove redhat style init script + rm -rf "${D}"/etc/rc.d || die + # Needs a config option to remove this. + rm -rf "${D}"/etc/default || die + + # and install gentoo style init script + # Get these merged upstream + newinitd "${FILESDIR}"/389-ds.initd-r1 389-ds + newinitd "${FILESDIR}"/389-ds-snmp.initd 389-ds-snmp + + # cope with libraries being in /usr/lib/dirsrv + dodir /etc/env.d + echo "LDPATH=/usr/$(get_libdir)/dirsrv" > "${D}"/etc/env.d/08dirsrv + + if use doc; then + cd "${S}" || die + docinto html/ + dodoc -r docs/html/. + fi +} + +pkg_postinst() { + echo + elog "If you are planning to use 389-ds-snmp (ldap-agent)," + elog "make sure to properly configure: /etc/dirsrv/config/ldap-agent.conf" + elog "adding proper 'server' entries, and adding the lines below to" + elog " => /etc/snmp/snmpd.conf" + elog + elog "master agentx" + elog "agentXSocket /var/agentx/master" + elog + elog "To start 389 Directory Server (LDAP service) at boot:" + elog + elog " rc-update add 389-ds default" + elog + elog "If you are upgrading from previous 1.2.6 release candidates" + elog "please see:" + elog "http://directory.fedoraproject.org/wiki/Subtree_Rename#warning:_upgrade_from_389_v1.2.6_.28a.3F.2C_rc1_.7E_rc6.29_to_v1.2.6_rc6_or_newer" + echo +} diff --git a/net-nds/389-ds-base/Manifest b/net-nds/389-ds-base/Manifest index 57022ecef5ad..1d77e268cee2 100644 --- a/net-nds/389-ds-base/Manifest +++ b/net-nds/389-ds-base/Manifest @@ -1 +1,2 @@ DIST 389-ds-base-1.3.4.7.tar.bz2 3397520 SHA256 08dae55ed0732e8d316bb65910c74ee913fc215c3436299239e362a3670e76e6 SHA512 02159ce8e9d1e5797d6d6952202b430429bf750179279348430333f7a4b557e305a2041a1e4e7ffe652d34825c9678d3fbf8a3eaea401f257bd922034dbce875 WHIRLPOOL 97af90f6b3f01a2a11e236f1141d1851016711f69b618f2e3122715e8575541040aa09c03f66f7a20cca9e2136bb2d3612c8fcec16b616f981dba39c4f449453 +DIST 389-ds-base-1.3.4.8.tar.bz2 3396105 SHA256 a00468afcfa50de375f921a827a04dd53b6a11b632982bb0db98cafca509e701 SHA512 ac85223cb38d4cebb3ff61b23e3c0312b0cd30a0c6bf0d9644842c6ecfbc9379ea4a639c80b3e78a13a67f273342fec78e9ecf4672cc72e289d72d74c2fa0d8f WHIRLPOOL 4c7645be5b70c108ef437aaf6d50293a99fa6a552c859f649904c6974c8830e5bf96286a0f998c5d187c1f66f3e0922bbe1e756889e6b0a33e8d9db56f0aa005 diff --git a/net-nds/389-ds-base/files/389-ds-base-1.3.4-no-instance-script.patch b/net-nds/389-ds-base/files/389-ds-base-1.3.4-no-instance-script.patch new file mode 100644 index 000000000000..8af7ad2be452 --- /dev/null +++ b/net-nds/389-ds-base/files/389-ds-base-1.3.4-no-instance-script.patch @@ -0,0 +1,396 @@ +From 7b75e7a4c60637a86acf6c757f207550294279ef Mon Sep 17 00:00:00 2001 +From: William Brown +Date: Wed, 28 Oct 2015 14:25:26 +1000 +Subject: [PATCH] Ticket 47840 - add configure option to disable instance + specific scripts https://fedorahosted.org/389/ticket/47840 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Bug Description: Now that ​https://fedorahosted.org/389/ticket/528 is +fixed, the next step is to allow building the server with the instance specific +scripts disabled. + +Fix Description: Instead of defining a configure option, we provide a new +option in setup-ds.pl, slapd.InstScriptsEnabled, which defaults to false. All +new installs of 389 will NOT install with a inst_dir nor the scripts that are in +that directory. + +Additionally, this change fixes setup-ds.pl to correctly use the sbindir scripts +to start/stop the server instance during installation. + +Finally, we add support for setup-ds.pl so that in --update if the inst_dir +exists, scripts will be updated, but if it does not exist, no action is taken. + +In time, we will alter --update to *remove* the scripts within inst_dir during +the update (We have no way of knowing if a customer has put custom scripts in +inst_dir) + +Example: +/opt/dirsrv/sbin/setup-ds.pl slapd.InstScriptsEnabled=false + +Author: wibrown + +Review by: nhosoi (Thanks!) +--- + ldap/admin/src/scripts/DSCreate.pm.in | 204 +++++++++++++++++++-------------- + ldap/admin/src/scripts/DSUpdate.pm.in | 12 +- + ldap/admin/src/scripts/setup-ds.res.in | 1 + + 3 files changed, 124 insertions(+), 93 deletions(-) + +diff --git a/ldap/admin/src/scripts/DSCreate.pm.in b/ldap/admin/src/scripts/DSCreate.pm.in +index 3ce5a73..6425be4 100644 +--- a/ldap/admin/src/scripts/DSCreate.pm.in ++++ b/ldap/admin/src/scripts/DSCreate.pm.in +@@ -130,6 +130,15 @@ sub sanityCheckParams { + return @errs; + } + ++ # We need to make sure this value is lowercase ++ $inf->{slapd}->{InstScriptsEnabled} = lc $inf->{slapd}->{InstScriptsEnabled}; ++ ++ if ("true" ne $inf->{slapd}->{InstScriptsEnabled} && "false" ne $inf->{slapd}->{InstScriptsEnabled}) { ++ debug(1, "InstScriptsEnabled is not a valid boolean"); ++ return ('error_invalid_boolean', $inf->{slapd}->{InstScriptsEnabled}); ++ } ++ ++ + return (); + } + +@@ -204,13 +213,17 @@ sub makeDSDirs { + my $mode = getMode($inf, 7); + my @errs; + ++ my @dsdirs = qw(config_dir schema_dir log_dir lock_dir run_dir tmp_dir cert_dir db_dir ldif_dir bak_dir); ++ if ($inf->{slapd}->{InstScriptsEnabled} eq "true") { ++ @dsdirs = qw(inst_dir config_dir schema_dir log_dir lock_dir run_dir tmp_dir cert_dir db_dir ldif_dir bak_dir); ++ } ++ + # These paths are owned by the SuiteSpotGroup + # This allows the admin server to run as a different, + # more privileged user than the directory server, but + # still allows the admin server to manage directory + # server files/dirs without being root +- for my $kw (qw(inst_dir config_dir schema_dir log_dir lock_dir run_dir tmp_dir +- cert_dir db_dir ldif_dir bak_dir)) { ++ for my $kw (@dsdirs) { + my $dir = $inf->{slapd}->{$kw}; + @errs = makePaths($dir, $mode, $inf->{General}->{SuiteSpotUserID}, + $inf->{General}->{SuiteSpotGroup}); +@@ -262,56 +275,66 @@ sub createInstanceScripts { + my $myperl = "!$perlexec"; + my $mydevnull = (-f "/dev/null" ? " /dev/null " : " NUL "); + +- # determine initconfig_dir +- my $initconfig_dir = $inf->{slapd}->{initconfig_dir} || get_initconfigdir($inf->{General}->{prefix}); +- +- my %maptable = ( +- "DS-ROOT" => $inf->{General}->{prefix}, +- "SEP" => "/", # works on all platforms +- "SERVER-NAME" => $inf->{General}->{FullMachineName}, +- "SERVER-PORT" => $inf->{slapd}->{ServerPort}, +- "PERL-EXEC" => $myperl, +- "DEV-NULL" => $mydevnull, +- "ROOT-DN" => $inf->{slapd}->{RootDN}, +- "LDIF-DIR" => $inf->{slapd}->{ldif_dir}, +- "SERV-ID" => $inf->{slapd}->{ServerIdentifier}, +- "BAK-DIR" => $inf->{slapd}->{bak_dir}, +- "SERVER-DIR" => $inf->{General}->{ServerRoot}, +- "CONFIG-DIR" => $inf->{slapd}->{config_dir}, +- "INITCONFIG-DIR" => $initconfig_dir, +- "INST-DIR" => $inf->{slapd}->{inst_dir}, +- "RUN-DIR" => $inf->{slapd}->{run_dir}, +- "PRODUCT-NAME" => "slapd", +- "SERVERBIN-DIR" => $inf->{slapd}->{sbindir}, +- "DB-DIR" => $inf->{slapd}->{db_dir} +- ); +- +- my $dir = "$inf->{General}->{prefix}@taskdir@"; +- for my $file (glob("$dir/template-*")) { +- my $basename = $file; +- $basename =~ s/^.*template-//; +- my $destfile = "$inf->{slapd}->{inst_dir}/$basename"; +- +- next if ($skip and -f $destfile); # in skip mode, skip files that already exist +- +- if (!open(SRC, "< $file")) { +- return ("error_opening_scripttmpl", $file, $!); +- } +- if (!open(DEST, "> $destfile")) { +- return ("error_opening_scripttmpl", $destfile, $!); +- } +- my $contents; # slurp entire file into memory +- read SRC, $contents, int(-s $file); +- close(SRC); +- while (my ($key, $val) = each %maptable) { +- $contents =~ s/\{\{$key\}\}/$val/g; +- } +- print DEST $contents; +- close(DEST); +- my @errs = changeOwnerMode($inf, 5, $destfile); +- if (@errs) { +- return @errs; ++ # If we have InstScriptsEnabled, we likely have setup.inf or the argument. ++ # However, during an upgrade, we need to know if we should upgrade the template files or not. ++ # For now, the easiest way is to check to if the directory exists, and if is does, we assume we want to upgrade / create the updated scripts. ++ if ($inf->{slapd}->{InstScriptsEnabled} eq "true" || -d $inf->{slapd}->{inst_dir} ) { ++ debug(1, "Creating or updating instance directory scripts\n"); ++ # determine initconfig_dir ++ my $initconfig_dir = $inf->{slapd}->{initconfig_dir} || get_initconfigdir($inf->{General}->{prefix}); ++ ++ my %maptable = ( ++ "DS-ROOT" => $inf->{General}->{prefix}, ++ "SEP" => "/", # works on all platforms ++ "SERVER-NAME" => $inf->{General}->{FullMachineName}, ++ "SERVER-PORT" => $inf->{slapd}->{ServerPort}, ++ "PERL-EXEC" => $myperl, ++ "DEV-NULL" => $mydevnull, ++ "ROOT-DN" => $inf->{slapd}->{RootDN}, ++ "LDIF-DIR" => $inf->{slapd}->{ldif_dir}, ++ "SERV-ID" => $inf->{slapd}->{ServerIdentifier}, ++ "BAK-DIR" => $inf->{slapd}->{bak_dir}, ++ "SERVER-DIR" => $inf->{General}->{ServerRoot}, ++ "CONFIG-DIR" => $inf->{slapd}->{config_dir}, ++ "INITCONFIG-DIR" => $initconfig_dir, ++ "INST-DIR" => $inf->{slapd}->{inst_dir}, ++ "RUN-DIR" => $inf->{slapd}->{run_dir}, ++ "PRODUCT-NAME" => "slapd", ++ "SERVERBIN-DIR" => $inf->{slapd}->{sbindir}, ++ "DB-DIR" => $inf->{slapd}->{db_dir} ++ ); ++ ++ ++ my $dir = "$inf->{General}->{prefix}@taskdir@"; ++ for my $file (glob("$dir/template-*")) { ++ my $basename = $file; ++ $basename =~ s/^.*template-//; ++ my $destfile = "$inf->{slapd}->{inst_dir}/$basename"; ++ debug(1, "$destfile\n"); ++ ++ next if ($skip and -f $destfile); # in skip mode, skip files that already exist ++ ++ if (!open(SRC, "< $file")) { ++ return ("error_opening_scripttmpl", $file, $!); ++ } ++ if (!open(DEST, "> $destfile")) { ++ return ("error_opening_scripttmpl", $destfile, $!); ++ } ++ my $contents; # slurp entire file into memory ++ read SRC, $contents, int(-s $file); ++ close(SRC); ++ while (my ($key, $val) = each %maptable) { ++ $contents =~ s/\{\{$key\}\}/$val/g; ++ } ++ print DEST $contents; ++ close(DEST); ++ my @errs = changeOwnerMode($inf, 5, $destfile); ++ if (@errs) { ++ return @errs; ++ } + } ++ } else { ++ debug(1, "No instance directory scripts will be updated or created\n"); + } + + return (); +@@ -639,7 +662,7 @@ sub initDatabase { + return (); + } + +- my $cmd = "$inf->{slapd}->{inst_dir}/ldif2db -n $inf->{slapd}->{ds_bename} -i \'$ldiffile\'"; ++ my $cmd = "$inf->{slapd}->{sbindir}/ldif2db -Z $inf->{slapd}->{ServerIdentifier} -n $inf->{slapd}->{ds_bename} -i \'$ldiffile\'"; + $? = 0; # clear error condition + my $output = `$cmd 2>&1`; + my $result = $?; +@@ -662,7 +685,7 @@ sub startServer { + my @errs; + # get error log + my $errLog = "$inf->{slapd}->{log_dir}/errors"; +- my $startcmd = "$inf->{slapd}->{inst_dir}/start-slapd"; ++ my $startcmd = "$inf->{slapd}->{sbindir}/start-dirsrv $inf->{slapd}->{ServerIdentifier}"; + if ("@systemdsystemunitdir@" and (getLogin() eq 'root')) { + $startcmd = "/bin/systemctl start @package_name@\@$inf->{slapd}->{ServerIdentifier}.service"; + } +@@ -875,6 +898,10 @@ sub setDefaults { + "@datadir@", + $inf->{General}->{prefix}); + ++ if (!defined($inf->{slapd}->{InstScriptsEnabled})) { ++ $inf->{slapd}->{InstScriptsEnabled} = "false"; ++ } ++ + if (!defined($inf->{slapd}->{inst_dir})) { + $inf->{slapd}->{inst_dir} = "$inf->{General}->{ServerRoot}/slapd-$servid"; + } +@@ -975,9 +1002,12 @@ sub updateSelinuxPolicy { + system("restorecon -R $localstatedir/lib/@PACKAGE_NAME@"); + } + ++ my @inst_dirs = qw(config_dir schema_dir log_dir lock_dir run_dir tmp_dir cert_dir db_dir ldif_dir bak_dir); ++ if ($inf->{slapd}->{InstScriptsEnabled} eq "true") { ++ @inst_dirs = qw(inst_dir config_dir schema_dir log_dir lock_dir run_dir tmp_dir cert_dir db_dir ldif_dir bak_dir); ++ } + # run restorecon on all instance directories we created +- for my $kw (qw(inst_dir config_dir schema_dir log_dir lock_dir run_dir tmp_dir +- cert_dir db_dir ldif_dir bak_dir)) { ++ for my $kw (@inst_dirs) { + my $dir = $inf->{slapd}->{$kw}; + system("restorecon -R $dir"); + } +@@ -1231,14 +1261,14 @@ sub createDSInstance { + } + + sub stopServer { +- my $instancedir = shift; +- my $prog = $instancedir . "/stop-slapd"; ++ my $instance = shift; ++ my $prog = "@sbindir@/stop-dirsrv"; + if (-x $prog) { + $? = 0; + # run the stop command +- my $output = `$prog 2>&1`; ++ my $output = `$prog $instance 2>&1`; + my $status = $?; +- debug(3, "stopping server $instancedir returns status $status: output $output\n"); ++ debug(3, "stopping server $instance returns status $status: output $output\n"); + if ($status) { + debug(1,"Warning: Could not stop directory server: status $status: output $output\n"); + # if the server is not running, that's ok +@@ -1254,7 +1284,7 @@ sub stopServer { + return; + } + +- debug(1, "Successfully stopped server $instancedir\n"); ++ debug(1, "Successfully stopped server $instance\n"); + return 1; + } + +@@ -1331,23 +1361,16 @@ sub removeDSInstance { + $conn->close(); + + # stop the server +- my $instdir = ""; +- if ($entry) { +- foreach my $path ( @{$entry->{"nsslapd-instancedir"}} ) +- { +- if (!stopServer($path)) { +- if ($force) { +- debug(1, "Warning: Could not stop directory server - Error: $! - forcing continue\n"); +- } elsif ($! == ENOENT) { # stop script not found or server not running +- debug(1, "Warning: Could not stop directory server: already removed or not running\n"); +- push @errs, [ 'error_stopping_server', $path, $! ]; +- } else { # real error +- debug(1, "Error: Could not stop directory server - aborting - use -f flag to force removal\n"); +- push @errs, [ 'error_stopping_server', $path, $! ]; +- return @errs; +- } +- } +- $instdir = $path; ++ if (!stopServer($inst)) { ++ if ($force) { ++ debug(1, "Warning: Could not stop directory server - Error: $! - forcing continue\n"); ++ } elsif ($! == ENOENT) { # stop script not found or server not running ++ debug(1, "Warning: Could not stop directory server: already removed or not running\n"); ++ push @errs, [ 'error_stopping_server', $inst, $! ]; ++ } else { # real error ++ debug(1, "Error: Could not stop directory server - aborting - use -f flag to force removal\n"); ++ push @errs, [ 'error_stopping_server', $inst, $! ]; ++ return @errs; + } + } + +@@ -1363,18 +1386,25 @@ sub removeDSInstance { + push @errs, remove_tree($entry, "nsslapd-errorlog", $instname, 1); + } + +- # instance dir +- if ( -d $instdir && $instdir =~ /$instname/ ) +- { +- # clean up pid files (if any) +- remove_pidfile("STARTPIDFILE", $inst, $instdir, $instname, $rundir, $product_name); +- remove_pidfile("PIDFILE", $inst, $instdir, $instname, $rundir, $product_name); + +- my $rc = rmtree($instdir); +- if ( 0 == $rc ) ++ # instance dir ++ my $instdir = ""; ++ if ($entry) { ++ foreach my $instdir ( @{$entry->{"nsslapd-instancedir"}} ) + { +- push @errs, [ 'error_removing_path', $instdir, $! ]; +- debug(1, "Warning: $instdir was not removed. Error: $!\n"); ++ if ( -d $instdir && $instdir =~ /$instname/ ) ++ { ++ # clean up pid files (if any) ++ remove_pidfile("STARTPIDFILE", $inst, $instdir, $instname, $rundir, $product_name); ++ remove_pidfile("PIDFILE", $inst, $instdir, $instname, $rundir, $product_name); ++ ++ my $rc = rmtree($instdir); ++ if ( 0 == $rc ) ++ { ++ push @errs, [ 'error_removing_path', $instdir, $! ]; ++ debug(1, "Warning: $instdir was not removed. Error: $!\n"); ++ } ++ } + } + } + # Finally, config dir +diff --git a/ldap/admin/src/scripts/DSUpdate.pm.in b/ldap/admin/src/scripts/DSUpdate.pm.in +index be1e67c..e84a9a9 100644 +--- a/ldap/admin/src/scripts/DSUpdate.pm.in ++++ b/ldap/admin/src/scripts/DSUpdate.pm.in +@@ -226,10 +226,10 @@ sub updateDS { + for my $upd (@updates) { + my @localerrs; + if ($upd->{$PRE_STAGE}) { +- debug(1, "Running stage $PRE_STAGE update ", $upd->{path}, "\n"); ++ debug(1, "Running updateDS stage $PRE_STAGE update ", $upd->{path}, "\n"); + @localerrs = &{$upd->{$PRE_STAGE}}($inf, $setup->{configdir}); + } elsif ($upd->{file}) { +- debug(1, "Running stage $PRE_STAGE update ", $upd->{path}, "\n"); ++ debug(1, "Running updateDS stage $PRE_STAGE update ", $upd->{path}, "\n"); + @localerrs = processUpdate($upd, $inf, $setup->{configdir}, $PRE_STAGE); + } + if (@localerrs) { +@@ -276,10 +276,10 @@ sub updateDS { + for my $upd (@updates) { + my @localerrs; + if ($upd->{$POST_STAGE}) { +- debug(1, "Running stage $POST_STAGE update ", $upd->{path}, "\n"); ++ debug(1, "Running updateDS stage $POST_STAGE update ", $upd->{path}, "\n"); + @localerrs = &{$upd->{$POST_STAGE}}($inf, $setup->{configdir}); + } elsif ($upd->{file}) { +- debug(1, "Running stage $POST_STAGE update ", $upd->{path}, "\n"); ++ debug(1, "Running updateDS stage $POST_STAGE update ", $upd->{path}, "\n"); + @localerrs = processUpdate($upd, $inf, $setup->{configdir}, $POST_STAGE); + } + if (@localerrs) { +@@ -385,10 +385,10 @@ sub updateDSInstance { + for my $upd (@{$updates}) { + my @localerrs; + if ($upd->{$stage}) { +- debug(1, "Running stage $stage update ", $upd->{path}, "\n"); ++ debug(1, "Running updateDSInstance stage $stage update ", $upd->{path}, "\n"); + @localerrs = &{$upd->{$stage}}($inf, $inst, $dseldif, $conn); + } elsif ($upd->{file}) { +- debug(1, "Running stage $stage update ", $upd->{path}, "\n"); ++ debug(1, "Running updateDSInstance stage $stage update ", $upd->{path}, "\n"); + @localerrs = processUpdate($upd, $inf, $configdir, $stage, + $inst, $dseldif, $conn); + } +diff --git a/ldap/admin/src/scripts/setup-ds.res.in b/ldap/admin/src/scripts/setup-ds.res.in +index 7134e25..fa37567 100644 +--- a/ldap/admin/src/scripts/setup-ds.res.in ++++ b/ldap/admin/src/scripts/setup-ds.res.in +@@ -116,6 +116,7 @@ error_creating_file = Could not create file '%s'. Error: %s\n + error_copying_file = Could not copy file '%s' to '%s'. Error: %s\n + error_enabling_feature = Could not enable the directory server feature '%s'. Error: %s\n + error_importing_ldif = Could not import LDIF file '%s'. Error: %s. Output: %s\n ++error_invalid_boolean = Could not convert value '%s' to boolean. Valid values are true or false.\n + error_starting_server = Could not start the directory server using command '%s'. The last line from the error log was '%s'. Error: %s\n + error_stopping_server = Could not stop the directory server '%s'. Error: %s\n + error_missing_userid = The SuiteSpotUserID is missing. This must be set to valid user\n +-- +2.4.3 + -- cgit v1.2.3-65-gdbad