STXInstaller.st
changeset 1134 8401cae5d88e
parent 1133 763354d388ca
child 1135 c27511f3028c
equal deleted inserted replaced
1133:763354d388ca 1134:8401cae5d88e
   163         dirsToMake add:(stxLibDir asFilename constructString:'include').
   163         dirsToMake add:(stxLibDir asFilename constructString:'include').
   164         dirsToMake add:(stxLibDir asFilename constructString:'resources').
   164         dirsToMake add:(stxLibDir asFilename constructString:'resources').
   165         dirsToMake add:(stxLibDir asFilename constructString:'binary').
   165         dirsToMake add:(stxLibDir asFilename constructString:'binary').
   166         dirsToMake add:(stxLibDir asFilename constructString:'bitmaps').
   166         dirsToMake add:(stxLibDir asFilename constructString:'bitmaps').
   167         dirsToMake add:(stxLibDir asFilename constructString:'goodies').
   167         dirsToMake add:(stxLibDir asFilename constructString:'goodies').
       
   168         installSourceFiles ifTrue:[
       
   169             dirsToMake add:(stxLibDir asFilename constructString:'source').
       
   170         ]
   168     ].
   171     ].
   169     ^ dirsToMake
   172     ^ dirsToMake
   170 
   173 
   171     "Modified: / 25.2.1998 / 17:15:19 / cg"
   174     "Modified: / 31.5.1999 / 15:20:45 / cg"
   172 !
   175 !
   173 
   176 
   174 listOfOptionalPackages
   177 listOfOptionalPackages
   175     ^ #(
   178     ^ #(
   176         'libDB'
   179         'libDB'
   335     ].
   338     ].
   336 
   339 
   337     installSourceFiles ifTrue:[
   340     installSourceFiles ifTrue:[
   338         fileSpec := fileSpec , #(
   341         fileSpec := fileSpec , #(
   339                 ( 'projects\smalltalk\source'           #lib     nil                    false  )
   342                 ( 'projects\smalltalk\source'           #lib     nil                    false  )
   340                 ( 'projects\smalltalk\libbasic\*.st'    #lib     'source\libbasic'      false  )
   343                 ( 'libbasic\*.st'    #lib     'source\libbasic'      false  )
   341                 ( 'projects\smalltalk\libbasic2\*.st'   #lib     'source\libbasic2'     false  )
   344                 ( 'libbasic2\*.st'   #lib     'source\libbasic2'     false  )
   342                 ( 'projects\smalltalk\libbasic3\*.st'   #lib     'source\libbasic3'     false  )
   345                 ( 'libbasic3\*.st'   #lib     'source\libbasic3'     false  )
   343                 ( 'projects\smalltalk\libcomp\*.st'     #lib     'source\libcomp'       false  )
   346                 ( 'libcomp\*.st'     #lib     'source\libcomp'       false  )
   344                 ( 'projects\smalltalk\libview\*.st'     #lib     'source\libview'       false  )
   347                 ( 'libview\*.st'     #lib     'source\libview'       false  )
   345                 ( 'projects\smalltalk\libview2\*.st'    #lib     'source\libview2'      false  )
   348                 ( 'libview2\*.st'    #lib     'source\libview2'      false  )
   346                 ( 'projects\smalltalk\libwidg\*.st'     #lib     'source\libwidg'       false  )
   349                 ( 'libwidg\*.st'     #lib     'source\libwidg'       false  )
   347                 ( 'projects\smalltalk\libwidg2\*.st'    #lib     'source\libwidg2'      false  )
   350                 ( 'libwidg2\*.st'    #lib     'source\libwidg2'      false  )
   348                 ( 'projects\smalltalk\libwidg3\*.st'    #lib     'source\libwidg3'      false  )
   351                 ( 'libwidg3\*.st'    #lib     'source\libwidg3'      false  )
   349                 ( 'projects\smalltalk\libtool\*.st'     #lib     'source\libtool'       false  )
   352                 ( 'libtool\*.st'     #lib     'source\libtool'       false  )
   350                 ( 'projects\smalltalk\libtool2\*.st'    #lib     'source\libtool2'      false  )
   353                 ( 'libtool2\*.st'    #lib     'source\libtool2'      false  )
   351                 ( 'projects\smalltalk\libui\*.st'       #lib     'source\libui'         false  )
   354                 ( 'libui\*.st'       #lib     'source\libui'         false  )
   352                 ( 'projects\smalltalk\libhtml\*.st'     #lib     'source\libhtml'       false  )
   355                 ( 'libhtml\*.st'     #lib     'source\libhtml'       false  )
   353                 ( 'projects\smalltalk\libodbc\*.st'     #lib     'source\libodbc'       false  )
   356                 ( 'libodbc\*.st'     #lib     'source\libodbc'       false  )
   354                 ( 'projects\smalltalk\libopengl\*.st'   #lib     'source\libopengl'     false  )
   357                 ( 'libopengl\*.st'   #lib     'source\libopengl'     false  )
   355         ).
   358         ).
   356     ].
   359     ].
   357 
   360 
   358     installSTCFiles ifTrue:[
   361     installSTCFiles ifTrue:[
   359         fileSpec := fileSpec , #(
   362         fileSpec := fileSpec , #(
   372 
   375 
   373 
   376 
   374     ^ fileSpec
   377     ^ fileSpec
   375 
   378 
   376     "Created: / 2.5.1999 / 13:23:06 / cg"
   379     "Created: / 2.5.1999 / 13:23:06 / cg"
   377     "Modified: / 31.5.1999 / 14:29:20 / cg"
   380     "Modified: / 31.5.1999 / 15:14:16 / cg"
   378 !
   381 !
   379 
   382 
   380 xxspecOfFilesToCopy
   383 xxspecOfFilesToCopy
   381     |fileSpec|
   384     |fileSpec|
   382 
   385 
   664 
   667 
   665     "Created: 17.7.1996 / 15:24:19 / cg"
   668     "Created: 17.7.1996 / 15:24:19 / cg"
   666     "Modified: 22.5.1997 / 15:06:41 / cg"
   669     "Modified: 22.5.1997 / 15:06:41 / cg"
   667 !
   670 !
   668 
   671 
       
   672 createRegistryEntries
       
   673     |release msg k|
       
   674 
       
   675     msg := (resources array:#('ST/X Installation' '' 'creating registry entries' '' '' '')) asStringCollection.
       
   676     actionTextHolder value:nil.
       
   677     actionTextHolder value:msg.
       
   678 
       
   679     commandTraceView showCR:(resources string:'creating registry entries...').
       
   680     commandTraceView endEntry.
       
   681 
       
   682     release := self smalltalkRelease.
       
   683 
       
   684     k := Win32OperatingSystem::RegistryEntry key:'HKEY_LOCAL_MACHINE\Software'.
       
   685     k := k createSubKeyNamed:'eXept'.
       
   686     k := k createSubKeyNamed:'Smalltalk/X'.
       
   687     k valueNamed:'CurrentVersion' put:release.
       
   688 
       
   689     k := k createSubKeyNamed:release.
       
   690     k valueNamed:'LibDir' put:stxLibDir.
       
   691     k valueNamed:'BinDir' put:stxBinDir.
       
   692 
       
   693     "Modified: / 31.5.1999 / 15:24:41 / cg"
       
   694 !
       
   695 
   669 createSymbolicLinks
   696 createSymbolicLinks
   670     |msg dirsToMake numDirs nDone|
   697     |msg dirsToMake numDirs nDone|
   671 
   698 
   672     OperatingSystem isUNIXlike ifFalse:[^ self].
   699     OperatingSystem isUNIXlike ifFalse:[^ self].
   673 
   700 
   674     msg := (resources array:#('ST/X Installation' '' 'creating symbolic links' '' '' '')) asStringCollection.
   701     msg := (resources array:#('ST/X Installation' '' 'creating symbolic links' '' '' '')) asStringCollection.
       
   702     actionTextHolder value:nil.
       
   703     actionTextHolder value:msg.
   675 
   704 
   676     commandTraceView showCR:(resources string:'setting up symbolic links in doc/online ...').
   705     commandTraceView showCR:(resources string:'setting up symbolic links in doc/online ...').
   677     commandTraceView endEntry.
   706     commandTraceView endEntry.
   678     installWhat == #full ifTrue:[
   707     installWhat == #full ifTrue:[
   679         OperatingSystem executeCommand:('(cd ' , fullDir , '/doc/online ; make links)').
   708         OperatingSystem executeCommand:('(cd ' , fullDir , '/doc/online ; make links)').
   680     ] ifFalse:[
   709     ] ifFalse:[
   681         OperatingSystem executeCommand:('(cd ' , stxLibDir , '/doc/online ; make links)').
   710         OperatingSystem executeCommand:('(cd ' , stxLibDir , '/doc/online ; make links)').
   682     ].
   711     ].
   683 
   712 
   684     "Created: / 17.7.1996 / 15:24:19 / cg"
   713     "Created: / 17.7.1996 / 15:24:19 / cg"
   685     "Modified: / 31.5.1999 / 13:26:42 / cg"
   714     "Modified: / 31.5.1999 / 14:46:36 / cg"
   686 !
   715 !
   687 
   716 
   688 executeCommandAndShowOutput:cmd
   717 executeCommandAndShowOutput:cmd
   689     |doneSemaphore line p|
   718     |doneSemaphore line p|
   690 
   719 
  1402                           doDfMonitoring := true.
  1431                           doDfMonitoring := true.
  1403                           ok := self copyFiles
  1432                           ok := self copyFiles
  1404                       ].
  1433                       ].
  1405                       self changeWritability.
  1434                       self changeWritability.
  1406                       self createSymbolicLinks.
  1435                       self createSymbolicLinks.
       
  1436                       OperatingSystem isMSWINDOWSlike ifTrue:[
       
  1437                           self createRegistryEntries.
       
  1438                       ].
  1407 
  1439 
  1408                       progressValue value:100.
  1440                       progressValue value:100.
  1409 
  1441 
  1410                       progressView topView raise.
  1442                       progressView topView raise.
  1411                       commandTraceView showCR:'Installation finished.' asText allBold.
  1443                       commandTraceView showCR:'Installation finished.' asText allBold.
  1445     "
  1477     "
  1446      STXInstaller open
  1478      STXInstaller open
  1447     "
  1479     "
  1448 
  1480 
  1449     "Created: / 17.7.1996 / 15:11:27 / cg"
  1481     "Created: / 17.7.1996 / 15:11:27 / cg"
  1450     "Modified: / 31.5.1999 / 14:05:38 / cg"
  1482     "Modified: / 31.5.1999 / 14:45:12 / cg"
  1451 !
  1483 !
  1452 
  1484 
  1453 open
  1485 open
  1454     self askAndInstall.
  1486     self askAndInstall.
  1455 
  1487