[squeak-dev] Re: Squeak 4.4 Question

Bert Freudenberg bert at freudenbergs.de
Wed Jan 16 23:03:40 UTC 2013


On 16.01.2013, at 14:50, Frank Shearar <frank.shearar at gmail.com> wrote:

> On 16 January 2013 22:31, Bert Freudenberg <bert at freudenbergs.de> wrote:
>> 
>> On 16.01.2013, at 06:24, Frank Shearar <frank.shearar at gmail.com> wrote:
>> 
>>> On 16 January 2013 14:02, Yanni Chiu <yanni at rogers.com> wrote:
>>>> On 16/01/13 4:40 AM, Frank Shearar wrote:
>>>>> 
>>>>> 
>>>>> I have _also_ put files called SqueakV44.sources(.gz|zip). These are
>>>>> identical to the V41 sources, but I've realised that for automating
>>>>> things you REALLY REALLY want to have the sources file name derivable
>>>>> from the Squeak version. At some point I will need to make Squeak 4.4
>>>>> look for a SqueakV44.sources file, and I've added an item to the todo
>>>>> list to have Squeak 4.5 do this automatically as part of the release
>>>>> cycle.
>>>> 
>>>> 
>>>> Won't that cause further confusion - the same file named differently. I
>>>> don't understand how a file name that never changes, can be a problem for
>>>> automating a build.
>>> 
>>> How can I derive "SqueakV41.sources" from "4.4"?
>> 
>> If we're doing the non-destructive source condensing resulting in a SqueakV44.sources file, then the same file linked or renamed to SqueakV41.sources can be used by a 4.1/4.2/4.3 image. Is that what you're asking?
> 
> Maybe I'm getting misunderstood because it's not clear that I'm
> talking about the _names_ of files, not the contents.
> 
> If I want to write a buildpack to deploy a Smalltalk application to
> Heroku, I'll have an environment variable called SQUEAK_VERSION and
> another called BUILDPACK_SQUEAK_BASE_URL. That will contain the string
> "4.4-12327". With that I can find out where exactly to find an image
> tarball - http://ftp.squeak.org/4.4/Squeak4.4-12327.zip - with a
> simple string manipulation. But there is no easy, simple, reliable way
> for me to say "oh, and the sources that corresponds to that is of
> course called "SqueakV44.sources.gz" because my release process had a
> bug in it. I really don't care whether the sources file for 4.4 is
> condensed. I care that it _has_ a sources file, and I care that its
> _name_ is trivially derivable/calculable from the version _name_.
> 
> This isn't a hypothetical question about a maybe thing. I have the
> buildpack right now. I just can't finish it because I can't write a
> script to find the sources file. (Scraping http://ftp.squeak.org/4.4/
> for URLs is so made of fail that I'm not going to contemplate it.)
> 
> frank


How about producing a Squeak4.5-12345.sources, and making Squeak look for that first, and SqueakV45.sources secondly? Or maybe the other way around would make more sense, as there only would be a SqueakV45.sources when the release goes golden, so the release would not unnecessarily try to open a non-existing file.

The problem we had with condensing sources in the past is that we had files with different contents but the same name produced at different stages of the release. Putting the build number into the file name fro pre-releases would solve that.

- Bert -




More information about the Squeak-dev mailing list