[ANN] [RFC] MorphicSplitters phase 1 completed
stéphane ducasse
ducasse at iam.unibe.ch
Sat Sep 10 19:17:44 UTC 2005
On 10 sept. 05, at 20:24, Juan Vuletich wrote:
> Hi Stef,
>
> I do believe we have a problem with packages and prerequisites when
> we are moving stuff from one package to another. Please read the
> message copied below.
>
> I tried loading the EToys package and I had no problems because it
> doesn't have any prerequisites. This means that loading in a proper
> order is required. This order is the reverse of the order packages
> would load if prerequisites were set. For example.
> FlexibleVocabularies, StarSqueak, Movies, Speech, Nebraska,
> BalloonMMFlash, EToys, MorphicExtras, Morphic.
Exactly
> But if you run the script below, to set the dependencies, then
> loading EToys would load Morphic first, starting the problems
> stated below.
>
> But we'll need to be able to specify dependencies somehow.
I think that having configurations is the right way to go:
a script that knows the order and the version
I'm waiting to see Kabungu running to see if this is ok.
I think that hardcoding version in required package can be a big mess
for maintainer (you want to load another version of package x
but you cannot because you cannot unload version z of package x.....).
> I suggest asking people to download a fresh image with the updated
> packages and prerequisites preloaded when this happens.
>
> Cheers,
> Juan
>
> ----- Original Message ----- From: "Juan Vuletich"
> <jmvsqueak at uolsinectis.com.ar>
> To: "The general-purpose Squeak developers list" <squeak-
> dev at lists.squeakfoundation.org>
> Sent: Saturday, September 10, 2005 2:22 PM
> Subject: Re: [ANN] [RFC] MorphicSplitters phase 1 completed
>
>
>
>> Hi Stef,
>>
>> Thanks for trying it. My script had a bug when preparing package
>> prerequisites. You can download it again, from http://
>> webs.sinectis.com.ar/jmvuletich/MorphicSplitters01.st it's fixed.
>> But please load it in a fresh 3.9a-6690, and repeat the whole
>> process. This is the corrected script. Alternatively you can just
>> evaluate it and save the packages again.
>>
>> | packageNames requiredPackages p |
>> packageNames _ #('MorphicExtras' 'EToys' 'BalloonMMFlash'
>> 'Nebraska' 'FlexibleVocabularies' 'StarSqueak' 'Movies' 'Speech').
>> requiredPackages _ #('Morphic' 'MorphicExtras' 'MorphicExtras'
>> 'EToys' 'EToys' 'EToys' 'MorphicExtras' 'MorphicExtras').
>> packageNames with: requiredPackages do: [ :name :required |
>> PackageInfo registerPackageName: name.
>> p _ (MCPackage named: name) workingCopy.
>> p requirePackage: (MCPackage named: required) ]
>>
>>
>> Now I see that the packages in the last published image should be
>> the last ones published in source.squeakfoundation.org.
>> I see two ways of keeping that consistency.
>>
>> a) If someone publishes stuff in a .cs. Then you file that in in
>> the master image, and then save new versions of the modified
>> packages, and publish the new master image.
>>
>> b) Someone publishes stuff in a MC package in
>> source.squeakfoundation.org. Then you load the new packages in the
>> master image and publish it.
>>
>> For this first MorphicSplitters work, option a) is the only
>> choice. If we try option b), well have a problem we had several
>> months ago in the MorphicSplitters group, when using Cees'
>> repository.
>>
>> Let's suppose I (Juan) file in the MorphicSplitters cs, and
>> publish the resulting packages. Basically what we did is to move
>> stuff out of the Morphic package and in the MorphicExtras and
>> EToys package.
>>
>> When you (Stef) try to load those packages in the master image,
>> because of the prerequisites, you will load Morphic first, then
>> MorphicExtras and then EToys. When you load Morphic, MC removes
>> all the classes that were in Morphic before and now will be loaded
>> in MorphicExtras or EToys. But when they are loaded back in the
>> new package, all live instances and class variables are lost.
>>
>> This problem only occurs when moving stuff, modifying package
>> boundaries, not when updating a package.
>>
>> So, when setting package boundaries, it's better to do it via
>> change sets.
>>
>> Cheers,
>> Juan
>> ----- Original Message ----- From: "stéphane ducasse"
>> <ducasse at iam.unibe.ch>
>> To: "The general-purpose Squeak developers list" <squeak-
>> dev at lists.squeakfoundation.org>
>> Sent: Saturday, September 10, 2005 10:09 AM
>> Subject: Re: [ANN] [RFC] MorphicSplitters phase 1 completed
>>
>>
>> Juan what I did is that I cleared the dependencies and added it in
>> the comments of the packages for now.
>>
>> Stef
>>
>> On 10 sept. 05, at 14:53, stéphane ducasse wrote:
>>
>>
>>> Hi Juan
>>>
>>> I loaded MorphicSplitters.1.st into the latest (non public)
>>> image of 39 and loading worked
>>> but when I wanted to publish BalloonMMFlash on
>>> source.squeakfoundation.org
>>> I got an error:
>>>
>>> MCWorkingCopy>>needsSaving
>>> ^ self modified or: [self requiredPackages anySatisfy: [:ea
>>> | ea workingCopy needsSaving]]
>>>
>>> ea = 'MorphicExtras'
>>>
>>> I got the same problems with all the new packages you introduce.
>>> Can you have a look at that?
>>> I will publish the other ones.
>>>
>>> Stef
>>>
>>>
>>> On 9 sept. 05, at 15:07, Juan Vuletich wrote:
>>>
>>>
>>>
>>>> Hi Folks,
>>>>
>>>> I'm resending this in the hope that the lack of response was not
>>>> because of lack of interest.
>>>>
>>>> This is the first MorphicSplitters change set. I prepared it for
>>>> 3.9a-6690.
>>>> It creates a few packages and does a massive categorization of
>>>> classes and
>>>> methods, to fill them. It does not modify any method or class
>>>> definition. I
>>>> believe this is a good moment to include it in the update stream.
>>>>
>>>> It is at http://webs.sinectis.com.ar/jmvuletich/
>>>> MorphicSplitters01.st
>>>> (I didn't attach it to this message because there is a 100kb
>>>> limit, and it is 200kb).
>>>>
>>>> This work should be included in the update stream and the
>>>> official 3.9a.
>>>> Works on ToolBuilder get easier because there is less to look
>>>> at in the Morphic package.
>>>>
>>>> Next steps in the MorphicSplitters project will involve real
>>>> refactoring, to
>>>> allow unloading of the EToys and MorphicExtras packages. We're
>>>> using MudPie
>>>> and some removal scripts based on one by Dan for the analysis. I
>>>> believe
>>>> these will be useful for other refactoring efforts.
>>>>
>>>> I'd like to thank to Cees, Edgar, Daniel, Dan and anyone else
>>>> who helped in
>>>> some way.
>>>>
>>>> Comments welcome.
>>>>
>>>> Cheers,
>>>> Juan Vuletich
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>> --
>> Internal Virus Database is out-of-date.
>> Checked by AVG Anti-Virus.
>> Version: 7.0.344 / Virus Database: 267.10.16/83 - Release Date:
>> 8/26/2005
>>
>>
>>
>>
>>
>> --
>> Internal Virus Database is out-of-date.
>> Checked by AVG Anti-Virus.
>> Version: 7.0.344 / Virus Database: 267.10.16/83 - Release Date:
>> 8/26/2005
>>
>>
>
>
>
More information about the Squeak-dev
mailing list
|