On 15 April 2017 at 10:08, Alistair Grant <akgrant0...@gmail.com> wrote:

> How about trying:
>
> $ git clone https://github.com/pharo-project/pharo-vm.git
> $ cd pharo-vm
> $ git checkout b8ec25a570d7539653e1d793e97609adb509aaed
>
> and build that?  It should be the source code for the binary VM on
> get.pharo.org.
>

First, thanks for taking the time to play along with me here, it really
helps to make sure I don't hold things up due to a misunderstanding.

Grabbing the source directly from Git is attractive if (a) I know that I am
choosing a good version and (b) I am able to build it in a good way.

Seems like a workable solution to (a) is to periodically check for a new
binary release, work out which commit it is based off, and build that. This
seems fairly reasonable and is probably also possible to automate. (I
suppose you got the commit-id from --version or from checking Jenkins.)

I see (b) as problematic though. The source tarball releases have a simple
build procedure ("make") while the Git checkouts require a more involved
one (bootstrapping the VM from an existing Pharo image.) So I would need to
revise the nix build scripts quite a bit if I want to build from Git
instead of the tarballs. However, it seems that on the master branch last
week the VM build procedure has been reworked so that it is _not_ necessary
to run the bootstrapping procedure anymore, which sounds great to me,
except that I understand this new build procedure to be quite bleeding edge
and not yet documented or used for a binary release (it's not included in
the commit that you cite above.)

So what to make of all that? Just right now I see only bad alternatives:
sticking with the source release means not supporting Pharo 5.0, updating
the build scripts to do bootstrapping takes effort and is already obsoleted
by changes on the VM master branch, and shipping the VM master branch means
making a pseudo-release without any QA and potentially causing problems for
people downstream (there are lots of commits landing on that branch and I
have no idea which ones are important/stable.)

So the most reasonable course of action from my point of view seems to be
to sit and wait for a better solution to come along e.g. a new source
release of the VM or a "blessed" Git commit ID that includes the updated
build scripts. The downside is that meanwhile NixOS users can't run the 5.0
image. Could be that Pharo 6.0 will resolve this and that is fine for me --
but of course I'd take a solution sooner if there is a simple one.

Reply via email to