n output=$DEBUGPOSTTRANS output2=${DEBUGPOSTTRANS}.upgrade else output=/dev/null output2=/dev/null fi # reload to pick up any changes to systemd files /bin/systemctl daemon-reload >$output 2>&1 || : # https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Soft_static_allocation # Soft static allocation for UID and GID # sysusers.d format https://fedoraproject.org/wiki/Changes/Adopting_sysusers.d_format # generated from 389-ds-base.sysusers getent group 'dirsrv' >/dev/null || groupadd -f -g '389' -r 'dirsrv' || : if ! getent passwd 'dirsrv' >/dev/null; then if ! getent passwd '389' >/dev/null; then useradd -r -u '389' -g '389' -d '/usr/share/dirsrv/' -s '/sbin/nologin' -c 'user for 389-ds-base' 'dirsrv' || : else useradd -r -g '389' -d '/usr/share/dirsrv/' -s '/sbin/nologin' -c 'user for 389-ds-base' 'dirsrv' || : fi fi # Reload our sysctl before we restart (if we can) sysctl --system &> $output; true # Gather the running instances so we can restart them instbase="/etc/dirsrv" ninst=0 for dir in $instbase/slapd-* ; do echo dir = $dir >> $output 2>&1 || : if [ ! -d "$dir" ] ; then continue ; fi case "$dir" in *.removed) continue ;; esac basename=`basename $dir` inst="dirsrv@`echo $basename | sed -e 's/slapd-//g'`" 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 || : instances="$instances $inst" else 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 || : exit 0 # have no instances to upgrade - just skip the rest else # restart running instances 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 for inst in $instances ; do echo starting instance $inst >> $output 2>&1 || : /bin/systemctl start $inst >> $output 2>&1 || : done fi