PREUN
/bin/sh
export LANG=C
if [ $1 = 0 ]; then
/usr/sbin/update-alternatives --display dpnsdaemon | \
grep currently | grep -q dpm-mysql && \
/sbin/service dpm-mysql-nameserver stop > /dev/null 2>&1 || :
/usr/sbin/update-alternatives --remove dpnsdaemon \
/usr/lib/dpm-mysql/dpnsdaemon
/sbin/chkconfig --del dpm-mysql-nameserver
fi
POSTIN
/bin/sh
updatedpns () {
[ -r /etc/sysconfig/dpnsdaemon ] && . /etc/sysconfig/dpnsdaemon
[ -z "$NSCONFIGFILE" ] && NSCONFIGFILE=/etc/DPNSCONFIG
[ -r $NSCONFIGFILE ] || return 0
nscfg=$(cat $NSCONFIGFILE)
cfg1=$(echo $nscfg | cut -f1 -d@)
cfg2=$(echo $nscfg | cut -f2 -d@ -s)
user=$(echo $cfg1 | cut -f1 -d/)
passwd=$(echo $cfg1 | cut -f2 -d/ -s)
host=$(echo $cfg2 | cut -f1 -d/)
db=$(echo $cfg2 | cut -f2 -d/ -s)
[ -z "$user" ] && return 0
[ -z "$passwd" ] && return 0
[ -z "$host" ] && return 0
[ -z "$db" ] && db=cns_db
mycfg=$(mktemp)
cat > $mycfg <<-EOF
[client]
user=$user
password=$passwd
EOF
mysql="mysql --defaults-file=$mycfg --skip-column-names $db"
vmajor=$($mysql -e "select major from schema_version" 2>/dev/null)
vminor=$($mysql -e "select minor from schema_version" 2>/dev/null)
vpatch=$($mysql -e "select patch from schema_version" 2>/dev/null)
if [ -z "$vmajor" -o -z "$vminor" -o -z "$vpatch" ] ; then
rm $mycfg
return 0
fi
if [ $vmajor -eq 3 -a $vminor -eq 0 -a $vpatch -eq 0 ] ; then
$mysql <<-EOF
ALTER TABLE Cns_groupinfo ADD banned INTEGER;
ALTER TABLE Cns_userinfo ADD user_ca VARCHAR(255) BINARY;
ALTER TABLE Cns_userinfo ADD banned INTEGER;
CREATE INDEX linkname_idx ON Cns_symlinks(linkname(255));
UPDATE schema_version SET major = 3, minor = 1, patch = 0;
EOF
fi
rm $mycfg
return 0
}
updatedpns
if [ $1 = 1 ]; then
/sbin/chkconfig --add dpm-mysql-nameserver
fi
/usr/sbin/update-alternatives --install /usr/sbin/dpnsdaemon dpnsdaemon \
/usr/lib/dpm-mysql/dpnsdaemon 20 \
--slave /usr/share/man/man8/dpnsdaemon.8.gz dpnsdaemon.8.gz \
/usr/lib/dpm-mysql/dpnsdaemon.8.gz \
--slave /usr/share/dpm/DPNSCONFIG.templ DPNSCONFIG.templ \
/usr/lib/dpm-mysql/DPNSCONFIG.templ \
--slave /etc/sysconfig/dpnsdaemon dpnsdaemon.conf \
/etc/dpm-mysql/dpnsdaemon.conf \
--slave /etc/logrotate.d/dpnsdaemon dpnsdaemon.logrotate \
/etc/dpm-mysql/dpnsdaemon.logrotate \
--slave /usr/sbin/dpns-shutdown dpns-shutdown \
/usr/lib/dpm-mysql/dpns-shutdown \
--slave /usr/share/man/man8/dpns-shutdown.8.gz dpns-shutdown.8.gz \
/usr/lib/dpm-mysql/dpns-shutdown.8.gz \
--initscript dpm-mysql-nameserver
POSTUN
/bin/sh
export LANG=C
if [ $1 -ge 1 ]; then
/usr/sbin/update-alternatives --display dpnsdaemon | \
grep currently | grep -q dpm-mysql && \
/sbin/service dpm-mysql-nameserver condrestart > /dev/null 2>&1 || :
fi