@cryptotaxi247 / netdata-1 / commits / db35cc3e7

Allow arbitrary options to be passed to make from netdata-installer.sh. (#11479)

* Allow arbitrary options to be passed to make from netdata-installer.sh. This is mostly intended to allow users to override the number of parallel jobs used during the build process. It’s been made generic as a handful of other options (most notably `--load-average`) are also potentially useful and because the generic behavior is consistent with how most source-based distros handle this type of thing. * Fix pattern checking of MAKEOPTS.

Austin S. Hemmelgarn committed Sep 14, 2021 at 09:17 UTC db35cc3e78d7bd1d8bc6b5d8fa319ea82c051e31
2 files changed +17 -8
netdata-installer.sh
+16 -8
@@ -118,6 +118,13 @@ download_go() {
118 # make sure we save all commands we run
119 run_logfile="netdata-installer.log"
120
121 +# set default make options
122 +if [ -z "${MAKEOPTS}" ]; then
123 + MAKEOPTS="-j$(find_processors)"
124 +elif echo "${MAKEOPTS}" | grep -vqF -e "-j"; then
125 + MAKEOPTS="${MAKEOPTS} -j$(find_processors)"
126 +fi
127 +
128 # -----------------------------------------------------------------------------
129 # fix PKG_CHECK_MODULES error
130
@@ -549,7 +556,7 @@ build_libmosquitto() {
556 fi
557
558 if [ "$(uname -s)" = Linux ]; then
552 - run ${env_cmd} ${make} -j$(find_processors) -C "${1}/lib"
559 + run ${env_cmd} ${make} ${MAKEOPTS} -C "${1}/lib"
560 else
561 pushd ${1} > /dev/null || return 1
562 if [ "$(uname)" = "Darwin" ] && [ -d /usr/local/opt/openssl ]; then
@@ -561,7 +568,7 @@ build_libmosquitto() {
568 else
569 run ${env_cmd} cmake -D WITH_STATIC_LIBRARIES:boolean=YES .
570 fi
564 - run ${env_cmd} ${make} -j$(find_processors) -C lib
571 + run ${env_cmd} ${make} ${MAKEOPTS} -C lib
572 run mv lib/libmosquitto_static.a lib/libmosquitto.a
573 popd || return 1
574 fi
@@ -657,7 +664,7 @@ EOF
664 $CMAKE_FLAGS \
665 .
666 fi
660 - run ${env_cmd} ${make} -j$(find_processors)
667 + run ${env_cmd} ${make} ${MAKEOPTS}
668 popd > /dev/null || exit 1
669 }
670
@@ -727,7 +734,7 @@ build_protobuf() {
734 return 1
735 fi
736
730 - if ! run ${env_cmd} $make -j$(find_processors); then
737 + if ! run ${env_cmd} $make ${MAKEOPTS}; then
738 popd > /dev/null || return 1
739 return 1
740 fi
@@ -803,7 +810,7 @@ build_judy() {
810 run ${env_cmd} automake --add-missing --force --copy --include-deps &&
811 run ${env_cmd} autoconf &&
812 run ${env_cmd} ./configure &&
806 - run ${env_cmd} ${make} -j$(find_processors) -C src &&
813 + run ${env_cmd} ${make} ${MAKEOPTS} -C src &&
814 run ${env_cmd} ar -r src/libJudy.a src/Judy*/*.o; then
815 popd > /dev/null || return 1
816 else
@@ -881,7 +888,7 @@ build_jsonc() {
888
889 pushd "${1}" > /dev/null || exit 1
890 run ${env_cmd} cmake -DBUILD_SHARED_LIBS=OFF .
884 - run ${env_cmd} ${make} -j$(find_processors)
891 + run ${env_cmd} ${make} ${MAKEOPTS}
892 popd > /dev/null || exit 1
893 }
894
@@ -939,7 +946,7 @@ bundle_jsonc
946
947 build_libbpf() {
948 pushd "${1}/src" > /dev/null || exit 1
942 - run env CFLAGS=-fPIC CXXFLAGS= LDFLAGS= BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=.. ${make} -j$(find_processors) install
949 + run env CFLAGS=-fPIC CXXFLAGS= LDFLAGS= BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=.. ${make} ${MAKEOPTS} install
950 popd > /dev/null || exit 1
951 }
952
@@ -1050,7 +1057,7 @@ run $make clean
1057 # -----------------------------------------------------------------------------
1058 progress "Compile netdata"
1059
1053 -run $make -j$(find_processors) || exit 1
1060 +run $make ${MAKEOPTS} || exit 1
1061
1062 # -----------------------------------------------------------------------------
1063 progress "Migrate configuration files for node.d.plugin and charts.d.plugin"
@@ -1925,6 +1932,7 @@ cat << EOF > "${NETDATA_USER_CONFIG_DIR}/.environment"
1932 PATH="${PATH}"
1933 CFLAGS="${CFLAGS}"
1934 LDFLAGS="${LDFLAGS}"
1935 +MAKEOPTS="${MAKEOPTS}"
1936 NETDATA_TMPDIR="${TMPDIR}"
1937 NETDATA_PREFIX="${NETDATA_PREFIX}"
1938 NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS}"
packaging/installer/netdata-updater.sh
+1
@@ -6,6 +6,7 @@
6 # - PATH
7 # - CFLAGS
8 # - LDFLAGS
9 +# - MAKEOPTS
10 # - IS_NETDATA_STATIC_BINARY
11 # - NETDATA_CONFIGURE_OPTIONS
12 # - REINSTALL_OPTIONS