[389-commits] rpm/389-ds-base.spec.in

Noriko Hosoi nhosoi at fedoraproject.org
Thu Feb 26 18:50:08 UTC 2015


 rpm/389-ds-base.spec.in |   37 +++++++++++++++++++++++++------------
 1 file changed, 25 insertions(+), 12 deletions(-)

New commits:
commit 24c303d3e6c91358fc645268d582144f377e3902
Author: Noriko Hosoi <nhosoi at redhat.com>
Date:   Wed Feb 25 18:39:45 2015 -0800

    Ticket #48030 - spec file should run "systemctl stop" against each running instance instead of dirsrv.target
    
    A patch was provided by lkrispen at redhat.com (Thank you, Ludwig!!)
    
    https://fedorahosted.org/389/ticket/48030

diff --git a/rpm/389-ds-base.spec.in b/rpm/389-ds-base.spec.in
index af9244a..17a1f86 100644
--- a/rpm/389-ds-base.spec.in
+++ b/rpm/389-ds-base.spec.in
@@ -227,35 +227,44 @@ ninst=0 # number of instances found in total
 if [ -n "$DEBUGPOSTTRANS" ] ; then
    output=$DEBUGPOSTTRANS
 fi
-echo looking for services in %{_sysconfdir}/systemd/system/%{groupname}.wants/* > $output 2>&1 || :
+echo looking for services in %{_sysconfdir}/systemd/system/%{groupname}.wants/* >> $output 2>&1 || :
 for service in %{_sysconfdir}/systemd/system/%{groupname}.wants/* ; do
     if [ ! -f "$service" ] ; then continue ; fi # in case nothing matches
     inst=`echo $service | sed -e 's,%{_sysconfdir}/systemd/system/%{groupname}.wants/,,'`
-    echo found instance $inst - getting status > $output 2>&1 || :
+    echo found instance $inst - getting status >> $output 2>&1 || :
     if /bin/systemctl -q is-active $inst ; then
-       echo instance $inst is running > $output 2>&1 || :
+       echo instance $inst is running >> $output 2>&1 || :
        instances="$instances $inst"
     else
-       echo instance $inst is not running > $output 2>&1 || :
+       echo instance $inst is not running >> $output 2>&1 || :
     fi
     ninst=`expr $ninst + 1`
 done
 if [ $ninst -eq 0 ] ; then
-    echo no instances to upgrade > $output 2>&1 || :
+    echo no instances to upgrade >> $output 2>&1 || :
     exit 0 # have no instances to upgrade - just skip the rest
 fi
 # shutdown all instances
-echo shutting down all instances . . . > $output 2>&1 || :
-/bin/systemctl stop %{groupname} > $output 2>&1 || :
-echo remove pid files . . . > $output 2>&1 || :
+echo shutting down all instances . . . >> $output 2>&1 || :
+for inst in $instances ; do
+    echo stopping instance $inst >> $output 2>&1 || :
+    /bin/systemctl stop $inst >> $output 2>&1 || :
+done
+echo remove pid files . . . >> $output 2>&1 || :
 /bin/rm -f /var/run/%{pkgname}*.pid /var/run/%{pkgname}*.startpid
 # do the upgrade
-echo upgrading instances . . . > $output 2>&1 || :
-%{_sbindir}/setup-ds.pl -l $output -u -s General.UpdateMode=offline > $output 2>&1 || :
+echo upgrading instances . . . >> $output 2>&1 || :
+DEBUGPOSTSETUPOPT=`/usr/bin/echo $DEBUGPOSTSETUP | /usr/bin/sed -e "s/[^d]//g"`
+if [ -n "$DEBUGPOSTSETUPOPT" ] ; then
+    %{_sbindir}/setup-ds.pl -l $output -$DEBUGPOSTSETUPOPT -u -s General.UpdateMode=offline >> $output 2>&1 || :
+else
+    %{_sbindir}/setup-ds.pl -l $output -u -s General.UpdateMode=offline >> $output 2>&1 || :
+fi
+
 # restart instances that require it
 for inst in $instances ; do
-    echo restarting instance $inst > $output 2>&1 || :
-    /bin/systemctl start $inst > $output 2>&1 || :
+    echo restarting instance $inst >> $output 2>&1 || :
+    /bin/systemctl start $inst >> $output 2>&1 || :
 done
 exit 0
 
@@ -316,6 +325,10 @@ fi
 %{_libdir}/%{pkgname}/libns-dshttpd.so*
 
 %changelog
+* Wed Feb 25 2015 Noriko Hosoi <nhosoi at redhat.com> - 1.3.3.8-2
+- Ticket 48030 - DNS errors after IPA upgrade due to broken ReplSync
+                 Fixes spec file to make sure all the server instances are stopped before upgrade
+
 * Sat Jun 15 2013 Noriko Hosoi <nhosoi at redhat.com> - 1.3.1.2-1
 - bump version to 1.3.1.2
 - Ticket 47391 - deleting and adding userpassword fails to update the password




More information about the 389-commits mailing list