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> >>>> >>>> >>>> >>> >> >> > >
