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