Re: File locations for linux (and mostly other *nix too)

gettimothy via Squeak-dev <[email protected]> Mon, 15 Jun 2026 21:02:54 -0400
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <[email protected]>
Not to argue, but to broaden things..I have recently learned and am using a .local directory  for stuff I use,  independent of the system (Slackware Linux 64)

(base) bash-5.1$ ls .local/

bin  emacs-30  emacs-30.1  glibc-2.39  glibc-2.39.tar.xz  include  lib  lib64  share  state

(base) bash-5.1$ ls .local/bin/

claude  corepack  duckdb  emacs-30  mcp-server-filesystem  mcp-server-filesystem-wrapper  node  npm  npx  pandoc  pandoc-lua  pandoc-server  squeak-wrapper-7.0-cog64

(base) bash-5.1$





I find it useful, but I am no expert...





Another thing that I kind of slid into is something called miniconda...if you look at the bash terminal output above, you see a (base) as part of the bash prompt.

Currently I do not use anything but the standard (base) but from what I feebly understand, it provides "virtual(?)" environments....I have no clue how it works...



I do not know if this could be done, but imagine a (squeak64)  environment or a (squeak32) environment...





my apologies for the lack of precision, but you may find that exploring these paths useful.



cordially,



t




From: tim Rowledge <[email protected]>
To: "The general-purpose Squeak developers list"<[email protected]>
Date: Mon, 15 Jun 2026 18:58:15 -0400
Subject: [squeak-dev] File locations for linux (and mostly other *nix too)



For far too long (eh, like 30 years) the directory layout we are using for the various flavours of *nix have annoyed me. This is a fixable problem. 
 
There is an actual standard that people are supposed to adhere to; it’s the "Filesystem Hierarchy Standard” as per https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html  
 
My understanding of this standard suggests that we should be installing all the ’static’ parts  (the VM, the .sources, any default config files, arguably the initial release .image & .changes) in the /opt tree (per https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s13.html ) under a ’squeak’ subdirectory. For the VM I would suggest making use of the multiple version trick used by the development make system whereby the base VM directory has more than one lib/squeak/{complicated name release/version thing}, and a modestly clever shell script that finds the right one to use for the image being fired up. I think we have a suitable script somewhere that Dave L has kept alive? 
 
We would need to modify the SmalltalkImage>>#sourcesFilePaths code to add the ‘proper’ location, which I suggest would be /opt/squeak/shared. I could swear we used to have a primitive that helped work out the appropriate platform places to look at, but maybe I’m misremembering? I *don’t think* that the vm path is a good place in general, and I suspect that the old related code that fusses about misusing aliases (in SmalltalkImage>>#openSourcesAndChanges:forImage:) is now out of date. 
 
Related but applicable to most platforms, it seems to me that the behaviour of the assorted all-in-one & platform specific packages is not just wrong but dangerous when using them to start a new default image. The default image is after all effectively the ‘default template’ that many creative applications use for a first start or ‘New File’ option. That file should be read-only and the startup script should make a copy of it in a more user-visible directory, not use the initial one and let naive users corrupt it by playing with it and saving a damaged version. This could perhaps be managed with the config wizard for example, which would provide an opportunity to explain why this is done. 
 
Anyone want to argue otherwise? 
 
tim 
-- 
tim Rowledge; mailto:[email protected] ; http://www.rowledge.org/tim  
"How many Motie Warriors does it take to change a lightbulb?” 
"None. One of the dead ones will do it." 
 
 
 
Squeak-dev mailing list -- mailto:[email protected] 
To unsubscribe send an email to mailto:[email protected]

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]