[squeak-dev] [Seaside] About loading Seaside into Squeak6.0a-17082 ....

Tobias Pape Das.Linux at gmx.de
Wed Apr 26 21:26:48 UTC 2017


Hi
> On 26.04.2017, at 22:31, Dale Henrichs <dale.henrichs at gemtalksystems.com> wrote:
> 
> 
> On 04/26/2017 11:08 AM, Tobias Pape wrote:
>> Hi,
>> (cc squeak-dev)
>> 
>>> On 26.04.2017, at 19:52, Esteban A. Maringolo <emaringolo at gmail.com> wrote:
>>> 
>>> You should have a GRSqueakPlatform as subclass, and then evaluate
>>> "GRSqueakPlatform select", this will create and assign the new
>>> instance as GRPlatform singleton.
>>> 
>> Sadly, in his image won't be a GRSqueakPlatform.
>> Why? because (SystemVersion current version asString) returns 'Squeak6.0alpha', but
>> MetacelloSqueakPlatform>>defaultPlatformAttributes does not know about that.
>> And ConfigurationOfGrease>>baseline117: only has an idea of #'squeak4.x' and #'squeak5.x'.
>> 
>> I've no good idea how to fix that yet.
> submit a pull request for the Metacello project on github[1] and update the method MetacelloSqueakPlatform>>defaultPlatformAttributes[2] with your new Squeak versions added to the list ...
> 
> If you want to avoid having to update Metacello for each new Squeak release, add something along the lines of what pharo has been doing for a few years[3] ... then you only need to remember to update that method ... but at least it will be part of the base image ...
> 
> For GemStone I've included code to generate the default attributes for GemStone based on the GemStone version number ...
> 

Hey Dale, those are good ideas and I've thought about that, too.
However, that does not help on its own. because even if this brought us, eg, #'squeak6.x' or #'squeak6alpha', Grease would pick none of them.

So, this could work:
1. have an extraction like gemstone below, but
2. ALSO identify as #'squeakTrunk' if version string ends in 'alpha', and
3. Change grease baseline 117 (or push number here?) the specific line from #'squeak5.x' to
  a. either #( 'squeak5.x' 'squeak6.x')
  b. or #( 'squeak5.x' 'squeakTrunk')
  c. or have #'squeak6.x' separate.

@squeak-dev: hoping you are ok with (1), are you ok with (2)?
@seaside-dev: would you rather like (3a), (3b), or (3c)?

Best regards
	-Tobias
  


> Dale
> 
> [1] https://github.com/dalehenrich/metacello-work
> [2] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.squeak.package/MetacelloSqueakPlatform.class/instance/defaultPlatformAttributes.st#L11-L19
> [3] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-PharoCommonPlatform.package/MetacelloPharoCommonPlatform.class/instance/defaultPlatformAttributes.st#L4-L5
> [4] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.gemstone.package/MetacelloGemStonePlatform.class/instance/extractAtrributesFrom..st
>> 
>> Any takers?
>> 
>> best regards
>> 	-Tobias
>> 
>> 
>>> Regards.
>>> Esteban A. Maringolo
>>> 
>>> 
>>> 2017-04-26 14:27 GMT-03:00 H. Hirzel <hannes.hirzel at gmail.com>:
>>>> The issue is that
>>>> 
>>>>     GRPlatform current
>>>> 
>>>> 
>>>> returns nil.
>>>> 
>>>> On 4/26/17, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>>>> After replacing
>>>>> 
>>>>>      #greaseInteger
>>>>> 
>>>>> with
>>>>> 
>>>>>     #asInteger
>>>>> 
>>>>> I get an error in
>>>>> 
>>>>> 
>>>>> WAKeyGenerator>>initialize
>>>>> 
>>>>> initialize
>>>>>      super initialize.
>>>>>      self generator: GRPlatform current newRandom.
>>>>>      self space:
>>>>> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
>>>>> 
>>>>> 
>>>>> 
>>>>> So there are issues with the Grease compatibility layer.
>>>>> 
>>>>> Maybe the configuration map loads the wrong version?
>>>>> 
>>>>> 
>>>>> Suggestions?
>>>>> 
>>>>> 
>>>>> On 4/26/17, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>>>>> Hello
>>>>>> 
>>>>>> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>>>>>> 
>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>> 
>>>>>> Details [1]
>>>>>> 
>>>>>> Is there a particular Squeak6.0a version where Seaside loads fine?
>>>>>> http://files.squeak.org/6.0alpha/
>>>>>> 
>>>>>> Any suggestions how a fix to Grease should look like?
>>>>>> 
>>>>>> Regards
>>>>>> --Hannes
>>>>>> 
>>>>>> ---------------------------------------------------------------------------------------------
>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>        Receiver: Character null
>>>>>>        Arguments and temporary variables:
>>>>>>                aMessage:       greaseInteger
>>>>>>                exception:      MessageNotUnderstood:
>>>>>> Character>>greaseInteger
>>>>>>                resumeValue:    nil
>>>>>>        Receiver's instance variables:
>>>>>> Character null
>>>>>> 
>>>>>> WAUrlEncoder class>>encode:on:
>>>>>>        Receiver: WAUrlEncoder
>>>>>>        Arguments and temporary variables:
>>>>>>                aCharacter:     Character null
>>>>>>                aStream:        a WriteStream
>>>>>>                printer:        a GRNumberPrinter
>>>>>>        Receiver's instance variables:
>>>>>>                superclass:     WATableBasedEncoder
>>>>>>                methodDict:     a MethodDictionary()
>>>>>>                format:         65538
>>>>>>                instanceVariables:      nil
>>>>>>                organization:   ('as yet unclassified')
>>>>>> 
>>>>>>                subclasses:     nil
>>>>>>                name:   #WAUrlEncoder
>>>>>>                classPool:      nil
>>>>>>                sharedPools:    nil
>>>>>>                environment:    Smalltalk
>>>>>>                category:       #'Seaside-Core-Document'
>>>>>>                table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>> nil nil nil
>>>>>> nil nil nil ni...etc...
>>>>>> 
>>>>>> WAUrlEncoder class>>initializeTable
>>>>>>        Receiver: WAUrlEncoder
>>>>>>        Arguments and temporary variables:
>>>>>>                stream:         a WriteStream
>>>>>>                characterLimit:         255
>>>>>>                index:  0
>>>>>>                character:      Character null
>>>>>>                value:  nil
>>>>>>        Receiver's instance variables:
>>>>>>                superclass:     WATableBasedEncoder
>>>>>>                methodDict:     a MethodDictionary()
>>>>>>                format:         65538
>>>>>>                instanceVariables:      nil
>>>>>>                organization:   ('as yet unclassified')
>>>>>> 
>>>>>>                subclasses:     nil
>>>>>>                name:   #WAUrlEncoder
>>>>>>                classPool:      nil
>>>>>>                sharedPools:    nil
>>>>>>                environment:    Smalltalk
>>>>>>                category:       #'Seaside-Core-Document'
>>>>>>                table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>> nil nil nil
>>>>>> nil nil nil ni...etc...
>>>>>> 
>>>> _______________________________________________
>>>> seaside mailing list
>>>> seaside at lists.squeakfoundation.org
>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>> _______________________________________________
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>> _______________________________________________
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside



More information about the Squeak-dev mailing list