[squeak-dev] [ANN] Squeaker: Like Docker, but for Squeak. You know, for kids.

Eliot Miranda eliot.miranda at gmail.com
Thu Nov 18 17:27:21 UTC 2021

> On Nov 18, 2021, at 2:50 AM, Tony Garnock-Jones <tonyg at leastfixedpoint.com> wrote:
> ´╗┐Heh! Yeah, it could be done from a Squeak with OSProcess loaded. (Part of why I picked chunks as the Squeakerfile format...)
> The utility of docker containers is that they can be wired together. We don't have a good story for wiring together Smalltalk images yet. Weird, huh?
> So yeah, not until there's some way of *talking* to a running image that doesn't involve *being inside it* will there be much use to an image library, or a squeaker-compose-like thing...

There are already a few ways:
- command-line arguments
- reading from stdin
- drop events/launch events
- reading (eg an ini) file(s)
- a socket server

And it would be easy to build a Squeak scripting engine scheme that would treat #!squeak appropriately 

> Cheers,
>  Tony
>> On 11/18/21 10:47 AM, Thiede, Christoph wrote:
>> Nice idea! One could call it a bit pity that you had to write this in Python rather than in Squeak itself, but it is the result tthat counts. :-)
>> Next up: Squeaker Hub, squeaker-compose, and integrated CI support for Squeaker images? :D
>> Best,
>> Christoph
>> ------------------------------------------------------------------------
>> *Von:* Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Tony Garnock-Jones <tonyg at leastfixedpoint.com>
>> *Gesendet:* Donnerstag, 18. November 2021 09:42:23
>> *An:* The general-purpose Squeak developers list
>> *Betreff:* [squeak-dev] [ANN] Squeaker: Like Docker, but for Squeak. You know, for kids.
>> I found myself in need of a way to script the production of clean images
>> customised by some sequence of Smalltalk commands. ("Cattle, not pets.")
>> Presto,
>> https://github.com/tonyg/squeaker <https://github.com/tonyg/squeaker>
>>  From the README (https://github.com/tonyg/squeaker#readme <https://github.com/tonyg/squeaker#readme>):
>> ====
>> It's a small program that helps in automated derivation of configured
>> Smalltalk images from some fixed base image and a collection of
>> Smalltalk commands. It's about 500 lines of Python, so far.
>>   - Squeakerfile.st is like Dockerfile, except it contains locations to
>> fetch images from plus Smalltalk expressions to derive new images.
>>   - squeaker build is like docker build. It manages a cache (in
>> $XDG_CACHE_HOME/squeaker, usually $HOME/.cache/squeaker on Unix) of
>> downloaded artifacts, derived images, and the stages in each derivation.
>>   - squeaker run is like docker run. It starts a previously-downloaded
>> or -derived image in a temporary directory. (Future: support persistent
>> image instances, like docker does! Easy enough.)
>>   - squeaker gc is like docker system prune, roughly. It cleans out the
>> Squeaker cache directory, treating tags as GC roots.
>> ====
>> Please try it out and let me know what you think!
>> Cheers,
>>    Tony

More information about the Squeak-dev mailing list