diff options
Diffstat (limited to 'packaging/Caldera/OpenServer/pkg/cntl/ccs')
-rwxr-xr-x | packaging/Caldera/OpenServer/pkg/cntl/ccs | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/packaging/Caldera/OpenServer/pkg/cntl/ccs b/packaging/Caldera/OpenServer/pkg/cntl/ccs new file mode 100755 index 0000000000..0cb22490e4 --- /dev/null +++ b/packaging/Caldera/OpenServer/pkg/cntl/ccs @@ -0,0 +1,108 @@ +#!/bin/sh +# +# Postinstallscript written by Ron Record (rr@sco.com) +# + +scriptname="$0" +step="$1" +keywords="$2" +pkglist="$3" + +# Source in the standard functions library, ccsSetup.sh +. ccsSetup.sh + +ccs_return_value=0 + +SPOOL=/var/spool/samba +SVCS=/etc/services +INET=/etc/inetd.conf +LMHOST=/etc/lmhosts +PREFIX=/usr/local/samba + +# +# Create /var/spool/samba, create an initial /etc/lmhosts, build the +# codepages and setup swat to be run out of inetd on port 901 +# +PostExport() +{ + [ -d $SPOOL ] || { + mkdir -p $SPOOL + chmod 1777 $SPOOL + } + if [ -f $LMHOST ] + then + grep localhost $LMHOST > /dev/null || { + echo 127.0.0.1 localhost >> $LMHOST + } + else + echo 127.0.0.1 localhost > $LMHOST + fi + + cd ${PREFIX}/lib/codepages + for i in 437 737 775 850 852 861 866 932 936 949 950 1251 + do + ${PREFIX}/bin/make_smbcodepage c $i \ + ${PREFIX}/lib/codepages/src/codepage_def.$i \ + ${PREFIX}/lib/codepages/codepage.$i + done + for i in 437 737 850 852 861 866 932 936 949 950 \ + ISO8859-1 ISO8859-2 ISO8859-5 ISO8859-7 KOI8-R + do + ${PREFIX}/bin/make_unicodemap $i \ + ${PREFIX}/lib/codepages/src/CP$i.TXT \ + ${PREFIX}/lib/codepages/unicode_map.$i + done + + grep swat $SVCS > /dev/null || { + echo "swat 901/tcp # Samba Web Administration Tool " >> $SVCS + } + + grep swat $INET > /dev/null || { + echo "swat stream tcp nowait root /usr/local/samba/bin/swat swat " >> $INET + } + + kill -1 `ps -e | grep inetd | awk ' { print $1 } '` +} + +DisableStop() +{ + /etc/init.d/samba disable > /dev/null 2>&1 + /etc/init.d/samba stop > /dev/null 2>&1 +} + +# +# Remove /var/spool/samba and delete inetd entries for swat +# +PostUnexport() +{ + [ -d $SPOOL ] && { + rm -rf $SPOOL + } + + grep swat $SVCS > /dev/null && { + B=`basename $SVCS` + T=$B$$ + grep -v swat $SVCS > /tmp/$T + cp /tmp/$T $SVCS + rm -f /tmp/$T + } + + grep swat $INET > /dev/null || { + B=`basename $INET` + T=$B$$ + grep -v swat $INET > /tmp/$T + cp /tmp/$T $INET + rm -f /tmp/$T + } + + kill -1 `ps -e | grep inetd | awk ' { print $1 } '` +} + +case "$step" in + POST_EXPORT) PostExport ;; + PRE_UNEXPORT) DisableStop ;; + POST_UNEXPORT) PostUnexport ;; +esac + +exit $ccs_return_value + |