Browse Source

Fixes and improves the installer/updater shell scripts. (#7847)

* Auto-formatted the installer/updater shell scripts

* Fixed shellcheck problems founds for installer/updater shell scripts

* Update netdata-installer.sh

Co-Authored-By: Konstantinos Natsakis <5933427+knatsakis@users.noreply.github.com>

* Update packaging/installer/kickstart-static64.sh

Co-Authored-By: Konstantinos Natsakis <5933427+knatsakis@users.noreply.github.com>

* Update packaging/makeself/install-or-update.sh

Co-Authored-By: Konstantinos Natsakis <5933427+knatsakis@users.noreply.github.com>

* Updated md5sum of kickstart-static64.sh in docs

* Fixed bad rebase/merge conflicts

Co-authored-by: Konstantinos Natsakis <5933427+knatsakis@users.noreply.github.com>
James Mills 5 years ago
parent
commit
a4223457b4

File diff suppressed because it is too large
+ 438 - 438
netdata-installer.sh


+ 1 - 1
packaging/installer/README.md

@@ -116,7 +116,7 @@ This script installs Netdata at `/opt/netdata`.
 Verify the integrity of the script with this:
 
 ```bash
-[ "986e7756219717b075675ebe9b812916" = "$(curl -Ss https://my-netdata.io/kickstart-static64.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
+[ "dfa84c3b5e6fd8975555d68f46eccdde" = "$(curl -Ss https://my-netdata.io/kickstart-static64.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
 ```
 
 *It should print `OK, VALID` if the script is the one we ship.*

+ 172 - 169
packaging/installer/kickstart-static64.sh

@@ -1,5 +1,5 @@
 #!/usr/bin/env sh
-#
+
 # SPDX-License-Identifier: GPL-3.0-or-later
 # shellcheck disable=SC1117,SC2039,SC2059,SC2086
 #
@@ -15,155 +15,158 @@
 # library functions copied from packaging/installer/functions.sh
 
 setup_terminal() {
-	TPUT_RESET=""
-	TPUT_YELLOW=""
-	TPUT_WHITE=""
-	TPUT_BGRED=""
-	TPUT_BGGREEN=""
-	TPUT_BOLD=""
-	TPUT_DIM=""
-
-	# Is stderr on the terminal? If not, then fail
-	test -t 2 || return 1
-
-	if command -v tput >/dev/null 2>&1; then
-		if [ $(($(tput colors 2>/dev/null))) -ge 8 ]; then
-			# Enable colors
-			TPUT_RESET="$(tput sgr 0)"
-			TPUT_YELLOW="$(tput setaf 3)"
-			TPUT_WHITE="$(tput setaf 7)"
-			TPUT_BGRED="$(tput setab 1)"
-			TPUT_BGGREEN="$(tput setab 2)"
-			TPUT_BOLD="$(tput bold)"
-			TPUT_DIM="$(tput dim)"
-		fi
-	fi
-
-	return 0
+  TPUT_RESET=""
+  TPUT_YELLOW=""
+  TPUT_WHITE=""
+  TPUT_BGRED=""
+  TPUT_BGGREEN=""
+  TPUT_BOLD=""
+  TPUT_DIM=""
+
+  # Is stderr on the terminal? If not, then fail
+  test -t 2 || return 1
+
+  if command -v tput > /dev/null 2>&1; then
+    if [ $(($(tput colors 2> /dev/null))) -ge 8 ]; then
+      # Enable colors
+      TPUT_RESET="$(tput sgr 0)"
+      TPUT_YELLOW="$(tput setaf 3)"
+      TPUT_WHITE="$(tput setaf 7)"
+      TPUT_BGRED="$(tput setab 1)"
+      TPUT_BGGREEN="$(tput setab 2)"
+      TPUT_BOLD="$(tput bold)"
+      TPUT_DIM="$(tput dim)"
+    fi
+  fi
+
+  return 0
 }
-setup_terminal || echo >/dev/null
+setup_terminal || echo > /dev/null
 
 # -----------------------------------------------------------------------------
 fatal() {
-	printf >&2 "${TPUT_BGRED}${TPUT_WHITE}${TPUT_BOLD} ABORTED ${TPUT_RESET} ${*} \n\n"
-	exit 1
+  printf >&2 "${TPUT_BGRED}${TPUT_WHITE}${TPUT_BOLD} ABORTED ${TPUT_RESET} ${*} \n\n"
+  exit 1
 }
 
 run_ok() {
-	printf >&2 "${TPUT_BGGREEN}${TPUT_WHITE}${TPUT_BOLD} OK ${TPUT_RESET} ${*} \n\n"
+  printf >&2 "${TPUT_BGGREEN}${TPUT_WHITE}${TPUT_BOLD} OK ${TPUT_RESET} \n\n"
 }
 
 run_failed() {
-	printf >&2 "${TPUT_BGRED}${TPUT_WHITE}${TPUT_BOLD} FAILED ${TPUT_RESET} ${*} \n\n"
+  printf >&2 "${TPUT_BGRED}${TPUT_WHITE}${TPUT_BOLD} FAILED ${TPUT_RESET} \n\n"
 }
 
 ESCAPED_PRINT_METHOD=
-printf "%q " test >/dev/null 2>&1
-[ $? -eq 0 ] && ESCAPED_PRINT_METHOD="printfq"
+if printf "%q " test > /dev/null 2>&1; then
+  ESCAPED_PRINT_METHOD="printfq"
+fi
 escaped_print() {
-	if [ "${ESCAPED_PRINT_METHOD}" = "printfq" ]; then
-		printf "%q " "${@}"
-	else
-		printf "%s" "${*}"
-	fi
-	return 0
+  if [ "${ESCAPED_PRINT_METHOD}" = "printfq" ]; then
+    printf "%q " "${@}"
+  else
+    printf "%s" "${*}"
+  fi
+  return 0
 }
 
 progress() {
-	echo >&2 " --- ${TPUT_DIM}${TPUT_BOLD}${*}${TPUT_RESET} --- "
+  echo >&2 " --- ${TPUT_DIM}${TPUT_BOLD}${*}${TPUT_RESET} --- "
 }
 
 run_logfile="/dev/null"
 run() {
-	local user="${USER--}" dir="${PWD}" info info_console
-
-	if [ "${UID}" = "0" ]; then
-		info="[root ${dir}]# "
-		info_console="[${TPUT_DIM}${dir}${TPUT_RESET}]# "
-	else
-		info="[${user} ${dir}]$ "
-		info_console="[${TPUT_DIM}${dir}${TPUT_RESET}]$ "
-	fi
-
-	printf >>"${run_logfile}" "${info}"
-	escaped_print >>"${run_logfile}" "${@}"
-	printf >>"${run_logfile}" " ... "
-
-	printf >&2 "${info_console}${TPUT_BOLD}${TPUT_YELLOW}"
-	escaped_print >&2 "${@}"
-	printf >&2 "${TPUT_RESET}\n"
-
-	"${@}"
-
-	local ret=$?
-	if [ ${ret} -ne 0 ]; then
-		run_failed
-		printf >>"${run_logfile}" "FAILED with exit code ${ret}\n"
-	else
-		run_ok
-		printf >>"${run_logfile}" "OK\n"
-	fi
-
-	return ${ret}
+  local user="${USER--}" dir="${PWD}" info info_console
+
+  if [ "${UID}" = "0" ]; then
+    info="[root ${dir}]# "
+    info_console="[${TPUT_DIM}${dir}${TPUT_RESET}]# "
+  else
+    info="[${user} ${dir}]$ "
+    info_console="[${TPUT_DIM}${dir}${TPUT_RESET}]$ "
+  fi
+
+  {
+    printf "${info}"
+    escaped_print "${@}"
+    printf " ... "
+  } >> "${run_logfile}"
+
+  printf >&2 "${info_console}${TPUT_BOLD}${TPUT_YELLOW}"
+  escaped_print >&2 "${@}"
+  printf >&2 "${TPUT_RESET}\n"
+
+  "${@}"
+
+  local ret=$?
+  if [ ${ret} -ne 0 ]; then
+    run_failed
+    printf >> "${run_logfile}" "FAILED with exit code ${ret}\n"
+  else
+    run_ok
+    printf >> "${run_logfile}" "OK\n"
+  fi
+
+  return ${ret}
 }
 
 fatal() {
-	printf >&2 "${TPUT_BGRED}${TPUT_WHITE}${TPUT_BOLD} ABORTED ${TPUT_RESET} ${*} \n\n"
-	exit 1
+  printf >&2 "${TPUT_BGRED}${TPUT_WHITE}${TPUT_BOLD} ABORTED ${TPUT_RESET} ${*} \n\n"
+  exit 1
 }
 
 create_tmp_directory() {
-	# Check if tmp is mounted as noexec
-	if grep -Eq '^[^ ]+ /tmp [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts; then
-		pattern="$(pwd)/netdata-kickstart-XXXXXX"
-	else
-		pattern="/tmp/netdata-kickstart-XXXXXX"
-	fi
-
-	mktemp -d $pattern
+  # Check if tmp is mounted as noexec
+  if grep -Eq '^[^ ]+ /tmp [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts; then
+    pattern="$(pwd)/netdata-kickstart-XXXXXX"
+  else
+    pattern="/tmp/netdata-kickstart-XXXXXX"
+  fi
+
+  mktemp -d $pattern
 }
 
 download() {
-	url="${1}"
-	dest="${2}"
-	if command -v curl >/dev/null 2>&1; then
-		run curl -sSL --connect-timeout 10 --retry 3 "${url}" >"${dest}" || fatal "Cannot download ${url}"
-	elif command -v wget >/dev/null 2>&1; then
-		run wget -T 15 -O - "${url}" >"${dest}" || fatal "Cannot download ${url}"
-	else
-		fatal "I need curl or wget to proceed, but neither is available on this system."
-	fi
+  url="${1}"
+  dest="${2}"
+  if command -v curl > /dev/null 2>&1; then
+    run curl -sSL --connect-timeout 10 --retry 3 "${url}" > "${dest}" || fatal "Cannot download ${url}"
+  elif command -v wget > /dev/null 2>&1; then
+    run wget -T 15 -O - "${url}" > "${dest}" || fatal "Cannot download ${url}"
+  else
+    fatal "I need curl or wget to proceed, but neither is available on this system."
+  fi
 }
 
 set_tarball_urls() {
-	if [ -n "${NETDATA_LOCAL_TARBALL_OVERRIDE}" ]; then
-		progress "Not fetching remote tarballs, local override was given"
-		return
-	fi
-
-	if [ "$1" = "stable" ]; then
-		local latest
-		# Simple version
-		# latest="$(curl -sSL https://api.github.com/repos/netdata/netdata/releases/latest | grep tag_name | cut -d'"' -f4)"
-		latest="$(download "https://api.github.com/repos/netdata/netdata/releases/latest" /dev/stdout | grep tag_name | cut -d'"' -f4)"
-		export NETDATA_TARBALL_URL="https://github.com/netdata/netdata/releases/download/$latest/netdata-$latest.gz.run"
-		export NETDATA_TARBALL_CHECKSUM_URL="https://github.com/netdata/netdata/releases/download/$latest/sha256sums.txt"
-	else
-		export NETDATA_TARBALL_URL="https://storage.googleapis.com/netdata-nightlies/netdata-latest.gz.run"
-		export NETDATA_TARBALL_CHECKSUM_URL="https://storage.googleapis.com/netdata-nightlies/sha256sums.txt"
-	fi
+  if [ -n "${NETDATA_LOCAL_TARBALL_OVERRIDE}" ]; then
+    progress "Not fetching remote tarballs, local override was given"
+    return
+  fi
+
+  if [ "$1" = "stable" ]; then
+    local latest
+    # Simple version
+    # latest="$(curl -sSL https://api.github.com/repos/netdata/netdata/releases/latest | grep tag_name | cut -d'"' -f4)"
+    latest="$(download "https://api.github.com/repos/netdata/netdata/releases/latest" /dev/stdout | grep tag_name | cut -d'"' -f4)"
+    export NETDATA_TARBALL_URL="https://github.com/netdata/netdata/releases/download/$latest/netdata-$latest.gz.run"
+    export NETDATA_TARBALL_CHECKSUM_URL="https://github.com/netdata/netdata/releases/download/$latest/sha256sums.txt"
+  else
+    export NETDATA_TARBALL_URL="https://storage.googleapis.com/netdata-nightlies/netdata-latest.gz.run"
+    export NETDATA_TARBALL_CHECKSUM_URL="https://storage.googleapis.com/netdata-nightlies/sha256sums.txt"
+  fi
 }
 
 safe_sha256sum() {
-	# Within the context of the installer, we only use -c option that is common between the two commands
-	# We will have to reconsider if we start using non-common options
-	if command -v sha256sum >/dev/null 2>&1; then
-		sha256sum "$@"
-	elif command -v shasum >/dev/null 2>&1; then
-		shasum -a 256 "$@"
-	else
-		fatal "I could not find a suitable checksum binary to use"
-	fi
+  # Within the context of the installer, we only use -c option that is common between the two commands
+  # We will have to reconsider if we start using non-common options
+  if command -v sha256sum > /dev/null 2>&1; then
+    sha256sum "$@"
+  elif command -v shasum > /dev/null 2>&1; then
+    shasum -a 256 "$@"
+  else
+    fatal "I could not find a suitable checksum binary to use"
+  fi
 }
 
 # ---------------------------------------------------------------------------------------------------------------------
@@ -175,11 +178,11 @@ sudo=""
 
 # ---------------------------------------------------------------------------------------------------------------------
 if [ "$(uname -m)" != "x86_64" ]; then
-	fatal "Static binary versions of netdata are available only for 64bit Intel/AMD CPUs (x86_64), but yours is: $(uname -m)."
+  fatal "Static binary versions of netdata are available only for 64bit Intel/AMD CPUs (x86_64), but yours is: $(uname -m)."
 fi
 
 if [ "$(uname -s)" != "Linux" ]; then
-	fatal "Static binary versions of netdata are available only for Linux, but this system is $(uname -s)"
+  fatal "Static binary versions of netdata are available only for Linux, but this system is $(uname -s)"
 fi
 
 # ---------------------------------------------------------------------------------------------------------------------
@@ -188,64 +191,64 @@ NETDATA_INSTALLER_OPTIONS=""
 NETDATA_UPDATES="--auto-update"
 RELEASE_CHANNEL="nightly"
 while [ -n "${1}" ]; do
-	if [ "${1}" = "--dont-wait" ] || [ "${1}" = "--non-interactive" ] || [ "${1}" = "--accept" ]; then
-		opts="${opts} --accept"
-		shift 1
-	elif [ "${1}" = "--dont-start-it" ]; then
-		NETDATA_INSTALLER_OPTIONS="${NETDATA_INSTALLER_OPTIONS:+${NETDATA_INSTALLER_OPTIONS} }${1}"
-		shift 1
-	elif [ "${1}" = "--no-updates" ]; then
-		NETDATA_UPDATES=""
-		shift 1
-	elif [ "${1}" = "--auto-update" ]; then
-		true # This is the default behaviour, so ignore it.
-		shift 1
-	elif [ "${1}" = "--stable-channel" ]; then
-		RELEASE_CHANNEL="stable"
-		NETDATA_INSTALLER_OPTIONS="${NETDATA_INSTALLER_OPTIONS:+${NETDATA_INSTALLER_OPTIONS} }${1}"
-		shift 1
-	elif [ "${1}" = "--disable-telemetry" ]; then
-		NETDATA_INSTALLER_OPTIONS="${NETDATA_INSTALLER_OPTIONS:+${NETDATA_INSTALLER_OPTIONS} }${1}"
-		shift 1
-	elif [ "${1}" = "--local-files" ]; then
-		NETDATA_UPDATES="" # Disable autoupdates if using pre-downloaded files.
-		shift 1
-		if [ -z "${1}" ]; then
-			fatal "Option --local-files requires extra information. The desired tarball full filename is needed"
-		fi
-
-		NETDATA_LOCAL_TARBALL_OVERRIDE="${1}"
-		shift 1
-		if [ -z "${1}" ]; then
-			fatal "Option --local-files requires a pair of the tarball source and the checksum file"
-		fi
-
-		NETDATA_LOCAL_TARBALL_OVERRIDE_CHECKSUM="${1}"
-		shift 1
-	else
-		echo >&2 "Unknown option '${1}' or invalid number of arguments. Please check the README for the available arguments of ${0} and try again"
-		exit 1
-	fi
+  if [ "${1}" = "--dont-wait" ] || [ "${1}" = "--non-interactive" ] || [ "${1}" = "--accept" ]; then
+    opts="${opts} --accept"
+    shift 1
+  elif [ "${1}" = "--dont-start-it" ]; then
+    NETDATA_INSTALLER_OPTIONS="${NETDATA_INSTALLER_OPTIONS:+${NETDATA_INSTALLER_OPTIONS} }${1}"
+    shift 1
+  elif [ "${1}" = "--no-updates" ]; then
+    NETDATA_UPDATES=""
+    shift 1
+  elif [ "${1}" = "--auto-update" ]; then
+    true # This is the default behaviour, so ignore it.
+    shift 1
+  elif [ "${1}" = "--stable-channel" ]; then
+    RELEASE_CHANNEL="stable"
+    NETDATA_INSTALLER_OPTIONS="${NETDATA_INSTALLER_OPTIONS:+${NETDATA_INSTALLER_OPTIONS} }${1}"
+    shift 1
+  elif [ "${1}" = "--disable-telemetry" ]; then
+    NETDATA_INSTALLER_OPTIONS="${NETDATA_INSTALLER_OPTIONS:+${NETDATA_INSTALLER_OPTIONS} }${1}"
+    shift 1
+  elif [ "${1}" = "--local-files" ]; then
+    NETDATA_UPDATES="" # Disable autoupdates if using pre-downloaded files.
+    shift 1
+    if [ -z "${1}" ]; then
+      fatal "Option --local-files requires extra information. The desired tarball full filename is needed"
+    fi
+
+    NETDATA_LOCAL_TARBALL_OVERRIDE="${1}"
+    shift 1
+    if [ -z "${1}" ]; then
+      fatal "Option --local-files requires a pair of the tarball source and the checksum file"
+    fi
+
+    NETDATA_LOCAL_TARBALL_OVERRIDE_CHECKSUM="${1}"
+    shift 1
+  else
+    echo >&2 "Unknown option '${1}' or invalid number of arguments. Please check the README for the available arguments of ${0} and try again"
+    exit 1
+  fi
 done
 
 # ---------------------------------------------------------------------------------------------------------------------
 TMPDIR=$(create_tmp_directory)
-cd "${TMPDIR}"
+cd "${TMPDIR}" || exit 1
 
 if [ -z "${NETDATA_LOCAL_TARBALL_OVERRIDE}" ]; then
-	set_tarball_urls "${RELEASE_CHANNEL}"
-	progress "Downloading static netdata binary: ${NETDATA_TARBALL_URL}"
+  set_tarball_urls "${RELEASE_CHANNEL}"
+  progress "Downloading static netdata binary: ${NETDATA_TARBALL_URL}"
 
-	download "${NETDATA_TARBALL_CHECKSUM_URL}" "${TMPDIR}/sha256sum.txt"
-	download "${NETDATA_TARBALL_URL}" "${TMPDIR}/netdata-latest.gz.run"
+  download "${NETDATA_TARBALL_CHECKSUM_URL}" "${TMPDIR}/sha256sum.txt"
+  download "${NETDATA_TARBALL_URL}" "${TMPDIR}/netdata-latest.gz.run"
 else
-	progress "Installation sources were given as input, running installation using \"${NETDATA_LOCAL_TARBALL_OVERRIDE}\""
-	run cp "${NETDATA_LOCAL_TARBALL_OVERRIDE}" "${TMPDIR}/netdata-latest.gz.run"
-	run cp "${NETDATA_LOCAL_TARBALL_OVERRIDE_CHECKSUM}" "${TMPDIR}/sha256sum.txt"
+  progress "Installation sources were given as input, running installation using \"${NETDATA_LOCAL_TARBALL_OVERRIDE}\""
+  run cp "${NETDATA_LOCAL_TARBALL_OVERRIDE}" "${TMPDIR}/netdata-latest.gz.run"
+  run cp "${NETDATA_LOCAL_TARBALL_OVERRIDE_CHECKSUM}" "${TMPDIR}/sha256sum.txt"
 fi
 
-if ! grep netdata-latest.gz.run "${TMPDIR}/sha256sum.txt" | safe_sha256sum -c - >/dev/null 2>&1; then
-	fatal "Static binary checksum validation failed. Stopping netdata installation and leaving binary in ${TMPDIR}"
+if ! grep netdata-latest.gz.run "${TMPDIR}/sha256sum.txt" | safe_sha256sum -c - > /dev/null 2>&1; then
+  fatal "Static binary checksum validation failed. Stopping netdata installation and leaving binary in ${TMPDIR}"
 fi
 
 # ---------------------------------------------------------------------------------------------------------------------
@@ -254,10 +257,10 @@ run ${sudo} sh "${TMPDIR}/netdata-latest.gz.run" ${opts} -- ${NETDATA_UPDATES} $
 
 #shellcheck disable=SC2181
 if [ $? -eq 0 ]; then
-	run ${sudo} rm "${TMPDIR}/netdata-latest.gz.run"
-	if [ ! "${TMPDIR}" = "/" ] && [ -d "${TMPDIR}" ]; then
-		run ${sudo} rm -rf "${TMPDIR}"
-	fi
+  run ${sudo} rm "${TMPDIR}/netdata-latest.gz.run"
+  if [ ! "${TMPDIR}" = "/" ] && [ -d "${TMPDIR}" ]; then
+    run ${sudo} rm -rf "${TMPDIR}"
+  fi
 else
-	echo >&2 "NOTE: did not remove: ${TMPDIR}/netdata-latest.gz.run"
+  echo >&2 "NOTE: did not remove: ${TMPDIR}/netdata-latest.gz.run"
 fi

+ 142 - 157
packaging/makeself/install-or-update.sh

@@ -1,26 +1,28 @@
 #!/usr/bin/env bash
+
 # SPDX-License-Identifier: GPL-3.0-or-later
 
-. $(dirname "${0}")/functions.sh
+# shellcheck source=./packaging/makeself/functions.sh
+. "$(dirname "${0}")"/functions.sh
 
 export LC_ALL=C
 umask 002
 
 # Be nice on production environments
-renice 19 $$ >/dev/null 2>/dev/null
+renice 19 $$ > /dev/null 2> /dev/null
 
 NETDATA_PREFIX="/opt/netdata"
 NETDATA_USER_CONFIG_DIR="${NETDATA_PREFIX}/etc/netdata"
 
 # -----------------------------------------------------------------------------
 if [ -d /opt/netdata/etc/netdata.old ]; then
-	progress "Found old etc/netdata directory, reinstating this"
-	[ -d /opt/netdata/etc/netdata.new ] && rm -rf /opt/netdata/etc/netdata.new
-	mv -f /opt/netdata/etc/netdata /opt/netdata/etc/netdata.new
-	mv -f /opt/netdata/etc/netdata.old /opt/netdata/etc/netdata
+  progress "Found old etc/netdata directory, reinstating this"
+  [ -d /opt/netdata/etc/netdata.new ] && rm -rf /opt/netdata/etc/netdata.new
+  mv -f /opt/netdata/etc/netdata /opt/netdata/etc/netdata.new
+  mv -f /opt/netdata/etc/netdata.old /opt/netdata/etc/netdata
 
-	progress "Trigger stock config clean up"
-	rm -f /opt/netdata/etc/netdata/.installer-cleanup-of-stock-configs-done
+  progress "Trigger stock config clean up"
+  rm -f /opt/netdata/etc/netdata/.installer-cleanup-of-stock-configs-done
 fi
 
 STARTIT=1
@@ -29,75 +31,69 @@ REINSTALL_OPTIONS=""
 RELEASE_CHANNEL="nightly" # check .travis/create_artifacts.sh before modifying
 
 while [ "${1}" ]; do
-	case "${1}" in
-		"--dont-start-it")
-			STARTIT=0
-			REINSTALL_OPTIONS="${REINSTALL_OPTIONS} ${1}"
-			;;
-		"--auto-update"|"-u")
-			AUTOUPDATE=1
-			REINSTALL_OPTIONS="${REINSTALL_OPTIONS} ${1}"
-			;;
-		"--stable-channel")
-			RELEASE_CHANNEL="stable"
-			REINSTALL_OPTIONS="${REINSTALL_OPTIONS} ${1}"
-			;;
-		"--nightly-channel")
-			RELEASE_CHANNEL="nightly"
-			REINSTALL_OPTIONS="${REINSTALL_OPTIONS} ${1}"
-			;;
-		"--disable-telemetry")
-			DISABLE_TELEMETRY=1
-			REINSTALL_OPTIONS="${REINSTALL_OPTIONS} ${1}"
-			;;
-
-		*) echo >&2 "Unknown option '${1}'. Ignoring it.";;
-	esac
-	shift 1
+  case "${1}" in
+    "--dont-start-it")
+      STARTIT=0
+      REINSTALL_OPTIONS="${REINSTALL_OPTIONS} ${1}"
+      ;;
+    "--auto-update" | "-u")
+      AUTOUPDATE=1
+      REINSTALL_OPTIONS="${REINSTALL_OPTIONS} ${1}"
+      ;;
+    "--stable-channel")
+      RELEASE_CHANNEL="stable"
+      REINSTALL_OPTIONS="${REINSTALL_OPTIONS} ${1}"
+      ;;
+    "--nightly-channel")
+      RELEASE_CHANNEL="nightly"
+      REINSTALL_OPTIONS="${REINSTALL_OPTIONS} ${1}"
+      ;;
+    "--disable-telemetry")
+      REINSTALL_OPTIONS="${REINSTALL_OPTIONS} ${1}"
+      ;;
+
+    *) echo >&2 "Unknown option '${1}'. Ignoring it." ;;
+  esac
+  shift 1
 done
 
 deleted_stock_configs=0
-if [ ! -f "etc/netdata/.installer-cleanup-of-stock-configs-done" ]
-then
-
-    # -----------------------------------------------------------------------------
-    progress "Deleting stock configuration files from user configuration directory"
-
-    declare -A configs_signatures=()
-    source "system/configs.signatures"
-
-    if [ ! -d etc/netdata ]
-        then
-        run mkdir -p etc/netdata
+if [ ! -f "etc/netdata/.installer-cleanup-of-stock-configs-done" ]; then
+
+  # -----------------------------------------------------------------------------
+  progress "Deleting stock configuration files from user configuration directory"
+
+  declare -A configs_signatures=()
+  source "system/configs.signatures"
+
+  if [ ! -d etc/netdata ]; then
+    run mkdir -p etc/netdata
+  fi
+
+  md5sum="$(command -v md5sum 2> /dev/null || command -v md5 2> /dev/null)"
+  while IFS= read -r -d '' x; do
+    # find it relative filename
+    f="${x/etc\/netdata\//}"
+
+    # find the stock filename
+    t="${f/.conf.old/.conf}"
+    t="${t/.conf.orig/.conf}"
+
+    if [ -n "${md5sum}" ]; then
+      # find the checksum of the existing file
+      md5="$(${md5sum} < "${x}" | cut -d ' ' -f 1)"
+      #echo >&2 "md5: ${md5}"
+
+      # check if it matches
+      if [ "${configs_signatures[${md5}]}" = "${t}" ]; then
+        # it matches the default
+        run rm -f "${x}"
+        deleted_stock_configs=$((deleted_stock_configs + 1))
+      fi
     fi
+  done < <(find etc -type f)
 
-    md5sum="$(which md5sum 2>/dev/null || command -v md5sum 2>/dev/null || command -v md5 2>/dev/null)"
-    for x in $(find etc -type f)
-    do
-        # find it relative filename
-        f="${x/etc\/netdata\//}"
-
-        # find the stock filename
-        t="${f/.conf.old/.conf}"
-        t="${t/.conf.orig/.conf}"
-
-        if [ ! -z "${md5sum}" ]
-            then
-            # find the checksum of the existing file
-            md5="$( ${md5sum} <"${x}" | cut -d ' ' -f 1)"
-            #echo >&2 "md5: ${md5}"
-
-            # check if it matches
-            if [ "${configs_signatures[${md5}]}" = "${t}" ]
-                then
-                # it matches the default
-                run rm -f "${x}"
-                deleted_stock_configs=$(( deleted_stock_configs + 1 ))
-            fi
-        fi
-    done
-
-    touch "etc/netdata/.installer-cleanup-of-stock-configs-done"
+  touch "etc/netdata/.installer-cleanup-of-stock-configs-done"
 fi
 
 # -----------------------------------------------------------------------------
@@ -110,44 +106,44 @@ NETDATA_USER="root"
 NETDATA_GROUP="root"
 
 if portable_add_group netdata; then
-	if portable_add_user netdata "/opt/netdata"; then
-		progress "Add user netdata to required user groups"
-		for g in ${NETDATA_WANTED_GROUPS}; do
-			# shellcheck disable=SC2086
-			portable_add_user_to_group ${g} netdata && NETDATA_ADDED_TO_GROUPS="${NETDATA_ADDED_TO_GROUPS} ${g}" || run_failed "Failed to add netdata user to secondary groups"
-		done
-		NETDATA_USER="netdata"
-		NETDATA_GROUP="netdata"
-	else
-		run_failed "I could not add user netdata, will be using root"
-	fi
+  if portable_add_user netdata "/opt/netdata"; then
+    progress "Add user netdata to required user groups"
+    for g in ${NETDATA_WANTED_GROUPS}; do
+      # shellcheck disable=SC2086
+      if portable_add_user_to_group ${g} netdata; then
+        NETDATA_ADDED_TO_GROUPS="${NETDATA_ADDED_TO_GROUPS} ${g}"
+      else
+        run_failed "Failed to add netdata user to secondary groups"
+      fi
+    done
+    NETDATA_USER="netdata"
+    NETDATA_GROUP="netdata"
+  else
+    run_failed "I could not add user netdata, will be using root"
+  fi
 else
-		run_failed "I could not add group netdata, so no user netdata will be created as well. Netdata run as root:root"
+  run_failed "I could not add group netdata, so no user netdata will be created as well. Netdata run as root:root"
 fi
 
 # -----------------------------------------------------------------------------
 progress "Check SSL certificates paths"
 
-if [ ! -f "/etc/ssl/certs/ca-certificates.crt" ]
-then
-    if [ ! -f /opt/netdata/.curlrc ]
-    then
-        cacert=
-
-        # CentOS
-        [ -f "/etc/ssl/certs/ca-bundle.crt" ] && cacert="/etc/ssl/certs/ca-bundle.crt"
-
-        if [ ! -z "${cacert}" ]
-        then
-            echo "Creating /opt/netdata/.curlrc with cacert=${cacert}"
-            echo >/opt/netdata/.curlrc "cacert=${cacert}"
-        else
-            run_failed "Failed to find /etc/ssl/certs/ca-certificates.crt"
-        fi
+if [ ! -f "/etc/ssl/certs/ca-certificates.crt" ]; then
+  if [ ! -f /opt/netdata/.curlrc ]; then
+    cacert=
+
+    # CentOS
+    [ -f "/etc/ssl/certs/ca-bundle.crt" ] && cacert="/etc/ssl/certs/ca-bundle.crt"
+
+    if [ -n "${cacert}" ]; then
+      echo "Creating /opt/netdata/.curlrc with cacert=${cacert}"
+      echo > /opt/netdata/.curlrc "cacert=${cacert}"
+    else
+      run_failed "Failed to find /etc/ssl/certs/ca-certificates.crt"
     fi
+  fi
 fi
 
-
 # -----------------------------------------------------------------------------
 progress "Install logrotate configuration for netdata"
 
@@ -160,7 +156,7 @@ progress "Telemetry configuration"
 if [ -n "${NETDATA_DISABLE_TELEMETRY+x}" ]; then
   run touch "${NETDATA_USER_CONFIG_DIR}/.opt-out-from-anonymous-statistics"
 else
-  printf "You can opt out from anonymous statistics via the --disable-telemetry option, or by creating an empty file ${NETDATA_USER_CONFIG_DIR}/.opt-out-from-anonymous-statistics \n\n"
+  printf "You can opt out from anonymous statistics via the --disable-telemetry option, or by creating an empty file %s \n\n" "${NETDATA_USER_CONFIG_DIR}/.opt-out-from-anonymous-statistics"
 fi
 
 # -----------------------------------------------------------------------------
@@ -168,10 +164,8 @@ progress "Install netdata at system init"
 
 install_netdata_service || run_failed "Cannot install netdata init service."
 
-
 set_netdata_updater_channel || run_failed "Cannot set netdata updater tool release channel to '${RELEASE_CHANNEL}'"
 
-
 # -----------------------------------------------------------------------------
 progress "Install (but not enable) netdata updater tool"
 cleanup_old_netdata_updater || run_failed "Cannot cleanup old netdata updater tool."
@@ -179,82 +173,73 @@ install_netdata_updater || run_failed "Cannot install netdata updater tool."
 
 progress "Check if we must enable/disable the netdata updater tool"
 if [ "${AUTOUPDATE}" = "1" ]; then
-	enable_netdata_updater || run_failed "Cannot enable netdata updater tool"
+  enable_netdata_updater || run_failed "Cannot enable netdata updater tool"
 else
-	disable_netdata_updater || run_failed "Cannot disable netdata updater tool"
+  disable_netdata_updater || run_failed "Cannot disable netdata updater tool"
 fi
 
-
 # -----------------------------------------------------------------------------
 progress "creating quick links"
 
 dir_should_be_link() {
-    local p="${1}" t="${2}" d="${3}" old
-
-    old="${PWD}"
-    cd "${p}" || return 0
-
-    if [ -e "${d}" ]
-        then
-        if [ -h "${d}" ]
-            then
-            run rm "${d}"
-        else
-            run mv -f "${d}" "${d}.old.$$"
-        fi
+  local p="${1}" t="${2}" d="${3}" old
+
+  old="${PWD}"
+  cd "${p}" || return 0
+
+  if [ -e "${d}" ]; then
+    if [ -h "${d}" ]; then
+      run rm "${d}"
+    else
+      run mv -f "${d}" "${d}.old.$$"
     fi
+  fi
 
-    run ln -s "${t}" "${d}"
-    cd "${old}"
+  run ln -s "${t}" "${d}"
+  cd "${old}"
 }
 
-dir_should_be_link .   bin    sbin
+dir_should_be_link . bin sbin
 dir_should_be_link usr ../bin bin
 dir_should_be_link usr ../bin sbin
-dir_should_be_link usr .      local
+dir_should_be_link usr . local
 
-dir_should_be_link . etc/netdata           netdata-configs
+dir_should_be_link . etc/netdata netdata-configs
 dir_should_be_link . usr/share/netdata/web netdata-web-files
-dir_should_be_link . usr/libexec/netdata   netdata-plugins
-dir_should_be_link . var/lib/netdata       netdata-dbs
-dir_should_be_link . var/cache/netdata     netdata-metrics
-dir_should_be_link . var/log/netdata       netdata-logs
+dir_should_be_link . usr/libexec/netdata netdata-plugins
+dir_should_be_link . var/lib/netdata netdata-dbs
+dir_should_be_link . var/cache/netdata netdata-metrics
+dir_should_be_link . var/log/netdata netdata-logs
 
 dir_should_be_link etc/netdata ../../usr/lib/netdata/conf.d orig
 
-if [ ${deleted_stock_configs} -gt 0 ]
-then
-    dir_should_be_link etc/netdata ../../usr/lib/netdata/conf.d "000.-.USE.THE.orig.LINK.TO.COPY.AND.EDIT.STOCK.CONFIG.FILES"
+if [ ${deleted_stock_configs} -gt 0 ]; then
+  dir_should_be_link etc/netdata ../../usr/lib/netdata/conf.d "000.-.USE.THE.orig.LINK.TO.COPY.AND.EDIT.STOCK.CONFIG.FILES"
 fi
 
-
 # -----------------------------------------------------------------------------
 progress "fix permissions"
 
 run chmod g+rx,o+rx /opt
 run chown -R ${NETDATA_USER}:${NETDATA_GROUP} /opt/netdata
 
-
 # -----------------------------------------------------------------------------
 
 progress "fix plugin permissions"
 
-for x in apps.plugin freeipmi.plugin ioping cgroup-network
-do
-    f="usr/libexec/netdata/plugins.d/${x}"
+for x in apps.plugin freeipmi.plugin ioping cgroup-network; do
+  f="usr/libexec/netdata/plugins.d/${x}"
 
-    if [ -f "${f}" ]
-        then
-        run chown root:${NETDATA_GROUP} "${f}"
-        run chmod 4750 "${f}"
-    fi
+  if [ -f "${f}" ]; then
+    run chown root:${NETDATA_GROUP} "${f}"
+    run chmod 4750 "${f}"
+  fi
 done
 
 # fix the fping binary
-if [ -f bin/fping ]
-then
-    run chown root:${NETDATA_GROUP} bin/fping
-    run chmod 4750 bin/fping
+if [ -f bin/fping ]; then
+  run chown root:${NETDATA_GROUP} bin/fping
+  run chmod 4750 bin/fping
 fi
 
 # -----------------------------------------------------------------------------
@@ -265,17 +250,17 @@ sed -i "s/REINSTALL_OPTIONS=\".*\"/REINSTALL_OPTIONS=\"${REINSTALL_OPTIONS}\"/"
 
 # -----------------------------------------------------------------------------
 if [ ${STARTIT} -eq 0 ]; then
-	create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
-	netdata_banner "is installed now!"
+  create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
+  netdata_banner "is installed now!"
 else
-	progress "starting netdata"
-
-	if ! restart_netdata "${NETDATA_PREFIX}/bin/netdata"; then
-		create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
-		netdata_banner "is installed and running now!"
-	else
-		create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf" "http://localhost:19999/netdata.conf"
-		netdata_banner "is installed now!"
-	fi
+  progress "starting netdata"
+
+  if ! restart_netdata "${NETDATA_PREFIX}/bin/netdata"; then
+    create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf"
+    netdata_banner "is installed and running now!"
+  else
+    create_netdata_conf "${NETDATA_PREFIX}/etc/netdata/netdata.conf" "http://localhost:19999/netdata.conf"
+    netdata_banner "is installed now!"
+  fi
 fi
 run chmod 0644 "${NETDATA_PREFIX}/etc/netdata/netdata.conf"

Some files were not shown because too many files changed in this diff