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