Thanks for this Alistair. Having more self contained package options, is good.

I'm also interested in the upcoming Nix package initiative that has been announced in the list recently, which also deals with installing dependencies in a Linux distribution neutral fashion.

Cheers,

Offray


On 12/04/17 09:03, Alistair Grant wrote:
Hi Everyone,

I've made a snap package for Pharo 6 which I think is far enough along
for some wider testing.

To get Pharo up and running on Ubuntu 16.04:

# Install Pharo
$ sudo snap install --edge 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 201704101933.

The installation flags are:

     --edge - The edge channel is for development versions.  It
              progresses to beta, 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.
- Please let me know of any others to be listed here.
- Because the package uses classic confinement, it isn't
   cross-distribution in practice (unfortunately).

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

I'm interested to know if people would like to see this eventually
become a supported package format.

Cheers,
Alistair




Reply via email to