home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.1 (User) / OpenStep 4.1 (User).iso / Upgrader.app / Default.upgrade / PostProcess < prev    next >
Encoding:
Text File  |  1996-07-25  |  5.0 KB  |  133 lines

  1. #!/tmp/csh -f
  2. #
  3. # Upgrader post-processing script.
  4.  
  5. set     path = (/bin /usr/bin /etc /usr/etc /usr/ucb)
  6. unalias *
  7.  
  8. if ($#argv != 2) then
  9.     echo "Usage: PostProcess targroot sourceroot"
  10.     exit 1
  11. endif
  12.  
  13. set target = $argv[1]
  14. set source = $argv[2]
  15. set RM = ${target}/UpdatedFiles/rm
  16. set ECHO = ${target}/UpdatedFiles/echo
  17. set MKDIR = ${target}/UpdatedFiles/mkdir
  18. set MV = ${target}/UpdatedFiles/mv
  19. set LN = ${target}/UpdatedFiles/ln
  20. set LS = ${target}/UpdatedFiles/ls
  21. set CP = ${target}/UpdatedFiles/cp
  22. set GREP = ${target}/UpdatedFiles/grep
  23. set COMM = ${target}/UpdatedFiles/comm
  24. set ARCH = ${target}/UpdatedFiles/arch
  25. set AWK = ${target}/UpdatedFiles/awk
  26. set TOUCH = ${target}/UpdatedFiles/touch
  27. set SORT = ${target}/UpdatedFiles/sort
  28.  
  29. ${ECHO} Postprocessing $target for upgrade beginning at `date` ...
  30.  
  31. foreach language (French German Italian Swedish Spanish English Japanese)
  32.     ${RM} -rf ${target}/NextLibrary/Receipts/${language}.pkg
  33. end
  34.     
  35. set OBSOLETE_PACKAGES = (EpsonWingineDriver SCSITapeDriver EtherExpressDriver SerialPortDriver AutoHostAddPatch ATIDriver DBKitPrerelease EuroKeymaps IntelGXAudio Interceptor S3Driver Adaptec154xDriver Adaptec6x60SCSIDriver CogentEISADriver DOSFileSysPatch DiamondStealth64DisplayDriver EtherLinkIIIDriver HPVectra_XM_XP_LANDriver HPXPDisplayDriver IntelGXAudioDriver InterBaseAdaptor NetWareKernelPatch Number9GXE64ProDisplayDriver RestorePatch SendmailPatch TokenExpressDriver WeitekP9000Driver Adaptec6x60Driver IBMTokenRingDriver IndexingKitPatch SoftPCNetWarePatch pdump)
  36.  
  37. ${ECHO} "Removing old package receipts..."
  38. foreach i ( ${OBSOLETE_PACKAGES} )
  39.     ${RM} -rf ${target}/NextLibrary/Receipts/${i}.pkg
  40. end
  41.  
  42. if (-d ${target}/usr/Devices/System.config) then
  43.       ${ECHO} "Moving old drivers..."
  44.       ${MKDIR} ${target}/UpdatedFiles/usr
  45.       if (-d ${target}/private/tmp/oldDrivers) then
  46.           set oldDrivers=${target}/private/tmp/oldDrivers
  47.       else
  48.       set oldDrivers=${target}/usr/Devices
  49.       endif
  50.       ${MV} ${oldDrivers} ${target}/UpdatedFiles/usr/Devices
  51.       ${ECHO} "Installing drivers..."
  52.       set arch=`${ARCH}`
  53.       ${MKDIR} ${target}/private/Drivers
  54.       ${LN} -s Drivers/${arch} ${target}/private/Devices
  55.       ${LN} -s ../private/Devices ${target}/usr/Devices
  56.       
  57.       # copy non-standard drivers
  58.       cd ${target}/UpdatedFiles
  59.       ${LS} -d -1 ./usr/Devices/*.config | ${SORT} > ${target}/private/tmp/Driver$$
  60.       foreach i (`${COMM} -23 ${target}/private/tmp/Driver$$ ${target}/private/tmp/DriverList`)
  61.       if ( ! -d ${target}/${i} ) then
  62.             ${CP} -r $i ${target}/usr/Devices
  63.           endif
  64.       end
  65.       ${RM} -f ${target}/private/tmp/Driver$$ ${target}/private/tmp/DriverList
  66.  
  67.       # ensure that System.config and Default.table exist
  68.       if (! -d ${target}/private/Drivers/${arch}/System.config) then
  69.         ${MKDIR} ${target}/private/Drivers/${arch}
  70.     ${MKDIR} ${target}/private/Drivers/${arch}/System.config
  71.       endif
  72.       ${RM} -f ${target}/private/Drivers/${arch}/System.config/Default.table
  73.       ${CP} ${source}/private/Drivers/${arch}/System.config/Default.table ${target}/private/Drivers/${arch}/System.config
  74.  
  75.       ${ECHO} "Upgrading drivers..."
  76.       ${source}/Upgrader.app/DriverUpgrade ${target}/UpdatedFiles/usr/Devices ${target}/usr/Devices
  77.       foreach i ( ${target}/UpdatedFiles/usr/Devices/*.config )
  78.      ${MV} ${i} ${i}_Old
  79.       end
  80.       set oldcustom=${target}/UpdatedFiles/usr/Devices/System.config/CDIS.custom
  81.       set newcustom=${target}/private/adm/CDIS.custom
  82.       if (-f ${oldcustom}) then
  83.         if (! -f ${newcustom}) then
  84.                     ${CP} ${oldcustom} ${newcustom}
  85.                 endif
  86.                 ${RM} -f ${oldcustom}
  87.       endif
  88.       if (-f ${newcustom}) then
  89.         set LANGUAGE = `${AWK} -F'=' '/LANGUAGE/ {print $2}' ${newcustom}`
  90.                 
  91.         ${GREP} "Language" ${target}/usr/Devices/System.config/Default.table >> /dev/null
  92.         if ($status != 0 && "${LANGUAGE}" != "") then
  93.                     ${ECHO} '"Language" = "'${LANGUAGE}'";' >> ${target}/usr/Devices/System.config/Default.table
  94.                 endif
  95.     endif
  96. ${ECHO} "Driver upgrade complete."
  97. endif
  98.  
  99. # Delete empty nib, if it exists.
  100. ${RM} -rf /usr/lib/NextStep/loginwindow.app/English.lproj/login.nib
  101.  
  102. # copy thinned boms
  103. set nonomatch = 1
  104. cd ${target}/NextLibrary/Receipts
  105. set packages = ( *.pkg )
  106. foreach package ( ${packages} )
  107.     cd ${target}/NextLibrary/Receipts
  108.     if ( -d ${package} ) then
  109.         cd ${package}
  110.         set bom = *.bom
  111.         set newbom = ${target}/UpdatedBoms/${bom}
  112.         if ( -f ${newbom} ) then
  113.             ${ECHO} Upgrading ${package} bom
  114.             ${CP} ${newbom} ${target}/NextLibrary/Receipts/${package}
  115.         endif
  116.     endif
  117. end
  118. ${CP} ${target}/UpdatedBoms/BaseSystem.bom ${target}/usr/lib/NextStep
  119. ${TOUCH} ${target}/private/adm/BuildDisk.custom
  120.  
  121.  
  122. # execute local postprocessing script
  123. set localscript = ${source}/usr/local/Upgrade/PostProcess
  124. if ( -x ${localscript} ) then
  125.     ${localscript} ${target} ${source} || exit 1
  126. endif
  127.  
  128. ${ECHO} Postprocessing completed at `date`.
  129. ${ECHO} Upgrade completed. 
  130. ${ECHO} ""
  131.  
  132. exit 0
  133.