[squeak-dev] [ANN] Squeaker: Like Docker, but for Squeak. You know, for kids.
tonyg at leastfixedpoint.com
Thu Nov 18 10:50:05 UTC 2021
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,
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...
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
> *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.")
> https://github.com/tonyg/squeaker <https://github.com/tonyg/squeaker>
> From the 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!
More information about the Squeak-dev