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?
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?) 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] > <mailto:[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 > <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] >> <mailto:[email protected]>> wrote: >> >> >> >> 2017-08-03 10:14 GMT+02:00 Pavel Krivanek <[email protected] >> <mailto:[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 >> <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] >> <mailto:[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] >>> <mailto:[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] >>> <mailto:[email protected]>> wrote: >>> >>> 2017-08-01 23:13 GMT+02:00 Tim Mackinnon <[email protected] >>> <mailto:[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 >>> <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] >>>> <mailto:[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 >>> >>> >>> >>> >>> >>> -- >>> >>> 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 <tel:+33%206%2052%2070%2066%2013> >> >> > >
