[squeak-dev] The Trunk: CommandLine-fbs.1.mcz

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sat Nov 2 14:05:45 UTC 2013


Ah, but I see that you use SqueakMap...
SqueakMap point to ConfigurationOfFuel-MartinDias.197
Unfortunately, this configuration is obsolete.
Because it points to http://ss3.gemstone.com/ss/Fuel which has been drained
from every .mcz (IMHO a mistake, it should have been used as a fallback
repository...).

There is another problem even with more recent configuration: they do not
attempt anything for a squeak4.5.x serie, and will thus fail to load the
FuelCompatibility layer... Fixing the configuration is not enough, because
it is also necessary to fix Metacello which never heard of squeak4.5
either...

That's a few hurdles, but we can make it.

2013/11/1 Frank Shearar <frank.shearar at gmail.com>

> Fuel works in 4.4, but not quite yet in 4.5:
> http://build.squeak.org/job/ExternalPackage-Fuel/lastFailedBuild/console
> Sadly, that output's not particularly useful.
>
> frank
>
> On 31 October 2013 23:02, Nicolas Cellier
> <nicolas.cellier.aka.nice at gmail.com> wrote:
> > +1, please include in the update.mcm!
> > I also like the Pharo alternative to Fuel out the error context...
> > Lighter than full image save. Oh but we don't have Fuel yet :(
> > Who wants to make it with a segment?
> >
> >
> > 2013/10/31 <commits at source.squeak.org>
> >
> >> Frank Shearar uploaded a new version of CommandLine to project The
> Trunk:
> >> http://source.squeak.org/trunk/CommandLine-fbs.1.mcz
> >>
> >> ==================== Summary ====================
> >>
> >> Name: CommandLine-fbs.1
> >> Author: fbs
> >> Time: 31 October 2013, 10:32:52.821 pm
> >> UUID: dc871e85-bd16-d742-acbf-4d2b838113d1
> >> Ancestors:
> >>
> >> CommandLineToolSet does little more than dump errors to stderr.
> >>
> >> DummyUIManager comes from Pharo via Pavel Krivanek's minimising script.
> >>
> >> ==================== Snapshot ====================
> >>
> >> SystemOrganization addCategory: #'CommandLine-Tools'!
> >> SystemOrganization addCategory: #'CommandLine-UIManager'!
> >>
> >> UIManager subclass: #DummyUIManager
> >>         instanceVariableNames: ''
> >>         classVariableNames: ''
> >>         poolDictionaries: ''
> >>         category: 'CommandLine-UIManager'!
> >>
> >> !DummyUIManager commentStamp: 'fbs 10/31/2013 07:36' prior: 0!
> >> I'm an alternative UIManager used to run an the image without GUI.  I
> >> redefine methods which require user input as these requests are
> irrelevant
> >> in a headless environment. !
> >>
> >> ----- Method: DummyUIManager>>checkForNewDisplaySize (in category
> >> 'display') -----
> >> checkForNewDisplaySize
> >>         Display extent = DisplayScreen actualScreenSize ifTrue: [^
> self].
> >>         DisplayScreen startUp.
> >> !
> >>
> >> ----- Method: DummyUIManager>>chooseDirectory:from: (in category 'ui
> >> requests') -----
> >> chooseDirectory: label from: dir
> >>         ^ nil!
> >>
> >> ----- Method: DummyUIManager>>chooseFrom:lines:title: (in category 'ui
> >> requests') -----
> >> chooseFrom: aList lines: linesArray title: aString
> >>         ^ aList first!
> >>
> >> ----- Method: DummyUIManager>>chooseFrom:values:lines:title: (in
> category
> >> 'ui requests') -----
> >> chooseFrom: labelList values: valueList lines: linesArray title: aString
> >>         ^ valueList first!
> >>
> >> ----- Method: DummyUIManager>>confirm: (in category 'ui requests') -----
> >> confirm: queryString
> >>         (ProvideAnswerNotification signal: queryString)
> >>                 ifNotNil: [:answer|^answer].
> >>
> >>         self error: 'No user response possible'!
> >>
> >> ----- Method: DummyUIManager>>confirm:orCancel: (in category 'ui
> >> requests') -----
> >> confirm: aString orCancel: cancelBlock
> >>         (ProvideAnswerNotification signal: aString) ifNotNil: [:answer |
> >>         ^answer == #cancel ifTrue: [cancelBlock value] ifFalse:
> [answer]].
> >>
> >>         self error: 'No user response possible'!
> >>
> >> ----- Method: DummyUIManager>>displayProgress:at:from:to:during: (in
> >> category 'ui requests') -----
> >> displayProgress: titleString at: aPoint from: minVal to: maxVal during:
> >> workBlock
> >>         ^ workBlock value: Association new!
> >>
> >> ----- Method: DummyUIManager>>edit:label:accept: (in category 'ui
> >> requests') -----
> >> edit: aText label: labelString accept: anAction
> >>         ^ nil!
> >>
> >> ----- Method: DummyUIManager>>fontFromUser: (in category 'ui requests')
> >> -----
> >> fontFromUser: priorFont
> >>         self error: 'No user response possible'!
> >>
> >> ----- Method: DummyUIManager>>inform: (in category 'ui requests') -----
> >> inform: aString
> >>         "Nothing to be done here"!
> >>
> >> ----- Method: DummyUIManager>>informUserDuring: (in category 'ui
> >> requests') -----
> >> informUserDuring: aBlock
> >>         aBlock value: nil!
> >>
> >> ----- Method: DummyUIManager>>newDisplayDepthNoRestore: (in category
> >> 'display') -----
> >> newDisplayDepthNoRestore: pixelSize
> >>         "Change depths.  Check if there is enough space!!  , di"
> >>         | area need |
> >>         pixelSize = Display depth ifTrue: [^ self  "no change"].
> >>         pixelSize abs < Display depth ifFalse:
> >>                 ["Make sure there is enough space"
> >>                 area := Display boundingBox area. "pixels"
> >>
> >>                 need := (area * (pixelSize abs - Display depth) // 8)
> >> "new bytes needed"
> >>                                 + Smalltalk lowSpaceThreshold.
> >>                 (Smalltalk garbageCollectMost <= need
> >>                         and: [Smalltalk garbageCollect <= need])
> >>                         ifTrue: [self error: 'Insufficient free
> space']].
> >>         Display setExtent: Display extent depth: pixelSize.
> >>
> >>         DisplayScreen startUp!
> >>
> >> ----- Method: DummyUIManager>>request:initialAnswer: (in category 'ui
> >> requests') -----
> >> request: queryString initialAnswer: defaultAnswer
> >>         (ProvideAnswerNotification signal: queryString)
> >>         ifNotNil: [:answer |
> >>             ^ answer == #default ifTrue: [defaultAnswer] ifFalse:
> >> [answer]].
> >>
> >>         self error: 'No user response possible'!
> >>
> >> ----- Method: DummyUIManager>>requestPassword: (in category 'ui
> requests')
> >> -----
> >> requestPassword: queryString
> >>         ^ self request: queryString initialAnswer: ''!
> >>
> >> ----- Method: DummyUIManager>>restoreDisplay (in category 'display')
> -----
> >> restoreDisplay!
> >>
> >> ----- Method: DummyUIManager>>restoreDisplayAfter: (in category
> 'display')
> >> -----
> >> restoreDisplayAfter: aBlock
> >>         aBlock value.
> >>         Sensor waitButton.!
> >>
> >> StandardToolSet subclass: #CommandLineToolSet
> >>         instanceVariableNames: ''
> >>         classVariableNames: 'SaveSnapshotOnError'
> >>         poolDictionaries: ''
> >>         category: 'CommandLine-Tools'!
> >>
> >> ----- Method: CommandLineToolSet class>>debugError: (in category
> >> 'debugging') -----
> >> debugError: anError
> >>         "Print out a sensible stack trace and bail"
> >>         | problemPlace s |
> >>         self saveSnapshotOnError
> >>                 ifTrue: [Smalltalk saveAs: 'Debug-' , (Smalltalk
> imageName
> >> subStrings: '/') last].
> >>         problemPlace := anError signalerContext.
> >>         s := FileStream stderr.
> >>         (anError isKindOf: MessageNotUnderstood) ifTrue: [
> >>                 s
> >>                         nextPutAll: anError messageText; cr;
> >>                         nextPutAll: problemPlace sender methodNode
> >> printString; cr].
> >>         (problemPlace stackOfSize: 20) do: [:ctx | s cr. ctx printOn:
> s].
> >>         s flush.
> >>
> >>         SmalltalkImage current snapshot: false andQuit: true!
> >>
> >> ----- Method: CommandLineToolSet class>>debugSyntaxError: (in category
> >> 'debugging') -----
> >> debugSyntaxError: anError
> >>         | s |
> >>         s := FileStream stderr.
> >>         s nextPutAll: '----- Syntax error -----'; cr.
> >>         s nextPutAll: anError errorCode; cr.
> >>         s nextPutAll: '----- Syntax error -----'; cr.
> >>
> >>         self debugError: anError!
> >>
> >> ----- Method: CommandLineToolSet class>>saveSnapshotOnError (in category
> >> 'preferences') -----
> >> saveSnapshotOnError
> >>         <preference: 'Save snapshot of image on failure'
> >>         category: 'debug'
> >>         description: 'If true, saves a snapshot of the failing image to
> >> the current directory.'
> >>         type: #Boolean>
> >>         ^ SaveSnapshotOnError ifNil: [SaveSnapshotOnError := false].!
> >>
> >> ----- Method: CommandLineToolSet class>>saveSnapshotOnError: (in
> category
> >> 'preferences') -----
> >> saveSnapshotOnError: aBoolean
> >>         SaveSnapshotOnError := aBoolean.!
> >>
> >> ----- Method: CommandLineToolSet class>>unload (in category 'class
> >> initialization') -----
> >> unload
> >>         ToolSet unregister: self.!
> >>
> >>
> >
> >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20131102/f9440f45/attachment.htm


More information about the Squeak-dev mailing list