home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / nfs / install / postinstall < prev    next >
Text File  |  1998-08-19  |  7KB  |  331 lines

  1. #ident    "@(#)postinstall    1.2"
  2. #ident    "$Header: $"
  3.  
  4. PKGMSG=${PKGINST}.pkg
  5. LOCALE=${LC_ALL:-${LC_MESSAGES:-${LANG:-"C"}}}
  6.  
  7. if [ ! -f /usr/lib/locale/${LOCALE}/LC_MESSAGES/${PKGMSG} ]
  8. then
  9.    if [ -f ${REQDIR}/inst/locale/${LOCALE}/${PKGMSG} -a \
  10.     -d /usr/lib/locale/${LOCALE}/LC_MESSAGES ]
  11.    then
  12.     cp ${REQDIR}/inst/locale/${LOCALE}/${PKGMSG} \
  13.        /usr/lib/locale/${LOCALE}/LC_MESSAGES
  14.    fi
  15. fi
  16. # install a module.  $1 is the module name
  17.  
  18. SCRIPTS=/usr/sbin/pkginst
  19. . ${SCRIPTS}/updebug
  20. [ "$UPDEBUG" = YES ] && set -x
  21.  
  22. do_install() {
  23.     ERR=/tmp/${1}.err
  24.     OPTS=""    
  25.  
  26.     IDCOMPS="Driver.o Driver_atup.o Driver_mp.o Master System Mfsys Sfsys Node"
  27.  
  28.     if [ -f ${1}.Dr ]; then mv ${1}.Dr Driver.o; fi
  29.     if [ -f ${1}_atup.Dr ]; then mv ${1}_atup.Dr Driver_atup.o; fi
  30.     if [ -f ${1}_mp.Dr ]; then mv ${1}_mp.Dr Driver_mp.o; fi
  31.  
  32.     if [ -f ${1}.Mo ]
  33.     then
  34.         mv ${1}.Mo Modstub.o
  35.     fi
  36.     if [ -f ${1}.Sp ]
  37.     then
  38.         mv ${1}.Sp Space.c
  39.     fi
  40.     if [ -f ${1}.Mt ]
  41.     then
  42.         mv ${1}.Mt Mtune
  43.     fi
  44.     if [ -f ${1}.Dt ]
  45.     then
  46.         mv ${1}.Dt Dtune
  47.     fi
  48.     if [ -f ${1}.Ma ]
  49.     then
  50.         grep -v "^[\*#]ident" ${1}.Ma > Master
  51.         rm -rf ${1}.Ma
  52.     fi
  53.     if [ -f ${1}.Sy ]
  54.     then
  55.         grep -v "^[\*#]ident" ${1}.Sy |
  56.             sed "${SEDCMD1}" >System
  57.         rm -rf ${1}.Sy
  58.     fi
  59.     if [ -f ${1}.Mf ]
  60.     then
  61.         grep -v "^[\*#]ident" ${1}.Mf > Mfsys
  62.         rm -rf ${1}.Mf
  63.         OPTS="-c"
  64.     fi
  65.     if [ -f ${1}.Sf ]
  66.     then
  67.         grep -v "^[\*#]ident" ${1}.Sf |
  68.             sed "${SEDCMD2}" >Sfsys
  69.         rm -rf ${1}.Sf
  70.         OPTS=${OPTS}"l"
  71.     fi
  72.     if [ -f ${1}.No ]
  73.     then
  74.         grep -v "^[\*#]ident" ${1}.No > Node
  75.         rm -rf ${1}.No
  76.     fi
  77.     ${CONFBIN}/idcheck -p ${1} > ${ERR} 2>&1
  78.     RC=$?
  79.     [ ! -d /etc/conf/pack.d/${1} ] && mkdir /etc/conf/pack.d/${1}
  80.     if [ "$RC" = 0 ]
  81.     then
  82.         ${CONFBIN}/idinstall -P ${PKGINST} -a ${OPTS} ${1} 2> ${ERR}
  83.         RET=$?
  84.     else
  85.         ${CONFBIN}/idinstall -P ${PKGINST} -u ${1} 2> ${ERR}
  86.         RET=$?
  87.     fi
  88.     rm -rf ${IDCOMPS}
  89.     if [ ${RET} != 0 ]
  90.     then
  91.         message -d `pfmt -s nostd -g ${PKGMSG}:1 "The installation cannot be completed due to an error in the driver installation during the installation of the %s module of the %s.  The file %s contains the errors." ${1} ${NAME} ${ERR} 2>&1`
  92.         
  93.         # rm nfs.env created by chkpkgrel run from the request
  94.         rm -f /var/sadm/upgrade/nfs.env
  95.  
  96.         exit ${FAILURE}
  97.     fi
  98.     rm -rf ${ERR}
  99. }
  100.  
  101. FAILURE=1    # fatal error
  102.  
  103. CONFDIR=/etc/conf
  104. CONFBIN=${CONFDIR}/bin
  105.  
  106. NOTOOLS=`pfmt -s error -g ${PKGMSG}:2 " The Installable Driver feature has been removed. The %s cannot be installed." ${NAME} 2>&1`
  107.  
  108. SEDCMD1="s/[     ]N[     ]/    Y    /"
  109. SEDCMD2="s/[     ]N/    Y/"
  110.  
  111. VOLATILES=`echo /tmp/nfs/*`
  112.  
  113. cd /var/sadm/pkg/${PKG}/install
  114.  
  115. # determine that ID/TP tools are available
  116.  
  117. if [ ! -x ${CONFBIN}/idbuild -o ! -x ${CONFBIN}/idinstall \
  118.                  -o ! -x ${CONFBIN}/idcheck ]
  119. then
  120.     message -d ${NOTOOLS}
  121.     exit $FAILURE
  122. fi
  123.  
  124. cd /tmp/nfs
  125.  
  126. # install modules
  127.  
  128. for module in nfss nfs klm
  129. do
  130.     do_install $module 
  131. done
  132.  
  133. #
  134. #    add entry in /etc/dfs/fstypes
  135. #
  136.  
  137. if [ -s /etc/dfs/fstypes ]
  138. then
  139.     grep '^nfs' /etc/dfs/fstypes >/dev/null 2>&1
  140.     if [ $? -ne 0 ]
  141.     then
  142.         cp /etc/dfs/fstypes /tmp/fstypes.$$ >/dev/null 2>&1
  143.         pfmt -s nostd "nfs\tNetwork File System Utilities: Version 2.0\n" > /etc/dfs/fstypes 2>&1
  144.         cat /tmp/fstypes.$$ >> /etc/dfs/fstypes
  145.         rm  /tmp/fstypes.$$
  146.     fi
  147. else
  148.     pfmt -s nostd "nfs\tNetwork File System Utilities: Version 2.0\n" > /etc/dfs/fstypes 2>&1
  149. fi
  150.  
  151. installf $PKGINST /etc/dfs/fstypes v \? \? \? 1 NULL NULL
  152.  
  153. ## Change init state to 3
  154.  
  155. /usr/bin/ed -s /etc/inittab <<- EOF > /dev/null 2>&1
  156.     /initdefault/
  157.     s/2/3/
  158.     w
  159.     q
  160. EOF
  161.  
  162. /usr/bin/ed -s /etc/conf/init.d/kernel <<- EOF > /dev/null 2>&1
  163.     /initdefault/
  164.     s/2/3/
  165.     w
  166.     q
  167. EOF
  168.  
  169. ## for graphical admin
  170. if [ -s     /etc/dfs/dtvfstab ]
  171. then    :
  172. else
  173.     >/etc/dfs/dtvfstab
  174.     installf ${PKGINST} /etc/dfs/dtvfstab v 0644  root root 1 NULL NULL
  175. fi
  176.  
  177. #
  178. # attach the desktop manager class definitions
  179. #
  180. #if [ ! -z "`echo ${CLASSES} | grep DTMadmin`" ]
  181. #then
  182.     #if [ -d /usr/X/lib/classdb ]
  183.     #then
  184.         #grep "INCLUDE nfs\.cdb;" /usr/X/lib/classdb/dtadmin >/dev/null 2>&1
  185.         #if [ $? -ne 0 ]
  186.         #then
  187.             #echo "INCLUDE nfs.cdb;" >> /usr/X/lib/classdb/dtadmin
  188.         #fi
  189.     #fi
  190. #fi
  191.  
  192. # add entry to Help_Desk
  193. #HDFILE=/usr/X/desktop/Help_Desk
  194. #if [ -f $HDFILE ]
  195. #then
  196.  
  197. #grep "^FileSharing" $HDFILE >/dev/null 2>&1
  198. #if [ $? != 0 ]
  199. #then
  200.         #ed $HDFILE >/dev/null <<!
  201. #$
  202. #a
  203. #FileSharing0,0{_DFLT_ICONLABEL="File_Sharing";_ICONLABEL="File_Sharing";_DESCRP="File Sharing";_ICONFILE="nfs.icon";_HELPFILE="dtadmin/FileShar.hlp"}
  204. #.
  205. #w
  206. #q
  207. #!
  208.  
  209. #fi
  210. #fi
  211.  
  212. #
  213. # Add File_Sharing icon to all the existing users with desktop.
  214. #
  215.  
  216. #GT=/usr/bin/gettxt
  217.  
  218. #if [ "$INSTALL_ICONS" != "FALSE" ]
  219. #then
  220.     # add links to Admin_Tools/Networking folder for all desktop users.
  221.  
  222.     #DAYONEDIR=/usr/X/desktop/LoginMgr/DayOne
  223.     #USERDIR=/usr/X/desktop/LoginMgr/Users
  224.     #LOGDIRCMD=/usr/X/adm/upgrade/dtlogindir
  225.     #if [ ! -d $DAYONEDIR -o ! -d $USERDIR -o ! -x $LOGDIRCMD ]
  226.     #then    
  227.         # desktop corrupted or installing on pre 2.0 system?
  228.         #pfmt -s nostd -g ${PKGMSG}:4 "desktop icon installation failed\n"
  229.     #else
  230.         #for login in `ls $USERDIR`
  231.         #do
  232.             #if [ -f $DAYONEDIR/$login ]
  233.             #then
  234.                 #hdir=`$LOGDIRCMD $login`
  235.                 #if [ $? -ne 0 ]
  236.                 #then
  237.                     # desktop user with no home dir, or
  238.                     # user has been removed.
  239.                     #continue
  240.                 #fi    
  241.                 #locale=`cat $DAYONEDIR/$login`
  242.                 #admdir=`LC_ALL=$locale $GT dayone:2 "Admin_Tools"`
  243.                 #netdir=`LC_ALL=$locale $GT dayone:32 "Networking"`
  244.                 #if [ -d $hdir/$admdir/$netdir ]
  245.                 #then
  246.                     #nfs=`LC_ALL=$locale $GT dayone:17 "File_Sharing"`
  247.                     #if [ -s $hdir/$admdir/$netdir/$nfs -o -f $hdir/$admdir/$netdir/$nfs -o -h $hdir/$admdir/$netdir/$nfs ]
  248.                     #then
  249.                         # remove old link
  250.                         #rm -f $hdir/$admdir/$netdir/$nfs
  251.                     #fi
  252.                     #ln -s /usr/X/bin/File_Sharing $hdir/$admdir/$netdir/$nfs
  253.                     #installf $PKGINST $hdir/$admdir/$netdir/$nfs=/usr/X/bin/File_Sharing s
  254.                 #fi
  255.  
  256.  
  257.             #fi
  258.         #done
  259.     #fi
  260.  
  261. #fi
  262.  
  263. # rebuild for changes to take effect
  264. TMP=/tmp/nfs.$$
  265. ${CONFBIN}/idbuild 2>$TMP
  266. if [ "$?" -ne "0" ]
  267. then
  268.     pfmt -s error -g ${PKGMSG}:5 "The attempt to rebuild the kernel has failed.\nErrors have been written to the file %s" $TMP
  269.  
  270.     # rm nfs.env created by chkpkgrel run from the request
  271.     rm -f /var/sadm/upgrade/nfs.env
  272.  
  273.     exit ${FAILURE}
  274. fi
  275. cd /tmp
  276. rm -f $TMP
  277. rm -rf /tmp/nfs
  278. removef ${PKGINST} ${VOLATILES} >/dev/null 2>&1
  279. removef ${PKGINST} /tmp/nfs >/dev/null 2>&1
  280. removef -f ${PKGINST} >/dev/null 2>&1
  281.  
  282. #
  283. #    Add NFS commands to TFM database
  284. #
  285. #while read cmd
  286. #do
  287. #    base=`basename $cmd`
  288. #    privs=`
  289. #        egrep ":${cmd}$" /etc/security/tcb/privs |
  290. #        sed -n '/%inher,.*:/s/^.*%inher,\(.*\):.*/\1/p' |
  291. #        sed 's/,/:/gp'
  292. #        `
  293. #    if [ ! -f $cmd ]
  294. #    then
  295. #        echo "Warning: $cmd not found on the system.\c"
  296. #        echo "  Not adding to TFM."
  297. #        continue
  298. #    fi
  299. #
  300. #    if [ -z "$privs" ]
  301. #    then
  302. #        adminrole -a $base:$cmd NET
  303. #    else
  304. #        adminrole -a $base:$cmd:$privs NET
  305. #    fi
  306. #done <<!
  307. #/usr/lib/nfs/biod
  308. #/usr/lib/nfs/mountd
  309. #/usr/lib/nfs/automount
  310. #/usr/lib/nfs/nfsd
  311. #/usr/lib/nfs/lockd
  312. #/usr/lib/nfs/statd
  313. #/usr/lib/nfs/bootparamd
  314. #/usr/lib/nfs/pcnfsd
  315. #/usr/sbin/exportfs
  316. #/usr/sbin/showmount
  317. #/usr/sbin/nfsstat
  318. #!
  319.  
  320. #
  321. #
  322. #    end with installf -f and exit message (required reboot)
  323. #
  324.  
  325. installf -f $PKGINST
  326.  
  327. # rm nfs.env created by chkpkgrel run from the request
  328. rm -f /var/sadm/upgrade/nfs.env
  329.  
  330. exit     10
  331.