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).
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]
> <mailto:[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
>
> <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/
>
> <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-32bit-Conversion/lastSuccessfulBuild/artifact/latest-minimal-64.zip
>
> <https://ci.inria.fr/pharo/view/7.0/job/70-Bootstrap-32bit-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