summaryrefslogtreecommitdiffstats
path: root/packaging/installer
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2022-08-12 07:26:17 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2022-08-12 07:26:17 +0000
commit7877a98bd9c00db5e81dd2f8c734cba2bab20be7 (patch)
treed18b767250f7c7ced9b8abe2ece784ac1fe24d3e /packaging/installer
parentReleasing debian version 1.35.1-2. (diff)
downloadnetdata-7877a98bd9c00db5e81dd2f8c734cba2bab20be7.tar.xz
netdata-7877a98bd9c00db5e81dd2f8c734cba2bab20be7.zip
Merging upstream version 1.36.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'packaging/installer')
-rwxr-xr-xpackaging/installer/dependencies/arch.sh1
-rwxr-xr-xpackaging/installer/dependencies/centos.sh3
-rwxr-xr-xpackaging/installer/dependencies/debian.sh1
-rwxr-xr-xpackaging/installer/dependencies/fedora.sh1
-rwxr-xr-xpackaging/installer/dependencies/freebsd.sh2
-rwxr-xr-xpackaging/installer/dependencies/gentoo.sh1
-rwxr-xr-xpackaging/installer/dependencies/ol.sh22
-rwxr-xr-xpackaging/installer/dependencies/opensuse.sh1
-rwxr-xr-xpackaging/installer/dependencies/ubuntu.sh1
-rwxr-xr-xpackaging/installer/install-required-packages.sh117
-rwxr-xr-xpackaging/installer/kickstart.sh30
-rw-r--r--packaging/installer/methods/freebsd.md2
-rw-r--r--packaging/installer/methods/manual.md14
-rw-r--r--packaging/installer/methods/pfsense.md1
-rw-r--r--packaging/installer/methods/source.md1
-rwxr-xr-xpackaging/installer/netdata-updater.sh63
16 files changed, 97 insertions, 164 deletions
diff --git a/packaging/installer/dependencies/arch.sh b/packaging/installer/dependencies/arch.sh
index fbad75406..dc37bcb9a 100755
--- a/packaging/installer/dependencies/arch.sh
+++ b/packaging/installer/dependencies/arch.sh
@@ -24,7 +24,6 @@ declare -a package_tree=(
libuv
lz4
openssl
- judy
libelf
git
pkgconfig
diff --git a/packaging/installer/dependencies/centos.sh b/packaging/installer/dependencies/centos.sh
index eea71ca32..f5f478ac1 100755
--- a/packaging/installer/dependencies/centos.sh
+++ b/packaging/installer/dependencies/centos.sh
@@ -139,9 +139,6 @@ validate_tree_centos() {
echo >&2 " > Updating libarchive ..."
dnf ${opts} install libarchive
- echo >&2 " > Installing Judy-devel directly ..."
- dnf ${opts} install http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/Judy-devel-1.0.5-18.module_el8.3.0+757+d382997d.x86_64.rpm
- dnf makecache --refresh
elif [[ $(os_version) =~ ^7(\..*)?$ ]]; then
package_manager=yum
echo >&2 " > Checking for EPEL ..."
diff --git a/packaging/installer/dependencies/debian.sh b/packaging/installer/dependencies/debian.sh
index e8c2d0c6c..61ff3e4aa 100755
--- a/packaging/installer/dependencies/debian.sh
+++ b/packaging/installer/dependencies/debian.sh
@@ -31,7 +31,6 @@ package_tree="
libuv1-dev
liblz4-dev
libssl-dev
- libjudy-dev
libelf-dev
python
python3
diff --git a/packaging/installer/dependencies/fedora.sh b/packaging/installer/dependencies/fedora.sh
index 62a129f4c..4cfe7cbb1 100755
--- a/packaging/installer/dependencies/fedora.sh
+++ b/packaging/installer/dependencies/fedora.sh
@@ -43,7 +43,6 @@ declare -a package_tree=(
libuv-devel
lz4-devel
openssl-devel
- Judy-devel
elfutils-libelf-devel
git
pkgconfig
diff --git a/packaging/installer/dependencies/freebsd.sh b/packaging/installer/dependencies/freebsd.sh
index f9c53f428..6afaca337 100755
--- a/packaging/installer/dependencies/freebsd.sh
+++ b/packaging/installer/dependencies/freebsd.sh
@@ -9,7 +9,6 @@ DONT_WAIT=0
package_tree="
git
- gcc
autoconf
autoconf-archive
autogen
@@ -26,7 +25,6 @@ package_tree="
libuv
liblz4
openssl
- Judy
python3
"
diff --git a/packaging/installer/dependencies/gentoo.sh b/packaging/installer/dependencies/gentoo.sh
index ae1a4af27..ae82cf3b3 100755
--- a/packaging/installer/dependencies/gentoo.sh
+++ b/packaging/installer/dependencies/gentoo.sh
@@ -28,7 +28,6 @@ package_tree="
dev-libs/libuv
app-arch/lz4
dev-libs/openssl
- dev-libs/judy
virtual/libelf
dev-lang/python
dev-libs/libuv
diff --git a/packaging/installer/dependencies/ol.sh b/packaging/installer/dependencies/ol.sh
index 8d0feb3f5..020bf63cc 100755
--- a/packaging/installer/dependencies/ol.sh
+++ b/packaging/installer/dependencies/ol.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Package tree used for installing netdata on distribution:
-# << Oracle Linux: [8] >>
+# << Oracle Linux: [8, 9] >>
set -e
@@ -90,13 +90,17 @@ check_flags() {
}
validate_tree_ol() {
-
opts=
if [ "${NON_INTERACTIVE}" -eq 1 ]; then
echo >&2 "Running in non-interactive mode"
opts="-y"
fi
+ # shellcheck disable=SC1091
+ source /etc/os-release
+
+ # shellcheck disable=SC2153
+ version="$(echo "${VERSION}" | cut -f 1 -d '.')"
echo >&2 " > Checking for config-manager ..."
if ! dnf config-manager &> /dev/null; then
@@ -106,9 +110,17 @@ validate_tree_ol() {
fi
echo " > Checking for CodeReady Builder ..."
- if ! dnf repolist | grep ol8_codeready_builder; then
- if prompt "CodeReadyBuilder not found, shall I install it?"; then
- dnf ${opts} config-manager --set-enabled ol8_codeready_builder || enable_repo
+ if [[ "${version}" =~ ^8(\..*)?$ ]]; then
+ if ! dnf repolist enabled | grep ol8_codeready_builder; then
+ if prompt "CodeReadyBuilder not found, shall I install it?"; then
+ dnf ${opts} config-manager --set-enabled ol8_codeready_builder || enable_repo
+ fi
+ fi
+ elif [[ "${version}" =~ ^9(\..*)?$ ]]; then
+ if ! dnf repolist enabled | grep ol9_codeready_builder; then
+ if prompt "CodeReadyBuilder not found, shall I install it?"; then
+ dnf ${opts} config-manager --set-enabled ol9_codeready_builder || enable_repo
+ fi
fi
fi
diff --git a/packaging/installer/dependencies/opensuse.sh b/packaging/installer/dependencies/opensuse.sh
index 7c5b840e7..51a6d909e 100755
--- a/packaging/installer/dependencies/opensuse.sh
+++ b/packaging/installer/dependencies/opensuse.sh
@@ -29,7 +29,6 @@ declare -a package_tree=(
libuv-devel
liblz4-devel
libopenssl-devel
- judy-devel
libelf-devel
git
tar
diff --git a/packaging/installer/dependencies/ubuntu.sh b/packaging/installer/dependencies/ubuntu.sh
index 2bf116a11..b99098821 100755
--- a/packaging/installer/dependencies/ubuntu.sh
+++ b/packaging/installer/dependencies/ubuntu.sh
@@ -31,7 +31,6 @@ package_tree="
libuv1-dev
liblz4-dev
libssl-dev
- libjudy-dev
libelf-dev
python3
"
diff --git a/packaging/installer/install-required-packages.sh b/packaging/installer/install-required-packages.sh
index 8855acebd..da3cf5e4a 100755
--- a/packaging/installer/install-required-packages.sh
+++ b/packaging/installer/install-required-packages.sh
@@ -20,7 +20,6 @@ fi
PACKAGES_NETDATA=${PACKAGES_NETDATA-1}
PACKAGES_NETDATA_PYTHON=${PACKAGES_NETDATA_PYTHON-0}
PACKAGES_NETDATA_PYTHON3=${PACKAGES_NETDATA_PYTHON3-1}
-PACKAGES_NETDATA_PYTHON_MYSQL=${PACKAGES_NETDATA_PYTHON_MYSQL-0}
PACKAGES_NETDATA_PYTHON_POSTGRES=${PACKAGES_NETDATA_PYTHON_POSTGRES-0}
PACKAGES_NETDATA_PYTHON_MONGO=${PACKAGES_NETDATA_PYTHON_MONGO-0}
PACKAGES_DEBUG=${PACKAGES_DEBUG-0}
@@ -98,20 +97,16 @@ Supported installers (IN):
Supported packages (you can append many of them):
- netdata-all all packages required to install netdata
- including mysql client, postgres client,
+ including postgres client,
node.js, python, sensors, etc
- netdata minimum packages required to install netdata
- (no mysql client, includes python)
+ (includes python)
- python install python
- python3 install python3
- - python-mysql install MySQLdb
- (for monitoring mysql, will install python3 version
- if python3 is enabled or detected)
-
- python-postgres install psycopg2
(for monitoring postgres, will install python3 version
if python3 is enabled or detected)
@@ -670,13 +665,6 @@ declare -A pkg_automake=(
['default']="automake"
)
-# required to bundle libJudy
-declare -A pkg_libtool=(
- ['gentoo']="sys-devel/libtool"
- ['clearlinux']="c-basic"
- ['default']="libtool"
-)
-
# Required to build libwebsockets and libmosquitto on some systems.
declare -A pkg_cmake=(
['gentoo']="dev-util/cmake"
@@ -717,13 +705,6 @@ declare -A pkg_bridge_utils=(
['default']="bridge-utils"
)
-declare -A pkg_chrony=(
- ['gentoo']="net-misc/chrony"
- ['clearlinux']="time-server-basic"
- ['macos']="WARNING|"
- ['default']="chrony"
-)
-
declare -A pkg_curl=(
['gentoo']="net-misc/curl"
['sabayon']="net-misc/curl"
@@ -960,55 +941,6 @@ declare -A pkg_python=(
['centos-8']="python2"
)
-declare -A pkg_python_mysqldb=(
- ['alpine']="py-mysqldb"
- ['arch']="mysql-python"
- ['centos']="MySQL-python"
- ['debian']="python-mysqldb"
- ['gentoo']="dev-python/mysqlclient"
- ['sabayon']="dev-python/mysqlclient"
- ['rhel']="MySQL-python"
- ['suse']="python-PyMySQL"
- ['clearlinux']="WARNING|"
- ['default']="python-mysql"
-
- # exceptions
- ['fedora-24']="python2-mysql"
- ['ol-8']="WARNING|"
-)
-
-declare -A pkg_python3_mysqldb=(
- ['alpine']="WARNING|"
- ['arch']="WARNING|"
- ['centos']="WARNING|"
- ['debian']="python3-mysqldb"
- ['gentoo']="dev-python/mysqlclient"
- ['sabayon']="dev-python/mysqlclient"
- ['rhel']="WARNING|"
- ['ol']="WARNING|"
- ['suse']="WARNING|"
- ['clearlinux']="WARNING|"
- ['macos']="WARNING|"
- ['default']="WARNING|"
-
- # exceptions
- ['debian-6']="WARNING|"
- ['debian-7']="WARNING|"
- ['debian-8']="WARNING|"
- ['ubuntu-12.04']="WARNING|"
- ['ubuntu-12.10']="WARNING|"
- ['ubuntu-13.04']="WARNING|"
- ['ubuntu-13.10']="WARNING|"
- ['ubuntu-14.04']="WARNING|"
- ['ubuntu-14.10']="WARNING|"
- ['ubuntu-15.04']="WARNING|"
- ['ubuntu-15.10']="WARNING|"
- ['centos-7']="python36-mysql"
- ['centos-8']="python38-mysql"
- ['rhel-7']="python36-mysql"
- ['rhel-8']="python38-mysql"
-)
-
declare -A pkg_python_psycopg2=(
['alpine']="py-psycopg2"
['arch']="python2-psycopg2"
@@ -1173,17 +1105,6 @@ declare -A pkg_openssl=(
['default']="openssl-devel"
)
-declare -A pkg_judy=(
- ['debian']="libjudy-dev"
- ['ubuntu']="libjudy-dev"
- ['suse']="judy-devel"
- ['gentoo']="dev-libs/judy"
- ['arch']="judy"
- ['freebsd']="Judy"
- ['fedora']="Judy-devel"
- ['default']="NOTREQUIRED"
-)
-
declare -A pkg_python3=(
['gentoo']="dev-lang/python"
['sabayon']="dev-lang/python:3.4"
@@ -1341,16 +1262,15 @@ packages() {
require_cmd git || suitable_package git
require_cmd find || suitable_package find
- require_cmd gcc ||
+ require_cmd gcc || require_cmd clang ||
require_cmd gcc-multilib || suitable_package gcc
- require_cmd g++ || suitable_package gxx
+ require_cmd g++ || require_cmd clang++ || suitable_package gxx
require_cmd make || suitable_package make
require_cmd autoconf || suitable_package autoconf
suitable_package autoconf-archive
require_cmd autogen || suitable_package autogen
require_cmd automake || suitable_package automake
- require_cmd libtoolize || suitable_package libtool
require_cmd pkg-config || suitable_package pkg-config
require_cmd cmake || suitable_package cmake
@@ -1422,7 +1342,6 @@ packages() {
suitable_package libuv
suitable_package lz4
suitable_package openssl
- suitable_package judy
fi
# -------------------------------------------------------------------------
@@ -1441,7 +1360,6 @@ packages() {
# suitable_package python-requests
# suitable_package python-pip
- [ "${PACKAGES_NETDATA_PYTHON_MYSQL}" -ne 0 ] && suitable_package python-mysqldb
[ "${PACKAGES_NETDATA_PYTHON_POSTGRES}" -ne 0 ] && suitable_package python-psycopg2
fi
@@ -1455,7 +1373,6 @@ packages() {
# suitable_package python3-requests
# suitable_package python3-pip
- [ "${PACKAGES_NETDATA_PYTHON_MYSQL}" -ne 0 ] && suitable_package python3-mysqldb
[ "${PACKAGES_NETDATA_PYTHON_POSTGRES}" -ne 0 ] && suitable_package python3-psycopg2
fi
@@ -1591,6 +1508,13 @@ validate_tree_ol() {
EOF
fi
fi
+ elif [[ "${version}" =~ ^9(\..*)?$ ]]; then
+ echo " > Checking for CodeReady Builder ..."
+ if ! run ${sudo} dnf repolist enabled | grep -q codeready; then
+ if prompt "CodeReady Builder not enabled, shall I enable it?"; then
+ run ${sudo} dnf config-manager --set-enabled ol9_codeready_builder
+ fi
+ fi
fi
}
@@ -1635,9 +1559,6 @@ validate_tree_centos() {
echo >&2 " > Updating libarchive ..."
run ${sudo} yum ${opts} install libarchive
- echo >&2 " > Installing Judy-devel directly ..."
- run ${sudo} yum ${opts} install http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/Judy-devel-1.0.5-18.module_el8.3.0+757+d382997d.x86_64.rpm
-
elif [[ "${version}" =~ ^7(\..*)?$ ]]; then
echo >&2 " > Checking for EPEL ..."
if ! rpm -qa | grep epel-release > /dev/null; then
@@ -1992,7 +1913,7 @@ EOF
remote_log() {
# log success or failure on our system
# to help us solve installation issues
- curl > /dev/null 2>&1 -Ss --max-time 3 "https://registry.my-netdata.io/log/installer?status=${1}&error=${2}&distribution=${distribution}&version=${version}&installer=${package_installer}&tree=${tree}&detection=${detection}&netdata=${PACKAGES_NETDATA}&python=${PACKAGES_NETDATA_PYTHON}&python3=${PACKAGES_NETDATA_PYTHON3}&mysql=${PACKAGES_NETDATA_PYTHON_MYSQL}&postgres=${PACKAGES_NETDATA_PYTHON_POSTGRES}&pymongo=${PACKAGES_NETDATA_PYTHON_MONGO}&sensors=${PACKAGES_NETDATA_SENSORS}&database=${PACKAGES_NETDATA_DATABASE}&ebpf=${PACKAGES_NETDATA_EBPF}&firehol=${PACKAGES_FIREHOL}&fireqos=${PACKAGES_FIREQOS}&iprange=${PACKAGES_IPRANGE}&update_ipsets=${PACKAGES_UPDATE_IPSETS}&demo=${PACKAGES_NETDATA_DEMO_SITE}"
+ curl > /dev/null 2>&1 -Ss --max-time 3 "https://registry.my-netdata.io/log/installer?status=${1}&error=${2}&distribution=${distribution}&version=${version}&installer=${package_installer}&tree=${tree}&detection=${detection}&netdata=${PACKAGES_NETDATA}&python=${PACKAGES_NETDATA_PYTHON}&python3=${PACKAGES_NETDATA_PYTHON3}&postgres=${PACKAGES_NETDATA_PYTHON_POSTGRES}&pymongo=${PACKAGES_NETDATA_PYTHON_MONGO}&sensors=${PACKAGES_NETDATA_SENSORS}&database=${PACKAGES_NETDATA_DATABASE}&ebpf=${PACKAGES_NETDATA_EBPF}&firehol=${PACKAGES_FIREHOL}&fireqos=${PACKAGES_FIREQOS}&iprange=${PACKAGES_IPRANGE}&update_ipsets=${PACKAGES_UPDATE_IPSETS}&demo=${PACKAGES_NETDATA_DEMO_SITE}"
}
if [ -z "${1}" ]; then
@@ -2055,12 +1976,10 @@ while [ -n "${1}" ]; do
PACKAGES_NETDATA=1
if [ "${pv}" -eq 2 ]; then
PACKAGES_NETDATA_PYTHON=1
- PACKAGES_NETDATA_PYTHON_MYSQL=1
PACKAGES_NETDATA_PYTHON_POSTGRES=1
PACKAGES_NETDATA_PYTHON_MONGO=1
else
PACKAGES_NETDATA_PYTHON3=1
- PACKAGES_NETDATA_PYTHON3_MYSQL=1
PACKAGES_NETDATA_PYTHON3_POSTGRES=1
PACKAGES_NETDATA_PYTHON3_MONGO=1
fi
@@ -2084,16 +2003,6 @@ while [ -n "${1}" ]; do
PACKAGES_NETDATA_PYTHON3=1
;;
- python-mysql | mysql-python | mysqldb | netdata-mysql)
- if [ "${pv}" -eq 2 ]; then
- PACKAGES_NETDATA_PYTHON=1
- PACKAGES_NETDATA_PYTHON_MYSQL=1
- else
- PACKAGES_NETDATA_PYTHON3=1
- PACKAGES_NETDATA_PYTHON3_MYSQL=1
- fi
- ;;
-
python-postgres | postgres-python | psycopg2 | netdata-postgres)
if [ "${pv}" -eq 2 ]; then
PACKAGES_NETDATA_PYTHON=1
@@ -2133,12 +2042,10 @@ while [ -n "${1}" ]; do
PACKAGES_NETDATA=1
if [ "${pv}" -eq 2 ]; then
PACKAGES_NETDATA_PYTHON=1
- PACKAGES_NETDATA_PYTHON_MYSQL=1
PACKAGES_NETDATA_PYTHON_POSTGRES=1
PACKAGES_NETDATA_PYTHON_MONGO=1
else
PACKAGES_NETDATA_PYTHON3=1
- PACKAGES_NETDATA_PYTHON3_MYSQL=1
PACKAGES_NETDATA_PYTHON3_POSTGRES=1
PACKAGES_NETDATA_PYTHON3_MONGO=1
fi
diff --git a/packaging/installer/kickstart.sh b/packaging/installer/kickstart.sh
index a1079c3fd..10f6b9664 100755
--- a/packaging/installer/kickstart.sh
+++ b/packaging/installer/kickstart.sh
@@ -16,12 +16,21 @@ DISCUSSIONS_URL="https://github.com/netdata/netdata/discussions"
DOCS_URL="https://learn.netdata.cloud/docs/"
FORUM_URL="https://community.netdata.cloud/"
KICKSTART_OPTIONS="${*}"
-KICKSTART_SOURCE="$(realpath "$0")"
+KICKSTART_SOURCE="$(
+ self=${0}
+ while [ -L "${self}" ]
+ do
+ cd "${self%/*}" || exit 1
+ self=$(readlink "${self}")
+ done
+ cd "${self%/*}" || exit 1
+ echo "$(pwd -P)/${self##*/}"
+)"
PACKAGES_SCRIPT="https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh"
PATH="${PATH}:/usr/local/bin:/usr/local/sbin"
PUBLIC_CLOUD_URL="https://app.netdata.cloud"
REPOCONFIG_URL_PREFIX="https://packagecloud.io/netdata/netdata-repoconfig/packages"
-REPOCONFIG_VERSION="1-1"
+REPOCONFIG_VERSION="1-2"
START_TIME="$(date +%s)"
STATIC_INSTALL_ARCHES="x86_64 armv7l aarch64 ppc64le"
TELEMETRY_URL="https://posthog.netdata.cloud/capture/"
@@ -696,11 +705,17 @@ update() {
return 0
fi
+ if [ "${INTERACTIVE}" -eq 0 ]; then
+ opts="--non-interactive"
+ else
+ opts="--interactive"
+ fi
+
export NETDATA_SAVE_WARNINGS=1
export NETDATA_PROPAGATE_WARNINGS=1
# shellcheck disable=SC2090
export NETDATA_WARNINGS="${NETDATA_WARNINGS}"
- if run ${ROOTCMD} "${updater}" --not-running-from-cron; then
+ if run ${ROOTCMD} "${updater}" ${opts} --not-running-from-cron; then
progress "Updated existing install at ${ndprefix}"
return 0
else
@@ -771,6 +786,8 @@ uninstall() {
}
detect_existing_install() {
+ set_tmpdir
+
progress "Checking for existing installations of Netdata..."
if pkg_installed netdata; then
@@ -936,6 +953,8 @@ handle_existing_install() {
}
soft_disable_cloud() {
+ set_tmpdir
+
cloud_prefix="${INSTALL_PREFIX}/var/lib/netdata/cloud.d"
run ${ROOTCMD} mkdir -p "${cloud_prefix}"
@@ -1227,6 +1246,8 @@ try_package_install() {
return 2
fi
+ set_tmpdir
+
if [ "${DRY_RUN}" -eq 1 ]; then
progress "Would attempt to install using native packages..."
else
@@ -1585,6 +1606,7 @@ set_source_archive_urls() {
}
install_local_build_dependencies() {
+ set_tmpdir
bash="$(command -v bash 2> /dev/null)"
if [ -z "${bash}" ] || [ ! -x "${bash}" ]; then
@@ -1665,6 +1687,8 @@ build_and_install() {
}
try_build_install() {
+ set_tmpdir
+
if [ "${DRY_RUN}" -eq 1 ]; then
progress "Would attempt to install by building locally..."
else
diff --git a/packaging/installer/methods/freebsd.md b/packaging/installer/methods/freebsd.md
index 12b55d6ad..3523157bd 100644
--- a/packaging/installer/methods/freebsd.md
+++ b/packaging/installer/methods/freebsd.md
@@ -20,7 +20,7 @@ This is how to install the latest Netdata version on FreeBSD:
Install required packages (**need root permission**):
```sh
-pkg install bash e2fsprogs-libuuid git curl autoconf automake pkgconf pidof Judy liblz4 libuv json-c cmake gmake
+pkg install bash e2fsprogs-libuuid git curl autoconf automake pkgconf pidof liblz4 libuv json-c cmake gmake
```
Download Netdata:
diff --git a/packaging/installer/methods/manual.md b/packaging/installer/methods/manual.md
index aaf1451df..c47c2e364 100644
--- a/packaging/installer/methods/manual.md
+++ b/packaging/installer/methods/manual.md
@@ -25,9 +25,6 @@ and other operating systems and is regularly tested. You can find this tool [her
- **Alpine** Linux and its derivatives
- You have to install `bash` yourself, before using the installer.
-- **Arch** Linux and its derivatives
- - You need arch/aur for package Judy.
-
- **Gentoo** Linux and its derivatives
- **Debian** Linux and its derivatives (including **Ubuntu**, **Mint**)
@@ -67,16 +64,16 @@ This is how to do it by hand:
```sh
# Debian / Ubuntu
-apt-get install zlib1g-dev uuid-dev libuv1-dev liblz4-dev libjudy-dev libssl-dev libelf-dev libmnl-dev libprotobuf-dev protobuf-compiler gcc g++ make git autoconf autoconf-archive autogen automake pkg-config curl python cmake
+apt-get install zlib1g-dev uuid-dev libuv1-dev liblz4-dev libssl-dev libelf-dev libmnl-dev libprotobuf-dev protobuf-compiler gcc g++ make git autoconf autoconf-archive autogen automake pkg-config curl python cmake
# Fedora
-dnf install zlib-devel libuuid-devel libuv-devel lz4-devel Judy-devel openssl-devel elfutils-libelf-devel libmnl-devel protobuf-devel protobuf-compiler gcc gcc-c++ make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python cmake
+dnf install zlib-devel libuuid-devel libuv-devel lz4-devel openssl-devel elfutils-libelf-devel libmnl-devel protobuf-devel protobuf-compiler gcc gcc-c++ make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python cmake
# CentOS / Red Hat Enterprise Linux
-yum install autoconf automake curl gcc gcc-c++ git libmnl-devel libuuid-devel openssl-devel libuv-devel lz4-devel Judy-devel elfutils-libelf-devel protobuf protobuf-devel protobuf-compiler make nc pkgconfig python zlib-devel cmake
+yum install autoconf automake curl gcc gcc-c++ git libmnl-devel libuuid-devel openssl-devel libuv-devel lz4-devel elfutils-libelf-devel protobuf protobuf-devel protobuf-compiler make nc pkgconfig python zlib-devel cmake
# openSUSE
-zypper install zlib-devel libuuid-devel libuv-devel liblz4-devel judy-devel libopenssl-devel libelf-devel libmnl-devel protobuf-devel gcc gcc-c++ make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python cmake
+zypper install zlib-devel libuuid-devel libuv-devel liblz4-devel libopenssl-devel libelf-devel libmnl-devel protobuf-devel gcc gcc-c++ make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python cmake
```
Once Netdata is compiled, to run it the following packages are required (already installed using the above commands):
@@ -117,7 +114,6 @@ Netdata DB engine can be enabled when these are installed (they are optional):
| package | description|
|:-----:|-----------|
| `liblz4` | Extremely fast compression algorithm, version r129 or greater|
-| `Judy` | General purpose dynamic array|
| `openssl`| Cryptography and SSL/TLS toolkit|
*Netdata will greatly benefit if you have the above packages installed, but it will still work without them.*
@@ -175,8 +171,6 @@ yum install -y http://repo.okay.com.mx/centos/8/x86_64/release/okay-release-1-3.
# Install Devel Packages
yum install autoconf automake curl gcc git cmake libuuid-devel openssl-devel libuv-devel lz4-devel make nc pkgconfig python3 zlib-devel
-# Install Judy-Devel directly
-yum install -y http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/Judy-devel-1.0.5-18.module_el8.1.0+217+4d875839.x86_64.rpm
```
## Install Netdata
diff --git a/packaging/installer/methods/pfsense.md b/packaging/installer/methods/pfsense.md
index f0d730036..e0556629c 100644
--- a/packaging/installer/methods/pfsense.md
+++ b/packaging/installer/methods/pfsense.md
@@ -25,7 +25,6 @@ pkg install -y pkgconf bash e2fsprogs-libuuid libuv nano
Then run the following commands to download various dependencies from the FreeBSD repository.
```sh
-pkg add http://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/Judy-1.0.5_3.txz
pkg add http://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/json-c-0.15_1.txz
pkg add http://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/py38-certifi-2021.10.8.txz
pkg add http://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/py38-asn1crypto-1.4.0.txz
diff --git a/packaging/installer/methods/source.md b/packaging/installer/methods/source.md
index a25323f0c..d8f4f0bda 100644
--- a/packaging/installer/methods/source.md
+++ b/packaging/installer/methods/source.md
@@ -32,7 +32,6 @@ Additionally, the following build time features require additional dependencies:
- dbengine metric storage:
- liblz4 r129 or newer
- OpenSSL 1.0 or newer (LibreSSL _amy_ work, but is largely untested).
- - [libJudy](http://judy.sourceforge.net/)
- Netdata Cloud support:
- A working internet connection
- A recent version of CMake
diff --git a/packaging/installer/netdata-updater.sh b/packaging/installer/netdata-updater.sh
index e4cb29a45..15b7deda8 100755
--- a/packaging/installer/netdata-updater.sh
+++ b/packaging/installer/netdata-updater.sh
@@ -28,7 +28,7 @@
# Author: Pavlos Emm. Katsoulakis <paul@netdata.cloud>
# Author: Austin S. Hemmelgarn <austin@netdata.cloud>
-# Next unused error code: U001A
+# Next unused error code: U001B
set -e
@@ -266,10 +266,10 @@ str_in_list() {
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 non-common options
- if command -v sha256sum > /dev/null 2>&1; then
- sha256sum "$@"
- elif command -v shasum > /dev/null 2>&1; then
+ if command -v shasum > /dev/null 2>&1; then
shasum -a 256 "$@"
+ elif command -v sha256sum > /dev/null 2>&1; then
+ sha256sum "$@"
else
fatal "I could not find a suitable checksum binary to use" U0002
fi
@@ -420,7 +420,9 @@ self_update() {
if _safe_download "https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/netdata-updater.sh" ./netdata-updater.sh; then
chmod +x ./netdata-updater.sh || exit 1
export ENVIRONMENT_FILE="${ENVIRONMENT_FILE}"
- exec ./netdata-updater.sh --not-running-from-cron --no-updater-self-update --tmpdir-path "$(pwd)"
+ force_update=""
+ [ "$NETDATA_FORCE_UPDATE" = "1" ] && force_update="--force-update"
+ exec ./netdata-updater.sh --not-running-from-cron --no-updater-self-update "$force_update" --tmpdir-path "$(pwd)"
else
error "Failed to download newest version of updater script, continuing with current version."
fi
@@ -551,7 +553,11 @@ update_build() {
NEW_CHECKSUM="$(safe_sha256sum netdata-latest.tar.gz 2> /dev/null | cut -d' ' -f1)"
tar -xf netdata-latest.tar.gz >&3 2>&3
rm netdata-latest.tar.gz >&3 2>&3
- cd "$(find . -maxdepth 1 -name "netdata-${path_version}*" | head -n 1)" || fatal "Failed to switch to build directory" U0017
+ if [ -z "$path_version" ]; then
+ latest_tag="$(get_latest_version)"
+ path_version="$(echo "${latest_tag}" | cut -f 1 -d "-")"
+ fi
+ cd "$(find . -maxdepth 1 -type d -name "netdata-${path_version}*" | head -n 1)" || fatal "Failed to switch to build directory" U0017
RUN_INSTALLER=1
fi
fi
@@ -844,27 +850,30 @@ if [ -r "$(dirname "${ENVIRONMENT_FILE}")/.install-type" ]; then
fi
while [ -n "${1}" ]; do
- if [ "${1}" = "--not-running-from-cron" ]; then
- NETDATA_NOT_RUNNING_FROM_CRON=1
- shift 1
- elif [ "${1}" = "--no-updater-self-update" ]; then
- NETDATA_NO_UPDATER_SELF_UPDATE=1
- shift 1
- elif [ "${1}" = "--force-update" ]; then
- NETDATA_FORCE_UPDATE=1
- shift 1
- elif [ "${1}" = "--tmpdir-path" ]; then
- NETDATA_TMPDIR_PATH="${2}"
- shift 2
- elif [ "${1}" = "--enable-auto-updates" ]; then
- enable_netdata_updater "${2}"
- exit $?
- elif [ "${1}" = "--disable-auto-updates" ]; then
- disable_netdata_updater
- exit $?
- else
- break
- fi
+ case "${1}" in
+ --not-running-from-cron) NETDATA_NOT_RUNNING_FROM_CRON=1 ;;
+ --no-updater-self-update) NETDATA_NO_UPDATER_SELF_UPDATE=1 ;;
+ --force-update) NETDATA_FORCE_UPDATE=1 ;;
+ --non-interactive) INTERACTIVE=0 ;;
+ --interactive) INTERACTIVE=1 ;;
+ --tmpdir-path)
+ NETDATA_TMPDIR_PATH="${2}"
+ shift 1
+ ;;
+ --enable-auto-updates)
+ enable_netdata_updater "${2}"
+ exit $?
+ ;;
+ --disable-auto-updates)
+ disable_netdata_updater
+ exit $?
+ ;;
+ *)
+ fatal "Unrecognized option ${1}" U001A
+ ;;
+ esac
+
+ shift 1
done
# Random sleep to alleviate stampede effect of Agents upgrading