Hi Everyone,

I've updated the Pharo 6 snap package for Ubuntu.

The major advantages of using the snap package are:

- No need to install all the 32 bit dependencies on a 64 bit system, 
  they're all contained and isolated within the snap package.
- Automagically distinguish between 32 bit and 64 bit images and run the 
  appropriate VM (as with the ZeroConf package, the 64 bit VM still 
  needs more testing).



To get Pharo up and running on Ubuntu 16.04 or later:

# Install Pharo
$ sudo snap install --candidate pharo --classic
# If your system isn't configured for threaded heartbeat:
$ sudo pharo.config
# Download the latest Pharo 6 image
$ pharo.getimage
# Go...
$ pharo.ui Pharo.image
# or:
$ pharo Pharo.image eval 4+3

To get a list of available commands:

$ snap info pharo


If you're on Debian or Ubuntu 14.04 you'll need to install snapd, see
https://snapcraft.io/docs/core/install


The VM is the threaded heartbeat, dated 201705310241.

The installation flags are:

--candidate - The edge and beta channels are for development versions.  
  It progresses to candidate and then stable.
--classic - Snap packages are normally sandboxed for security
  reasons.  Since Pharo is a development environment 
  in which we want to be able to run any executable, 
  or load any library, it is installed with access to 
  the entire system (as the running user).

Why use snap packages?

- They include all dependencies.  In particular, for the 32 bit
  versions, this means that it isn't necessary to install all the 32 bit
  architecture and associated dependencies.
- Including dependencies means that there shouldn't be any problems with
  incompatible library versions when upgrading.

Why not use snap packages?

- It's a relatively new technology, with a number of rough edges.
- There may still be issues with its sandboxing that I haven't
  discovered yet.
- Because the package uses classic confinement, it isn't
  cross-distribution in practice (unfortunately).

Please let me know of any other advantages or disadvantages you think 
should be listed here.

If you don't trust me to configure your system correctly (which requires
sudo):

- All the scripts that make up the sub-commands are visible, e.g.
pharo.config can be viewed at /snap/pharo/current/usr/bin/CONFIG


The packaging code is at: https://github.com/akgrant43/pharo-snap


Cheers,
Alistair

Reply via email to