aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvax Software <[email protected]>2011-04-07 14:03:47 +0200
committerEvax Software <[email protected]>2011-04-07 14:03:47 +0200
commit2ec0d6aa881766139f99e8660bf039342344a39b (patch)
treee4618c0ae358ca08a48d2f3fe4005dbac319035e
parente96ce81c7d911c3ccf6f67a1201de9a452e387df (diff)
downloadkerl-2ec0d6aa881766139f99e8660bf039342344a39b.tar.gz
kerl-2ec0d6aa881766139f99e8660bf039342344a39b.tar.bz2
kerl-2ec0d6aa881766139f99e8660bf039342344a39b.zip
Do not use autoconf unless people ask for it (KERL_USE_AUTOCONF)
-rw-r--r--README.md5
-rwxr-xr-xkerl24
2 files changed, 20 insertions, 9 deletions
diff --git a/README.md b/README.md
index c89cdf2..6d77c92 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ Kerl aims to be shell agnostic and its only dependencies, excluding what's requi
Unless explicitely disabled, agner is installed automatically in the sandboxes for supported Erlang/OTP versions.
-All done so that, once a specific release has been built, creating a new installation is as fast as possible.
+All is done so that, once a specific release has been built, creating a new installation is as fast as possible.
Downloading
===========
@@ -16,7 +16,7 @@ You can download the script directly from github:
$ curl -O https://github.com/evax/kerl/raw/master/kerl
-Then ensure its executable
+Then ensure it is executable
$ chmod a+x kerl
@@ -162,4 +162,5 @@ You can set the following variables:
- 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
diff --git a/kerl b/kerl
index 02eade1..6eadaa0 100755
--- a/kerl
+++ b/kerl
@@ -224,13 +224,19 @@ do_build()
fi
echo "Building Erlang/OTP $1 ($2), please wait..."
cd "$KERL_BUILD_DIR/$2/otp_src_$1"
- ./otp_build setup -a $KERL_CONFIGURE_OPTIONS > "$KERL_BUILD_DIR/$2/otp_build_$1.log" 2>&1
+ LOGFILE="$KERL_BUILD_DIR/$2/otp_build_$1.log"
+ if [ -n "$KERL_USE_AUTOCONF" ]; then
+ ./otp_build setup -a $KERL_CONFIGURE_OPTIONS > "$LOGFILE" 2>&1
+ else
+ ./otp_build configure $KERL_CONFIGURE_OPTIONS > "$LOGFILE" 2>&1 && \
+ ./otp_build boot -a > "$LOGFILE" 2>&1
+ fi
if [ "$?" -eq 1 ]; then
- echo "Build failed, see $KERL_BUILD_DIR/$2/otp_build_$1.log"
+ echo "Build failed, see $LOGFILE"
list_remove builds "$1 $2"
exit 1
fi
- rm -f "$KERL_BUILD_DIR/$2/otp_build_$1.log"
+ rm -f "$LOGFILE"
./otp_build release -a "$KERL_BUILD_DIR/$2/release_$1" > /dev/null 2>&1
cd "$KERL_BUILD_DIR/$2/release_$1"
./Install $INSTALL_OPT "$KERL_BUILD_DIR/$2/release_$1" > /dev/null 2>&1
@@ -349,11 +355,15 @@ list_print()
list_add()
{
- if [ -f $KERL_BASE_DIR/otp_$1 ]; then
- grep "$2" $KERL_BASE_DIR/otp_$1 > /dev/null 2>&1 || \
- echo "$2" >> $KERL_BASE_DIR/otp_$1
+ if [ -f "$KERL_BASE_DIR/otp_$1" ]; then
+ for l in `cat "$KERL_BASE_DIR/otp_$1"`; do
+ if [ "$l" = "$2" ]; then
+ return 1
+ fi
+ done
+ echo "$2" >> "$KERL_BASE_DIR/otp_$1"
else
- echo "$2" > $KERL_BASE_DIR/otp_$1
+ echo "$2" > "$KERL_BASE_DIR/otp_$1"
fi
}