[Vm-dev] [commit][2996] Add a script to the image dir that will create a Spur trunk image.

commits at squeakvm.org commits at squeakvm.org
Thu Jun 12 23:00:58 UTC 2014


Revision: 2996
Author:   eliot
Date:     2014-06-12 16:00:54 -0700 (Thu, 12 Jun 2014)
Log Message:
-----------
Add a script to the image dir that will create a Spur trunk image.
Rename BuildFooImage.st's that build VMMaker images to BuildFooVMMakerImage.st.
Fix exits in subshells in getsqueak45.sh.

Modified Paths:
--------------
    branches/Cog/image/buildsqueak45vmmakerimage.sh
    branches/Cog/image/buildsqueakcmakeimage.sh
    branches/Cog/image/buildsqueaktrunkvmmakerimage.sh
    branches/Cog/image/getsqueak45.sh

Added Paths:
-----------
    branches/Cog/image/BuildSpurTrunkImage.st
    branches/Cog/image/BuildSqueak45VMMakerImage.st
    branches/Cog/image/BuildSqueak46CMakeVMMakerImage.st
    branches/Cog/image/BuildSqueak46TrunkCMakeVMMakerImage.st
    branches/Cog/image/BuildSqueakStandardVMMakerImage.st
    branches/Cog/image/BuildSqueakTrunkImage.st
    branches/Cog/image/BuildSqueakTrunkVMMakerImage.st
    branches/Cog/image/ChangeUpdateStreamToSpur.st
    branches/Cog/image/LoadSpurPackagesFromTempDir.st
    branches/Cog/image/UpdateSqueakTrunkImage.st
    branches/Cog/image/WriteSpurPackagesToTempDir.st
    branches/Cog/image/buildspurtrunkimage.sh

Removed Paths:
-------------
    branches/Cog/image/BuildSqueak45Image.st
    branches/Cog/image/BuildSqueak46CMakeImage.st
    branches/Cog/image/BuildSqueak46TrunkCMakeImage.st
    branches/Cog/image/BuildSqueakStandardImage.st
    branches/Cog/image/BuildSqueakTrunkImage.st

Property Changed:
----------------
    branches/Cog/image/
    branches/Cog/image/getsqueak45.sh


Property changes on: branches/Cog/image
___________________________________________________________________
Modified: svn:ignore
   - CogVMMaker.*
Squeak-4.5-All-in-One.*
SqueakDebug.log
SqueakV41.sources
__MACOSX
crash.dmp
package-cache
prefs
special-dirs

   + CogVMMaker*
*-14.23.2987.*
coglinux*
cogwin
Cog.app
cogspurlinux*
cogspurwin
CogSpur.app
Squeak-4.5-All-in-One.*
SqueakDebug.log
SqueakV41.sources
__MACOSX
crash.dmp
package-cache
prefs
special-dirs


Added: branches/Cog/image/BuildSpurTrunkImage.st
===================================================================
--- branches/Cog/image/BuildSpurTrunkImage.st	                        (rev 0)
+++ branches/Cog/image/BuildSpurTrunkImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,7 @@
+| pwd |
+pwd := FileDirectory default fullName.
+SpurBootstrap bootstrapImage: pwd, '/', 'trunk46forspur'.
+SpurBootstrapMonticelloPackagePatcher new
+	from: 'temp-v3-repository' to: 'temp-spur-repository';
+	patch.
+Smalltalk snapshot: false andQuit: true
Deleted: branches/Cog/image/BuildSqueak45Image.st
===================================================================
--- branches/Cog/image/BuildSqueak45Image.st	2014-06-12 17:03:48 UTC (rev 2995)
+++ branches/Cog/image/BuildSqueak45Image.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -1,79 +0,0 @@
-| manifest load |
-manifest := #(	('http://source.squeak.org/FFI'					1	('FFI-Pools' 'FFI-Kernel'))
-				('http://source.squeak.org/VMMaker'				6	('Balloon-Engine-Pools' 'VMMaker.oscog' 'Cog' 'CogTools' 'ImageFormat'))
-				('http://ss3.gemstone.com/ss/MethodMassage'		3	('MethodMassage' 'MethodMassageCompatibility'))
-				('http://www.squeaksource.com/AioPlugin'		7	('VMConstruction-Plugins-AioPlugin'))
-				('http://www.squeaksource.com/Alien'			0	('Alien'))
-				"('http://www.squeaksource.com/FreeTypePlus'	5	('FreeType')) can't load this.  it is toxic to Squeak 4.5"
-				('http://www.squeaksource.com/FreetypePlugin'	8	('Freetype-Plugin'))
-				('http://www.squeaksource.com/OSProcess'		4	('OSProcess'))
-				('http://www.squeaksource.com/OSProcessPlugin'	9	('VMConstruction-Plugins-OSProcessPlugin.oscog'))
-				('http://www.squeaksource.com/rb'				5	('AST-Core' 'AST-Semantic' 'AST-Tests-Core' 'AST-Tests-Semantic' 'Refactoring-Changes' 'Refactoring-Core' 'Refactoring-Environment' 'Refactoring-Tests-Changes' 'Refactoring-Tests-Core' 'Refactoring-Tests-Environment'))
-				('http://www.squeaksource.com/Speech'			2	('SharedPool-Speech' ))
-				('http://www.squeaksource.com/XDCP'				9	('VMConstruction-Plugins-XDisplayControlPlugin' ))).
-
-load := (manifest collect:
-				[:tuple|
-				[:path :order :packages| | repository |
-				repository := MCHttpRepository
-								location: path
-								user: 'squeak'
-								password: 'squeak'.
-				MCRepositoryGroup default addRepository: repository.
-				{repository. order. packages}] valueWithArguments: tuple])
-			sort: [:a :b| a second <= b second].
-
-((MCMcmUpdater defaultUpdateURL endsWith: 'trunk')
-	ifTrue:
-		[#(	"'FT2Constants.st'"
-			'Object-performwithwithwithwithwith.st'
-			'CompiledMethod-usesAlternateBytecodeSet.st' )]
-	ifFalse:
-		[#(	"'FT2Constants.st'"
-			'Object-performwithwithwithwithwith.st'
-			'CompiledMethod-usesAlternateBytecodeSet.st'
-			'FileDirectory-on-methods.st'
-			'StandardFileStream-nextPutAll.st' )]
-	) do:
-	[:fileName| (FileDirectory default fileNamed: fileName) fileIn].
-
-load do:
-	[:tuple|
-	 [:repository :order :packages|
-	  packages do:
-		[:package| | latestVersion |
-		latestVersion := (repository versionNamesForPackageNamed: package) first.
-		[| version |
-		version := ((MCCacheRepository default includesVersionNamed: latestVersion)
-					ifTrue: [MCCacheRepository default]
-					ifFalse: [repository]) versionNamed: latestVersion.
-		 version load.
-		 version workingCopy repositoryGroup addRepository: repository]
-			on: Warning
-			do: [:ex|
-				(ex messageText beginsWith: 'This package depends on the following classes') ifFalse:
-					[ex pass].
-				ex resume]]]
-		valueWithArguments: tuple].
-
-World findATranscript: nil.
-
-#( 'Workspace' 'VM Simulation Workspace' 'Slang Test Workspace' ) reverse do:
-	[:textFileName|
-	(StringHolder new contents: (FileDirectory default fileNamed: textFileName, '.text') contentsOfEntireFile)
-		openLabel: textFileName].
-
-(Utilities classPool at: #CommonRequestStrings) ifNotNil:
-	[:crs|
-	crs contents: crs contents, '\-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser\VMClass openSpurMultiWindowBrowser' withCRs].
-
-CodeHolder useMultiWindowBrowsers: true.
-
-#('Cog' 'CogTools' 'VMMaker') do:
-	[:pkg|
-	(PackageInfo named: pkg) classes do:
-		[:c|
-		c organization sortCategories.
-		c class organization sortCategories]].
-
-Smalltalk snapshot: true andQuit: true
Copied: branches/Cog/image/BuildSqueak45VMMakerImage.st (from rev 2968, branches/Cog/image/BuildSqueak45Image.st)
===================================================================
--- branches/Cog/image/BuildSqueak45VMMakerImage.st	                        (rev 0)
+++ branches/Cog/image/BuildSqueak45VMMakerImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,79 @@
+| manifest load |
+manifest := #(	('http://source.squeak.org/FFI'					1	('FFI-Pools' 'FFI-Kernel'))
+				('http://source.squeak.org/VMMaker'				6	('Balloon-Engine-Pools' 'VMMaker.oscog' 'Cog' 'CogTools' 'ImageFormat'))
+				('http://ss3.gemstone.com/ss/MethodMassage'		3	('MethodMassage' 'MethodMassageCompatibility'))
+				('http://www.squeaksource.com/AioPlugin'		7	('VMConstruction-Plugins-AioPlugin'))
+				('http://www.squeaksource.com/Alien'			0	('Alien'))
+				"('http://www.squeaksource.com/FreeTypePlus'	5	('FreeType')) can't load this.  it is toxic to Squeak 4.5"
+				('http://www.squeaksource.com/FreetypePlugin'	8	('Freetype-Plugin'))
+				('http://www.squeaksource.com/OSProcess'		4	('OSProcess'))
+				('http://www.squeaksource.com/OSProcessPlugin'	9	('VMConstruction-Plugins-OSProcessPlugin.oscog'))
+				('http://www.squeaksource.com/rb'				5	('AST-Core' 'AST-Semantic' 'AST-Tests-Core' 'AST-Tests-Semantic' 'Refactoring-Changes' 'Refactoring-Core' 'Refactoring-Environment' 'Refactoring-Tests-Changes' 'Refactoring-Tests-Core' 'Refactoring-Tests-Environment'))
+				('http://www.squeaksource.com/Speech'			2	('SharedPool-Speech' ))
+				('http://www.squeaksource.com/XDCP'				9	('VMConstruction-Plugins-XDisplayControlPlugin' ))).
+
+load := (manifest collect:
+				[:tuple|
+				[:path :order :packages| | repository |
+				repository := MCHttpRepository
+								location: path
+								user: 'squeak'
+								password: 'squeak'.
+				MCRepositoryGroup default addRepository: repository.
+				{repository. order. packages}] valueWithArguments: tuple])
+			sort: [:a :b| a second <= b second].
+
+((MCMcmUpdater defaultUpdateURL endsWith: 'trunk')
+	ifTrue:
+		[#(	"'FT2Constants.st'"
+			'Object-performwithwithwithwithwith.st'
+			'CompiledMethod-usesAlternateBytecodeSet.st' )]
+	ifFalse:
+		[#(	"'FT2Constants.st'"
+			'Object-performwithwithwithwithwith.st'
+			'CompiledMethod-usesAlternateBytecodeSet.st'
+			'FileDirectory-on-methods.st'
+			'StandardFileStream-nextPutAll.st' )]
+	) do:
+	[:fileName| (FileDirectory default fileNamed: fileName) fileIn].
+
+load do:
+	[:tuple|
+	 [:repository :order :packages|
+	  packages do:
+		[:package| | latestVersion |
+		latestVersion := (repository versionNamesForPackageNamed: package) first.
+		[| version |
+		version := ((MCCacheRepository default includesVersionNamed: latestVersion)
+					ifTrue: [MCCacheRepository default]
+					ifFalse: [repository]) versionNamed: latestVersion.
+		 version load.
+		 version workingCopy repositoryGroup addRepository: repository]
+			on: Warning
+			do: [:ex|
+				(ex messageText beginsWith: 'This package depends on the following classes') ifFalse:
+					[ex pass].
+				ex resume]]]
+		valueWithArguments: tuple].
+
+World findATranscript: nil.
+
+#( 'Workspace' 'VM Simulation Workspace' 'Slang Test Workspace' ) reverse do:
+	[:textFileName|
+	(StringHolder new contents: (FileDirectory default fileNamed: textFileName, '.text') contentsOfEntireFile)
+		openLabel: textFileName].
+
+(Utilities classPool at: #CommonRequestStrings) ifNotNil:
+	[:crs|
+	crs contents: crs contents, '\-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser\VMClass openSpurMultiWindowBrowser' withCRs].
+
+CodeHolder useMultiWindowBrowsers: true.
+
+#('Cog' 'CogTools' 'VMMaker') do:
+	[:pkg|
+	(PackageInfo named: pkg) classes do:
+		[:c|
+		c organization sortCategories.
+		c class organization sortCategories]].
+
+Smalltalk snapshot: true andQuit: true
Deleted: branches/Cog/image/BuildSqueak46CMakeImage.st
===================================================================
--- branches/Cog/image/BuildSqueak46CMakeImage.st	2014-06-12 17:03:48 UTC (rev 2995)
+++ branches/Cog/image/BuildSqueak46CMakeImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -1,69 +0,0 @@
-| manifest load |
-Scanner prefAllowUnderscoreSelectors: true.
-
-manifest := #(	('http://source.squeak.org/FFI'					1	('FFI-Pools' 'FFI-Kernel'))
-				('http://source.squeak.org/VMMaker'		6	('Balloon-Engine-Pools' 'VMMaker.oscog' 'Cog' 'CogTools' 'ImageFormat' 'CMakeVMMaker' 'CMakeVMMakerSqueak')) 
-				('http://ss3.gemstone.com/ss/MethodMassage'		3	('MethodMassage' 'MethodMassageCompatibility'))
-				('http://www.squeaksource.com/AioPlugin'		7	('VMConstruction-Plugins-AioPlugin'))
-				('http://www.squeaksource.com/Alien'			0	('Alien'))
-				"('http://www.squeaksource.com/FreeTypePlus'	5	('FreeType')) can't load this.  it is toxic to Squeak 4.5"
-				('http://ss3.gemstone.com/ss/FreeTypePlus'	5	('FreeTypeConstants' 'FreeType' 'FreeTypeTests')) 
-				('http://www.squeaksource.com/FreetypePlugin'	8	('Freetype-Plugin'))
-				('http://www.squeaksource.com/OSProcess'		4	('OSProcess'))
-				('http://www.squeaksource.com/OSProcessPlugin'	9	('VMConstruction-Plugins-OSProcessPlugin.oscog'))
-				('http://www.squeaksource.com/rb'				5	('AST-Core' 'AST-Semantic' 'AST-Tests-Core' 'AST-Tests-Semantic' 'Refactoring-Changes' 'Refactoring-Core' 'Refactoring-Environment' 'Refactoring-Tests-Changes' 'Refactoring-Tests-Core' 'Refactoring-Tests-Environment'))
-				('http://www.squeaksource.com/Speech'			2	('SharedPool-Speech' ))).
-
-load := (manifest collect:
-				[:tuple|
-				[:path :order :packages| | repository |
-				repository := MCHttpRepository
-								location: path
-								user: 'squeak'
-								password: 'squeak'.
-				MCRepositoryGroup default addRepository: repository.
-				{repository. order. packages}] valueWithArguments: tuple])
-			sort: [:a :b| a second <= b second].
-
-#(	'FT2Constants.st'
-	'Object-performwithwithwithwithwith.st'
-	'CompiledMethod-usesAlternateBytecodeSet.st'
-	'FileDirectory-on-methods.st'
-	) do:
-	[:fileName| (FileDirectory default fileNamed: fileName) fileIn].
-
-World findATranscript: nil.
-
-load do:
-	[:tuple|
-	 [:repository :order :packages|
-	  packages do:
-		[:package| | latestVersion |
-		latestVersion := (repository versionNamesForPackageNamed: package) first.
-		[| version |
-		version := ((MCCacheRepository default includesVersionNamed: latestVersion)
-					ifTrue: [MCCacheRepository default]
-					ifFalse: [repository]) versionNamed: latestVersion.
-		 version load.
-		 version workingCopy repositoryGroup addRepository: repository]
-			on: Warning
-			do: [:ex|
-				(ex messageText beginsWith: 'This package depends on the following classes') ifFalse:
-					[ex pass].
-				ex resume]]]
-		valueWithArguments: tuple].
-
-
-VMMakerTool openInWorld.
-#( 'Workspace' 'VM Simulation Workspace' 'Slang Test Workspace' 'CMakeVMMakerSqueak') reverse do:
-	[:textFileName|
-	(StringHolder new contents: (FileDirectory default fileNamed: textFileName, '.text') contentsOfEntireFile)
-		openLabel: textFileName].
-
-(Utilities classPool at: #CommonRequestStrings) ifNotNil:
-	[:crs|
-	crs contents: crs contents, '\-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser' withCRs].
-
-CodeHolder useMultiWindowBrowsers: true.
-
-Smalltalk snapshot: true andQuit: true
Copied: branches/Cog/image/BuildSqueak46CMakeVMMakerImage.st (from rev 2968, branches/Cog/image/BuildSqueak46CMakeImage.st)
===================================================================
--- branches/Cog/image/BuildSqueak46CMakeVMMakerImage.st	                        (rev 0)
+++ branches/Cog/image/BuildSqueak46CMakeVMMakerImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,69 @@
+| manifest load |
+Scanner prefAllowUnderscoreSelectors: true.
+
+manifest := #(	('http://source.squeak.org/FFI'					1	('FFI-Pools' 'FFI-Kernel'))
+				('http://source.squeak.org/VMMaker'		6	('Balloon-Engine-Pools' 'VMMaker.oscog' 'Cog' 'CogTools' 'ImageFormat' 'CMakeVMMaker' 'CMakeVMMakerSqueak')) 
+				('http://ss3.gemstone.com/ss/MethodMassage'		3	('MethodMassage' 'MethodMassageCompatibility'))
+				('http://www.squeaksource.com/AioPlugin'		7	('VMConstruction-Plugins-AioPlugin'))
+				('http://www.squeaksource.com/Alien'			0	('Alien'))
+				"('http://www.squeaksource.com/FreeTypePlus'	5	('FreeType')) can't load this.  it is toxic to Squeak 4.5"
+				('http://ss3.gemstone.com/ss/FreeTypePlus'	5	('FreeTypeConstants' 'FreeType' 'FreeTypeTests')) 
+				('http://www.squeaksource.com/FreetypePlugin'	8	('Freetype-Plugin'))
+				('http://www.squeaksource.com/OSProcess'		4	('OSProcess'))
+				('http://www.squeaksource.com/OSProcessPlugin'	9	('VMConstruction-Plugins-OSProcessPlugin.oscog'))
+				('http://www.squeaksource.com/rb'				5	('AST-Core' 'AST-Semantic' 'AST-Tests-Core' 'AST-Tests-Semantic' 'Refactoring-Changes' 'Refactoring-Core' 'Refactoring-Environment' 'Refactoring-Tests-Changes' 'Refactoring-Tests-Core' 'Refactoring-Tests-Environment'))
+				('http://www.squeaksource.com/Speech'			2	('SharedPool-Speech' ))).
+
+load := (manifest collect:
+				[:tuple|
+				[:path :order :packages| | repository |
+				repository := MCHttpRepository
+								location: path
+								user: 'squeak'
+								password: 'squeak'.
+				MCRepositoryGroup default addRepository: repository.
+				{repository. order. packages}] valueWithArguments: tuple])
+			sort: [:a :b| a second <= b second].
+
+#(	'FT2Constants.st'
+	'Object-performwithwithwithwithwith.st'
+	'CompiledMethod-usesAlternateBytecodeSet.st'
+	'FileDirectory-on-methods.st'
+	) do:
+	[:fileName| (FileDirectory default fileNamed: fileName) fileIn].
+
+World findATranscript: nil.
+
+load do:
+	[:tuple|
+	 [:repository :order :packages|
+	  packages do:
+		[:package| | latestVersion |
+		latestVersion := (repository versionNamesForPackageNamed: package) first.
+		[| version |
+		version := ((MCCacheRepository default includesVersionNamed: latestVersion)
+					ifTrue: [MCCacheRepository default]
+					ifFalse: [repository]) versionNamed: latestVersion.
+		 version load.
+		 version workingCopy repositoryGroup addRepository: repository]
+			on: Warning
+			do: [:ex|
+				(ex messageText beginsWith: 'This package depends on the following classes') ifFalse:
+					[ex pass].
+				ex resume]]]
+		valueWithArguments: tuple].
+
+
+VMMakerTool openInWorld.
+#( 'Workspace' 'VM Simulation Workspace' 'Slang Test Workspace' 'CMakeVMMakerSqueak') reverse do:
+	[:textFileName|
+	(StringHolder new contents: (FileDirectory default fileNamed: textFileName, '.text') contentsOfEntireFile)
+		openLabel: textFileName].
+
+(Utilities classPool at: #CommonRequestStrings) ifNotNil:
+	[:crs|
+	crs contents: crs contents, '\-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser' withCRs].
+
+CodeHolder useMultiWindowBrowsers: true.
+
+Smalltalk snapshot: true andQuit: true
Deleted: branches/Cog/image/BuildSqueak46TrunkCMakeImage.st
===================================================================
--- branches/Cog/image/BuildSqueak46TrunkCMakeImage.st	2014-06-12 17:03:48 UTC (rev 2995)
+++ branches/Cog/image/BuildSqueak46TrunkCMakeImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -1,7 +0,0 @@
-"Change the update stream to trunk, update, then build as per 4.5"
-[MCMcmUpdater
-	defaultUpdateURL: 'http://source.squeak.org/trunk';
-	updateFromServer] valueSupplyingAnswer: true.
-
-"don't use fileIn; it causes an error when the saved image is started"
-Compiler evaluate: (FileStream oldFileNamed: 'BuildSqueak46CMakeImage.st') contentsOfEntireFile
Copied: branches/Cog/image/BuildSqueak46TrunkCMakeVMMakerImage.st (from rev 2968, branches/Cog/image/BuildSqueak46TrunkCMakeImage.st)
===================================================================
--- branches/Cog/image/BuildSqueak46TrunkCMakeVMMakerImage.st	                        (rev 0)
+++ branches/Cog/image/BuildSqueak46TrunkCMakeVMMakerImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,7 @@
+"Change the update stream to trunk, update, then build as per 4.5"
+[MCMcmUpdater
+	defaultUpdateURL: 'http://source.squeak.org/trunk';
+	updateFromServer] valueSupplyingAnswer: true.
+
+"don't use fileIn; it causes an error when the saved image is started"
+Compiler evaluate: (FileStream oldFileNamed: 'BuildSqueak46CMakeImage.st') contentsOfEntireFile
Deleted: branches/Cog/image/BuildSqueakStandardImage.st
===================================================================
--- branches/Cog/image/BuildSqueakStandardImage.st	2014-06-12 17:03:48 UTC (rev 2995)
+++ branches/Cog/image/BuildSqueakStandardImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -1,57 +0,0 @@
-| manifest load |
-manifest := #(('http://source.squeak.org/VMMaker'				1	( 'update'))).
-
-load := (manifest collect:
-				[:tuple|
-				[:path :order :packages| | repository |
-				repository := MCHttpRepository
-								location: path
-								user: 'squeak'
-								password: 'squeak'.
-				MCRepositoryGroup default addRepository: repository.
-				{repository. order. packages}] valueWithArguments: tuple])
-			sort: [:a :b| a second <= b second].
-
-#(	'FT2Constants.st'
-	'Object-performwithwithwithwithwith.st'
-	'CompiledMethod-usesAlternateBytecodeSet.st'
-	'FileDirectory-on-methods.st'
-	) do:
-	[:fileName| (FileDirectory default fileNamed: fileName) fileIn].
-
-
-
-load do:
-	[:tuple|
-	 [:repository :order :packages|
-	  packages do:
-		[:package| | latestVersion |
-		latestVersion := (repository versionNamesForPackageNamed: package) first.
-		[| version |
-		version := ((MCCacheRepository default includesVersionNamed: latestVersion)
-					ifTrue: [MCCacheRepository default]
-					ifFalse: [repository]) versionNamed: latestVersion.
-		 version load.
-                ]
-			on: Warning
-			do: [:ex|
-				(ex messageText beginsWith: 'This package depends on the following classes') ifFalse:
-					[ex pass].
-				ex resume]]]
-		valueWithArguments: tuple].
-
-World findATranscript: nil.
-VMMakerTool openInWorld.
-
-#( 'VMMakerTool') reverse do:
-	[:textFileName|
-	(StringHolder new contents: (FileDirectory default fileNamed: textFileName, '.text') contentsOfEntireFile)
-		openLabel: textFileName].
-
-(Utilities classPool at: #CommonRequestStrings) ifNotNil:
-	[:crs|
-	crs contents: crs contents, '\-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser' withCRs].
-
-CodeHolder useMultiWindowBrowsers: true.
-
-Smalltalk snapshot: true andQuit: true
Copied: branches/Cog/image/BuildSqueakStandardVMMakerImage.st (from rev 2968, branches/Cog/image/BuildSqueakStandardImage.st)
===================================================================
--- branches/Cog/image/BuildSqueakStandardVMMakerImage.st	                        (rev 0)
+++ branches/Cog/image/BuildSqueakStandardVMMakerImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,57 @@
+| manifest load |
+manifest := #(('http://source.squeak.org/VMMaker'				1	( 'update'))).
+
+load := (manifest collect:
+				[:tuple|
+				[:path :order :packages| | repository |
+				repository := MCHttpRepository
+								location: path
+								user: 'squeak'
+								password: 'squeak'.
+				MCRepositoryGroup default addRepository: repository.
+				{repository. order. packages}] valueWithArguments: tuple])
+			sort: [:a :b| a second <= b second].
+
+#(	'FT2Constants.st'
+	'Object-performwithwithwithwithwith.st'
+	'CompiledMethod-usesAlternateBytecodeSet.st'
+	'FileDirectory-on-methods.st'
+	) do:
+	[:fileName| (FileDirectory default fileNamed: fileName) fileIn].
+
+
+
+load do:
+	[:tuple|
+	 [:repository :order :packages|
+	  packages do:
+		[:package| | latestVersion |
+		latestVersion := (repository versionNamesForPackageNamed: package) first.
+		[| version |
+		version := ((MCCacheRepository default includesVersionNamed: latestVersion)
+					ifTrue: [MCCacheRepository default]
+					ifFalse: [repository]) versionNamed: latestVersion.
+		 version load.
+                ]
+			on: Warning
+			do: [:ex|
+				(ex messageText beginsWith: 'This package depends on the following classes') ifFalse:
+					[ex pass].
+				ex resume]]]
+		valueWithArguments: tuple].
+
+World findATranscript: nil.
+VMMakerTool openInWorld.
+
+#( 'VMMakerTool') reverse do:
+	[:textFileName|
+	(StringHolder new contents: (FileDirectory default fileNamed: textFileName, '.text') contentsOfEntireFile)
+		openLabel: textFileName].
+
+(Utilities classPool at: #CommonRequestStrings) ifNotNil:
+	[:crs|
+	crs contents: crs contents, '\-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser' withCRs].
+
+CodeHolder useMultiWindowBrowsers: true.
+
+Smalltalk snapshot: true andQuit: true
Deleted: branches/Cog/image/BuildSqueakTrunkImage.st
===================================================================
--- branches/Cog/image/BuildSqueakTrunkImage.st	2014-06-12 17:03:48 UTC (rev 2995)
+++ branches/Cog/image/BuildSqueakTrunkImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -1,7 +0,0 @@
-"Change the update stream to trunk, update, then build as per 4.5"
-[MCMcmUpdater
-	defaultUpdateURL: 'http://source.squeak.org/trunk';
-	updateFromServer] valueSupplyingAnswer: true.
-
-"don't use fileIn; it causes an error when the saved image is started"
-Compiler evaluate: (FileStream oldFileNamed: 'BuildSqueak45Image.st') contentsOfEntireFile
Added: branches/Cog/image/BuildSqueakTrunkImage.st
===================================================================
--- branches/Cog/image/BuildSqueakTrunkImage.st	                        (rev 0)
+++ branches/Cog/image/BuildSqueakTrunkImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,6 @@
+"Change the update stream to trunk and update"
+[MCMcmUpdater
+	defaultUpdateURL: 'http://source.squeak.org/trunk';
+	updateFromServer] valueSupplyingAnswer: true.
+
+Smalltalk snapshot: true andQuit: true
Copied: branches/Cog/image/BuildSqueakTrunkVMMakerImage.st (from rev 2968, branches/Cog/image/BuildSqueakTrunkImage.st)
===================================================================
--- branches/Cog/image/BuildSqueakTrunkVMMakerImage.st	                        (rev 0)
+++ branches/Cog/image/BuildSqueakTrunkVMMakerImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,7 @@
+"Change the update stream to trunk, update, then build as per 4.5"
+[MCMcmUpdater
+	defaultUpdateURL: 'http://source.squeak.org/trunk';
+	updateFromServer] valueSupplyingAnswer: true.
+
+"don't use fileIn; it causes an error when the saved image is started"
+Compiler evaluate: (FileStream oldFileNamed: 'BuildSqueak45Image.st') contentsOfEntireFile
Added: branches/Cog/image/ChangeUpdateStreamToSpur.st
===================================================================
--- branches/Cog/image/ChangeUpdateStreamToSpur.st	                        (rev 0)
+++ branches/Cog/image/ChangeUpdateStreamToSpur.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,3 @@
+"Change the update stream to spur but don't update."
+MCMcmUpdater defaultUpdateURL: 'http://source.squeak.org/spur'.
+Smalltalk snapshot: true andQuit: true
Added: branches/Cog/image/LoadSpurPackagesFromTempDir.st
===================================================================
--- branches/Cog/image/LoadSpurPackagesFromTempDir.st	                        (rev 0)
+++ branches/Cog/image/LoadSpurPackagesFromTempDir.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,15 @@
+| dir tempRepo |
+dir := FileDirectory default directoryNamed: 'temp-spur-repository'.
+tempRepo := MCDirectoryRepository path: dir fullName.
+#('Collections' 'Kernel' 'System') do:
+	[:package| | versionName version |
+	versionName := (tempRepo versionNamesForPackageNamed: package) first.
+	version := tempRepo versionNamed: versionName.
+	[version load]
+		on: Error
+		do: [:ex|
+			"ugh, the Decompiler gets confused by the null bytes at the end of e.g. Character>>setValue:.  Hack it for now"
+			ex signalerContext sender method = (Decompiler>>#decompile:in:method:using:) ifTrue:
+				[ex resumeUnchecked: nil].
+			ex pass]].
+Smalltalk snapshot: true andQuit: true
Added: branches/Cog/image/UpdateSqueakTrunkImage.st
===================================================================
--- branches/Cog/image/UpdateSqueakTrunkImage.st	                        (rev 0)
+++ branches/Cog/image/UpdateSqueakTrunkImage.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,6 @@
+"Change the update stream to trunk, update, then build as per 4.5"
+[MCMcmUpdater
+	defaultUpdateURL: 'http://source.squeak.org/trunk';
+	updateFromServer] valueSupplyingAnswer: true.
+
+Smalltalk snapshot: true andQuit: true
Added: branches/Cog/image/WriteSpurPackagesToTempDir.st
===================================================================
--- branches/Cog/image/WriteSpurPackagesToTempDir.st	                        (rev 0)
+++ branches/Cog/image/WriteSpurPackagesToTempDir.st	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,11 @@
+| dir tempRepo trunkRepo |
+dir := FileDirectory default directoryNamed: 'temp-v3-repository'.
+dir assureExistence.
+tempRepo := MCDirectoryRepository path: dir fullName.
+trunkRepo := MCRepositoryGroup default repositories  detect:[:r| r description = 'http://source.squeak.org/trunk'].
+#('Collections' 'Kernel' 'System') do:
+	[:package| | currentVersion |
+	currentVersion := (MCPackage named: package) workingCopy ancestry ancestors first versionName.
+	tempRepo storeVersion: (trunkRepo versionNamed: currentVersion, '.mcz')].
+
+Smalltalk snapshot: false andQuit: true
Added: branches/Cog/image/buildspurtrunkimage.sh
===================================================================
--- branches/Cog/image/buildspurtrunkimage.sh	                        (rev 0)
+++ branches/Cog/image/buildspurtrunkimage.sh	2014-06-12 23:00:54 UTC (rev 2996)
@@ -0,0 +1,53 @@
+#!/bin/sh
+. ./envvars.sh
+./getsqueak45.sh
+. ./get2897vm.sh
+
+./getsqueak45.sh
+. ./get2897vm.sh
+
+cp -p $SQUEAK45.image trunk46forspur.image
+cp -p $SQUEAK45.changes trunk46forspur.changes
+
+rm -f temp-spur-repository/* temp-v3-repository/*
+$VM trunk46forspur.image BuildSqueakTrunkImage.st
+$VM trunk46forspur.image ChangeUpdateStreamToSpur.st
+$VM trunk46forspur.image WriteSpurPackagesToTempDir.st
+
+# Now choose a suitable VMMaker image (Spur preferred) and get it to convert
+# trunk46forspur to Spur.
+IMAGE=""
+GOTIMAGE=""
+while true; do
+	for f in *VMMaker*spur.image; do
+		if test -f "$f"; then
+			IMAGE="$f"
+.			./get2897spurvm.sh
+			break 2
+		fi
+	done
+	if [ -z "$IMAGE" ]; then
+		for f in *VMMaker*.image; do
+			if test -f "$f"; then
+				IMAGE="$f"
+.				./get2897vm.sh
+				break 2
+			fi
+		done
+	fi
+	if [ -n "$GOTIMAGE" ]; then
+		echo hmmm, failed to build a VMMaker image.  Bailing out
+		exit 1
+	fi
+	if [ -z "$IMAGE" ]; then
+		buildsqueaktrunkvmmakerimage.sh
+		GOTIMAGE=1
+	fi
+done
+$VM $IMAGE BuildSpurTrunkImage.st
+mv trunk46forspur-spur.image trunk46-spur.image
+mv trunk46forspur-spur.changes trunk46-spur.changes
+
+# Now load the modified packages
+. ./get2897spurvm.sh
+$VM trunk46-spur.image LoadSpurPackagesFromTempDir.st


Property changes on: branches/Cog/image/buildspurtrunkimage.sh
___________________________________________________________________
Added: svn:executable
   + *

Modified: branches/Cog/image/buildsqueak45vmmakerimage.sh
===================================================================
--- branches/Cog/image/buildsqueak45vmmakerimage.sh	2014-06-12 17:03:48 UTC (rev 2995)
+++ branches/Cog/image/buildsqueak45vmmakerimage.sh	2014-06-12 23:00:54 UTC (rev 2996)
@@ -1,19 +1,13 @@
 #!/bin/bash
 . ./envvars.sh
 ./getsqueak45.sh
+. ./get2897vm.sh
 
 cp -p $SQUEAK45.image CogVMMaker.image
 cp -p $SQUEAK45.changes CogVMMaker.changes
 
-case $OS in
-Darwin)		VM="$SQUEAK45APP/Contents/MacOS/Squeak";;
-CYGWIN*)	VM="$SQUEAK45APP/SqueakConsole.exe";;
-Linux)		if [ "$CPU" = x86_64 ]; then
-				CPU=i686
-				echo Running 32-bit Squeak on a 64-bit System. Hope the 32-bit runtime libraries are installed ... 
-			fi
-			VM="$APP/Contents/$OS-$CPU/bin/squeak";;
-*)	echo "don't know how to run Squeak on your system.  bailing out." 1>&2; exit 2
-esac
+if [ "$OS" = Linux -a "$CPU" = x86_64 ]; then
+	echo Running 32-bit Squeak on a 64-bit System. Hope the 32-bit runtime libraries are installed ... 
+fi
 
-exec "$VM" CogVMMaker.image BuildSqueak45Image.st
+exec "$VM" CogVMMaker.image BuildSqueak45VMMakerImage.st

Modified: branches/Cog/image/buildsqueakcmakeimage.sh
===================================================================
--- branches/Cog/image/buildsqueakcmakeimage.sh	2014-06-12 17:03:48 UTC (rev 2995)
+++ branches/Cog/image/buildsqueakcmakeimage.sh	2014-06-12 23:00:54 UTC (rev 2996)
@@ -144,9 +144,9 @@
   esac
 
   if [ "$TRUNK" = true ]; then
-     SCRIPT="$APP/BuildSqueak45TrunkCMakeImage.st"
+     SCRIPT="$APP/BuildSqueak45TrunkCMakeVMMakerImage.st"
   else
-     SCRIPT="$APP/BuildSqueak45CMakeImage.st" 
+     SCRIPT="$APP/BuildSqueak45CMakeVMMakerImage.st" 
   fi
 
   if [ "$CPU" = x86_64 ] ; then
@@ -233,7 +233,7 @@
    	       SQUEAK45VM="$STANDARDINSTALLDIRECTORY/$SQUEAK45APP/Contents/$OS-$CPU/bin/squeak";;
   *)	echo "don't know how to run Squeak on your system.  bailing out." 1>&2; exit 2
   esac
-  SCRIPT="$APP/BuildSqueakStandardImage.st" 
+  SCRIPT="$APP/BuildSqueakStandardVMMakerImage.st" 
 
 
   cp $STANDARDINSTALLDIRECTORY/$SQUEAK45APP/squeak.sh $STANDARDINSTALLDIRECTORY/$SQUEAK45APP/squeakStandardVMMaker.sh    #create a shell script that launches our CogVMMaker.image
@@ -244,7 +244,7 @@
 
  cp -p *.text                      $STANDARDINSTALLDIRECTORY/$SQUEAK45RESOURCES  #Workspaces with helpful text
  cp -p *.config                    $STANDARDINSTALLDIRECTORY/$SQUEAK45RESOURCES  #VMMakerTool configuration files
- cp -p BuildSqueakStandardImage.st $STANDARDINSTALLDIRECTORY/$SQUEAK45RESOURCES  #Smalltalk 
+ cp -p BuildSqueakStandardVMMakerImage.st $STANDARDINSTALLDIRECTORY/$SQUEAK45RESOURCES  #Smalltalk 
 
  "$SQUEAK45VM" "$STANDARDINSTALLDIRECTORY/$SQUEAK45RESOURCES/$STANDARDIMAGE" "$SCRIPT"
 
@@ -295,7 +295,7 @@
 
   cd $COGINSTALLDIRECTORY/$COGLINUX
   ln -s  oscogvm/platforms platforms   #<--needed for VMMakerTool
-  ./squeak CogVMMaker.image BuildSqueak46CMakeImage.st
+  ./squeak CogVMMaker.image BuildSqueak46CMakeVMMakerImage.st
   cd -
 
   cd ../
@@ -350,11 +350,11 @@
 #echo 'http://wiki.squeak.org/squeak/6177'
 
 
-  cp -p BuildSqueakStandardImage.st  $STANDARDINSTALLDIRECTORY/$COGLINUX
+  cp -p BuildSqueakStandardVMMakerImage.st  $STANDARDINSTALLDIRECTORY/$COGLINUX
   cp -p *.text         $STANDARDINSTALLDIRECTORY/$COGLINUX
   cp -p *.config       $STANDARDINSTALLDIRECTORY/$COGLINUX
   cd $STANDARDINSTALLDIRECTORY/$COGLINUX
-  ./squeak StandardVMMaker.image BuildSqueakStandardImage.st
+  ./squeak StandardVMMaker.image BuildSqueakStandardVMMakerImage.st
   cd -
 }
 

Modified: branches/Cog/image/buildsqueaktrunkvmmakerimage.sh
===================================================================
--- branches/Cog/image/buildsqueaktrunkvmmakerimage.sh	2014-06-12 17:03:48 UTC (rev 2995)
+++ branches/Cog/image/buildsqueaktrunkvmmakerimage.sh	2014-06-12 23:00:54 UTC (rev 2996)
@@ -1,22 +1,13 @@
 #!/bin/bash
 . ./envvars.sh
 ./getsqueak45.sh
+. ./get2897vm.sh
 
 cp -p $SQUEAK45.image CogVMMaker.image
 cp -p $SQUEAK45.changes CogVMMaker.changes
 
-OS=`uname -s`
-CPU=`uname -m`
+if [ "$OS" = Linux -a "$CPU" = x86_64 ]; then
+	echo Running 32-bit Squeak on a 64-bit System. Hope the 32-bit runtime libraries are installed ... 
+fi
 
-case $OS in
-Darwin)		VM="$SQUEAK45APP/Contents/MacOS/Squeak";;
-CYGWIN*)	VM="$SQUEAK45APP/SqueakConsole.exe";;
-Linux)		if [ "$CPU" = x86_64 ]; then
-				CPU=i686
-				echo Running 32-bit Squeak on a 64-bit System. Hope the 32-bit runtime libraries are installed ... 
-			fi
-			VM="$APP/Contents/$OS-$CPU/bin/squeak";;
-*)	echo "don't know how to run Squeak on your system.  bailing out." 1>&2; exit 2
-esac
-
-exec "$VM" CogVMMaker.image BuildSqueakTrunkImage.st
+exec "$VM" CogVMMaker.image BuildSqueakTrunkVMMakerImage.st

Modified: branches/Cog/image/getsqueak45.sh
===================================================================
--- branches/Cog/image/getsqueak45.sh	2014-06-12 17:03:48 UTC (rev 2995)
+++ branches/Cog/image/getsqueak45.sh	2014-06-12 23:00:54 UTC (rev 2996)
@@ -5,10 +5,20 @@
 	ZIP=Squeak-4.5-All-in-One.zip
 	if [ "`md5 -q $ZIP`" != b90e0303ab61e928a5d997b22d18b468 ]
 	then
-		wget --help >/dev/null || (echo 'could not find wget.  you can find instructions on how to install it on google.' 1>&2; exit 1)
+		if wget --help >/dev/null ; then
+			true
+		else
+			echo 'could not find wget.  you can find instructions on how to install it on google.' 1>&2
+			exit 1
+		fi
 		wget -c http://ftp.squeak.org/4.5/$ZIP
 	fi
-	unzip --help >/dev/null || (echo 'could not find unzip.  you can find instructions on how to install it on google.' 1>&2; exit 1)
+	if unzip --help >/dev/null then
+		true
+	else
+		echo 'could not find unzip.  you can find instructions on how to install it on google.' 1>&2
+		exit 1
+	fi
 	unzip $ZIP
 fi
 test -f SqueakV41.sources || ln $SQUEAK45RESOURCES/SqueakV41.sources .


Property changes on: branches/Cog/image/getsqueak45.sh
___________________________________________________________________
Added: svn:executable
   + *



More information about the Vm-dev mailing list