@cryptotaxi247 / netdata-1 / commits / 1023c3e19

open fd3 before first use (#12491)

Ilya Mashchenko committed Mar 23, 2022 at 13:42 UTC 1023c3e196fafcc21c10bf3c3c95b88339b82f1a
1 file changed +34 -34
packaging/installer/netdata-updater.sh
+34 -34
@@ -61,28 +61,6 @@ fatal() {
61 exit 1
62 }
63
64 -: "${ENVIRONMENT_FILE:=THIS_SHOULD_BE_REPLACED_BY_INSTALLER_SCRIPT}"
65 -
66 -if [ "${ENVIRONMENT_FILE}" = "THIS_SHOULD_BE_REPLACED_BY_INSTALLER_SCRIPT" ]; then
67 - if [ -r "${script_dir}/../../../etc/netdata/.environment" ] || [ -r "${script_dir}/../../../etc/netdata/.install-type" ]; then
68 - ENVIRONMENT_FILE="${script_dir}/../../../etc/netdata/.environment"
69 - elif [ -r "/etc/netdata/.environment" ] || [ -r "/etc/netdata/.install-type" ]; then
70 - ENVIRONMENT_FILE="/etc/netdata/.environment"
71 - elif [ -r "/opt/netdata/etc/netdata/.environment" ] || [ -r "/opt/netdata/etc/netdata/.install-type" ]; then
72 - ENVIRONMENT_FILE="/opt/netdata/etc/netdata/.environment"
73 - else
74 - envpath="$(find / -type d \( -path /sys -o -path /proc -o -path /dev \) -prune -false -o -path '*netdata/.environment' -type f 2> /dev/null | head -n 1)"
75 - itpath="$(find / -type d \( -path /sys -o -path /proc -o -path /dev \) -prune -false -o -path '*netdata/.install-type' -type f 2> /dev/null | head -n 1)"
76 - if [ -r "${envpath}" ]; then
77 - ENVIRONMENT_FILE="${envpath}"
78 - elif [ -r "${itpath}" ]; then
79 - ENVIRONMENT_FILE="$(dirname "${itpath}")/.environment"
80 - else
81 - fatal "Cannot find environment file or install type file, unable to update."
82 - fi
83 - fi
84 -fi
85 -
64 issystemd() {
65 # if the directory /lib/systemd/system OR /usr/lib/systemd/system (SLES 12.x) does not exit, it is not systemd
66 if [ ! -d /lib/systemd/system ] && [ ! -d /usr/lib/systemd/system ]; then
@@ -774,6 +752,40 @@ ndtmpdir=
752
753 trap cleanup EXIT
754
755 +if [ -t 2 ]; then
756 + # we are running on a terminal
757 + # open fd 3 and send it to stderr
758 + exec 3>&2
759 +else
760 + # we are headless
761 + # create a temporary file for the log
762 + logfile="$(mktemp -t netdata-updater.log.XXXXXX)"
763 + # open fd 3 and send it to logfile
764 + exec 3> "${logfile}"
765 +fi
766 +
767 +: "${ENVIRONMENT_FILE:=THIS_SHOULD_BE_REPLACED_BY_INSTALLER_SCRIPT}"
768 +
769 +if [ "${ENVIRONMENT_FILE}" = "THIS_SHOULD_BE_REPLACED_BY_INSTALLER_SCRIPT" ]; then
770 + if [ -r "${script_dir}/../../../etc/netdata/.environment" ] || [ -r "${script_dir}/../../../etc/netdata/.install-type" ]; then
771 + ENVIRONMENT_FILE="${script_dir}/../../../etc/netdata/.environment"
772 + elif [ -r "/etc/netdata/.environment" ] || [ -r "/etc/netdata/.install-type" ]; then
773 + ENVIRONMENT_FILE="/etc/netdata/.environment"
774 + elif [ -r "/opt/netdata/etc/netdata/.environment" ] || [ -r "/opt/netdata/etc/netdata/.install-type" ]; then
775 + ENVIRONMENT_FILE="/opt/netdata/etc/netdata/.environment"
776 + else
777 + envpath="$(find / -type d \( -path /sys -o -path /proc -o -path /dev \) -prune -false -o -path '*netdata/.environment' -type f 2> /dev/null | head -n 1)"
778 + itpath="$(find / -type d \( -path /sys -o -path /proc -o -path /dev \) -prune -false -o -path '*netdata/.install-type' -type f 2> /dev/null | head -n 1)"
779 + if [ -r "${envpath}" ]; then
780 + ENVIRONMENT_FILE="${envpath}"
781 + elif [ -r "${itpath}" ]; then
782 + ENVIRONMENT_FILE="$(dirname "${itpath}")/.environment"
783 + else
784 + fatal "Cannot find environment file or install type file, unable to update."
785 + fi
786 + fi
787 +fi
788 +
789 if [ -r "${ENVIRONMENT_FILE}" ] ; then
790 # shellcheck source=/dev/null
791 . "${ENVIRONMENT_FILE}" || exit 1
@@ -830,18 +842,6 @@ if [ "${INSTALL_UID}" != "$(id -u)" ]; then
842 fatal "You are running this script as user with uid $(id -u). We recommend to run this script as root (user with uid 0)"
843 fi
844
833 -if [ -t 2 ]; then
834 - # we are running on a terminal
835 - # open fd 3 and send it to stderr
836 - exec 3>&2
837 -else
838 - # we are headless
839 - # create a temporary file for the log
840 - logfile="$(mktemp -t netdata-updater.log.XXXXXX)"
841 - # open fd 3 and send it to logfile
842 - exec 3> "${logfile}"
843 -fi
844 -
845 self_update
846
847 # shellcheck disable=SC2153