Image building
Göran Krampe
goran at krampe.se
Fri Feb 16 14:32:32 UTC 2007
Hi!
Since the question on image building came up I just thought I could share
a script we use with Gjallar - it is very KISS. For more advanced stuff -
Keith Hodges has done lots of work on image building recently.
Below is my script, slightly edited. It basically does these things:
1. Update SqueakMap.
2. Install a bunch of packages, either "newest for this Squeak version" or
specific versions.
3. Set up some MC repositories.
4. Install newest MC version given matching patterns.
5. Install a changeset with "loose patches".
regards, Göran
-------------
| gjallarRepo seasideRepo magmaRepo graphvizRepo mcRepo block |
SMSqueakMap default loadUpdates;
installPackageNamed: 'Shout'; "this is used by the LocalizationTools"
installPackageNamed: 'DynamicBindings';
installPackageNamed: 'KomServices';
installPackageNamed: 'KomHttpServer';
installPackageNamed: 'HTMLBuilder';
installPackageNamed: 'HttpView2';
installPackageNamed: 'YAXO';
installPackageNamed: 'ODBC for Squeak';
installPackageNamed: 'ODBCEnh' autoVersion: '7':
installPackageNamed: 'SoapCore' autoVersion: '6';
installPackageNamed: 'OperaORB' autoVersion: '1'.
(Smalltalk at: #MCRepositoryGroup) default initialize
addRepository: (magmaRepo _ (Smalltalk at: #MCHttpRepository)
location: 'http://www.squeaksource.com/MagmaTester'
user: ''
password: '');
addRepository: (mcRepo _ MCHttpRepository
location: 'http://www.squeaksource.com/Monticello'
user: ''
password: '');
addRepository: (graphvizRepo _ (Smalltalk at: #MCHttpRepository)
location: 'http://squeak.saltypickle.com/GraphViz/'
user: ''
password: '');
addRepository: (seasideRepo _ (Smalltalk at: #MCHttpRepository)
location: 'http://www.squeaksource.com/Seaside'
user: ''
password: '');
addRepository: (gjallarRepo _ (Smalltalk at: #MCHttpRepository)
location: 'http://gjallar.krampe.se'
user: ''
password: '').
block _ [:repo :base | | coll name |
coll _ SortedCollection new.
(repo readableFileNames select: [:e | base, '*' match: e]) do: [ :each |
name _ (each copyUpToLast: $.) copyUpTo: $(.
name last isDigit ifTrue: [
coll add: (((name copyAfterLast: $-) copyAfter: $.) asInteger) ->
each]].
coll last value].
(mcRepo versionFromFileNamed: (
block value: mcRepo value: 'Monticello-avi.')) load.
(magmaRepo versionFromFileNamed: (
block value: magmaRepo value: 'MagmaServerLoader-cmm.')) load.
(gjallarRepo versionFromFileNamed: (
block value: gjallarRepo value: 'GraphViz-gk.')) load.
" (graphvizRepo versionFromFileNamed: (
block value: graphvizRepo value: 'GraphViz-jrp.')) load."
"Prerequisites for the localization tool"
(gjallarRepo versionFromFileNamed: (
block value: gjallarRepo value: 'AST')) load.
(gjallarRepo versionFromFileNamed: (
block value: gjallarRepo value: 'Shout')) load.
(gjallarRepo versionFromFileNamed: (
block value: gjallarRepo value: 'INIFile-gk.')) load.
(gjallarRepo versionFromFileNamed: (
block value: gjallarRepo value: 'Seaside2.7a1-gk.')) load.
(seasideRepo versionFromFileNamed: (
block value: seasideRepo value: 'Scriptaculous-lr.141')) load.
(gjallarRepo versionFromFileNamed: (
block value: gjallarRepo value: 'LocalizationTools-kb.')) load.
(gjallarRepo versionFromFileNamed: (
block value: gjallarRepo value: 'InstallerBuilder-gk.')) load.
(gjallarRepo versionFromFileNamed: (
block value: gjallarRepo value: 'LDAP-gk.')) load.
(gjallarRepo versionFromFileNamed: (
block value: gjallarRepo value: 'Q2v0.3-gk')) load.
(gjallarRepo versionFromFileNamed: (
block value: gjallarRepo value: 'Q2-Morphic-hk')) load.
SARInstaller fileIntoChangeSetNamed: 'basepatches'
fromStream: (FileDirectory default readOnlyFileNamed: 'basepatches.1.cs').
Q2Gjallar prepareDevImage.
More information about the Exupery
mailing list