home *** CD-ROM | disk | FTP | other *** search
- #!/tmp/csh -f
- #
- # Upgrader post-processing script.
-
- set path = (/bin /usr/bin /etc /usr/etc /usr/ucb)
- unalias *
-
- if ($#argv != 2) then
- echo "Usage: PostProcess targroot sourceroot"
- exit 1
- endif
-
- set target = $argv[1]
- set source = $argv[2]
- set RM = ${target}/UpdatedFiles/rm
- set ECHO = ${target}/UpdatedFiles/echo
- set MKDIR = ${target}/UpdatedFiles/mkdir
- set MV = ${target}/UpdatedFiles/mv
- set LN = ${target}/UpdatedFiles/ln
- set LS = ${target}/UpdatedFiles/ls
- set CP = ${target}/UpdatedFiles/cp
- set GREP = ${target}/UpdatedFiles/grep
- set COMM = ${target}/UpdatedFiles/comm
- set ARCH = ${target}/UpdatedFiles/arch
- set AWK = ${target}/UpdatedFiles/awk
- set TOUCH = ${target}/UpdatedFiles/touch
- set SORT = ${target}/UpdatedFiles/sort
-
- ${ECHO} Postprocessing $target for upgrade beginning at `date` ...
-
- foreach language (French German Italian Swedish Spanish English Japanese)
- ${RM} -rf ${target}/NextLibrary/Receipts/${language}.pkg
- end
-
- 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)
-
- ${ECHO} "Removing old package receipts..."
- foreach i ( ${OBSOLETE_PACKAGES} )
- ${RM} -rf ${target}/NextLibrary/Receipts/${i}.pkg
- end
-
- if (-d ${target}/usr/Devices/System.config) then
- ${ECHO} "Moving old drivers..."
- ${MKDIR} ${target}/UpdatedFiles/usr
- if (-d ${target}/private/tmp/oldDrivers) then
- set oldDrivers=${target}/private/tmp/oldDrivers
- else
- set oldDrivers=${target}/usr/Devices
- endif
- ${MV} ${oldDrivers} ${target}/UpdatedFiles/usr/Devices
- ${ECHO} "Installing drivers..."
- set arch=`${ARCH}`
- ${MKDIR} ${target}/private/Drivers
- ${LN} -s Drivers/${arch} ${target}/private/Devices
- ${LN} -s ../private/Devices ${target}/usr/Devices
-
- # copy non-standard drivers
- cd ${target}/UpdatedFiles
- ${LS} -d -1 ./usr/Devices/*.config | ${SORT} > ${target}/private/tmp/Driver$$
- foreach i (`${COMM} -23 ${target}/private/tmp/Driver$$ ${target}/private/tmp/DriverList`)
- if ( ! -d ${target}/${i} ) then
- ${CP} -r $i ${target}/usr/Devices
- endif
- end
- ${RM} -f ${target}/private/tmp/Driver$$ ${target}/private/tmp/DriverList
-
- # ensure that System.config and Default.table exist
- if (! -d ${target}/private/Drivers/${arch}/System.config) then
- ${MKDIR} ${target}/private/Drivers/${arch}
- ${MKDIR} ${target}/private/Drivers/${arch}/System.config
- endif
- ${RM} -f ${target}/private/Drivers/${arch}/System.config/Default.table
- ${CP} ${source}/private/Drivers/${arch}/System.config/Default.table ${target}/private/Drivers/${arch}/System.config
-
- ${ECHO} "Upgrading drivers..."
- ${source}/Upgrader.app/DriverUpgrade ${target}/UpdatedFiles/usr/Devices ${target}/usr/Devices
- foreach i ( ${target}/UpdatedFiles/usr/Devices/*.config )
- ${MV} ${i} ${i}_Old
- end
- set oldcustom=${target}/UpdatedFiles/usr/Devices/System.config/CDIS.custom
- set newcustom=${target}/private/adm/CDIS.custom
- if (-f ${oldcustom}) then
- if (! -f ${newcustom}) then
- ${CP} ${oldcustom} ${newcustom}
- endif
- ${RM} -f ${oldcustom}
- endif
- if (-f ${newcustom}) then
- set LANGUAGE = `${AWK} -F'=' '/LANGUAGE/ {print $2}' ${newcustom}`
-
- ${GREP} "Language" ${target}/usr/Devices/System.config/Default.table >> /dev/null
- if ($status != 0 && "${LANGUAGE}" != "") then
- ${ECHO} '"Language" = "'${LANGUAGE}'";' >> ${target}/usr/Devices/System.config/Default.table
- endif
- endif
- ${ECHO} "Driver upgrade complete."
- endif
-
- # Delete empty nib, if it exists.
- ${RM} -rf /usr/lib/NextStep/loginwindow.app/English.lproj/login.nib
-
- # copy thinned boms
- set nonomatch = 1
- cd ${target}/NextLibrary/Receipts
- set packages = ( *.pkg )
- foreach package ( ${packages} )
- cd ${target}/NextLibrary/Receipts
- if ( -d ${package} ) then
- cd ${package}
- set bom = *.bom
- set newbom = ${target}/UpdatedBoms/${bom}
- if ( -f ${newbom} ) then
- ${ECHO} Upgrading ${package} bom
- ${CP} ${newbom} ${target}/NextLibrary/Receipts/${package}
- endif
- endif
- end
- ${CP} ${target}/UpdatedBoms/BaseSystem.bom ${target}/usr/lib/NextStep
- ${TOUCH} ${target}/private/adm/BuildDisk.custom
-
-
- # execute local postprocessing script
- set localscript = ${source}/usr/local/Upgrade/PostProcess
- if ( -x ${localscript} ) then
- ${localscript} ${target} ${source} || exit 1
- endif
-
- ${ECHO} Postprocessing completed at `date`.
- ${ECHO} Upgrade completed.
- ${ECHO} ""
-
- exit 0
-