2017-08-03 13:58 GMT+02:00 Tim Mackinnon <[email protected]>:

> I’m so close now (bit of a diversion with gitlab yml not liking the eval
> string) - that did load and it got me really close - I’m just missing
> FlSerializer now (I have progressed my work to fuel out the context for
> debugging to S3)… so looking at the repo, there are quite a few fuel
> packages - but in a big image I can see that FLSerialiser is in Core - so
> do I just need core? But then there are a few fuel packages with Core?
>

you probably need:
spec package: 'Fuel'.
spec package: 'FuelPlatform-Core'.
spec package: 'FuelPlatform-Pharo-Core'.
spec package: 'FuelPlatform-Pharo-06'.

It has some dependencies on other packages that you do not load so it
should cause some warnings during loading


> I’m also not quite clear on how I would load packages without a Baseline
> (would I create my own baseline for the fuel packages I need?)
>

If you will copy them to your repository then add them to your baseline.
For loading of packages without baseline you may use Gofer.

- Pavel


>
>
> Tim
>
> On 3 Aug 2017, at 12:07, Pavel Krivanek <[email protected]> wrote:
>
>
>
> 2017-08-03 13:02 GMT+02:00 Tim Mackinnon <[email protected]>:
>
>> I really appreciate your patience and help on this - it looks very
>> promising and I am giving it a spin now…
>>
>> When you say the pharo repository - are you referring to this:
>> https://github.com/pharo-project/pharo/tree/master/src. ? Just so I know
>> for the future.
>>
>
> yes
>
> -- Pavel
>
>>
>>
>> Tim
>>
>> On 3 Aug 2017, at 09:16, Pavel Krivanek <[email protected]> wrote:
>>
>>
>>
>> 2017-08-03 10:14 GMT+02:00 Pavel Krivanek <[email protected]>:
>>
>>> The easiest think you can do is to copy to your repository (or some
>>> other) related packages from the Pharo repository (to do not have to clone
>>> it all):
>>>
>>> Metacello-GitBasedRepository.package
>>> Metacello-GitHub.package
>>> SUnit-Core.package
>>>
>>> and create baseline to load them. I already tried it so you can test it:
>>> https://drive.google.com/open?id=0BzSsmZhqtUTeMVJacTZtdW5UQW8
>>>
>>> Then you will do something like:
>>>
>>
>> (accidental message send ;-) )
>>
>> BASELINE=MetacelloGitBasedRepository
>> pharo "$IMAGE_NAME.image" --no-default-preferences eval --save \
>> "Metacello new baseline: '$BASELINE'; repository: '
>> filetree://./PharoLambda/src'; load."
>>
>> BASELINE=Lambda
>> pharo "$IMAGE_NAME.image" --no-default-preferences eval --save \
>> "Metacello new baseline: '$BASELINE'; repository: '
>> filetree://./PharoLambda/src'; load."
>>
>> As I tried that. The baseline of Lambda is then able to be loaded.
>>
>> -- Pavel
>>
>>
>>
>>>
>>>
>>> 2017-08-02 15:18 GMT+02:00 Tim Mackinnon <[email protected]>:
>>>
>>>> Ah, I think I’m starting to get closer to what I need…
>>>>
>>>> So if I want to load in that last piece to enable more general remote
>>>> loading - how do I figure out how to do that? I’m trying to work out where
>>>> the build steps for building up the image (can I see them in Jenkins? It
>>>> wasn’t clear to me if I can look it up? Or the BaselineOfIDE was mentioned
>>>> - looking there I can see a few metacello and gofer packages - but then I
>>>> guess I’m looking for an easy Mcz I can use with the example below?
>>>>
>>>> Or do I just load Metacello as a git submodule and then it will be on
>>>> my local filesystem to then bootstrap up?
>>>>
>>>> I guess I’m trying to work out the best sustainable approach to getting
>>>> to a good server based image that has minimal tools and the ability to
>>>> easily load remote code for pre-req projects.
>>>>
>>>> Tim
>>>>
>>>> On 2 Aug 2017, at 07:05, Guillermo Polito <[email protected]>
>>>> wrote:
>>>>
>>>> Yes, you should be able to load an mcz in that image by doing:
>>>>
>>>> (MCDirectoryRepository new directory: 'where-your-mcz-is')
>>>>     loadVersionFromFileNamed: 'Metacello-GitBasedRepository-Author.1.mcz')
>>>> load.
>>>>
>>>> Guille
>>>>
>>>> On Wed, Aug 2, 2017 at 7:57 AM, Pavel Krivanek <
>>>> [email protected]> wrote:
>>>>
>>>>>
>>>>> 2017-08-01 23:13 GMT+02:00 Tim Mackinnon <[email protected]>:
>>>>>
>>>>>> Hi Pavel - I tried it again and the problem is do with Metacello
>>>>>> dependencies in your baseline.
>>>>>>
>>>>>> The SUnit baseline doesn’t specify any additional dependencies to
>>>>>> load (it just loads local packages), whereas my baseline that fails looks
>>>>>> like this:
>>>>>>
>>>>>> baseline: spec
>>>>>> <baseline>
>>>>>>
>>>>>> spec for: #common do: [
>>>>>> spec configuration: 'ZTimestamp' with: [
>>>>>> spec
>>>>>> versionString: #stable;
>>>>>> repository: 'http://mc.stfx.eu/Neo' ].
>>>>>> spec baseline: 'AWS' with: [
>>>>>> spec repository: 'github://newapplesho/aws-sdk-
>>>>>> smalltalk:v1.10/pharo-repository' ].
>>>>>> spec
>>>>>> package: 'Lambda' with: [ spec requires: {'ZTimestamp'. 'AWS'}].
>>>>>> ].
>>>>>>
>>>>>>
>>>>>> The “spec configuration: ….” Specifications cause the error:
>>>>>>
>>>>>> 25 UndefinedObject(Object)>>*doesNotUnderstand: #addTo:*
>>>>>> 26 MCRepositoryGroup>>addRepository:
>>>>>>
>>>>>> If I remove those lines from my baseline above (as well the requires:
>>>>>> reference to them) I can then successfully load my packages.
>>>>>>
>>>>>> So is this something the minimal image should support (otherwise how
>>>>>> do you load external packages into your image without checking them in
>>>>>> locally?) OR is there something simple I can checkin and load locally to
>>>>>> return that behaviour? (Personally I think it would make sense to allow
>>>>>> remote loading - I’m guessing Pharo itself as a core has everything it
>>>>>> needs - but if you want to do any experimentation on the core and need
>>>>>> remote packages, you would hit this too - so it feels a bit limiting).
>>>>>>
>>>>>
>>>>> The dependencies in th baseline are supported but the support for most
>>>>> of external repositories (like package Metacello-GitBasedRepository) is
>>>>> loaded at the end of bootstrapping process in BaselineOfIDE. We should
>>>>> check/solve dependencies and move it into the minimal Pharo. For now you
>>>>> can try to load it by yourself or work with already prepared local clones
>>>>> of required repositories.
>>>>>
>>>>> -- Pavel
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Tim
>>>>>>
>>>>>> On 1 Aug 2017, at 10:06, Pavel Krivanek <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2017-07-31 22:51 GMT+02:00 Tim Mackinnon <[email protected]>:
>>>>>>
>>>>>>> I wasn’t clear on which image to retry - the
>>>>>>> https://ci.inria.fr/pharo/job/Pharo-6.0-Update-Step-3.2-
>>>>>>> Minimal/lastSuccessfulBuild/artifact/Pharo-minimal-64.zip one still
>>>>>>> shows as being last updated 7 days ago.
>>>>>>>
>>>>>>> The https://ci.inria.fr/pharo/view/6.0-SysConf/job/Pharo-6.0
>>>>>>> -Step-04-01-ConfigurationOfMinimalPharo/ one gives me a mismatch
>>>>>>> error: This interpreter (vers. 68021) cannot read image file (vers. 
>>>>>>> 6521).
>>>>>>>
>>>>>>> The https://ci.inria.fr/pharo/view/7.0/job/70-Bootstrap-32bi
>>>>>>> t-Conversion/lastSuccessfulBuild/artifact/latest-minimal-64.zip one
>>>>>>> gives me a walkback when trying to run my install script :
>>>>>>>
>>>>>>> 25 UndefinedObject(Object)>>*doesNotUnderstand: #addTo:*
>>>>>>> 26 MCRepositoryGroup>>addRepository:
>>>>>>> 27 createRepository
>>>>>>>   | repo |
>>>>>>>   repo := self project createRepository: self.
>>>>>>>   ^ MCRepositoryGroup default repositories
>>>>>>>     detect: [ :each | each = repo ]
>>>>>>>     ifNone: [
>>>>>>>       MCRepositoryGroup default addRepository: repo.
>>>>>>>       repo ] in MetacelloRepositorySpec>>createRepository
>>>>>>>
>>>>>>> I think this is because the image doesn’t support Metacello? As in:
>>>>>>>
>>>>>>> Metacello new
>>>>>>>     repository: 'filetree://../src';
>>>>>>>     baseline: 'Lambda';
>>>>>>>     load.
>>>>>>>
>>>>>>>
>>>>>>> How do you guys load things into the minimal images (I thought you
>>>>>>> used Metacello - but maybe you do it some other way?)
>>>>>>>
>>>>>>> I can use a big 6.1 image fine (as it has Metacello loaded) but I’d
>>>>>>> really like a minimal solution - that can load in libraries like AWS 
>>>>>>> S3, or
>>>>>>> XML parsing etc. and it seems like I should be a good customer for 
>>>>>>> kicking
>>>>>>> the tires on all of this.
>>>>>>>
>>>>>>> Tim
>>>>>>>
>>>>>>>
>>>>>> I checked the 64-bit Pharo 7 minimal image and loading of baseline
>>>>>> (of SUnit from pharo-project/pharo) works:
>>>>>>
>>>>>> ./pharo Pharo7.0-minimal-64bit-b1625bf.image eval --save "Metacello
>>>>>> new baseline: 'SUnit'; repository: 'filetree://./pharo-core/src';
>>>>>> load."
>>>>>>
>>>>>> ./pharo Pharo7.0-minimal-64bit-b1625bf.image eval "TestCase suite
>>>>>> run"
>>>>>>
>>>>>> Can you test it too?
>>>>>>
>>>>>> -- Pavel
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Guille Polito
>>>>
>>>> Research Engineer
>>>> French National Center for Scientific Research - *http://www.cnrs.fr*
>>>> <http://www.cnrs.fr/>
>>>>
>>>>
>>>> *Web:* *http://guillep.github.io* <http://guillep.github.io/>
>>>> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>>>>
>>>>
>>>>
>>>
>>
>>
>
>

Reply via email to