Minimal Seaside Image
Last updated at 7:04 am UTC on 24 November 2005
Did you ever had holidays and searched something useful you could waste your time with? Well, I had holidays. You could download my work from http://mfritsche.dyndns.org/sq30-wo-morphic4net.zip (the latter without the removed "isMorphic" sends).
The way there was:
1. get a vanilla 3.0 image, Squeak3.0-3552.zip (found on various ftp-sites all over the planet).
2. get MajorShrinkFor3.0.cs (found via google).
3. file it in, following the advises (without "Smalltalk abandonSources") (answered yes, yes, no; minimal image)
Smalltalk obsoleteClasses do: [ :c | c allInstances do: [ :i | i becomeForward: nil]. c becomeForward: nil]
(kids, don't try this at home!)
5. filed in SelectorBrowser.st frome the vanilla 3.0 image.
6. filed in PluggableListView-setSelectionSelectorIs.st frome the vanilla 3.0 image.
7. remove all "*morph*"-messages and adjusted it senders (there is no Morphic anymore).
8. niled out unused globals (World, etc)
9. for networking, fileIn the corresponding Network-Packages from the vanilla Image
Printing all methods with references to obsoletes on Transcript:
| mthds cm d c f | f _ OrderedCollection new. d _ OrderedCollection new. mthds _ Dictionary new.
c _ Smalltalk obsoleteClasses.
c do: [ :r | f addAll: (Smalltalk pointersTo: r except: c)].
f do: [ :r | d addAll: (Smalltalk pointersTo: r except: f)].
cm _ (d select: [ :m | m isKindOf: CompiledMethod ]).
Smalltalk allClassesDo: [ :cls | cls methodDict do: [ :ass | (cm includes: ass) ifTrue: [ Transcript show: cls name,
'>>', ass selector; cr ]]]
The image isn't tested yet, so I don't know if Networking acutally works or if there is some kind of initialization to be done. For squeak updates from 3414 (Squeak3.0) to 6550 (Squeak3.9alpha), get http://mfritsche.dyndns.org/updates.zip
Suggestion at this time: Take the prebuilt 3.8 seaside image (download link on Seaside page) and redo the process. If somebody already did this, please replace this paragraph with a link. hjh