@cryptotaxi247 / netdata-1 / commits / 410191bcd

Fix handling of checks for newer updater script on update. (#12367)

Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>

Austin S. Hemmelgarn committed Mar 15, 2022 at 06:59 UTC 410191bcd25958c9a12241dac28519c7009944b6
1 file changed +16 -5
packaging/installer/netdata-updater.sh
+16 -5
@@ -372,16 +372,27 @@ get_netdata_latest_tag() {
372 newer_commit_date() {
373 info "Checking if a newer version of the updater script is available."
374
375 + commit_check_url="https://api.github.com/repos/netdata/netdata/commits?path=packaging%2Finstaller%2Fnetdata-updater.sh&page=1&per_page=1"
376 + python_version_check="from __future__ import print_function;import sys,json;data = json.load(sys.stdin);print(data[0]['commit']['committer']['date'] if isinstance(data, list) else '')"
377 +
378 if command -v jq > /dev/null 2>&1; then
376 - commit_date="$(_safe_download "https://api.github.com/repos/netdata/netdata/commits?path=packaging%2Finstaller%2Fnetdata-updater.sh&page=1&per_page=1" /dev/stdout | jq '.[0].commit.committer.date' | tr -d '"')"
379 + commit_date="$(_safe_download "${commit_check_url}" /dev/stdout | jq '.[0].commit.committer.date' 2>/dev/null | tr -d '"')"
380 elif command -v python > /dev/null 2>&1;then
378 - commit_date="$(_safe_download "https://api.github.com/repos/netdata/netdata/commits?path=packaging%2Finstaller%2Fnetdata-updater.sh&page=1&per_page=1" /dev/stdout | python -c 'from __future__ import print_function;import sys,json;print(json.load(sys.stdin)[0]["commit"]["committer"]["date"])')"
381 + commit_date="$(_safe_download "${commit_check_url}" /dev/stdout | python -c "${python_version_check}")"
382 elif command -v python3 > /dev/null 2>&1;then
380 - commit_date="$(_safe_download "https://api.github.com/repos/netdata/netdata/commits?path=packaging%2Finstaller%2Fnetdata-updater.sh&page=1&per_page=1" /dev/stdout | python3 -c 'from __future__ import print_function;import sys,json;print(json.load(sys.stdin)[0]["commit"]["committer"]["date"])')"
383 + commit_date="$(_safe_download "${commit_check_url}" /dev/stdout | python3 -c "${python_version_check}")"
384 fi
385
386 if [ -z "${commit_date}" ] ; then
384 - commit_date="9999-12-31T23:59:59Z"
387 + return 0
388 + elif [ "$(uname)" = "Linux" ]; then
389 + commit_date="$(date -d "${commit_date}" +%s)"
390 + else # assume BSD-style `date` if we are not on Linux
391 + commit_date="$(/bin/date -j -f "%Y-%m-%dT%H:%M:%SZ" "${commit_date}" +%s 2>/dev/null)"
392 +
393 + if [ -z "${commit_date}" ]; then
394 + return 0
395 + fi
396 fi
397
398 if [ -e "${script_source}" ]; then
@@ -390,7 +401,7 @@ newer_commit_date() {
401 script_date="$(date +%s)"
402 fi
403
393 - [ "$(date -d "${commit_date}" +%s)" -ge "${script_date}" ]
404 + [ "${commit_date}" -ge "${script_date}" ]
405 }
406
407 self_update() {