home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / Upgrade_3.0.app / Default.upgrade / PreProcess < prev    next >
Text File  |  1992-07-17  |  7KB  |  206 lines

  1. #!/bin/csh -f
  2. #
  3. # Upgrader pre-processing script for 2.X systems.
  4.  
  5. set     path = (/bin /usr/bin /etc /usr/etc /usr/ucb)
  6.  
  7. if ($#argv != 2) then
  8.     echo "Usage: PreProcess targroot sourceroot"
  9.     exit 1
  10. endif
  11.  
  12. set target = $argv[1]
  13. set source = $argv[2]
  14. set docleanup
  15.  
  16. echo Preparing $target for upgrade...
  17.  
  18. if (-f ${target}/usr/lib/NextStep/software_version) then
  19.     set sourcevers = `head -1 ${target}/usr/lib/NextStep/software_version`
  20. else
  21.     set sourcevers = `head -1 ${target}/private/adm/software_version`
  22. endif
  23.  
  24. if ("$sourcevers" == "2.0") then
  25.     set releasename = 2.0
  26. else if ("$sourcevers" == "2.2") then 
  27.     set releasename = 2.2
  28. else if Udourcevers" == "2.1J") then 
  29.     set releasename = 2.1J
  30. else if ("$sourcevers" == "2.2J") then 
  31.     set releasename = 2.2J
  32. else if ("$sourcevers" == "3.0 Pre-release1") then 
  33.     set releasename = PR1
  34.     unset docleanup
  35. else if ("$sourcevers" == "3.0 Pre-release2") then 
  36.     set releasename = PR2
  37.     unset docleanup
  38. else if ("$sourcevers" == "3.0") then 
  39.     set releasename = 3.0
  40.     unset docleanup
  41. else if ("$sourcevers" == "2.1") then 
  42.     if (-f ${target}/NextLibrary/References/Webster-Dictionary/CompactDictionary.nxbf) then
  43.         set releasename = 2.1
  44.     else if (-f ${target}/NextApps/WriteNow.app/rtf-wn) then
  45.         set releasename = 2.1I
  46.         if (-f ${target}/usr/lib/NextStep/Displays/NeXTdimension.psdrvr/NDserver) then
  47.             set serversz = `wc -c ${target}/usr/lib/NextStep/Displays/NeXTdimension.psdrvr/NDserver | awk '{print $1}'`
  48.             if ($serversz == 450560) then
  49.                 set releasename = 2.1ND1
  50.             else if ($serversz == 376832) then
  51.                 set releasename = 2.1ND2
  52.             endif
  53.         endif
  54.     else
  55.         set releasename = 2.1RN
  56.     endif
  57. else
  58.     echo "This upgrade can't be used to upgrade Release ${sourcevers}."
  59.     exit 1
  60. endif
  61.  
  62. if (! $?docleanup) then
  63.     # Pre-remove compressed languages to try and free up as much space as possible.
  64.     foreach language (French German Italian Swedish Spanish English)
  65.     set statusfile = ${target}/NextLibrary/Receipts/${language}.pkg/${language}.status
  66.     if (-f $statusfile) then
  67.         if (`/bin/cat $statusfile` == "compressed") then
  68.         echo Removing files for ${language}, which was never used...
  69.         /bin/rm -rf ${target}/NextLibrary/Receipts/${language}.pkg
  70.         endif
  71.     endif
  72.     end
  73.     echo "Upgrade preparation complete."
  74.     exit 0
  75. endif
  76.  
  77. echo -n "Relocating package receipts..."
  78. set nonomatch
  79.  
  80. mkdirs ${target}/NextLibrary/Receipts
  81. chown root.wheel ${target}/NextLibrary/Receipts
  82. chmod 777 ${target}/NextLibrary/Receipts
  83. foreach subdir (Extended Standard ThirdParty)
  84.     mv ${target}/NextLibrary/Packages/${subdir}/* ${target}/NextLibrary/Receipts >& /dev/null
  85. end
  86.  
  87. # Remove old receipts for standard packages.
  88.  
  89. unalias rm
  90. rm -rf ${target}/NextAdmin/Updates_2.1
  91. rm -rf ${target}/NextAdmin/Updates_NeXTdimension
  92. rm -rf ${target}/NextLibrary/Receipts/Update_ND.pkg
  93. rm -rf ${target}/NextLibrary/Receipts/UpdateExtensions_ND.pkg
  94. rm -rf ${target}/NextLibrary/Receipts/Updates_NeXTdimensUepkg
  95. rm -rf ${target}/NextLibrary/Receipts/Update_2.1.pkg
  96. rm -rf ${target}/NextLibrary/Receipts/UpdateExtensions_2.1.pkg
  97. rm -rf ${target}/NextLibrary/Receipts/2.1_Literature.pkg
  98. rm -rf ${target}/NextLibrary/Receipts/2.1_Demonstrations.pkg
  99. rm -rf ${target}/NextLibrary/Receipts/2.1_Documentation.pkg
  100. rm -rf ${target}/NextLibrary/Receipts/2.1_Developer.pkg
  101. rm -rf ${target}/NextLibrary/Receipts/Literature.pkg
  102. rm -rf ${target}/NextLibrary/Receipts/Demonstrations.pkg
  103. rm -rf ${target}/NextLibrary/Receipts/Documentation.pkg
  104. rm -rf ${target}/NextLibrary/Receipts/Developer.pkg
  105. rm -rf ${target}/NextLibrary/Receipts/French.pkg
  106. rm -rf ${target}/NextLibrary/Receipts/German.pkg
  107. rm -rf ${target}/NextLibrary/Receipts/Spanish.pkg
  108. rm -rf ${target}/NextLibrary/Receipts/Italian.pkg
  109. rm -rf ${target}/NextLibrary/Receipts/Swedish.pkg
  110. rm -rf ${target}/NextLibrary/Receipts/2.2*.pkg
  111. rm -rf ${target}/NextLibrary/Receipts/Update_2.2a.pkg
  112.  
  113. echo "done."
  114.  
  115. # Re-configure /usr/template (J-version only)
  116. if (-d ${target}/usr/template/userE) then
  117.     echo -n "Re-configuring ${target}/usr/template/user..."
  118.     rm -rf ${target}/usr/template/user
  119.     cp -rp ${target}/usr/template/userE ${target}/usr/template/user
  120.     echo "done."
  121. endif
  122.  
  123. echo -n "Installing bill of materials for Release ${sourcevers}..."
  124. cp ${source}/Upgrade_3.0.app/Default.upgrade/PriorReleases/${releasename}/BaseSystem.bom \
  125.     ${target}/usr/lib/NextStep/BaseSystem.bom
  126. chown root.wheel ${target}/usr/lib/NextStep/BaseSystem.bom    
  127. chmod 644 ${target}/usr/lib/NextStep/BaseSystem.bom
  128. echo "done."
  129.  
  130. if (-d ${target}/NextLibrary/Literature/Shakespeare) then
  131.     set literature
  132. else if (-f ${target}/NextLibrary/References/Webster-Dictionary/pictures/wimple.rtf) then
  133.     set literature
  134. endif
  135. if (-f ${target}/NextLibrary/Documentation/Unix/ManPages/man3/ferror.3s) then
  136.     set doc
  137. else if (-f ${target}/NextLibrary/Documentation/NextDev/NextStep/Reference/03_CFunctions/DPSFuncts.rtf) then
  138.     set doc
  139. endif
  140. if (-f ${target}/NextDeveloper/Demos/Balancer.app/Sound2.snd) then
  141.     set demos
  142. else if (-f ${target}/NextLibrary/Music/Scores/Throb.score) then
  143.     set demos
  144. endif
  145. if (-f ${target}/usr/include/appkit/Scroller.h) then
  146.     set developer
  147. else if (-f ${target}/NextDeveloper/Examples/ScreenSender/BitMoverSpeaker.m) then
  148.     set developer
  149. endif
  150. if (-d ${target}/usr/lib/NextStep/Languages/German) then
  151.     sUferman
  152. endif
  153. if (-d ${target}/usr/lib/NextStep/Languages/French) then
  154.     set french
  155. endif
  156.  
  157. if ($?literature || $?doc || $?demos || $?developer || $?german || $?french) then
  158.     echo -n "Installing exension package receipts:"
  159. else
  160.     echo "Upgrade preparation complete."
  161.     exit 0
  162. endif
  163.  
  164.  
  165. if ($?literature) then
  166.     rcp -rp ${source}/Upgrade_3.0.app/Default.upgrade/PriorReleases/${releasename}/Literature.pkg \
  167.     ${target}/NextLibrary/Receipts/Literature.pkg
  168.     chown -R root.wheel ${target}/NextLibrary/Receipts/Literature.pkg
  169.     echo -n " Literature"
  170. endif
  171. if ($?doc) then
  172.     rcp -rp ${source}/Upgrade_3.0.app/Default.upgrade/PriorReleases/${releasename}/Documentation.pkg \
  173.     ${target}/NextLibrary/Receipts/Documentation.pkg
  174.     chown -R root.wheel ${target}/NextLibrary/Receipts/Documentation.pkg
  175.     echo -n " Documentation"
  176. endif
  177. if ($?demos) then
  178.     rcp -rp ${source}/Upgrade_3.0.app/Default.upgrade/PriorReleases/${releasename}/Demonstrations.pkg \
  179.     ${target}/NextLibrary/Receipts/Demonstrations.pkg
  180.     chown -R root.wheel ${target}/NextLibrary/Receipts/Demonstrations.pkg
  181.     echo -n " Demonstrations"
  182. endif
  183. if ($?developer) then
  184.     rcp -rp ${source}/Upgrade_3.0.app/Default.upgrade/PriorReleases/${releasename}/Developer.pkg \
  185.     ${target}/NextLibrary/Receipts/Developer.pkg
  186.     chown -R root.wheel ${target}/NextLibrary/Receipts/Developer.pkg
  187.     echo -n " Developer"
  188. endif
  189. if ($?french) then
  190.     rcp -rp ${source}/Upgrade_3.0.app/Default.upgrade/OldLanguages/French.pkg \
  191.     ${target}/NextLibrary/Receipts/French.pkg
  192.     chown -R root.wheel ${target}/NextLibrary/Receipts/French.pkg
  193.     echo -n " French"
  194. endif
  195. if ($?german) then
  196.     rcp -rp ${source}/Upgrade_3.0.app/Default.upgrade/OldLanguages/German.pkg \
  197.     ${target}/NextLibrary/Receipts/German.pkg
  198.     chown -R root.wheel ${target}/NextLibrary/Receipts/German.pkg
  199.     echo -n " German"
  200. endif
  201.  
  202. echo "."
  203. echo "Upgrade preparation complete."
  204.  
  205. exit 0
  206.