[squeak-dev] User config directories (was: Merge Request: autoEncloseBeforeSpace.cs)

tim Rowledge tim at rowledge.org
Fri Dec 31 00:09:32 UTC 2021

Yes, this is a problem on a wider scale than just the preferences. Consider the sources file; we really want to keep a single copy and so it should be in a place easily found.

The all-in-one packages have a somewhat convoluted directory structure that isn't the most convenient for daily usage, though at least the sources file is in the same directory as the image.

The platform specific packages have different layouts. We may want to put images in different directories to suit our projects.

Originally the rule was that the sources file would be either next to the image, or next to the VM. IIRC there was a primitive that reported the location as well and I faintly remember the Unix VM having quite the list of places it would look. Now we also have a problem when loading VMs from the autobuilder or after manually building, in that there is the whole sqcogspur64ARMv8linuxht/lib/squeak/5.0-202112201228-64bit/* type path to the VM. We *can't* have the sources file 'next to' the VM in any practical sense here; at least not without either having many copies, or using links. FS links are not something we've ever got to grips with...

And obviously preferences may be systemwide or user local, so we ought to handle those both.

I'm not completely sure what the answer is. On unix one could decide to go with the suggestions at https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.html and use /usr/local but then again that appears to be intended for 'admin' users and we all know how hard unix works to prevent mere users from doing anything. Maybe /opt/squeak would be better? That is supposedly for "Add-on application software packages".

Should we use a primitive to locate the directories? We kinda-sorta have a template for that in the ScratchPlugin, and somewhat in the SecurityPlugin. Or we could do it all in the image easily enough, at some cost in platform spread in-image. 

tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Useful random insult:- Fell out of the family tree.

More information about the Squeak-dev mailing list