aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md52
-rw-r--r--bash_completion/kerl10
-rwxr-xr-xkerl94
3 files changed, 6 insertions, 150 deletions
diff --git a/README.md b/README.md
index c685c28..636c6f6 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,6 @@ Easy building and installing of [Erlang/OTP](http://www.erlang.org) instances
Kerl aims to be shell agnostic and its only dependencies, excluding what's required to actually build Erlang/OTP, are curl and git.
-Unless explicitly disabled, [agner](http://erlagner.org) is installed automatically in the sandboxes for supported Erlang/OTP versions.
-
All is done so that, once a specific release has been built, creating a new installation is as fast as possible.
Downloading
@@ -53,8 +51,6 @@ Pick your choice and build it:
Extracting source code
Building Erlang/OTP R14B02 (r14b02), please wait...
Erlang/OTP R14B02 has been successfully built
- Fetching and building agner...
- Agner has been successfully built
Note that named builds allow you to have different builds for the same Erlang/OTP release with different configure options:
@@ -64,8 +60,6 @@ Note that named builds allow you to have different builds for the same Erlang/OT
Extracting source code
Building Erlang/OTP R14B02 (r14b02_hipe), please wait...
Erlang/OTP R14B02 (r14b02_hipe) has been successfully built
- Fetching and building agner...
- Agner has been successfully built
(Note that kerl uses the otp_build script internally, and './otp_build configure' disables HiPE on linux)
@@ -75,18 +69,15 @@ You can verify your build has been registered:
R14B02,r14b02
R14B02,r14b02_hipe
-Now install a build to some location (optionally you can disable agner support by adding KERL_DISABLE_AGNER=yes to your $HOME/.kerlrc file, or on the contrary define a list of additional packages to install using the KERL_AGNER_AUTOINSTALL directive in the same file or on the command line):
+Now install a build to some location:
$ kerl install r14b02 /path/to/install/dir/
Installing Erlang/OTP R14B02 (r14b02) in /path/to/install/dir...
- Installing agner in /path/to/install/dir...
You can activate this installation running the following command:
. /path/to/install/dir/activate
Later on, you can leave the installation typing:
kerl_deactivate
-Note that you can install an agnerized version of rebar along with agner using KERL_INSTALL_AGNERIZED_REBAR in your .kerlrc file or on the command line.
-
Here again you can check the installation's been registered:
$ kerl list installations
@@ -96,31 +87,13 @@ And at last activate it:
$ . /path/to/install/dir/activate
-Activation will backup your $PATH, prepend it with the installation's bin/ directory and do the right thing with AGNER_* vars to constrain agner operations to the sandbox. Thus it's only valid for the current shell session, and until you activate another installation or call kerl_deactivate.
+Activation will backup your $PATH, prepend it with the installation's bin/ directory. Thus it's only valid for the current shell session, and until you activate another installation or call kerl_deactivate.
You're now ready to work with your r14b02 installation:
$ erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 5.8.3
- $ agner version
- 0.4.16
-
-You can use agner to install packages in your activated installation, they'll be directly available:
-
- $ agner install cowboy
- (...)
- Installed to:
- /path/to/install/dir/lib/cowboy-@master
-
- $ erl
- (...)
- Eshell V5.8.3 (abort with ^G)
- 1> application:start(cowboy).
- ok
-
-Note that you can also define a list of packages to be autoinstalled on agner enabled installations using the KERL_AGNER_AUTOINSTALL entry in you $HOME/.kerlrc file
-
When you're done just type:
$ kerl_deactivate
@@ -161,20 +134,12 @@ You can easily deploy an installation to another host having ssh and rsync acces
Later on, you can leave the installation typing:
kerl_deactivate
-You can update the agner version associated with a specific build (this will only affect installations made after that):
-
- $ kerl update agner r14b02
- Updating agner for build r14b02...
- agner has been updated successfully
-
As an experimental feature, you can build Erlang directly from a git repository with a command of the form "kerl build git <git_url> <git_version> <build_name>" where <git_version> can be either a branch, a tag or a commit id as it will be passed to "git checkout":
$ kerl build git https://github.com/erlang/otp.git dev r14b02_dev
Checking Erlang/OTP git repositoy from https://github.com/erlang/otp.git...
Building Erlang/OTP r14b02_dev from git, please wait...
Erlang/OTP r14b02_dev from git has been successfully built
- Fetching and building agner...
- Agner has been successfully built
Tuning
======
@@ -188,8 +153,6 @@ You can set the following variables:
- KERL_DEFAULT_INSTALL_DIR if set in ~/.kerlrc, install builds to this dir if no path is provided on installs, (recommend "$KERL_BASE_DIR/installs")
- KERL_CONFIGURE_OPTIONS options to pass to Erlang's ./configure script, e.g. --without-termcap
- KERL_CONFIGURE_APPLICATIONS if non-empty, subset of applications used in the builds (and subsequent installations) process, e.g. "kernel stdlib sasl"
-- KERL_DISABLE_AGNER if non-empty will disable agner support
-- KERL_AGNER_AUTOINSTALL a list of packages to pre-install
- KERL_SASL_STARTUP use SASL system startup instead of minimal
- KERL_USE_AUTOCONF use autoconf in the builds process
- KERL_INSTALL_MANPAGES if non-empty will install manpages
@@ -228,10 +191,6 @@ Create a named build either from an official Erlang/OTP release or from a git re
### Tuning
-#### Disable agner
-
-You can disable agner support by setting KERL_DISABLE_AGNER=yes in your $HOME/.kerlrc file
-
#### Configure options
You can specify the configure options to use when building Erlang/OTP with the KERL_CONFIGURE_OPTIONS variable, either in your $HOME/.kerlrc file or prepending it to the command line.
@@ -270,10 +229,6 @@ If path is omitted the current working directory will be used. However, if KERL_
### Tuning
-#### Auto-installing packages
-
-You can auto-install agner packages listing them in the KERL_AGNER_AUTOINSTALL variable in your $HOME/.kerlrc file or on the command line, e.g. KERL_AGNER_AUTOINSTALL="erlzmq cowboy"
-
#### SASL startup
You can have SASL started automatically setting KERL_SASL_STARTUP=yes in your $HOME/.kerlrc file or prepending it to the command line
@@ -318,12 +273,11 @@ You can have additional options given to RSYNC by setting them in the KERL_DEPLO
update
------
-Update the releases list or the agner version of the specified named build
+Update the list of releases
### Syntax
kerl update releases
- kerl update agner <build_name>
list
----
diff --git a/bash_completion/kerl b/bash_completion/kerl
index 62efa00..559d844 100644
--- a/bash_completion/kerl
+++ b/bash_completion/kerl
@@ -49,15 +49,7 @@ _kerl()
COMPREPLY=( $( compgen -W "build installation $words" -- "$cur") )
;;
update)
- COMPREPLY=( $( compgen -W "releases agner" -- "$cur") )
- ;;
- agner)
- if [ "$COMP_CWORD" -eq 3 ]; then
- if [ -f "$HOME/.kerl/otp_builds" ]; then
- BUILDS=`cat "$HOME/.kerl/otp_builds" | cut -d "," -f 2`
- fi
- fi
- COMPREPLY=( $( compgen -W "$BUILDS" -- "$cur") )
+ COMPREPLY=( $( compgen -W "releases" -- "$cur") )
;;
*)
if [ "$COMP_CWORD" -eq 3 ]; then
diff --git a/kerl b/kerl
index 601cf3c..a5b5e53 100755
--- a/kerl
+++ b/kerl
@@ -106,7 +106,7 @@ usage()
echo " build Build specified release or git repository"
echo " install Install the specified release at the given location"
echo " deploy Deploy the specified installation to the given host and location"
- echo " update Update agner or the list of available releases from erlang.org"
+ echo " update Update the list of available releases from erlang.org"
echo " list List releases, builds and installations"
echo " delete Delete builds and installations"
echo " active Print the path of the active installation"
@@ -146,31 +146,10 @@ check_releases()
fi
}
-# c.f. agner issue #98
-# https://github.com/agner/agner/issues/#issue/98
-KERL_NO_AGNER_SUPPORT="R10B-0 R10B-2 R10B-3 R10B-4 R10B-5 R10B-6 R10B-7
-R10B-8 R10B-9 R11B-0 R11B-1 R11B-2 R11B-3 R11B-4 R11B-5 R12B-0 R12B-1
-R12B-2 R12B-3 R12B-4 R12B-5 R13A R13B R13B01 R13B02 R13B03 R13B04"
-
KERL_NO_LION_SUPPORT="R10B-0 R10B-2 R10B-3 R10B-4 R10B-5 R10B-6 R10B-7
R10B-8 R10B-9 R11B-0 R11B-1 R11B-2 R11B-3 R11B-4 R11B-5 R12B-0 R12B-1
R12B-2 R12B-3 R12B-4 R12B-5 R13A R13B R13B01 R13B02 R13B03 R13B04 R14A R14B R14B01 R14B02 R14B03"
-agner_support()
-{
- if [ -n "$KERL_DISABLE_AGNER" ]; then
- return 1;
- fi
-
- for v in $KERL_NO_AGNER_SUPPORT; do
- if [ "$v" = "$1" ]; then
- return 1
- fi
- done
-
- return 0
-}
-
lion_support() {
for v in $KERL_NO_LION_SUPPORT; do
if [ "$v" = "$1" ]; then
@@ -232,24 +211,6 @@ assert_valid_installation()
return 0
}
-do_update_agner()
-{
- rel=`get_release_from_name $1`
- if [ $? -ne 0 ]; then
- echo "Unknown build name $1"
- exit 1
- fi
- TARGET="$KERL_BUILD_DIR/$1/release_$rel"
- cd "$KERL_BUILD_DIR/$1/agner_$rel" && \
- git pull &&
- PATH="$KERL_BUILD_DIR/$1/otp_src_$rel/bin:$PATH" \
- make > /dev/null 2>&1
- if [ $? -ne 0 ]; then
- return 1
- fi
- return 0
-}
-
assert_build_name_unused()
{
if [ -f "$KERL_BASE_DIR/otp_builds" ]; then
@@ -342,17 +303,6 @@ do_git_build()
./Install $INSTALL_OPT "$KERL_BUILD_DIR/$3/release_git" > /dev/null 2>&1
echo "Erlang/OTP $3 from git has been successfully built"
list_add builds "git,$3"
- if [ -z "$KERL_DISABLE_AGNER" ]; then
- echo "Fetching and building agner..."
- cd "$KERL_BUILD_DIR/$3" && \
- git clone https://github.com/agner/agner.git agner_git > /dev/null 2>&1 && \
- cd agner_git && \
- PATH="$KERL_BUILD_DIR/$3/otp_src_git/bin:$PATH" make > /dev/null 2>&1 && \
- if [ $? -ne 0 ]; then
- echo "Agner install failed"; exit 1
- fi
- echo "Agner has been successfully built"
- fi
}
do_build()
@@ -424,17 +374,6 @@ do_build()
./Install $INSTALL_OPT "$KERL_BUILD_DIR/$2/release_$1" > /dev/null 2>&1
echo "Erlang/OTP $1 ($2) has been successfully built"
list_add builds "$1,$2"
- if agner_support $1; then
- echo "Fetching and building agner..."
- cd "$KERL_BUILD_DIR/$2" && \
- git clone https://github.com/agner/agner.git agner_$1 > /dev/null 2>&1 && \
- cd agner_$1 && \
- PATH="$KERL_BUILD_DIR/$2/otp_src_$1/bin:$PATH" make > /dev/null 2>&1 && \
- if [ $? -ne 0 ]; then
- echo "Agner install failed"; exit 1
- fi
- echo "Agner has been successfully built"
- fi
}
do_install()
@@ -521,20 +460,6 @@ if [ -n "\$BASH" -o -n "\$ZSH_VERSION" ]; then
hash -r
fi
ACTIVATE
- if agner_support $1; then
- echo "Installing agner in $absdir..."
- cp "$KERL_BUILD_DIR/$1/agner_$rel/agner" "$absdir/bin/"
- if [ -n "$KERL_INSTALL_AGNERIZED_REBAR" ]; then
- echo "Installing agnerized rebar in $absdir..."
- cp "$KERL_BUILD_DIR/$1/agner_$rel/agner" "$absdir/bin/rebar"
- fi
- if [ -n "$KERL_AGNER_AUTOINSTALL" ]; then
- for i in $KERL_AGNER_AUTOINSTALL; do
- echo "Autoinstalling $i"
- agner install $i > /dev/null 2>&1
- done
- fi
- fi
if [ "$rel" != "git" -a -n "$KERL_INSTALL_MANPAGES" ]; then
echo "Fetching and installing manpages..."
FILENAME=otp_doc_man_$rel.tar.gz
@@ -668,7 +593,7 @@ cleanup_usage()
update_usage()
{
- echo "usage: $0 $1 <releases|agner>"
+ echo "usage: $0 $1 <releases>"
}
get_active_path()
@@ -777,21 +702,6 @@ case "$1" in
echo "The available releases are:"
list_print releases spaces
;;
- agner)
- if [ $# -ne 3 ]; then
- echo "usage: $0 $1 $2 <build_name>"
- exit 1
- fi
- if agner_support $3; then
- echo "Updating agner for build $3..."
- if do_update_agner $3; then
- echo "agner has been updated successfully"
- else
- echo "failed to update agner"
- exit 1
- fi
- fi
- ;;
*)
update_usage
exit 1