Image building

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Image building

Göran Krampe
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.

_______________________________________________
Exupery mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery