@cryptotaxi247 / netdata-1 / commits / 10a8fd9e8

Added support for building libmosquitto on FreeBSD/macOS. (#8254)

* Add support for building libmosquitto on BSD/macOS. This takes advantage fo the fact that cmake is now a required buil ddependency to allow building libmosquitto on BSD and macOS systems. * Fix builds on macOS without brew sh Co-authored-by: James Mills <prologic@shortcircuit.net.au>

Austin S. Hemmelgarn committed Apr 17, 2020 at 07:44 UTC 10a8fd9e8eeac6946c35e830ee6bd5cd029bcadb
1 file changed +43 -29
netdata-installer.sh
+43 -29
@@ -471,7 +471,23 @@ trap build_error EXIT
471 # -----------------------------------------------------------------------------
472
473 build_libmosquitto() {
474 - run env CFLAGS= CXXFLAGS= LDFLAGS= make -C "${1}/lib"
474 + if [ "$(uname -s)" = Linux ]; then
475 + run env CFLAGS= CXXFLAGS= LDFLAGS= make -C "${1}/lib"
476 + else
477 + pushd ${1} > /dev/null || return 1
478 + if [ "$(uname)" = "Darwin" ] && [ -d /usr/local/opt/openssl ]; then
479 + run env CFLAGS= CXXFLAGS= LDFLAGS= cmake \
480 + -D OPENSSL_ROOT_DIR=/usr/local/opt/openssl \
481 + -D OPENSSL_LIBRARIES=/usr/local/opt/openssl/lib \
482 + -D WITH_STATIC_LIBRARIES:boolean=YES \
483 + .
484 + else
485 + run env CFLAGS= CXXFLAGS= LDFLAGS= cmake -D WITH_STATIC_LIBRARIES:boolean=YES .
486 + fi
487 + run env CFLAGS= CXXFLAGS= LDFLAGS= make -C lib
488 + run mv lib/libmosquitto_static.a lib/libmosquitto.a
489 + popd || return 1
490 + fi
491 }
492
493 copy_libmosquitto() {
@@ -489,12 +505,6 @@ bundle_libmosquitto() {
505 return 0
506 fi
507
492 - if [ "$(uname)" != "Linux" ]; then
493 - echo >&2 " Sorry NetData with custom libmosquitto is unsupported on $(uname) at this time!"
494 - echo >&2 " Please contact NetData suppoort! https://github.com/netdata/netdata/issues/new"
495 - return 0
496 - fi
497 -
508 progress "Prepare custom libmosquitto version"
509
510 MOSQUITTO_PACKAGE_VERSION="$(cat packaging/mosquitto.version)"
@@ -503,16 +513,14 @@ bundle_libmosquitto() {
513 MOSQUITTO_PACKAGE_BASENAME="${MOSQUITTO_PACKAGE_VERSION}.tar.gz"
514
515 if fetch_and_verify "mosquitto" \
506 - "https://github.com/netdata/mosquitto/archive/${MOSQUITTO_PACKAGE_BASENAME}" \
507 - "${MOSQUITTO_PACKAGE_BASENAME}" \
508 - "${tmp}" \
509 - "${NETDATA_LOCAL_TARBALL_OVERRIDE_MOSQUITTO}"
510 - then
511 - if run tar -xf "${tmp}/${MOSQUITTO_PACKAGE_BASENAME}" -C "${tmp}" && \
512 - build_libmosquitto "${tmp}/mosquitto-${MOSQUITTO_PACKAGE_VERSION}" && \
513 - copy_libmosquitto "${tmp}/mosquitto-${MOSQUITTO_PACKAGE_VERSION}" && \
514 - rm -rf "${tmp}"
515 - then
516 + "https://github.com/netdata/mosquitto/archive/${MOSQUITTO_PACKAGE_BASENAME}" \
517 + "${MOSQUITTO_PACKAGE_BASENAME}" \
518 + "${tmp}" \
519 + "${NETDATA_LOCAL_TARBALL_OVERRIDE_MOSQUITTO}"; then
520 + if run tar -xf "${tmp}/${MOSQUITTO_PACKAGE_BASENAME}" -C "${tmp}" &&
521 + build_libmosquitto "${tmp}/mosquitto-${MOSQUITTO_PACKAGE_VERSION}" &&
522 + copy_libmosquitto "${tmp}/mosquitto-${MOSQUITTO_PACKAGE_VERSION}" &&
523 + rm -rf "${tmp}"; then
524 run_ok "libmosquitto built and prepared."
525 else
526 run_failed "Failed to build libmosquitto."
@@ -538,7 +546,15 @@ bundle_libmosquitto
546
547 build_libwebsockets() {
548 pushd "${1}" > /dev/null || exit 1
541 - run env CFLAGS= CXXFLAGS= LDFLAGS= cmake -D LWS_WITH_SOCKS5:bool=ON .
549 + if [ "$(uname)" = "Darwin" ] && [ -d /usr/local/opt/openssl ]; then
550 + run env CFLAGS= CXXFLAGS= LDFLAGS= cmake \
551 + -D OPENSSL_ROOT_DIR=/usr/local/opt/openssl \
552 + -D OPENSSL_LIBRARIES=/usr/local/opt/openssl/lib \
553 + -D LWS_WITH_SOCKS5:bool=ON \
554 + .
555 + else
556 + run env CFLAGS= CXXFLAGS= LDFLAGS= cmake -D LWS_WITH_SOCKS5:bool=ON .
557 + fi
558 run env CFLAGS= CXXFLAGS= LDFLAGS= make
559 popd > /dev/null || exit 1
560 }
@@ -553,7 +569,7 @@ copy_libwebsockets() {
569 }
570
571 bundle_libwebsockets() {
556 - if [ -n "${NETDATA_DISABLE_CLOUD}" ] ; then
572 + if [ -n "${NETDATA_DISABLE_CLOUD}" ]; then
573 return 0
574 fi
575
@@ -571,16 +587,14 @@ bundle_libwebsockets() {
587 LIBWEBSOCKETS_PACKAGE_BASENAME="v${LIBWEBSOCKETS_PACKAGE_VERSION}.tar.gz"
588
589 if fetch_and_verify "libwebsockets" \
574 - "https://github.com/warmcat/libwebsockets/archive/${LIBWEBSOCKETS_PACKAGE_BASENAME}" \
575 - "${LIBWEBSOCKETS_PACKAGE_BASENAME}" \
576 - "${tmp}" \
577 - "${NETDATA_LOCAL_TARBALL_OVERRIDE_LIBWEBSOCKETS}"
578 - then
579 - if run tar -xf "${tmp}/${LIBWEBSOCKETS_PACKAGE_BASENAME}" -C "${tmp}" && \
580 - build_libwebsockets "${tmp}/libwebsockets-${LIBWEBSOCKETS_PACKAGE_VERSION}" && \
581 - copy_libwebsockets "${tmp}/libwebsockets-${LIBWEBSOCKETS_PACKAGE_VERSION}" && \
582 - rm -rf "${tmp}"
583 - then
590 + "https://github.com/warmcat/libwebsockets/archive/${LIBWEBSOCKETS_PACKAGE_BASENAME}" \
591 + "${LIBWEBSOCKETS_PACKAGE_BASENAME}" \
592 + "${tmp}" \
593 + "${NETDATA_LOCAL_TARBALL_OVERRIDE_LIBWEBSOCKETS}"; then
594 + if run tar -xf "${tmp}/${LIBWEBSOCKETS_PACKAGE_BASENAME}" -C "${tmp}" &&
595 + build_libwebsockets "${tmp}/libwebsockets-${LIBWEBSOCKETS_PACKAGE_VERSION}" &&
596 + copy_libwebsockets "${tmp}/libwebsockets-${LIBWEBSOCKETS_PACKAGE_VERSION}" &&
597 + rm -rf "${tmp}"; then
598 run_ok "libwebsockets built and prepared."
599 else
600 run_failed "Failed to build libwebsockets."