SqueakSource with diff generation

Doug Way dway at mailcan.com
Fri Aug 12 04:45:34 UTC 2005


Some good news, it looks like I figured out the diff-file generation 
problem. (problem #2 below)

I managed to put a halt in the diff generating code that was being 
executed, and found it was in an infinite loop trying to create an 
error stack caused by a different problem.  The infinite loop was 
because SocketStream>>printString is broken (in 3.7/3.8/3.9, I'll post 
a fix).  After fixing that, I got a different infinite loop because it 
was trying to email the error stack somewhere (maybe configured to 
Bert's address), which caused a connection error, which then tried to 
email another error stack for that, etc.  I might be tempted to just 
dump error stacks into a log directory on the server rather than 
emailing them, hm.

Anyway, after fixing that, the root cause of the error was because I 
did actually have the wrong version of Monticello loaded, which I was 
trying to get around the SimpleServiceEntry problem earlier.  Loading 
the version specified by Bert fixed that.

So, .mcd file generation is working nicely, and using 
#updateFromRepositories and #upgrade on the MCConfiguration map from a 
client image appears to work, which is how the automatic updating will 
work.

I'd still like to fix problem #1, though, since the SS image will be a 
bit crippled with my hack in there.  Then I will try replacing the SS 
image at http://source.squeakfoundation.org and see how it goes...

- Doug


On Aug 10, 2005, at 12:48 AM, Doug Way wrote:

>
> Ok, here's my current progress, I've only been working on this 
> sporadically.
>
> I'm able to get a SqueakSource image loaded with Bert's packages (with 
> tweaks), and mostly working, but the diff-file generation doesn't work 
> in this image, either.  Basically pretty similar to what we have 
> running now, I guess. :|
>
> There's two main problems I'm running into:
>
> 1. This SqueakSource (SS) setup is based on Squeak 3.7, but the 
> version of Monticello (bf.254) in Bert's package list is not 
> compatible with 3.7.  (avi.231 is not compatible with 3.7 either.)  If 
> you load either of these versions in 3.7, loading .mcz files no longer 
> works.  I came up with a quick hack which seems to fix it (see 
> attached changeset), but it causes other problems with loading regular 
> changesets.
>
> 2. The diff-file (.mcd) generation hangs in the SS image.  Well, it 
> doesn't hang the SS image, it just doesn't send back a http response.  
> Requesting any file ending in .mcd seems to do this, other files are 
> either found or return a "not found" error.  I haven't really dug into 
> this yet.  I don't think this is related to problem #1 but who 
> knows...
>
> I think the missing link here may be the "SystemFixes-bf.1" package 
> from Bert's list, which is not available anywhere that I can find... I 
> think it may be a few key fixes in a private package. :)
>
> Anyway, if anyone wants to set up a mostly-working SqueakSource image 
> to get to the exact same point that I'm at now, here are the steps you 
> can follow:  (I will post these to the swiki once it's all working, 
> since there seems to be a lack of SqueakSource how-tos out there)
>
> - Start with a fresh 3.7-5989-basic image.
> - Load these packages in roughly this order.  (These are from Bert's 
> working configuration... they are available on SqueakMap or on 
> source.impara.de.)
>   - DynamicBindings-gk.1.mcz
>   - KomServices-gk.2.mcz
>   - PackageInfo-Base-bf.22.mcz
>   - Monticello-bf.254.mcz
>   - Install my SimpleServicesHack-dew changeset (attached to this 
> email), to allow additional .mcz files to load
>   - KomHttpServer-gk.6.mcz
>   - Seaside2-avi.86.mcz
>   - Mewa-al.13.mcz
>   - TinyWiki-lr.10.mcz
>   - SqueakSource-bf.146.mcz
>   - MonticelloConfigurations-bf.26.mcz
>   - TweakMC-bf.11.mcz   (not needed? seems to be only Tweak-related)
> - run the first few lines of code in SSRepository class>>initialize
> - change SSRepository class>>startUp to include 
> 'http://localhost:9090/' as the RootUrl.
> - execute "SSRepository startUp" in a workspace
> - open any web browser on http://localhost:9090.  SqueakSource 
> works... hooray!
>
> To continue with more serious testing:
> - add a new Member for yourself via squeaksource web browser ui
> - open an inspector on "SSRepository current" in the image, drill down 
> to members/(your id) and set your superuser flag to true.
> - create a new project via the squeaksource web ui, and try saving new 
> versions of a package to the project, seems to work.
> - getting files directly e.g. 
> http://localhost:9090/dougsproj/Kernel-dew.1.mcz  works.
> - getting a diff file e.g. 
> http://localhost:9090/dougsproj/Kernel-md.5%28dew.1%29.mcd  doesn't 
> respond, though.
>
>
> - Doug
>
>
> <SimpleServiceHack-dew.1.cs>
>




More information about the Packages mailing list