On 22 August 2012 21:59, Frank Shearar <frank.shearar@gmail.com> wrote:
On 22 August 2012 21:08, Dale Henrichs <dhenrich@vmware.com> wrote:
----- Original Message ----- | From: "Frank Shearar" <frank.shearar@gmail.com> | To: Pharo-project@lists.gforge.inria.fr | Sent: Wednesday, August 22, 2012 11:56:12 AM | Subject: Re: [Pharo-project] latam mirror down? | | On 22 August 2012 19:33, Dale Henrichs <dhenrich@vmware.com> wrote: | > Frank, | > | > You can already do this in your configuration by supplying a list | > of repositories instead of a single repository: | > | > spec | > repository: 'http://seaside.gemstone.com/ss/metacello'; | > repository: 'http://www.squeaksource.com/metacello'. | > | > Gofer is used to do the loads in Metacello, so I don't think that | > Gofer necessarily processes repositories in order , but this is | > the technique I use to insulate Metacello loads from repository | > outages... | | Sure, but I can't do that for ConfigurationOfFFI, for example. I | can't | do that for ObjectsAsMethodWrappers, to talk about what's currently | causing our builds to fail. | | > My latam hack for travis ci had to do with compensating for | > configurations that are "single sourced"... | | Sure, and the presence of the latam mirror _ought_ to mean that any | single-sourced thing on SS would no longer be single source. Surely | it | would be easier all round if travisCI.st (if I remember the name | correctly) defined where to find these packages? (I can hear Chris & | Chris saying "it should look on SM") | | I'll see if I can't hack up something we can pick over.
Frank,
If you're talking about what I did in builderCI ... then I agree wholeheartedly that a failover of some sort is called for when trying to bootstrap the latam mirror support ... squeaksource was dead at the time and I was in a hurry ... (haven't we heard that before) ... I'd welcome improvements there....
I'm trying a hack there now: basically, revert to using SS for finding ObjectsAsMethodWrappers and MontiRedirect, and selectively add the LatAm redirect. Not great, because we're _still_ using a single point of failure.
A fail-over scheme for FFI or any arbitrary projects (is that what you're getting at?) is a bit more difficult, but I'd definitely be interested in seeing what you're thinking ...
This is what I'm getting at. I'll see what I can think up.
Well, it does seem to work, even though it's a stinky hack. I wrote a wrapper that inspects the package you're trying to load, and adds a few possible places where you might find it, and installed the wrapper on MetacelloLoaderPolicy >> #overrideRepositories. Hm. "Seems to work" might actually not be meaningful: is it the case that #overrideRepositories always returns the list of repos to search? Or is there a flag that says "use the config's repos, unless there are overrides"? If #overrideRepositories is always used, this _should_ work. Take a look at the wrapper [1] and the builderCI changes [2] and let me know what you think. frank [1] http://ss3.gemstone.com/ss/Scratchpad-fbs/MetacelloBuildOverrides-fbs.2.mcz [2] https://github.com/frankshearar/builderCI/commit/e1aec187d3d4ca5ec919886d88f...
frank
Dale