Using SqueakSource / Metacello "offline"

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Using SqueakSource / Metacello "offline"

jtuchel
Hi there,

I need to load packages from SqueakSource into an image that sits on a machine behind a proxy that won't let me download from Squeaksource. I can, however, download packages using the Browser. The problem for me is that ConfigurationOfSeaside30, for example, requires a lot of packages to be loaded first.

So I know I can donload all the .mcz files from Squeaksource and copy them to my local PackageCache, but I am looking for a way to find out which ones I need. Is manually extracting the info from the ConfigurationOfSeaside30 class the only way to do that?

And how would I go about using ConfigurationOfSeaside30 to use my package cache instead of the online repositories?

Any ideas?

Joachim
Reply | Threaded
Open this post in threaded view
|

Re: Using SqueakSource / Metacello "offline"

NorbertHartl

Am 20.07.2011 um 10:39 schrieb jtuchel:

> Hi there,
>
> I need to load packages from SqueakSource into an image that sits on a
> machine behind a proxy that won't let me download from Squeaksource. I can,
> however, download packages using the Browser. The problem for me is that
> ConfigurationOfSeaside30, for example, requires a lot of packages to be
> loaded first.
>
> So I know I can donload all the .mcz files from Squeaksource and copy them
> to my local PackageCache, but I am looking for a way to find out which ones
> I need. Is manually extracting the info from the ConfigurationOfSeaside30
> class the only way to do that?
>
> And how would I go about using ConfigurationOfSeaside30 to use my package
> cache instead of the online repositories?
>
> Any ideas?
>
Please have a look at

http://code.google.com/p/metacello/

especially look at the FAQ that has two answers for your questions

http://code.google.com/p/metacello/wiki/FAQ#How_do_I_create_a_local_cache_repository_for_a_config?
http://code.google.com/p/metacello/wiki/FAQ#How_do_I_override_the_repository_for_a_config?

If you have further questions you can ask them in the metacello list:

http://groups.google.com/group/metacello

Norbert

P.S.: I'm crossposting this to the list



Reply | Threaded
Open this post in threaded view
|

Re: Using SqueakSource / Metacello "offline"

jtuchel
Hi Norbert,

thank you for the links.

One question remains unanswered: is there a way to determine which .mcz files are needed without using #fetch (because fetch doesn't work behind the proxy)? I guess the answer is no, because I have no way of looking into the required Configurations that are unfetched. So I need to use a local directory and try step by step and download the mcz that is currently missing... oh my.

Or can I use a fresh image on a machine in another network to fetch all and copy the contents of my package cache onto the target machine???

Joachim
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] Aw: Re: Using SqueakSource / Metacello "offline"

Dale Henrichs
Joachim,

You are on the right track with using fetch in an image that is outside the firewall ... zip up the directory of mcz files and you are off to the races.

BTW, you don't need an "empty" image if you set ignoreImage to true before doing the fetch:

  version ignoreImage: true.

Dale


----- Original Message -----
| From: "jtuchel" <[hidden email]>
| To: [hidden email]
| Cc: "A friendly place where any question about pharo is welcome" <[hidden email]>
| Sent: Wednesday, July 20, 2011 10:44:46 AM
| Subject: [Metacello] Aw: Re: [Pharo-users] Using SqueakSource / Metacello "offline"
|
| Hi Norbert,
|
|
| thank you for the links.
|
|
| One question remains unanswered: is there a way to determine which
| .mcz files are needed without using #fetch (because fetch doesn't
| work behind the proxy)? I guess the answer is no, because I have no
| way of looking into the required Configurations that are unfetched.
| So I need to use a local directory and try step by step and download
| the mcz that is currently missing... oh my.
|
|
| Or can I use a fresh image on a machine in another network to fetch
| all and copy the contents of my package cache onto the target
| machine???
|
|
| Joachim

Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] Aw: Re: Using SqueakSource / Metacello "offline"

Mariano Martinez Peck
Why #fetch:  cannot work behind a proxy?  I didn't understand when he said "I can,
however, download packages using the Browser"  which browser?  firefox or monticello browser?

Why you #fetch:  cannot go behind proxy if the proxy settings are defined in the image? There was a bug with Pharo 1.3 about this but it was fixed in latest version.

Which pharo version are you using? did you try to specify proxy settings?

cheers

On Wed, Jul 20, 2011 at 7:52 PM, Dale Henrichs <[hidden email]> wrote:
Joachim,

You are on the right track with using fetch in an image that is outside the firewall ... zip up the directory of mcz files and you are off to the races.

BTW, you don't need an "empty" image if you set ignoreImage to true before doing the fetch:

 version ignoreImage: true.

Dale


----- Original Message -----
| From: "jtuchel" <[hidden email]>
| To: [hidden email]
| Cc: "A friendly place where any question about pharo is welcome" <[hidden email]>
| Sent: Wednesday, July 20, 2011 10:44:46 AM
| Subject: [Metacello] Aw: Re: [Pharo-users] Using SqueakSource / Metacello "offline"
|
| Hi Norbert,
|
|
| thank you for the links.
|
|
| One question remains unanswered: is there a way to determine which
| .mcz files are needed without using #fetch (because fetch doesn't
| work behind the proxy)? I guess the answer is no, because I have no
| way of looking into the required Configurations that are unfetched.
| So I need to use a local directory and try step by step and download
| the mcz that is currently missing... oh my.
|
|
| Or can I use a fresh image on a machine in another network to fetch
| all and copy the contents of my package cache onto the target
| machine???
|
|
| Joachim



--
Mariano
http://marianopeck.wordpress.com

Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] Aw: Re: Using SqueakSource / Metacello "offline"

jtuchel
Mariano,

I can download the mcz's using a web browser, but not from the Pharo Image. This has nothing to do with Pharo, but with the way the web proxy is set up here - it's a policy of the company. The same problem applies to any other application that's not accepted by the Proxy.

I don't have the proxy settings due to the company's policy, so I cannot tell if I have a Pharo problem.

Let's assume my machine is offline or I have too little bandwidth to download packages, but I can get them on a CD or USB stick, and I'd have the very same situation.

BTW: I am using 1.2.1 at the moment

Joachim
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] Aw: Re: Using SqueakSource / Metacello "offline"

jtuchel
Hi again,

I just wanted to let you know I could solve the problem with Norbert's and Dale' help.


And here is a little writeup of how I did it: http://joachimtuchel.wordpress.com/2011/07/21/pharo-how-to-load-a-metacello-configuration-into-an-offline-image/

Thanks guys!

In the meantime, I am wondering if the idea of having a tool that extracts a complete Configuration from a repo isn't helpful for more scenarios than the one I've mentioned here. In most companies, you have to hand the complete source code of a specific product version into a special version control system, so an extract of a repo that includes a complete ConfigurationOfXXX with all required packages in their specific versions is exactly what's needed for this.


Joachim
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] Aw: Re: Using SqueakSource / Metacello "offline"

Mariano Martinez Peck
Hi. I was thinking about this thread. The described solution works pretty well, but something you should be aware (I think) is that even if it doesn't fail, the generated results could be different than the expected. What I mean is that if you want to load something which at a certain point you do not make explicit WHICH version of a package to load (say you are using #bleedingEdge, or #latestVerison, or you let some defaults for project references or empty version, etc), then Metacello may find a different version in the local directory than the one that exist in the "real/online" repository. 

To conclude...the resulting image will be always the same only if all versions of all packages are explicitly defined. I am right?

Thanks

On Thu, Jul 21, 2011 at 6:14 PM, stephane ducasse <[hidden email]> wrote:

On Jul 21, 2011, at 5:46 PM, jtuchel wrote:

> Hi again,
>
> I just wanted to let you know I could solve the problem with Norbert's and Dale' help.
>
>
> And here is a little writeup of how I did it: http://joachimtuchel.wordpress.com/2011/07/21/pharo-how-to-load-a-metacello-configuration-into-an-offline-image/
>
> Thanks guys!
>
> In the meantime, I am wondering if the idea of having a tool that extracts a complete Configuration from a repo isn't helpful for more scenarios than the one I've mentioned here. In most companies, you have to hand the complete source code of a specific product version into a special version control system, so an extract of a repo that includes a complete ConfigurationOfXXX with all required packages in their specific versions is exactly what's needed for this.

yes ;)
And we need that for the distribution repository.

>
>
> Joachim




--
Mariano
http://marianopeck.wordpress.com