621 commandTraceView endEntry. |
621 commandTraceView endEntry. |
622 |
622 |
623 release := self smalltalkRelease. |
623 release := self smalltalkRelease. |
624 |
624 |
625 k := Win32OperatingSystem::RegistryEntry key:'HKEY_LOCAL_MACHINE\Software'. |
625 k := Win32OperatingSystem::RegistryEntry key:'HKEY_LOCAL_MACHINE\Software'. |
|
626 k isNil ifTrue:[ |
|
627 self warn:'cannot update registry under HKEY_LOCAL_MACHINE\Software\eXept'. |
|
628 ^ self. |
|
629 ]. |
|
630 |
626 k := k createSubKeyNamed:'eXept'. |
631 k := k createSubKeyNamed:'eXept'. |
627 k := k createSubKeyNamed:'Smalltalk/X'. |
632 k := k createSubKeyNamed:'Smalltalk/X'. |
628 k valueNamed:'CurrentVersion' put:release. |
633 k valueNamed:'CurrentVersion' put:release. |
629 |
634 |
630 k := k createSubKeyNamed:release. |
635 k := k createSubKeyNamed:release. |
631 k valueNamed:'LibDir' put:stxLibDir. |
636 k valueNamed:'LibDir' put:stxLibDir. |
632 k valueNamed:'BinDir' put:stxBinDir. |
637 k valueNamed:'BinDir' put:stxBinDir. |
633 k valueNamed:'DocDir' put:stxDocDir. |
638 k valueNamed:'DocDir' put:stxDocDir. |
634 k valueNamed:'PackageDirPath' put:stxPkgDir. |
639 k valueNamed:'PackageDirPath' put:stxPkgDir. |
635 |
640 |
636 "Modified: / 31.5.1999 / 15:24:41 / cg" |
641 "Modified: / 23.12.1999 / 22:21:18 / cg" |
637 ! |
642 ! |
638 |
643 |
639 createSymbolicLinks |
644 createSymbolicLinks |
640 |msg dirsToMake numDirs nDone| |
645 |msg dirsToMake numDirs nDone| |
641 |
646 |
771 recursiveCopy:src to:dst |
776 recursiveCopy:src to:dst |
772 self recursiveCopy:src to:dst print:true |
777 self recursiveCopy:src to:dst print:true |
773 ! |
778 ! |
774 |
779 |
775 recursiveCopy:src to:dst print:doPrint |
780 recursiveCopy:src to:dst print:doPrint |
776 |cmd srcF dstF d| |
781 |cmd srcBaseName srcF dstF d| |
777 |
782 |
778 srcF := src asFilename. |
783 srcF := src asFilename. |
779 dstF := dst asFilename. |
784 dstF := dst asFilename. |
|
785 |
780 "/ OperatingSystem isUNIXlike ifTrue:[ |
786 "/ OperatingSystem isUNIXlike ifTrue:[ |
781 "/ cmd := 'cp -r ' , src , ' ' , destDir. |
787 "/ cmd := 'cp -r ' , src , ' ' , destDir. |
782 "/ commandTraceView showCR:cmd , ' ...'. |
788 "/ commandTraceView showCR:cmd , ' ...'. |
783 "/ commandTraceView endEntry. |
789 "/ commandTraceView endEntry. |
784 "/ cmd := cmd , ' 2>&1' . |
790 "/ cmd := cmd , ' 2>&1' . |
785 "/ |
791 "/ |
786 "/ self executeCommandAndShowOutput:cmd |
792 "/ self executeCommandAndShowOutput:cmd |
787 "/ ] ifFalse:[ |
793 "/ ] ifFalse:[ |
|
794 srcBaseName := srcF baseName. |
|
795 (srcBaseName startsWith:'.#') ifTrue:[^ self]. |
|
796 |
788 (#( |
797 (#( |
789 'CVS' |
798 'CVS' |
790 'not_delivered' |
799 'not_delivered' |
791 ) includes:srcF baseName) ifFalse:[ |
800 '.cvsignore' |
792 srcF baseName includesMatchCharacters ifTrue:[ |
801 '.dir.info' |
|
802 ) includes:srcBaseName) ifFalse:[ |
|
803 srcBaseName includesMatchCharacters ifTrue:[ |
793 doPrint ifTrue:[ |
804 doPrint ifTrue:[ |
794 OperatingSystem isUNIXlike ifTrue:[ |
805 OperatingSystem isUNIXlike ifTrue:[ |
795 commandTraceView showCR:('cp ' , srcF pathName , ' ' , dstF pathName). |
806 commandTraceView showCR:('cp ' , srcF pathName , ' ' , dstF pathName). |
796 ] ifFalse:[ |
807 ] ifFalse:[ |
797 commandTraceView showCR:('copy ' , srcF pathName , ' ' , dstF pathName). |
808 commandTraceView showCR:('copy ' , srcF pathName , ' ' , dstF pathName). |
798 ]. |
809 ]. |
799 commandTraceView endEntry. |
810 commandTraceView endEntry. |
800 ]. |
811 ]. |
801 srcF directory directoryContents do:[:fileName | |
812 srcF directory directoryContents do:[:fileName | |
802 ((srcF baseName) match:fileName) ifTrue:[ |
813 (srcBaseName match:fileName) ifTrue:[ |
803 (#( |
814 (#( |
804 'CVS' |
815 'CVS' |
805 'not_delivered' |
816 'not_delivered' |
806 ) includes:fileName) ifFalse:[ |
817 ) includes:fileName) ifFalse:[ |
807 self |
818 self |
820 ]. |
831 ]. |
821 commandTraceView endEntry. |
832 commandTraceView endEntry. |
822 ]. |
833 ]. |
823 srcF isDirectory ifFalse:[ |
834 srcF isDirectory ifFalse:[ |
824 (dstF exists and:[dstF isDirectory]) ifTrue:[ |
835 (dstF exists and:[dstF isDirectory]) ifTrue:[ |
825 dstF := dstF construct:srcF baseName. |
836 dstF := dstF construct:srcBaseName. |
826 ]. |
837 ]. |
827 srcF copyTo:dstF. |
838 srcF copyTo:dstF. |
828 OperatingSystem isUNIXlike ifTrue:[ |
839 OperatingSystem isUNIXlike ifTrue:[ |
829 srcF isExecutable ifTrue:[ |
840 srcF isExecutable ifTrue:[ |
830 dstF makeExecutableForAll |
841 dstF makeExecutableForAll |
831 ] |
842 ] |
832 ] |
843 ] |
833 ] ifTrue:[ |
844 ] ifTrue:[ |
834 d := dstF asFilename construct:srcF baseName. |
845 d := dstF asFilename construct:srcBaseName. |
835 (d exists) ifFalse:[ |
846 (d exists) ifFalse:[ |
836 d makeDirectory. |
847 d makeDirectory. |
837 ]. |
848 ]. |
838 srcF directoryContents do:[:fileName | |
849 srcF directoryContents do:[:fileName | |
839 self recursiveCopy:(srcF construct:fileName) |
850 self recursiveCopy:(srcF construct:fileName) |