STXInstaller.st
changeset 1279 b531a4cf201a
parent 1152 455658443a5f
child 1281 e83c14253471
--- a/STXInstaller.st	Mon Dec 20 11:54:02 1999 +0100
+++ b/STXInstaller.st	Tue Dec 21 16:25:39 1999 +0100
@@ -1,8 +1,8 @@
 Object subclass:#STXInstaller
-	instanceVariableNames:'stxLibDir stxLibBinDir stxBinDir installDocFiles
-		installSourceFiles installSTCFiles installGoodyFiles fullDir
-		actionPercentageHolder actionTextHolder commandTraceView
-		resources dfHolder copyProcess installWhat'
+	instanceVariableNames:'stxLibDir stxLibBinDir stxBinDir stxPkgDir stxDocDir stxTopDir
+		installDocFiles installSourceFiles installSTCFiles
+		installGoodyFiles fullDir actionPercentageHolder actionTextHolder
+		commandTraceView resources dfHolder copyProcess installWhat'
 	classVariableNames:'LastPartialDir LastFullDir'
 	poolDictionaries:''
 	category:'eXept-tools'
@@ -194,23 +194,16 @@
         dirsToMake add:stxBinDir.
         dirsToMake add:stxLibDir.
         dirsToMake add:stxLibBinDir.
-        dirsToMake add:(stxLibDir asFilename constructString:'configurations').
-        dirsToMake add:(stxLibDir asFilename constructString:'doc').
-        dirsToMake add:((docDir := stxLibDir asFilename construct:'doc') constructString:'online').
-        dirsToMake add:((docOnlineDir := docDir construct:'online') constructString:'english').
+        dirsToMake add:stxDocDir.
+        docOnlineDir := stxDocDir asFilename construct:'online'.
+        dirsToMake add:docOnlineDir name.
+        dirsToMake add:(docOnlineDir constructString:'english').
         dirsToMake add:(docOnlineDir constructString:'german').
         dirsToMake add:(docOnlineDir constructString:'french').
         dirsToMake add:(docOnlineDir constructString:'italian').
-        dirsToMake add:(stxLibDir asFilename constructString:'include').
-        dirsToMake add:(stxLibDir asFilename constructString:'resources').
-        dirsToMake add:(stxLibDir asFilename constructString:'binary').
-        dirsToMake add:(stxLibDir asFilename constructString:'bitmaps').
         installGoodyFiles ifTrue:[
             dirsToMake add:(stxLibDir asFilename constructString:'goodies').
         ].
-        installSourceFiles ifTrue:[
-            dirsToMake add:(stxLibDir asFilename constructString:'source').
-        ]
     ].
     ^ dirsToMake
 
@@ -241,6 +234,141 @@
                , '.' , Smalltalk revisionNr printString.
 !
 
+specOfCommonFilesToCopy
+    |fileSpec|
+
+    fileSpec := #(
+                "/ name                             destination  subDir             required mode      
+                ( 'projects/smalltalk/include'          #lib     nil                  true  '644' )
+                ( 'projects/smalltalk/*.rc'             #lib     nil                  true  '644' )
+                ( 'projects/smalltalk/patches'          #lib     nil                  true  '644' )
+                ( 'COPYRIGHT'                           #lib     nil                  true  '644' )
+                ( 'doc/online/german/LICENCE.STX.html'  nil      'doc/online/german'      true  '644' )
+                ( 'doc/online/english/LICENCE.STX.html' nil      'doc/online/english'     true  '644' )
+
+                ( 'libbasic/abbrev.stc'                 #pkg     'stx/libbasic'      true  )
+                ( 'libbasic/bitmaps'                    #pkg     'stx/libbasic'      true  )
+                ( 'libbasic/resources'                  #pkg     'stx/libbasic'      true  )
+
+                ( 'libbasic2/abbrev.stc'                #pkg     'stx/libbasic2'     true  )
+                ( 'libbasic2/bitmaps'                   #pkg     'stx/libbasic2'     true  )
+                ( 'libbasic2/resources'                 #pkg     'stx/libbasic2'     true  )
+
+                ( 'libbasic3/abbrev.stc'                #pkg     'stx/libbasic3'     true  )
+                ( 'libbasic3/bitmaps'                   #pkg     'stx/libbasic3'     true  )
+                ( 'libbasic3/resources'                 #pkg     'stx/libbasic3'     true  )
+
+                ( 'libboss/abbrev.stc'                  #pkg     'stx/libboss'       true  )
+                ( 'libboss/bitmaps'                     #pkg     'stx/libboss'       true  )
+                ( 'libboss/resources'                   #pkg     'stx/libboss'       true  )
+
+                ( 'libcomp/abbrev.stc'                  #pkg     'stx/libcomp'       true  )
+                ( 'libcomp/bitmaps'                     #pkg     'stx/libcomp'       true  )
+                ( 'libcomp/resources'                   #pkg     'stx/libcomp'       true  )
+
+                ( 'libview/abbrev.stc'                  #pkg     'stx/libview'       true  )
+                ( 'libview/bitmaps'                     #pkg     'stx/libview'       true  )
+                ( 'libview/resources'                   #pkg     'stx/libview'       true  )
+
+                ( 'libview2/abbrev.stc'                 #pkg     'stx/libview2'      true  )
+                ( 'libview2/bitmaps'                    #pkg     'stx/libview2'      true  )
+                ( 'libview2/resources'                  #pkg     'stx/libview2'      true  )
+
+                ( 'libwidg/abbrev.stc'                  #pkg     'stx/libwidg'       true  )
+                ( 'libwidg/bitmaps'                     #pkg     'stx/libwidg'       true  )
+                ( 'libwidg/resources'                   #pkg     'stx/libwidg'       true  )
+
+                ( 'libwidg2/abbrev.stc'                 #pkg     'stx/libwidg2'      true  )
+                ( 'libwidg2/bitmaps'                    #pkg     'stx/libwidg2'      true  )
+                ( 'libwidg2/resources'                  #pkg     'stx/libwidg2'      true  )
+
+                ( 'libwidg3/abbrev.stc'                 #pkg     'stx/libwidg3'      true  )
+                ( 'libwidg3/bitmaps'                    #pkg     'stx/libwidg2'      true  )
+                ( 'libwidg3/resources'                  #pkg     'stx/libwidg2'      true  )
+
+                ( 'libtool/abbrev.stc'                  #pkg     'stx/libtool'       true  )
+                ( 'libtool/bitmaps'                     #pkg     'stx/libtool'       true  )
+                ( 'libtool/resources'                   #pkg     'stx/libtool'       true  )
+
+                ( 'libtool2/abbrev.stc'                 #pkg     'stx/libtool2'      true  )
+                ( 'libtool2/bitmaps'                    #pkg     'stx/libtool2'      true  )
+                ( 'libtool2/resources'                  #pkg     'stx/libtool2'      true  )
+
+                ( 'libui/abbrev.stc'                    #pkg     'stx/libui'         true  )
+                ( 'libui/bitmaps'                       #pkg     'stx/libui'         true  )
+                ( 'libui/resources'                     #pkg     'stx/libui'         true  )
+
+                ( 'libhtml/abbrev.stc'                  #pkg     'stx/libhtml'       true  )
+                ( 'libhtml/bitmaps'                     #pkg     'stx/libhtml'       true  )
+                ( 'libhtml/resources'                   #pkg     'stx/libhtml'       true  )
+
+                ( 'libodbc/abbrev.stc'                  #pkg     'stx/libodbc'       true  )
+                ( 'libodbc/bitmaps'                     #pkg     'stx/libodbc'       true  )
+                ( 'libodbc/resources'                   #pkg     'stx/libodbc'       true  )
+
+                ( 'libopengl/abbrev.stc'                #pkg     'stx/libopengl'     true  )
+                ( 'libopengl/bitmaps'                   #pkg     'stx/libopengl'     true  )
+                ( 'libopengl/resources'                 #pkg     'stx/libopengl'     true  )
+
+                ( 'libjava/abbrev.stc'                  #pkg     'stx/libjava'     true  )
+                ( 'libjava/bitmaps'                     #pkg     'stx/libjava'     true  )
+                ( 'libjava/resources'                   #pkg     'stx/libjava'     true  )
+    ).
+
+    installDocFiles ifTrue:[
+        fileSpec := fileSpec , #(
+                ( 'doc'                                  #lib     nil        false '644' )
+        ).
+    ].
+
+    installSourceFiles ifTrue:[
+        fileSpec := fileSpec , #(
+                ( 'libbasic/*.st'               #pkg     'stx/libbasic/source'      false  )
+                ( 'libbasic2/*.st'              #pkg     'stx/libbasic2/source'     false  )
+                ( 'libbasic3/*.st'              #pkg     'stx/libbasic3/source'     false  )
+                ( 'libboss/*.st'                #pkg     'stx/libboss/source'       false  )
+                ( 'libcomp/*.st'                #pkg     'stx/libcomp/source'       false  )
+                ( 'libview/*.st'                #pkg     'stx/libview/source'       false  )
+                ( 'libview2/*.st'               #pkg     'stx/libview2/source'      false  )
+                ( 'libwidg/*.st'                #pkg     'stx/libwidg/source'       false  )
+                ( 'libwidg2/*.st'               #pkg     'stx/libwidg2/source'      false  )
+                ( 'libwidg3/*.st'               #pkg     'stx/libwidg3/source'      false  )
+                ( 'libtool/*.st'                #pkg     'stx/libtool/source'       false  )
+                ( 'libtool2/*.st'               #pkg     'stx/libtool2/source'      false  )
+                ( 'libui/*.st'                  #pkg     'stx/libui/source'         false  )
+                ( 'libhtml/*.st'                #pkg     'stx/libhtml/source'       false  )
+                ( 'libodbc/*.st'                #pkg     'stx/libodbc/source'       false  )
+                ( 'libopengl/*.st'              #pkg     'stx/libopengl/source'     false  )
+                ( 'libjava/*.st'                #pkg     'stx/libjava/source'     false  )
+        ).
+    ].
+
+    installSTCFiles ifTrue:[
+        fileSpec := fileSpec , #(
+                ( 'include'                                  #lib        nil              false '644' )
+                ( 'configurations'                           #lib        nil              false '644' )
+                ( 'configurations/PACKS'                     #lib        'configurations' false '644' )
+                ( 'configurations/my*'                       #lib        'configurations' false '644' )
+                ( 'configurations/vendor*'                   #lib        'configurations' false '644' )
+                ( 'rules'                                    #lib        nil              false '644' )
+        ).
+    ].
+
+    installGoodyFiles ifTrue:[
+        fileSpec := fileSpec , #(
+                ( 'goodies/*.st'                 #pkg     'stx/goodies/source'  false '644' )
+                ( 'goodies/*.chg'                #pkg     'stx/goodies/source'  false '644' )
+                ( 'goodies/rdoit/rdoit'          #bin     nil               false '755' )
+        ).
+    ].
+
+
+    ^ fileSpec
+
+    "Modified: / 30.4.1999 / 18:02:22 / cg"
+    "Created: / 2.5.1999 / 13:17:37 / cg"
+!
+
 specOfFilesToCopy
     OperatingSystem isMSWINDOWSlike ifTrue:[
         ^ self specOfWindowsFilesToCopy
@@ -253,44 +381,23 @@
 specOfUnixFilesToCopy
     |fileSpec|
 
-    fileSpec := #(
+    fileSpec := self specOfCommonFilesToCopy.
+
+    fileSpec := fileSpec , #(
                 "/ name                             destination  subDir             required mode      
                 ( 'projects/smalltalk/smalltalk'        #bin     nil                  true  '755' )
                 ( 'projects/smalltalk/stx'              #bin     nil                  true  '755' )
-                ( 'projects/smalltalk/include'          #lib     nil                  true  '644' )
-                ( 'COPYRIGHT'                           #lib     nil                  true  '644' )
-                ( 'projects/smalltalk/*.rc'             #lib     nil                  true  '644' )
-                ( 'projects/smalltalk/patches'          #lib     nil                  true  '644' )
-                ( 'projects/smalltalk/bitmaps'          #lib     nil                  true  '644' )
-                ( 'projects/smalltalk/resources'        #lib     nil                  true  '644' )
-                ( 'projects/smalltalk/lib'              #lib     nil                  true  '644' )
-                ( 'doc/online/german/LICENCE.STX.html'  #lib     'doc/online/german'  true  '644' )
-                ( 'doc/online/english/LICENCE.STX.html' #lib     'doc/online/english' true  '644' )
     ).
 
-    installDocFiles ifTrue:[
-        fileSpec := fileSpec , #(
-                ( 'doc'                                  #lib     nil        false '644' )
-        ).
-    ].
-
-    installSourceFiles ifTrue:[
-        fileSpec := fileSpec , #(
-                ( 'projects/smalltalk/source'                #lib        nil        false '644' )
-        ).
-    ].
-
     installSTCFiles ifTrue:[
         fileSpec := fileSpec , #(
                 ( 'stc/stc'                                  #bin        nil              false '755' )
                 ( 'rules/stmkmp'                             #bin        nil              false '755' )
                 ( 'rules/stmkmf'                             #bin        nil              false '755' )
-                ( 'include'                                  #lib        nil              false '644' )
                 ( 'configurations'                           #lib        nil              false '644' )
                 ( 'configurations/PACKS'                     #lib        'configurations' false '644' )
                 ( 'configurations/my*'                       #lib        'configurations' false '644' )
                 ( 'configurations/vendor*'                   #lib        'configurations' false '644' )
-                ( 'rules'                                    #lib        nil              false '644' )
 
                 ( 'support/VGL/vogl/src/libvogl.*'           #lib        'lib'            false '644' )
                 ( 'support/VGL/vogl/src/*.h'                 #lib        'include'        false '644' )
@@ -298,34 +405,36 @@
 
                 ( 'goodies/persistency/db-1.6/PORT/libdb.*'  #lib        'lib'            false '644' )
 
-                ( 'librun/librun.*'                          #libBin     nil              false '644' )
-                ( 'libbasic/libbasic.*'                      #libBin     nil              false '644' )
-                ( 'libbasic2/libbasic2.*'                    #libBin     nil              false '644' )
-                ( 'libbasic3/libbasic3.*'                    #libBin     nil              false '644' )
-                ( 'libhtml/libhtml.*'                        #libBin     nil              false '644' )
-                ( 'libcomp/libcomp.*'                        #libBin     nil              false '644' )
+                ( 'librun/librun.o'                          #libBin     nil              false '644' )
+                ( 'librun/librun.a'                          #libBin     nil              false '644' )
+                ( 'libbasic/libbasic.o'                      #libBin     nil              false '644' )
+                ( 'libbasic2/libbasic2.o'                    #libBin     nil              false '644' )
+                ( 'libbasic3/libbasic3.o'                    #libBin     nil              false '644' )
+                ( 'libhtml/libhtml.o'                        #libBin     nil              false '644' )
+                ( 'libcomp/libcomp.o'                        #libBin     nil              false '644' )
                 ( 'libcomp/ObjFL*.o'                         #libBin     nil              false '644' )
                 ( 'libcomp/ObjFL*.obj'                       #libBin     nil              false '644' )
                 ( 'libcomp/ObjFL*.so'                        #libBin     nil              false '644' )
-                ( 'libview/libview.*'                        #libBin     nil              false '644' )
+                ( 'libview/libview.o'                        #libBin     nil              false '644' )
                 ( 'libview/GLX*.o'                           #libBin     nil              false '644' )
                 ( 'libview/GLX*.obj'                         #libBin     nil              false '644' )
                 ( 'libview/GLX*.so'                          #libBin     nil              false '644' )
                 ( 'libview/XW*.o'                            #libBin     nil              false '644' )
                 ( 'libview/XW*.obj'                          #libBin     nil              false '644' )
                 ( 'libview/XW*.so'                           #libBin     nil              false '644' )
-                ( 'libview2/libview2.*'                      #libBin     nil              false '644' )
-                ( 'libwidg/libwidg.*'                        #libBin     nil              false '644' )
-                ( 'libwidg2/libwidg2.*'                      #libBin     nil              false '644' )
-                ( 'libwidg3/libwidg3.*'                      #libBin     nil              false '644' )
-                ( 'libui/libui.*'                            #libBin     nil              false '644' )
+                ( 'libview2/libview2.o'                      #libBin     nil              false '644' )
+                ( 'libwidg/libwidg.o'                        #libBin     nil              false '644' )
+                ( 'libwidg2/libwidg2.o'                      #libBin     nil              false '644' )
+                ( 'libwidg3/libwidg3.o'                      #libBin     nil              false '644' )
+                ( 'libui/libui.o'                            #libBin     nil              false '644' )
+                ( 'libjava/libjava.o'                        #libBin     nil              false '644' )
 
 "/                ( 'libsnmp/libsnmp.*'                        #libBin     nil      false '644' )
 "/                ( 'contrib/libPVM/libPVM.*'                  #libBin     nil      false '644' )
-                ( 'goodies/persistency/libdbase.*'           #libBin     nil      false '644' )
+                ( 'goodies/persistency/libdbase.o'           #libBin     nil      false '644' )
 "/                ( 'libtable/libtable.*'                      #libBin     nil      false '644' )
-                ( 'libtool/libtool.*'                        #libBin     nil      false '644' )
-                ( 'libtool2/libtool2.*'                      #libBin     nil      false '644' )
+                ( 'libtool/libtool.o'                        #libBin     nil      false '644' )
+                ( 'libtool2/libtool2.o'                      #libBin     nil      false '644' )
 "/                ( 'libxt/libxt.*'                            #libBin     nil      false '644' )
 "/                ( 'librt/librt.*'                            #libBin     nil      false '644' )
         ).
@@ -333,14 +442,10 @@
 
     installGoodyFiles ifTrue:[
         fileSpec := fileSpec , #(
-                ( 'goodies/*.st'                             #lib     'goodies'  false '644' )
-                ( 'goodies/*.chg'                            #lib     'goodies'  false '644' )
                 ( 'goodies/rdoit/rdoit'                      #bin     nil        false '755' )
-                ( 'goodies/bitmaps/rdoit'                    #lib     'goodies/bitmaps'  false '755' )
         ).
     ].
 
-
     ^ fileSpec
 
     "Modified: / 30.4.1999 / 18:02:22 / cg"
@@ -350,180 +455,34 @@
 specOfWindowsFilesToCopy
     |fileSpec|
 
-    fileSpec := #(
+    fileSpec := self specOfCommonFilesToCopy.
+
+    fileSpec := fileSpec , #(
                 "/ name                             destination  subDir             required       
                 ( 'projects\smalltalk\smalltalk.bat'    #bin     nil                  true   )
                 ( 'projects\smalltalk\stx.exe'          #bin     nil                  true   )
                 ( 'projects\smalltalk\stxspawn.exe'     #bin     nil                  true   )
-                ( 'projects\smalltalk\include'          #lib     nil                  true   )
-                ( 'projects\smalltalk\lib*.dll'         #bin     nil                  true   )
-                ( 'projects\smalltalk\stxc3240.dll'     #bin     nil                  true   )
-                ( 'projects\smalltalk\X11.dll'          #bin     nil                  true   )
-                ( 'projects\smalltalk\Xext.dll'         #bin     nil                  true   )
-                ( 'projects\smalltalk\XWorkstat.dll'    #bin     nil                  true   )
-                ( 'projects\smalltalk\WinWorkstat.dll'  #bin     nil                  true   )
-                ( 'COPYRIGHT'                           #lib     nil                  true   )
-                ( 'projects\smalltalk\*.rc'             #bin     nil                  true   )
-                ( 'projects\smalltalk\patches'          #bin     nil                  true   )
-                ( 'projects\smalltalk\include\abbrev.stc'  #lib  'include'                  true   )
-                ( 'projects\smalltalk\include\symbols.stc' #lib  'include'                  true   )
-                ( 'projects\smalltalk\include\modules.stx' #lib  'include'                  true   )
-                ( 'projects\smalltalk\bitmaps'          #lib     nil                  true   )
-                ( 'projects\smalltalk\resources'        #lib     nil                  true   )
-                ( 'doc\online\german\LICENCE.STX.html'  #lib     'doc\online\german'  true   )
-                ( 'doc\online\english\LICENCE.STX.html' #lib     'doc\online\english' true   )
+                ( 'projects\smalltalk\*.dll'            #bin     nil                  true   )
     ).
 
-    installDocFiles ifTrue:[
-        fileSpec := fileSpec , #(
-                ( 'doc'                                 #lib     nil        false  )
-        ).
-    ].
-
-    installSourceFiles ifTrue:[
-        fileSpec := fileSpec , #(
-                ( 'projects\smalltalk\source'   #lib     nil                    false  )
-                ( 'libbasic\*.st'               #lib     'source\libbasic'      false  )
-                ( 'libbasic2\*.st'              #lib     'source\libbasic2'     false  )
-                ( 'libbasic3\*.st'              #lib     'source\libbasic3'     false  )
-                ( 'libcomp\*.st'                #lib     'source\libcomp'       false  )
-                ( 'libview\*.st'                #lib     'source\libview'       false  )
-                ( 'libview2\*.st'               #lib     'source\libview2'      false  )
-                ( 'libwidg\*.st'                #lib     'source\libwidg'       false  )
-                ( 'libwidg2\*.st'               #lib     'source\libwidg2'      false  )
-                ( 'libwidg3\*.st'               #lib     'source\libwidg3'      false  )
-                ( 'libtool\*.st'                #lib     'source\libtool'       false  )
-                ( 'libtool2\*.st'               #lib     'source\libtool2'      false  )
-                ( 'libui\*.st'                  #lib     'source\libui'         false  )
-                ( 'libhtml\*.st'                #lib     'source\libhtml'       false  )
-                ( 'libodbc\*.st'                #lib     'source\libodbc'       false  )
-                ( 'libopengl\*.st'              #lib     'source\libopengl'     false  )
-        ).
-    ].
-
     installSTCFiles ifTrue:[
         fileSpec := fileSpec , #(
                 ( 'projects\smalltalk\stc.exe'           #bin        nil              false  )
-                ( 'include'                              #lib        nil              false  )
                 ( 'libbc\*.lib'                          #lib        nil              false  )
+                ( 'rules'                                #lib        nil              false  )
         ).
     ].
 
     installGoodyFiles ifTrue:[
         fileSpec := fileSpec , #(
-                ( 'goodies\*.st'                             #lib     'goodies'  false  )
-                ( 'goodies\*.chg'                            #lib     'goodies'  false  )
-                ( 'clients\*'                                #lib     'clients'  false  )
+                ( 'goodies/rdoit/rdoit.exe'              #bin     nil                 false )
         ).
     ].
 
-
     ^ fileSpec
 
     "Created: / 2.5.1999 / 13:23:06 / cg"
     "Modified: / 31.5.1999 / 17:39:58 / cg"
-!
-
-xxspecOfFilesToCopy
-    |fileSpec|
-
-    OperatingSystem isMSWINDOWSlike ifTrue:[
-        ^self specOfWindowsFilesToCopy
-
-    ].
-
-    fileSpec := #(
-                "/ name                             destination  subDir             required mode      
-                ( 'projects/smalltalk/smalltalk'        #bin     nil                  true  '755' )
-                ( 'projects/smalltalk/stx'              #bin     nil                  true  '755' )
-                ( 'projects/smalltalk/include'          #lib     nil                  true  '644' )
-                ( 'COPYRIGHT'                           #lib     nil                  true  '644' )
-                ( 'projects/smalltalk/*.rc'             #lib     nil                  true  '644' )
-                ( 'projects/smalltalk/patches'          #lib     nil                  true  '644' )
-                ( 'projects/smalltalk/bitmaps'          #lib     nil                  true  '644' )
-                ( 'projects/smalltalk/resources'        #lib     nil                  true  '644' )
-                ( 'projects/smalltalk/lib'              #lib     nil                  true  '644' )
-                ( 'doc/online/german/LICENCE.STX.html'  #lib     'doc/online/german'  true  '644' )
-                ( 'doc/online/english/LICENCE.STX.html' #lib     'doc/online/english' true  '644' )
-    ).
-
-    installDocFiles ifTrue:[
-        fileSpec := fileSpec , #(
-                ( 'doc'                                  #lib     nil        false '644' )
-        ).
-    ].
-
-    installSourceFiles ifTrue:[
-        fileSpec := fileSpec , #(
-                ( 'projects/smalltalk/source'                #lib        nil        false '644' )
-        ).
-    ].
-
-    installSTCFiles ifTrue:[
-        fileSpec := fileSpec , #(
-                ( 'stc/stc'                                  #bin        nil              false '755' )
-                ( 'rules/stmkmp'                             #bin        nil              false '755' )
-                ( 'rules/stmkmf'                             #bin        nil              false '755' )
-                ( 'include'                                  #lib        nil              false '644' )
-                ( 'configurations'                           #lib        nil              false '644' )
-                ( 'configurations/PACKS'                     #lib        'configurations' false '644' )
-                ( 'configurations/my*'                       #lib        'configurations' false '644' )
-                ( 'configurations/vendor*'                   #lib        'configurations' false '644' )
-                ( 'rules'                                    #lib        nil              false '644' )
-
-                ( 'support/VGL/vogl/src/libvogl.*'           #lib        'lib'            false '644' )
-                ( 'support/VGL/vogl/src/*.h'                 #lib        'include'        false '644' )
-                ( 'support/DLD/dld-3.2.5/libdld.*'           #lib        'lib'            false '644' )
-
-                ( 'goodies/persistency/db-1.6/PORT/libdb.*'  #lib        'lib'            false '644' )
-
-                ( 'librun/librun.*'                          #libBin     nil              false '644' )
-                ( 'libbasic/libbasic.*'                      #libBin     nil              false '644' )
-                ( 'libbasic2/libbasic2.*'                    #libBin     nil              false '644' )
-                ( 'libbasic3/libbasic3.*'                    #libBin     nil              false '644' )
-                ( 'libhtml/libhtml.*'                        #libBin     nil              false '644' )
-                ( 'libcomp/libcomp.*'                        #libBin     nil              false '644' )
-                ( 'libcomp/ObjFL*.o'                         #libBin     nil              false '644' )
-                ( 'libcomp/ObjFL*.obj'                       #libBin     nil              false '644' )
-                ( 'libcomp/ObjFL*.so'                        #libBin     nil              false '644' )
-                ( 'libview/libview.*'                        #libBin     nil              false '644' )
-                ( 'libview/GLX*.o'                           #libBin     nil              false '644' )
-                ( 'libview/GLX*.obj'                         #libBin     nil              false '644' )
-                ( 'libview/GLX*.so'                          #libBin     nil              false '644' )
-                ( 'libview/XW*.o'                            #libBin     nil              false '644' )
-                ( 'libview/XW*.obj'                          #libBin     nil              false '644' )
-                ( 'libview/XW*.so'                           #libBin     nil              false '644' )
-                ( 'libview2/libview2.*'                      #libBin     nil              false '644' )
-                ( 'libwidg/libwidg.*'                        #libBin     nil              false '644' )
-                ( 'libwidg2/libwidg2.*'                      #libBin     nil              false '644' )
-                ( 'libwidg3/libwidg3.*'                      #libBin     nil              false '644' )
-                ( 'libui/libui.*'                            #libBin     nil              false '644' )
-
-"/                ( 'libsnmp/libsnmp.*'                        #libBin     nil      false '644' )
-"/                ( 'contrib/libPVM/libPVM.*'                  #libBin     nil      false '644' )
-                ( 'goodies/persistency/libdbase.*'           #libBin     nil      false '644' )
-"/                ( 'libtable/libtable.*'                      #libBin     nil      false '644' )
-                ( 'libtool/libtool.*'                        #libBin     nil      false '644' )
-                ( 'libtool2/libtool2.*'                      #libBin     nil      false '644' )
-"/                ( 'libxt/libxt.*'                            #libBin     nil      false '644' )
-"/                ( 'librt/librt.*'                            #libBin     nil      false '644' )
-        ).
-    ].
-
-    installGoodyFiles ifTrue:[
-        fileSpec := fileSpec , #(
-                ( 'goodies/*.st'                             #lib     'goodies'  false '644' )
-                ( 'goodies/*.chg'                            #lib     'goodies'  false '644' )
-                ( 'goodies/rdoit/rdoit'                      #bin     nil        false '755' )
-                ( 'goodies/bitmaps/rdoit'                    #lib     'goodies/bitmaps'  false '755' )
-        ).
-    ].
-
-
-    ^ fileSpec
-
-    "Modified: / 8.8.1997 / 18:39:06 / cg"
-    "Created: / 2.5.1999 / 13:17:27 / cg"
 ! !
 
 !STXInstaller methodsFor:'installing'!
@@ -597,7 +556,15 @@
             dest == #libBin ifTrue:[
                 destDir := stxLibBinDir
             ] ifFalse:[
-                destDir := stxLibDir
+                dest == #pkg ifTrue:[
+                    destDir := stxPkgDir
+                ] ifFalse:[
+                    dest == nil ifTrue:[
+                        destDir := stxTopDir
+                    ] ifFalse:[
+                        destDir := stxLibDir
+                    ]
+                ]
             ]
         ].
         
@@ -685,7 +652,7 @@
         ].
 
         d exists ifFalse:[
-            errMsg := resources string:'failed to create directory: %1' with: dirName.
+            errMsg := (resources string:'failed to create directory: %1\\Please check your permissions.' with:dirName) withCRs.
             stop := true
         ] ifTrue:[
             d isDirectory ifFalse:[
@@ -738,6 +705,8 @@
     k := k createSubKeyNamed:release.
     k valueNamed:'LibDir' put:stxLibDir.
     k valueNamed:'BinDir' put:stxBinDir.
+    k valueNamed:'DocDir' put:stxDocDir.
+    k valueNamed:'PackageDirPath' put:stxPkgDir.
 
     "Modified: / 31.5.1999 / 15:24:41 / cg"
 !
@@ -804,6 +773,8 @@
 !
 
 outputInitialMessage
+^ self.
+
     #(
     'Notice:'
     ''
@@ -848,30 +819,60 @@
     "Modified: 8.8.1997 / 17:47:06 / cg"
 !
 
-recursiveCopy:src to:destDir
-    |cmd|
-
-    OperatingSystem isUNIXlike ifTrue:[
-        cmd := 'cp -r ' , src , ' ' , destDir.
-        commandTraceView showCR:cmd , ' ...'.
-        commandTraceView endEntry.
-        cmd := cmd , ' 2>&1' .
+recursiveCopy:src to:dst
+    |cmd srcF dstF d|
 
-        self executeCommandAndShowOutput:cmd
-    ] ifFalse:[
-        commandTraceView showCR:('copy ' , src , ' ' , destDir).
-        commandTraceView endEntry.
-        src includesMatchCharacters ifTrue:[
-            src asFilename directory directoryContents do:[:fileName |
-                ((src asFilename baseName) match:fileName) ifTrue:[
-                    (src asFilename directory construct:fileName)
-                        recursiveCopyTo:destDir
+    srcF := src asFilename.
+    dstF := dst asFilename.
+"/    OperatingSystem isUNIXlike ifTrue:[
+"/        cmd := 'cp -r ' , src , ' ' , destDir.
+"/        commandTraceView showCR:cmd , ' ...'.
+"/        commandTraceView endEntry.
+"/        cmd := cmd , ' 2>&1' .
+"/
+"/        self executeCommandAndShowOutput:cmd
+"/    ] ifFalse:[
+        (#(
+            'CVS'
+            'not_delivered'
+        ) includes:srcF baseName) ifFalse:[
+            srcF baseName includesMatchCharacters ifTrue:[
+                srcF directory directoryContents do:[:fileName |
+                    ((srcF baseName) match:fileName) ifTrue:[
+                        (#(
+                            'CVS'
+                            'not_delivered'
+                        ) includes:fileName) ifFalse:[
+                            self recursiveCopy:(srcF directory construct:fileName) to:dstF
+                        ]
+                    ]
+                ]
+            ] ifFalse:[
+                OperatingSystem isUNIXlike ifTrue:[
+                    commandTraceView showCR:('cp ' , srcF pathName , ' ' , dstF pathName).
+                ] ifFalse:[
+                    commandTraceView showCR:('copy ' , srcF pathName , ' ' , dstF pathName).
+                ].
+                commandTraceView endEntry.
+
+                srcF isDirectory ifFalse:[
+                    (dstF exists and:[dstF isDirectory]) ifTrue:[
+                        dstF := dstF construct:srcF baseName.
+                    ].
+                    srcF copyTo:dstF
+                ] ifTrue:[
+                    d := dstF asFilename construct:srcF baseName.
+                    (d exists) ifFalse:[
+                        d makeDirectory.
+                    ].
+                    srcF directoryContents do:[:fileName |
+                        self recursiveCopy:(srcF construct:fileName) 
+                             to:d
+                    ]
                 ]
             ]
-        ] ifFalse:[
-            src asFilename recursiveCopyTo:destDir
         ]
-    ]
+"/    ]
 
     "Created: / 31.5.1999 / 13:05:09 / cg"
     "Modified: / 31.5.1999 / 13:14:19 / cg"
@@ -1083,13 +1084,13 @@
 
     d := DialogBox new.
 
-    d label:(resources string:'ST/X Partial Installation').
+    d label:(resources string:'ST/X Standard Installation').
     img := Image fromFile:'SmalltalkX.xbm'.
 
     l := d addTextLabel:img.
     l adjust:#left; foregroundColor:green backgroundColor:dark.
 
-    l := d addTextLabel:(resources string:'Smalltalk/X CD installation (partial).').
+    l := d addTextLabel:(resources string:'Smalltalk/X Standard installation (partial).').
     l adjust:#left; backgroundColor:dark; foregroundColor:Color white.
     d addVerticalSpace.
     d addVerticalSpace.
@@ -1207,10 +1208,12 @@
 
     d openAtCenter.
     d accepted ifTrue:[
-        stxInstDir := LastPartialDir := stxInstDirHolder value.
+        stxInstDir := LastPartialDir := stxTopDir := stxInstDirHolder value.
+        stxDocDir := stxInstDir asFilename constructString:'doc'.
         stxLibDir := stxInstDir asFilename constructString:'lib'.
         stxLibBinDir := stxInstDir asFilename constructString:'lib'.
         stxBinDir := stxInstDir asFilename constructString:'bin'.
+        stxPkgDir := stxInstDir asFilename constructString:'packages'.
 
 "/        stxLibDir := LastLibDir := stxLibDirHolder value.
 "/        stxLibBinDir := LastLibBinDir := stxLibBinDirHolder value.
@@ -1262,7 +1265,7 @@
     d addHorizontalLine.
 
     l := d addTextLabel:(resources string:
-'You can either perform a ' , 'full' asText allBold , ' installation, or a ' , 'partial' asText allBold ,' installation.').
+'You can either perform a ' , 'full' asText allBold , ' installation, or a ' , 'standard' asText allBold ,' (partial) installation.').
     l adjust:#left; backgroundColor:dark; foregroundColor:Color white.
 
     d addVerticalSpace.
@@ -1286,8 +1289,8 @@
     d addHorizontalLine.
 
     l := d addTextLabel:(resources string:
-'partial:' asText allBold , '
-The partial (runTime) installation requires less disk space and only copies the
+'standard:' asText allBold , '
+The standard (runTime) installation requires less disk space and only copies the
 smalltalk executable, shared libraries and support files onto your hard disk.
 This setup allows normal smalltalk development and is also useful as a runtime
 environment for smalltalk applications.
@@ -1310,7 +1313,7 @@
     d addHelpButtonFor:'STXInstaller/installHelp.html';
       addAbortButton; 
       addOkButton:(Button label:(resources string:'full') action:[installWhat := #full]);
-      addOkButtonLabelled:(resources string:'partial').
+      addOkButtonLabelled:(resources string:'standard').
     d extent:500@500.
     d resize.    "/ compute best size ...