• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Stop wasting time looking for files and revisions. Connect your Gmail, DriveDropbox, and Slack accounts and in less than 2 minutes, Dokkio will automatically organize all your file attachments. Learn more and claim your free account.


Example migration script for sq3-10-7159dev08-05-1

Page history last edited by PBworks 12 years, 2 months ago

"Installer script by Ken G. Brown 20080511

for use with sq3.10-7159dev08.05.1 and Squeak 3.8.18beta3U.app on Mac. Many thanks to Damien Cassou for the dev images, and to Keith Hodges for the great Installer, and of course everyone else that has made this possible,

Inspiration for this script also comes from one posted to Squeak-dev on Mon,11 Feb. 2008 by Esteban Lorenzano

Please post nice additions to this or fixes for problems that might lie herein, this has been only lightly tested at this point"


"Installer docs reside at http://installer.pbwiki.com/Installer "

"Before you start, edit some of the names if you like, as well as the required local path names, I recommend executing each step manually at first to have complete control over the process and to get familiar with what it does. As well, a few steps require manual input."


"Do this first" TheWorldMenu new openFileDirectly.

"To open this file, myInstallerScript-1.1.text"

" Make sure this Installer script gets into the Workspace with the same name so that Shout coloring works, Then close the file remembering always from then on to save changes to the script file from the workspace"


(SHWorkspace new openLabel: 'myInstallerScript-1.1') contents: ((FileStream fileNamed: 'myInstallerScript-1.1.text') contentsOfEntireFile); changed: #contents.


"*** switch off rounded window corners for performance improvement ***"

"*** browser perfamance being tracked at: http://bugs.squeak.org/view.php?id=2084"

Preferences disable: #roundedWindowCorners.


"*** open Workspaces and populate from a file with the same name.text so you can easily save the workspaces by filing out from the menubar menu ***"


(SHWorkspace new openLabel: 'myMessySnippets-1.0') contents: ((FileStream fileNamed: 'myMessySnippets-1.0.text') contentsOfEntireFile); changed: #contents. "A place to put snippets & things you want to remember."


(SHWorkspace new openLabel: 'myGoodSnippets-1.0') contents: ((FileStream fileNamed: 'myGoodSnippets-1.0.text') contentsOfEntireFile); changed: #contents. "A place to put snippets & things you want to remember."


(SHWorkspace new openLabel: 'myHIDK8055Snippets-1.0') contents: ((FileStream fileNamed: 'myHIDK8055Snippets-1.0.text') contentsOfEntireFile); changed: #contents. "A place to put snippets & things you want to remember."


(SHWorkspace new openLabel: 'myMiscFixes-1.0') contents: ((FileStream fileNamed: 'myMiscFixes-1.0.text') contentsOfEntireFile); changed: #contents.


"*** make a new changeset so we don't forget ***************************"

"any open ChangeSorters will not get updated"

"DEVToolSet openChangeSorter." "if we want to do manually"

ChangeSet newChanges: (ChangeSorter newChangeSet: 'tmpNewChgSetkb').


"*** open some browsers 'n stuff ***************************"

(Transcript openAsMorphLabel: 'myTranscript-1') openInWorld.

OBUBrowser open.

MCWorkingCopyBrowser open.


"*** SMLoader open. ***************************"

"SMSqueakMap loadUpdates."

squeakmap := Installer squeakmap.

squeakmap open. "opens the squeak map loader gui"


"*** 1.009 printShowingDecimalPlaces: 3 '1.900' ****"

Installer mantis ensureFix: 7028.


"*** Keith's Level Playing Field - http://installer.pbwiki.com/LevelPlayingField ***************************"

"Also loads launcher"

"Installer upgrade install: 'LevelPlayingField'."

HTTPSocket httpFileIn: 'installer.pbwiki.com/f/LPF.st' "recommended"


"Tidy also loads Scripter"

"Installer install: 'Tidy'".


"*** Install 'Sake' and the appropriate package maps for your squeak version. ***************************"

Installer mantis ensureFix: '6867 SimpleDocMethods.1.cs'.


"Date: Sun, 20 Apr 2008 03:18:13 +0100

From: Keith Hodges

Subject: squeak-dev Sake/Packages declared open!"

Installer install: 'Packages'.


"*** Keith's Installer Test'***************************"

Installer monticello http: 'http://www.squeaksource.com';

project: 'Installer';

install: 'Installer-Test-testReporter.14.mcz'.


"Keith's Scripter"

Installer ss project:'Scripter';

install: 'Scripter-Core-kph.6.mcz';

install: 'Scripter-ToolBuilder-kph.1.mcz';

install: 'Scripter-kph.6.mcz'.


"e.g. of loading a package and automatically answering dialogs "

" Installer sake addPackage: 'Seaside';

    answer: '*config*' with: 'admin';

    answer: '*password*' with: 'seaside';"


"*** Keith's Level Playing Field Latest - http://installer.pbwiki.com/Latest ***************************"

Installer install: 'MinorFixes'.

Installer install: 'MajorFixes'.

Installer install: 'PackageUpgrades'.


"*** Keith's Level Playing Field LatestUnstable - http://installer.pbwiki.com/LatestUnstable ***********"

Installer install: 'MinorFixesUnstable'.

Installer install: 'MajorFixesUnstable'.

Installer install: 'PackageUpgradesUnstable'.


"*** Keith's Level Playing Field New Packages - http://installer.pbwiki.com/New+Packages ***********"

Installer install: 'Logging'.

"Installer install: 'New Packages'."


"*** Gary Chamber's Pineoft Diff Tools'



http://www.squeaksource.com/UIEnhancements.html ***********"

Installer universe addPackage: 'Diff Tools'; install.


" ------------------------------------------------------------------------------------------"

"The following is for setting up to do a vm build on Mac,following the instructions in the readme which lives in the sourcetree at


"As noted in the readme,

VMM38-gc-instrument-image.1.cs and VMM38-64bit-imageUpdates.1.cs are already there in 3.10 Dev"

"JMM-fixBiasToGrow.1.cs, and bigCursor-bf.1.cs load in with with VMMaker-tpr.58 which comes with VMMaker 3.8b6"


"Installer mantis justFixBug: 0006952."


Installer mantis justFixBug: 0007006.

"This is required to get FFI to load from SqueakMap"

(FileStream readOnlyFileNamed: '/mySqueakStuff/SqueakSourceTypeStuff/ClassBuilder-nameinEnvironmentsubclassOftypeinstanceVariableNamesclassVariableNamespoolDictionariescategoryunsafe.st') fileIn.


"FFI and Balloon3D are needed by VMMaker"

"*** FFI ***************************"

"Installer squeakmap install: 'FFI'."

"If this doesn't work, use the SqueakMap gui'"

Installer universe

addPackage: 'FFI';



" so that FFI tests pass, refer to mesage from Andrew Tween Sun, 6 Apr 2008 18:17:57 +0100 "

Smalltalk recreateSpecialObjectsArray.


"*** Balloon3D ***************************"

Installer squeakmap install: 'Balloon3D'.

"Installer universe

addPackage: 'FFI';



"*** VMMaker ***************************"

Installer squeakmap install: 'VMMaker'.


"How to Create Plugins - http://wiki.squeak.org/squeak/356 "

"*** for 32bit clean ***************************"

"From the readme:"

"For a 3.8.18 VM or later that includes David T Lewis's 32bit clean VM (4GB address space work)

load the VmUpdates-dtl and ensure you use the proper sqMemoryAccess.h. I've stuck vmUpdates-dtl into the specialChangeSets folder until

they are integrated into VMMaker, also the JMM-VmUpdates32bitclean.2.cs should be loaded which is additional 32bit clean work."


"Edit these path names to point to your local copy of the squeak soource trunk."

"wierd stuff happens in this batch, need to do first one twice, and last one appears to not execute unless doing filin from filelist"

(FileStream readOnlyFileNamed: '/mySqueakStuff/VMSqMackb-1818/root/platforms/Mac OS/vm/specialChangeSets/VmUpdates-dtl/JMM-VmUpdates32bitclean.2.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/VMSqMackb-1818/root/platforms/Mac OS/vm/specialChangeSets/VmUpdates-dtl/VmUpdates-1001-dtl.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/VMSqMackb-1818/root/platforms/Mac OS/vm/specialChangeSets/VmUpdates-dtl/VmUpdates-1002-dtl.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/VMSqMackb-1818/root/platforms/Mac OS/vm/specialChangeSets/VmUpdates-dtl/VmUpdates-1003-dtl.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/VMSqMackb-1818/root/platforms/Mac OS/vm/specialChangeSets/VmUpdates-dtl/VmUpdates-1004-dtl.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/VMSqMackb-1818/root/platforms/Mac OS/vm/specialChangeSets/VmUpdates-dtl/VmUpdates-1005-dtl.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/VMSqMackb-1818/root/platforms/Mac OS/vm/specialChangeSets/VmUpdates-dtl/VmUpdates-1006-dtl.1.cs') fileIn.


"*** some more changeSets from .../Mac OS/vm/specialChangeSets/ ***************************"

(FileStream readOnlyFileNamed: '/mySqueakStuff/VMSqMackb-1818/root/platforms/Mac OS/vm/specialChangeSets/ArraysToGlobalStruct-JMM.1.cs'

) fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/VMSqMackb-1818/root/platforms/Mac OS/vm/specialChangeSets/Gnuifier.8.cs') fileIn.


"*** SerialExtendedPlugin with Fixes ***************************"

"refer to mantis bug M6966"

(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/Serial/EnhancedSerialPorts-JMM.11wSmalltalkFixesFor3.10-kgb.cs') fileIn.


"load other plugin changesets here if required"


"*** Load Speech (Klatt) ***************************"

"for now have removed Klatt from build since cannot load it from SqueakMap"


"*** Ffenstri - to generate MacMenuBarPlugin.c ***************************"

"from http://homepage.mac.com/WebObjects/FileSharing.woa/67/wo/dpDUKrp5QoOxiKIu.1/"

(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/MacMenuBarPlugin/Archive/Ffenestri-b-1-HostWindowPlugin.2.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/MacMenuBarPlugin/Archive/Ffenestri-b-2-WindowProxies.3.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/MacMenuBarPlugin/Archive/Ffenestri-b-3-MultiHostWindows-Sunits.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/MacMenuBarPlugin/Archive/Ffenestri-b-3-MultiHostWindows.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/MacMenuBarPlugin/Archive/Ffenestri-b-4-Events-Morphic.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/MacMenuBarPlugin/Archive/HostMenus-Base.2.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/MacMenuBarPlugin/Archive/HostMenus-Events.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/MacMenuBarPlugin/Archive/HostMenus-Fixes-1.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/MacMenuBarPlugin/Archive/HostMenus-Mac-MacPlugin.1.cs') fileIn.


(FileStream readOnlyFileNamed: '/mySqueakStuff/SqCoriginals/PluginsOrig/MacMenuBarPlugin/Archive/HostMenus-Mac-SUnits.1.cs') fileIn.


"*** Open VMMaker ***************************"

(DialogWindow new title: 'Remember to load the config file here') openInWorld.

Beeper new play.

VMMakerTool openInWorld.


"load the VMMaker config file"


"get rid of the 32 on src32 for Xcode to be happy

move to make all internal, then move these back to plugins not built








"Examples for Gnuify""

DoIt: (Gnuifier on: pathToInterpreterfile) gnuify.

(Gnuifier on:

((FileDirectory default

directoryNamed: 'src') " "Perhaps src32 depending on how VMMaker 32/64 thinks about this"

" directoryNamed: 'vm') pathName) gnuify"

(DialogWindow new title: 'Only need to Gnuify when regenerating all') openInWorld.

(Gnuifier on: '/mySqueakStuff/VMSqMackb-1818/root/src/vm/') gnuify.


"Need to change SerialExtendedPlugin folder to SerialExtendedUnixPlugin in Mac OS/Plugins"


"Compile error Line 270 MacMenuBarPlugin.c = #if TARGET_API_MAC_CARBON;" "Needs the semi-colon removed"


" ------------------------------------------------------------------------------------------"

"do whatever other installs you want here"


"*** Misc settings ***"


" Key Binder - http://wiki.squeak.org/squeak/HernanTylim"

Installer universe

addPackage: 'KeyBinder';



"*** For an extra factor of two with truetype fonts, use the TrueType speedup patch: ***"

"Installer mantis bug: 6089 fix:'TTFSpeedUp-dgd.2.cs'. already in 3.10 "


Installer mantis ensureFix: '7033 Transcript speedup'.

"100 timesRepeat: [ Transcript show: 'foo' ]timeToRun."


"Algernon from SqueakMap - keyboard launcher already in 8.05.01"

"Installer squeakmap install: 'Algernon'."



" ------------------------------------------------------------------------------------------"


"*** Lukas's Nxt SB Interface'***************************"

Installer monticello http: 'http://source.lukas-renggli.ch/';

project: 'nxt';

install: 'Nxt-mha.5.mcz'.


"***Velleman VM110 Interface ***************************"

Installer monticello http: 'http://www.squeaksource.com/';

project: 'K8055';

"install: 'K8055-dmoc.5.mcz'."

install: 'K8055-dmoc.8.mcz'.


"*** HID Device Plugin http://www.hitoro.net/squeak/HIDPlugin/ ***************************"

"Installer squeakmap install: 'HIDPlugin(5)'." "doesn't complete successfully'"

Installer monticello http: 'http://www.squeaksource.com/HID';

"project: 'HIDPlugin';"

install: 'HID-dd.5.mcz'.


" get my changes"

(FileStream readOnlyFileNamed: '/mySqueakStuff/Sqkb/Sqkb3.10/sq3.10-7159dev08.04.1/HIDPluginExtended.3.cs') fileIn.


"Add an HID package manually ???"

"change HIDPlugin category to VMMaker-Plugins"


"*** my HIDK8055 from '/mySqueakStuff/Sqkb/MonticelloPackages/HIDK8055/HIDK8055-kgb.1.mcz' ****"

Installer monticello directory: '/mySqueakStuff/Sqkb/MonticelloPackages/HIDK8055';

"project: 'HIDK8055';"

install: 'HIDK8055-kgb.1.mcz'.

"(FileStream readOnlyFileNamed: '/mySqueakStuff/Sqkb/MonticelloPackages/HIDK8055/HIDK8055-kgb.1.mcz') fileIn."





MCFileBasedRepository flushAllCaches.

"MCDefinition cleanUp." "requires MC1.5 which is not currently in dev8.05.1"

Smalltalk garbageCollect.


"*** Save as a new version ***************************"

SmalltalkImage current saveAsNewVersion.





Comments (0)

You don't have permission to comment on this page.