detect the number of processors on freebsd
Costa Tsaousis (ktsaou) committed
Jan 13, 2018 at 03:13 UTC
2d7bd09fb6f064978aa01415701f7c5ed35ca5d3
6 files changed
+31
-17
installer/functions.sh
+16
@@ -161,6 +161,22 @@ pidof() {
161
162
# -----------------------------------------------------------------------------
163
164
+export SYSTEM_CPUS=1
165
+portable_find_processors() {
166
+ if [ -f "/proc/cpuinfo" ]
167
+ then
168
+ # linux
169
+ SYSTEM_CPUS=$(grep -c ^processor /proc/cpuinfo)
170
+ else
171
+ # freebsd
172
+ SYSTEM_CPUS=$(sysctl hw.ncpu 2>/dev/null | grep ^hw.ncpu | cut -d ' ' -f 2)
173
+ fi
174
+ [ -z "${SYSTEM_CPUS}" -o $(( SYSTEM_CPUS )) -lt 1 ] && SYSTEM_CPUS=1
175
+}
176
+portable_find_processors
177
+
178
+# -----------------------------------------------------------------------------
179
+
180
run_ok() {
181
printf >&2 "${TPUT_BGGREEN}${TPUT_WHITE}${TPUT_BOLD} OK ${TPUT_RESET} ${*} \n\n"
182
}
makeself/functions.sh
+11
-10
@@ -8,8 +8,6 @@
8
[ -z "${NETDATA_MAKESELF_PATH}" ] && export NETDATA_MAKESELF_PATH="$(dirname "${0}")/.."
9
[ "${NETDATA_MAKESELF_PATH:0:1}" != "/" ] && export NETDATA_MAKESELF_PATH="$(pwd)/${NETDATA_MAKESELF_PATH}"
10
[ -z "${NETDATA_SOURCE_PATH}" ] && export NETDATA_SOURCE_PATH="${NETDATA_MAKESELF_PATH}/.."
11
-[ -z "${PROCESSORS}" ] && export PROCESSORS=$(grep -c ^processor /proc/cpuinfo)
12
-[ -z "${PROCESSORS}" -o $((PROCESSORS)) -lt 1 ] && export PROCESSORS=1
11
export NULL=
12
13
# make sure the path does not end with /
@@ -21,14 +19,7 @@ fi
19
# find the parent directory
20
export NETDATA_INSTALL_PARENT="$(dirname "${NETDATA_INSTALL_PATH}")"
21
24
-
25
-# debug
26
-echo "ME=${0}"
27
-echo "NETDATA_INSTALL_PARENT=${NETDATA_INSTALL_PARENT}"
28
-echo "NETDATA_INSTALL_PATH=${NETDATA_INSTALL_PATH}"
29
-echo "NETDATA_MAKESELF_PATH=${NETDATA_MAKESELF_PATH}"
30
-echo "NETDATA_SOURCE_PATH=${NETDATA_SOURCE_PATH}"
31
-echo "PROCESSORS=${PROCESSORS}"
22
+# -----------------------------------------------------------------------------
23
24
# bash strict mode
25
set -euo pipefail
@@ -58,3 +49,13 @@ fetch() {
49
50
# load the functions of the netdata-installer.sh
51
. "${NETDATA_SOURCE_PATH}/installer/functions.sh"
52
+
53
+# -----------------------------------------------------------------------------
54
+
55
+# debug
56
+echo "ME=${0}"
57
+echo "NETDATA_INSTALL_PARENT=${NETDATA_INSTALL_PARENT}"
58
+echo "NETDATA_INSTALL_PATH=${NETDATA_INSTALL_PATH}"
59
+echo "NETDATA_MAKESELF_PATH=${NETDATA_MAKESELF_PATH}"
60
+echo "NETDATA_SOURCE_PATH=${NETDATA_SOURCE_PATH}"
61
+echo "PROCESSORS=${SYSTEM_CPUS}"
makeself/jobs/50-bash-4.4.install.sh
+1
-1
@@ -34,7 +34,7 @@ run ./configure \
34
35
36
run make clean
37
-run make -j${PROCESSORS}
37
+run make -j${SYSTEM_CPUS}
38
39
cat >examples/loadables/Makefile <<EOF
40
all:
makeself/jobs/50-curl-7.53.1.install.sh
+1
-1
@@ -24,7 +24,7 @@ run ./configure \
24
run sed -i -e "s/curl_LDFLAGS =/curl_LDFLAGS = -all-static/" src/Makefile
25
26
run make clean
27
-run make -j${PROCESSORS}
27
+run make -j${SYSTEM_CPUS}
28
run make install
29
30
if [ ${NETDATA_BUILD_WITH_DEBUG} -eq 0 ]
makeself/jobs/50-fping-4.0.install.sh
+1
-1
@@ -19,7 +19,7 @@ install:
19
EOF
20
21
run make clean
22
-run make -j${PROCESSORS}
22
+run make -j${SYSTEM_CPUS}
23
run make install
24
25
if [ ${NETDATA_BUILD_WITH_DEBUG} -eq 0 ]
netdata-installer.sh
+1
-4
@@ -63,9 +63,6 @@ umask 002
63
# Be nice on production environments
64
renice 19 $$ >/dev/null 2>/dev/null
65
66
-processors=$(grep -c ^processor /proc/cpuinfo)
67
-[ $(( processors )) -lt 1 ] && processors=1
68
-
66
# you can set CFLAGS before running installer
67
CFLAGS="${CFLAGS--O2}"
68
[ "z${CFLAGS}" = "z-O3" ] && CFLAGS="-O2"
@@ -495,7 +492,7 @@ progress "Cleanup compilation directory"
492
# -----------------------------------------------------------------------------
493
progress "Compile netdata"
494
498
-run make -j${processors} || exit 1
495
+run make -j${SYSTEM_CPUS} || exit 1
496
497
498
# -----------------------------------------------------------------------------