home *** CD-ROM | disk | FTP | other *** search
- # @(#)postinstall 1.4
- # client postinstall script
- #
- #
- # write the path to the client images in the file /etc/netware/client.images
- #
- # Revision History:
- #
- # L000 20th Oct 1997 tonylo
- # The script now invokes /usr/lib/scoadmin/account/make-owner to
- # make current system owners have privileges to run NetWare server
- # applications
- #
- #
-
- #
-
- [ -n "$DEBUG" ] && set -x
-
- if [ "$RANDOM" = "$RANDOM" ]
- then
- exec /usr/bin/winxksh $0 $*
- fi
-
- trap "" 2
-
- exec 2> /tmp/nwsclnt.post.err
-
- ADMINUSER="/usr/bin/adminuser"
- GREP="/usr/bin/grep"
-
- . /var/sadm/pkg/nwsclnt/install/misc_func # dot in support functions
-
- SetLocale
-
- . ${LANGDEP_SCRIPTS}/set_strings # load strings
-
- function TFMSetup
- {
- [ -n "$DEBUG" ] && set -x
-
- #
- # Give root user privileges to run all nws commands (GUI and non-GUI).
- #
- $ADMINUSER root | $GREP NWClientDisk > /dev/null 2>&1
- if (( $? != 0 ))
- then
- # root does not have privs.
- $ADMINUSER -a NWClientDisk:/usr/X/bin/NWClientDisk:allprivs root
- fi
-
- # L000 vvv
- #
- # If we're running from install on boot, no need to setup owner since
- # the postreboot.sh will take care of it. if, however, this is an
- # after-the-fact pkgadd, the owner has to be setup here.
- #
- [ -f /etc/inst/scripts/postreboot.sh ] || {
- set `grep mail= /var/sadm/install/admin/* | cut -f2 -d=`
- while [ $# -ne 0 ]
- do
- [ "$1" != "root" ] && /usr/lib/scoadmin/account/make-owner $1 2>/dev/null
- shift
- done
- }
- # L000 ^^^
-
-
- return 0
- }
-
- function LinkXCmds
- {
- [ -n "$DEBUG" ] && set -x
-
- DAYONEDIR=/usr/X/desktop/LoginMgr/DayOne
- /usr/X/adm/upgrade/dtgetusers |while read line
- do
- USER=`echo $line | /usr/bin/cut -f1 -d:`
- if [ ! -f $DAYONEDIR/$USER ]
- then
- continue
- fi
- HOMEDIR=`echo $line | /usr/bin/cut -f2 -d:`
- LOCALE=`cat $DAYONEDIR/$USER`
- ADMIN=`LC_ALL=$LOCALE /usr/bin/gettxt dayone:2 "Admin_Tools"`
- NET=`LC_ALL=$LOCALE /usr/bin/gettxt dayone:32 "Networking"`
-
- # Check to see if desktop environment has Admin_Tools/Networking
- if [ -d $HOMEDIR/$ADMIN/$NET ]
- then
- NWCLDISK=`LC_ALL=$LOCALE /usr/bin/gettxt dayone:87 "NetWare_Client_Disks"`
-
- [ ! -s $HOMEDIR/$ADMIN/$NET/$NWCLDISK ] && {
- ln -s /usr/X/bin/NWClientDisk $HOMEDIR/$ADMIN/$NET/$NWCLDISK 2>/dev/null
- }
- fi
- done
-
- # Add commands (if not there) to the PrivTable, and give them their required privileges.
- $GREP "NWS_Status" /usr/X/desktop/LoginMgr/PrivTable > /dev/null 2>&1
- if [ $? -ne 0 ]
- then
- echo "nws:30:Administer NetWare Server NWS_Status:/usr/X/bin/NWS_Status:allprivs,NWVolume_Setup:/usr/X/bin/NWVolume_Setup:allprivs,NWClientDisk:/usr/X/bin/NWClientDisk:allprivs,NWS_Licensing:/usr/X/bin/NWS_Licensing:allprivs,dsinstall:/usr/sbin/dsinstall:allprivs,dsrepair:/usr/sbin/dsrepair:allprivs,dsadmin:/usr/sbin/dsadmin:allprivs,nwserver:/usr/sbin/nwserver:allprivs,ndsbackup:/usr/sbin/ndsbackup:allprivs,ndsrestore:/usr/sbin/ndsrestore:allprivs,tsadmin:/usr/sbin/tsadmin:allprivs,nwshut:/usr/sbin/nwshut:allprivs,nwcm:/usr/sbin/nwcm:allprivs,pserver:/usr/sbin/pserver:allprivs,stopprint:/usr/sbin/stopprint:allprivs" >> /usr/X/desktop/LoginMgr/PrivTable
- fi
-
- # Add NWClientDisk (if not there) to the Help_Desk.
- $GREP "NWClientDisk" /usr/X/desktop/Help_Desk>/dev/null 2>&1
- if [ $? -ne 0 ]
- then
- echo "NWClientDisk194,201{_HELPFILE=\"NWClientDisk/NWClientDisk.hlp\";_ICONLABEL=\"NWClientDisk\";_DESCRP=\"Creating NetWare Client Diskettes.\";_ICONFILE=\"nwcdisk32.icon\"}">>/usr/X/desktop/Help_Desk
- fi
-
-
- # Add entries for classdb files
-
- if [ -d /usr/X/lib/classdb ]
- then
- $GREP "INCLUDE nwsclnt\.cdb;" /usr/X/lib/classdb/dtadmin >/dev/null 2>&1
- if [ $? -ne 0 ]
- then
- echo "INCLUDE nwsclnt.cdb;" >> /usr/X/lib/classdb/dtadmin
- fi
- fi
-
- #
- # Give all existing system owners access to all NWS commands (GUI and command line)
- # (do in subshell)
- #
- (
- cd /usr/X/desktop/LoginMgr/Users
- for USER in *
- do
- $GREP owner $USER > /dev/null 2>&1
- if (( $? == 0 ))
- then
- # found owner
- $ADMINUSER $USER | $GREP NWClientDisk > /dev/null 2>&1
- if (( $? != 0 ))
- then
- # Owner does not have privs.
- $ADMINUSER -a NWClientDisk:/usr/X/bin/NWClientDisk:allprivs $USER
- fi
-
- # Add entry to permissions file
- $GREP "Administer NetWare Server" $USER > /dev/null 2>&1
- if (( $? != 0 ))
- then
- echo "nws:30:Administer NetWare Server" >> $USER
- fi
- fi
- done
- )
-
- return 0
- }
-
- TFMSetup
- #LinkXCmds
-
- # create tmp file with IMAGES_PATH variable
- echo "$IMAGES_PATH" > /etc/netware/client.images
-
- #
- # write version and number number of diskettes to revision
- #
- DOSWINVER="1.2"
- DOSWINNUM="5"
-
- OS2VER="1.0"
- OS2NUM="6"
-
- # create rev files for client images directories
-
- echo $CLASSES
-
- case "$CLASSES" in
- "none doswin")
- echo "$DOSWINVER" > $IMAGES_PATH/doswin/revision
- echo "$DOSWINNUM" >> $IMAGES_PATH/doswin/revision
- echo "DOS and Windows 3.x" >> $IMAGES_PATH/doswin/revision
- echo $DOSWIN_DISK_LABEL_1 >> $IMAGES_PATH/doswin/revision
- echo $DOSWIN_DISK_LABEL_2 >> $IMAGES_PATH/doswin/revision
- echo $DOSWIN_DISK_LABEL_3 >> $IMAGES_PATH/doswin/revision
- echo $DOSWIN_DISK_LABEL_4 >> $IMAGES_PATH/doswin/revision
- echo $DOSWIN_DISK_LABEL_5 >> $IMAGES_PATH/doswin/revision
-
- # installf directory for images
- installf $PKGINST $IMAGES_PATH/doswin d 0775 nwroot nwgroup
-
- chmod 644 $IMAGES_PATH/doswin/revision
- chown nwroot $IMAGES_PATH/doswin/revision
- chgrp nwgroup $IMAGES_PATH/doswin/revision
- installf $PKGINST $IMAGES_PATH/doswin/revision v 0644 nwroot nwgroup
- ;;
- "none os2")
- echo "$OS2VER" > $IMAGES_PATH/os2/revision
- echo "$OS2NUM" >> $IMAGES_PATH/os2/revision
- echo "OS/2" >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_1 >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_2 >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_3 >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_4 >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_5 >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_6 >> $IMAGES_PATH/os2/revision
-
- # installf directory for images
- installf $PKGINST $IMAGES_PATH/os2 d 0775 nwroot nwgroup
-
- chmod 644 $IMAGES_PATH/os2/revision
- chown nwroot $IMAGES_PATH/os2/revision
- chgrp nwgroup $IMAGES_PATH/os2/revision
- installf $PKGINST $IMAGES_PATH/os2/revision v 0644 nwroot nwgroup
- ;;
- "none doswin os2")
- # set up doswin
- echo "$DOSWINVER" > $IMAGES_PATH/doswin/revision
- echo "$DOSWINNUM" >> $IMAGES_PATH/doswin/revision
- echo "DOS and Windows 3.x" >> $IMAGES_PATH/doswin/revision
- echo $DOSWIN_DISK_LABEL_1 >> $IMAGES_PATH/doswin/revision
- echo $DOSWIN_DISK_LABEL_2 >> $IMAGES_PATH/doswin/revision
- echo $DOSWIN_DISK_LABEL_3 >> $IMAGES_PATH/doswin/revision
- echo $DOSWIN_DISK_LABEL_4 >> $IMAGES_PATH/doswin/revision
- echo $DOSWIN_DISK_LABEL_5 >> $IMAGES_PATH/doswin/revision
-
- # installf directory for images
- installf $PKGINST $IMAGES_PATH/doswin d 0775 nwroot nwgroup
-
- chmod 644 $IMAGES_PATH/doswin/revision
- chown nwroot $IMAGES_PATH/doswin/revision
- chgrp nwgroup $IMAGES_PATH/doswin/revision
- installf $PKGINST $IMAGES_PATH/doswin/revision v 0644 nwroot nwgroup
-
-
- # set up os2
- echo "$OS2VER" > $IMAGES_PATH/os2/revision
- echo "$OS2NUM" >> $IMAGES_PATH/os2/revision
- echo "OS/2" >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_1 >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_2 >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_3 >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_4 >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_5 >> $IMAGES_PATH/os2/revision
- echo $OS2_DISK_LABEL_6 >> $IMAGES_PATH/os2/revision
-
- # installf directory for images
- installf $PKGINST $IMAGES_PATH/os2 d 0775 nwroot nwgroup
-
- chmod 644 $IMAGES_PATH/os2/revision
- chown nwroot $IMAGES_PATH/os2/revision
- chgrp nwgroup $IMAGES_PATH/os2/revision
- installf $PKGINST $IMAGES_PATH/os2/revision v 0644 nwroot nwgroup
- ;;
- esac
-
- installf $PKGINST $IMAGES_PATH d 0775 nwroot nwgroup
-
- installf -f $PKGINST
-
- #
- # if this is last package to be installed display final install screen
- # if SMART_START do not display anything
- #
- if [ "$SMART_START" = "FALSE" ]
- then
- if [ -f /tmp/$PKGINST ]
- then
- # only display if the package addition was successful
- /usr/bin/pkginfo -i nwsrvr > /dev/null 2>&1
- if [ "$?" = "0" ]
- then
- # Initialize winxksh
- . /usr/lib/winxksh/winrc
- . /usr/lib/winxksh/scr_init
-
- display -w "$INSTALL_WHAT_NEXT_WITH_REBOOT" \
- -fg ${WHITE} -bg ${BLUE} \
- -current "footer $HIT_ANY_KEY_TO_END"
-
- input_handler
- wclose $CURWIN
- footer ""
-
- ClearScreen
- call endwin
- fi
- fi
- fi
-
- #
- # Install SCOadmin stuff
- #
-
- /usr/bin/scoadmin -p NetWare -f -c /usr/lib/scoadmin/NetWare/NWClientDisk.obj
-
- exit 0
-