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