home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / update701 / install / preremove < prev    next >
Text File  |  1998-07-06  |  4KB  |  130 lines

  1. #ident  "@(#)preremove    17.2    98/07/06"
  2. #copyright    "%c%"
  3. #!/usr/bin/sh
  4.  
  5. #
  6. # Define any variables needed during package removal
  7. #
  8. BIN=/usr/bin
  9. TTY=/dev/tty
  10. PKGINST=${PKG}
  11. UPDINST=/var/sadm/pkg/${PKGINST}/install
  12. UPDLOGFILE=/var/sadm/install/logs/${PKGINST}.out
  13. UPDTMP=/tmp/${PKGINST}
  14. UPDMENUANS=${UPDTMP}/results
  15. UPDVARFILE=${1}
  16. UPDBKUPDIR=/var/sadm/bkup/${PKGINST}
  17. UPDCNTFILE=${UPDBKUPDIR}/upd.cnt
  18.  
  19. export TTY UPDINST UPDTMP UPDMENUANS
  20.  
  21. # Load RC Script
  22. . ${UPDINST}/updpkg.rc
  23.  
  24. MenuLang
  25. ${BIN}/rm -f ${UPDMENUDIR}/working.kill 2>/dev/null
  26.  
  27. LogMsg "preremove: `GetText STARTED`"
  28. DbgMsg "preremove: Started"
  29.  
  30. #
  31. # Define trap and trap command for interruption (delete key)
  32. # of the Update Installation
  33. #
  34. TrapCmd ()
  35. {
  36.     ${BIN}/rm -f ${UPDPKGDIR}/!R-Lock!
  37.     MsgHandler 1 UpdIntrMsg
  38.     RmExit 3
  39. }
  40. trap 'TrapCmd' 2 3 15
  41.  
  42. UPD_INSTRM="${UPD_INSTRM_r}"
  43. UPD_instrm="${UPD_instrm_r}"
  44. UPD_INSTRMED="${UPD_INSTRMED_r}"
  45. UPD_BKUPREST="${UPD_BKUPREST_r}"
  46. export UPD_INSTRM UPD_instrm UPD_INSTRMED UPD_BKUPREST
  47. unset UPD_INSTRM_i UPD_instrm_i UPD_INSTRMED_i UPD_BKUPREST_i
  48. unset UPD_INSTRM_r UPD_instrm_r UPD_INSTRMED_r UPD_BKUPREST_r
  49. unset ProcMsg GenericProcMsg
  50. DbgMsg "    UPD_INSTRM=${UPD_INSTRM}"
  51. DbgMsg "    UPD_instrm=${UPD_instrm}"
  52. DbgMsg "    UPD_INSTRMED=${UPD_INSTRMED}"
  53. DbgMsg "    UPD_BKUPREST=${UPD_BKUPREST}"
  54.  
  55. #
  56. # Create temporary work directory.
  57. #
  58. DbgMsg "  preremove: remake dir UPDTMP=${UPDTMP}"
  59. ${BIN}/rm -rf ${UPDTMP} 2> /dev/null
  60. ${BIN}/mkdir -p ${UPDTMP}
  61.  
  62. #
  63. # Get Desk Top Owners, may have changed since installation.
  64. #
  65. DbgMsg "  preremove: exec GetDeskTopOwners"
  66. GetDeskTopOwners
  67.  
  68. #
  69. # Was a backup taken, if not display menu stating that the
  70. # Update Package CANNOT be removed and exit with failure.
  71. #
  72. DbgMsg "  preremove: if backup directories missing, no backup to restore"
  73. UPDCNT=999999
  74. if [ -f ${UPDCNTFILE} ]
  75. then    . ${UPDCNTFILE}
  76.     while [ "${UPDCNT}" -ge 0 -a -d ${UPDBKUPDIR}/bkup${UPDCNT} ]
  77.     do
  78.         UPDCNT=`expr ${UPDCNT} - 1`
  79.     done
  80. fi
  81. if [ "${UPDCNT}" -ge 0 ]
  82. then
  83.     DbgMsg "    preremove: no backup, so display nobkup.menu and exit"
  84.     MenuCmd warn nobkup
  85.     menu_colors regular
  86.     MenuClear
  87.     LogMsg "preremove: `GetText COMPLEXIT` - ${1}"
  88.     DbgMsg "preremove: Completed with exit code - ${1}"
  89.     ${BIN}/rm -f ${UPDPKGDIR}/!R-Lock!
  90.     RmExit 1
  91. fi
  92.  
  93. #
  94. # Are kernel tools available?
  95. #
  96. DbgMsg "  preremove: exec KernelToolsChk"
  97. KernelToolsChk
  98.  
  99. # ul98-08202 start - why in preremove instead of postremove
  100. CLASSCONF=/sbin/classconf
  101. ${CLASSCONF} -D sco dhcp dhcpOsa
  102. ${CLASSCONF} -D sco dhcpOptionVendorClass dhcpOsa
  103. DbgMsg "Preremove - ul98-08202: /sbin/classconf"
  104. # ul98-08202 end
  105.  
  106.  
  107. # ul98-02137 andrewma/donaldp
  108. [ -f /usr/lib/scoadmin/account/account.tlib ] && {
  109. /sbin/osaconf -A sco accountOsa LOOP_BACK sco_Tcl_osa /usr/lib/scoadmin/account/account.tlib
  110. /sbin/osaconf -A sco accounts LOOP_BACK sco_Tcl_osa /usr/lib/scoadmin/account/account.tlib
  111. /sbin/osaconf -A sco groupOsa LOOP_BACK sco_Tcl_osa /usr/lib/scoadmin/account/account.tlib
  112. /sbin/osaconf -A sco groups LOOP_BACK sco_Tcl_osa /usr/lib/scoadmin/account/account.tlib
  113. DbgMsg " SCOadmin object service agents have been registered with osaconf (account.tlib)"
  114. }
  115.  
  116. #
  117. # Create lock file for removal of update package so that no
  118. # update overlays are installed until the update package is
  119. # successful removed.
  120. #
  121. DbgMsg "  preremove: create a lock file for update removal, ${UPDPKGDIR}/removing"
  122. ${BIN}/touch ${UPDPKGDIR}/removing
  123.  
  124.  
  125. menu_colors regular
  126. MenuClear
  127. LogMsg "preremove: `GetText COMPLEXIT` - ${1}"
  128. DbgMsg "preremove: Completed with exit code - ${1}"
  129. RmExit 0
  130.