[squeak-dev] Re: [Box-Admins] Updating VMs and possible conflicts

David T. Lewis lewis at mail.msen.com
Thu Jul 3 03:06:10 UTC 2014

On Wed, Jul 02, 2014 at 07:03:05PM -0700, Eliot Miranda wrote:
> On Wed, Jul 2, 2014 at 5:24 PM, David T. Lewis <lewis at mail.msen.com> wrote:
> > On Wed, Jul 02, 2014 at 12:36:15PM -0700, Eliot Miranda wrote:
> > > On Wed, Jul 2, 2014 at 12:04 PM, David T. Lewis <lewis at mail.msen.com>
> > wrote:
> > >
> > > > The script is installed as /usr/local/bin/squeak.
> > > >
> > > > Yes that is the one that might get stepped on by the Cog install.
> > > >
> > > What cog install is this?  The Cog tarballs on my site don't install
> > > anywhere specific.  They unpack to a directory called e.g. coglinuxht,
> > > cogspurlinux, etc.  They don't stomp on anything.
> >
> > The squeakvm interpreter VM is typically installed in /usr/local/, so the
> > start script is /usr/local/bin/squeak. This has been the case for the last
> > 15 years or so.
> >
> > If a unix/linux installs Cog, they will typically want to install it in
> > /usr/local/. In that case, the Cog start script stomps on the squeakvm
> > start script.
> >
> No it doesn't.  Look at the tarballs.  They expand to a local directory
> called coglinux, et al.  Further, their squeak scripts are cntained in that
> directory hierarchy.  What you describe would only happen if one did a
> build of a Cog VM and told the configure script to install in /usr/local.
>  Note that my build scripts dont do this.  They "install" to a staging
> directory in which the tarballs are made.

I am familiar with the tarballs. There is nothing wrong with them.

This discussion is about installing a Cog VM in one of the usual expected
places for a Unix or Linux system, as opposed to running it from a directory
e.g. in the user's home directory.

Users expect packages to be installed in familiar places, and package
managers expect packages to not stomp on one another in the installation

Those expectations are not difficult to meet. For example, if the traditional
Squeak VM is known to be started with a shell script called "squeak", and if
that script is known to be installed typically in /usr/bin/ or /usr/local/bin/,
then it's not hard to antipate that using the same name for the start script
for Cog and/or Spur is likely to lead to conflicts. But if you give the start
script a different name, such as "cog" or "spur" or "cogvm" or "spurvm", then
there is no problem.

This is no different from Interpreter and StackInterpreter. The two are different,
so when installed in the same image, you have given them different names. Do
the same thing for your start scripts, and all will be well.


More information about the Squeak-dev mailing list