[squeak-dev] MonticelloConfiguration and Installer questions

C. David Shaffer cdshaffer at acm.org
Tue Sep 16 19:29:39 UTC 2008


Keith Hodges wrote:
> Hi David,
>
> do you have anything against using, LevelPlayingField, with MC1.5 ?
>
> see http://installer.pwiki.com/LevelPlayingField
>
> Not that I have any problem with getting earlier versions to work with
> Installer, however this is the most supported combination.  I also
> notice that MonticelloConfigurations is now up to version 48 in the
> http://www.squeaksource.com/mc repository.
>
> best regards
>
> Keith
>
> p.s. You might find Sake/Packages a viable alternative to mcm depending
> upon your needs
>
>
>   
Hey Keith,

Thanks for the response.  Re: LPF and MC1.5, never found any motivation 
to use either so maybe now's the time?  I installed LPF and MC "48" in 
my image and I get the same walkback.  I don't believe that Installer 
handles MCM files correctly at all, even under LPF, even with newer 
versions of MonticelloConfigurations.  I've attached the walkback.  The 
stack should make the problem clear (a MCConfiguration instance is 
ending up in the installer's "versions" list and it doesn't respond to 
the same protocol as a "version").  My previous e-mail had a patch to 
Installer.  I'm using it in my build script now.  Maybe it should be 
considered for inclusion although I think that it is sloppy.  I'd prefer 
"works" over "elegant" so I'm not ashamed :-)

I peek at Sake now again and, while I'm a long-standing make and ant 
user, I don't yet see the need for it in my Smalltalk systems.  Maybe 
that day will come.  For now I get all the flexibility I need by 
building little "script building" classes that create my deployment 
image builder.  I'm cautious that the abstractions provided by the 
declarative approach would make this simple process more complicated 
(again, in my rather trivial package loading image builder).

Thanks for the tips...

David

-------------- next part --------------
MessageNotUnderstood: MCConfiguration>>package
16 September 2008 3:20 pm

VM: unix - a SmalltalkImage
Image: Squeak3.9.1 [latest update: #7075]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/shaffer/Source/Squeak/ProfitPortal/ImageBuilder
Trusted Dir /home/shaffer/Source/Squeak/ProfitPortal/ImageBuilder/secure
Untrusted Dir /home/shaffer/Source/Squeak/ProfitPortal/ImageBuilder/My Squeak

MCConfiguration(Object)>>doesNotUnderstand: #package
	Receiver: a MCConfiguration
	Arguments and temporary variables: 
		aMessage: 	package
	Receiver's instance variables: 
		name: 	'HitMysticR4Config7'
		dependencies: 	an OrderedCollection(a MCVersionDependency a MCVersionDependency ...etc...
		repositories: 	an OrderedCollection(a MCHttpRepository(http://www.cdshaffer.com/...etc...
		log: 	nil

[] in MCVersionLoader>>checkForModifications {[:ea | ea package workingCopy modified]}
	Arguments and temporary variables: 
		modifications: 	nil
		ea: 	a MCConfiguration

OrderedCollection>>select:
	Receiver: an OrderedCollection(a MCVersion(DynamicBindings-gk.1) a MCVersion(KomServices-cds.5) a MC...etc...
	Arguments and temporary variables: 
		aBlock: 	[] in MCVersionLoader>>checkForModifications {[:ea | ea package working...etc...
		newCollection: 	an OrderedCollection()
		element: 	a MCConfiguration
		index: 	65
	Receiver's instance variables: 
		array: 	an Array(a MCVersion(DynamicBindings-gk.1) a MCVersion(KomServices-cds.5...etc...
		firstIndex: 	1
		lastIndex: 	65

MCVersionLoader>>checkForModifications
	Receiver: a MCVersionLoader
	Arguments and temporary variables: 
		modifications: 	nil
		ea: 	a MCConfiguration
	Receiver's instance variables: 
		versions: 	an OrderedCollection(a MCVersion(DynamicBindings-gk.1) a MCVersion(Ko...etc...


--- The full stack ---
MCConfiguration(Object)>>doesNotUnderstand: #package
[] in MCVersionLoader>>checkForModifications {[:ea | ea package workingCopy modified]}
OrderedCollection>>select:
MCVersionLoader>>checkForModifications
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MCVersionLoader>>loadWithNameLike:
MCVersionLoader>>load
[] in Installer>>mcInstall {[self mcThing load]}
[] in BlockContext>>valueSupplyingAnswers: {[self value]}
BlockContext>>on:do:
BlockContext>>valueSupplyingAnswers:
BlockContext>>valueSuppressingMessages:supplyingAnswers:
Installer>>withAnswersDo:
Installer>>mcInstall
[] in Installer>>install {[self sake   ifNotNil: [^ self sakeInstall].  self universe   ifNotNil: [^ s...]}
Installer>>logErrorDuring:
Installer>>install
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
Compiler class>>evaluate:for:notifying:logged:
Compiler class>>evaluate:for:logged:
Compiler class>>evaluate:logged:
[] in RWBinaryOrTextStream(PositionableStream)>>fileInAnnouncing: {[val := (self peekFor: $!)     ifTrue: [(Compiler evaluate: self nextChunk l...]}
BlockContext>>on:do:
[] in RWBinaryOrTextStream(PositionableStream)>>fileInAnnouncing: {[:bar |  [self atEnd]   whileFalse: [bar value: self position.    self skipS...]}
[] in ProgressInitiationException>>defaultMorphicAction {[result := workBlock value: progress]}
BlockContext>>ensure:
ProgressInitiationException>>defaultMorphicAction
ProgressInitiationException>>defaultAction
UndefinedObject>>handleSignal:
ProgressInitiationException(Exception)>>signal
ProgressInitiationException>>display:at:from:to:during:
ProgressInitiationException class>>display:at:from:to:during:
ByteString(String)>>displayProgressAt:from:to:during:
RWBinaryOrTextStream(PositionableStream)>>fileInAnnouncing:
RWBinaryOrTextStream(PositionableStream)>>fileIn
CodeLoader>>installSourceFile:
[] in CodeLoader>>installSourceFiles {[:req | self installSourceFile: req contentStream]}
Array(SequenceableCollection)>>do:
CodeLoader>>installSourceFiles
ProjectLauncher>>startUpAfterLogin
ProjectLauncher>>startUp
[] in AutoStart class>>startUp: {[launcher startUp]}
WorldState>>runStepMethodsIn:
PasteUpMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor yield.  false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor terminateActive]}


More information about the Squeak-dev mailing list