From d6951a2c325583bbf45861ad059534ee1d679796 Mon Sep 17 00:00:00 2001 From: Burak Yigit Kaya Date: Fri, 10 Jan 2020 12:34:36 +0300 Subject: [PATCH] fix(install): Fix secret key gen on BSD (#338) Fixes #330. --- install.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 95fd728..dd040aa 100755 --- a/install.sh +++ b/install.sh @@ -86,7 +86,9 @@ ensure_file_from_example $SENTRY_EXTRA_REQUIREMENTS echo "" echo "Generating secret key..." # This is to escape the secret key to be used in sed below -SECRET_KEY=$(head /dev/urandom | tr -dc "a-z0-9@#%^&*(-_=+)" | head -c 50 | sed -e 's/[\/&]/\\&/g') +# Note the need to set LC_ALL=C due to BSD tr and sed always trying to decode +# whatever is passed to them. Kudos to https://stackoverflow.com/a/23584470/90297 +SECRET_KEY=$(export LC_ALL=C; head /dev/urandom | tr -dc "a-z0-9@#%^&*(-_=+)" | head -c 50 | sed -e 's/[\/&]/\\&/g') sed -i -e 's/^system.secret-key:.*$/system.secret-key: '"'$SECRET_KEY'"'/' $SENTRY_CONFIG_YML echo "Secret key written to $SENTRY_CONFIG_YML"