[erlang-questions] Deploying forked Erlang releases?

Loïc Hoguin <>
Thu Sep 10 11:26:58 CEST 2015


On 09/10/2015 11:14 AM, Roger Lipscombe wrote:
> We also use direnv for individual developer machines; the .envrc looks
> like this:
>
> OTP_VERSION=$(cat .otp-version)
>
> if has kerl; then
>      OTP_INSTALLATION=$(kerl list installations | grep "^$OTP_VERSION "
> | cut -d' ' -f2)
>      if [ -s "$OTP_INSTALLATION/activate" ] ; then
>          echo "Using Erlang/OTP $OTP_VERSION (in $OTP_INSTALLATION) via kerl."
>          . $OTP_INSTALLATION/activate
>
>          export OTP_ROOT=$OTP_INSTALLATION
>          export OTP_VERSION
>      else
>          echo "Erlang/OTP $OTP_VERSION not available via kerl; using default."
>      fi
> else
>      echo "kerl not available; using default Erlang."
> fi
>
> ...and we expect that developers have the correct Erlang/OTP installed
> using kerl, in an appropriate place.

I have plans to allow Erlang.mk to manage the Erlang version a project 
needs. For example if you need 18.0.2 with dirty schedulers, you just 
put a little bit of configuration in your Makefile, and then Erlang.mk 
will build the missing Erlang and/or activate it if it's already there.

This should make things a bit easier, particularly when you have to 
update Erlang.

It's a natural extension of 'make -k ci' which already uses kerl to 
manage the Erlang versions you want to test your project against.

Ticket is https://github.com/ninenines/erlang.mk/issues/328 if you want 
to subscribe or add more requirements. :-)

-- 
Loïc Hoguin
http://ninenines.eu
Author of The Erlanger Playbook,
A book about software development using Erlang


More information about the erlang-questions mailing list