mirror of
https://github.com/netdata/netdata.git
synced 2025-04-28 14:42:31 +00:00

* initial implementation of libbacktrace * in buildinfo show the parameters of libbacktrace * do not disable libbacktrace if threading is not supported * Don’t install libbacktrace, only build it. * Disable libbacktrace for 32-bit ARM builds. * Make libunwind and libbacktrace mutually exclusive at configure time. Instead of relying on it being mutually exclusive at build time. This ensures we don’t waste time on libunwind when using libbacktrace. * Only use libbacktrace on Linux and Windows * Work around broken logic in openSUSE rpmbuild. * Fix handling of libbacktrace for 32-bit ARM static builds. --------- Co-authored-by: Austin S. Hemmelgarn <austin@netdata.cloud>
106 lines
3.1 KiB
Bash
Executable file
106 lines
3.1 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Invoked by the package builder images to actually build native packages.
|
|
|
|
set -e
|
|
|
|
PKG_TYPE="${1}"
|
|
BUILD_DIR="${2}"
|
|
SCRIPT_SOURCE="$(
|
|
self=${0}
|
|
while [ -L "${self}" ]
|
|
do
|
|
cd "${self%/*}" || exit 1
|
|
self=$(readlink "${self}")
|
|
done
|
|
cd "${self%/*}" || exit 1
|
|
echo "$(pwd -P)/${self##*/}"
|
|
)"
|
|
SOURCE_DIR="$(dirname "$(dirname "${SCRIPT_SOURCE}")")"
|
|
|
|
CMAKE_ARGS="-S ${SOURCE_DIR} -B ${BUILD_DIR}"
|
|
|
|
add_cmake_option() {
|
|
CMAKE_ARGS="${CMAKE_ARGS} -D${1}=${2}"
|
|
}
|
|
|
|
add_cmake_option CMAKE_BUILD_TYPE RelWithDebInfo
|
|
add_cmake_option CMAKE_INSTALL_PREFIX /
|
|
add_cmake_option ENABLE_DASHBOARD on
|
|
add_cmake_option ENABLE_DBENGINE On
|
|
add_cmake_option ENABLE_H2O Off
|
|
add_cmake_option ENABLE_ML On
|
|
|
|
add_cmake_option ENABLE_PLUGIN_APPS On
|
|
add_cmake_option ENABLE_PLUGIN_CGROUP_NETWORK On
|
|
add_cmake_option ENABLE_PLUGIN_DEBUGFS On
|
|
add_cmake_option ENABLE_PLUGIN_FREEIPMI On
|
|
add_cmake_option ENABLE_PLUGIN_GO On
|
|
add_cmake_option ENABLE_PLUGIN_PYTHON On
|
|
add_cmake_option ENABLE_PLUGIN_CHARTS On
|
|
add_cmake_option ENABLE_PLUGIN_LOCAL_LISTENERS On
|
|
add_cmake_option ENABLE_PLUGIN_NFACCT On
|
|
add_cmake_option ENABLE_PLUGIN_PERF On
|
|
add_cmake_option ENABLE_PLUGIN_SLABINFO On
|
|
add_cmake_option ENABLE_PLUGIN_SYSTEMD_JOURNAL On
|
|
|
|
add_cmake_option ENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE On
|
|
add_cmake_option ENABLE_EXPORTER_MONGODB On
|
|
|
|
add_cmake_option ENABLE_BUNDLED_PROTOBUF Off
|
|
add_cmake_option ENABLE_BUNDLED_JSONC Off
|
|
add_cmake_option ENABLE_BUNDLED_YAML Off
|
|
|
|
add_cmake_option ENABLE_LIBBACKTRACE On
|
|
|
|
add_cmake_option BUILD_FOR_PACKAGING On
|
|
|
|
case "${PKG_TYPE}" in
|
|
DEB)
|
|
case "$(dpkg-architecture -q DEB_TARGET_ARCH)" in
|
|
amd64)
|
|
add_cmake_option ENABLE_PLUGIN_XENSTAT On
|
|
add_cmake_option ENABLE_PLUGIN_EBPF On
|
|
;;
|
|
arm64)
|
|
add_cmake_option ENABLE_PLUGIN_XENSTAT On
|
|
add_cmake_option ENABLE_PLUGIN_EBPF Off
|
|
;;
|
|
armhf)
|
|
add_cmake_option ENABLE_PLUGIN_XENSTAT Off
|
|
add_cmake_option ENABLE_PLUGIN_EBPF Off
|
|
;;
|
|
*)
|
|
add_cmake_option ENABLE_PLUGIN_XENSTAT Off
|
|
add_cmake_option ENABLE_PLUGIN_EBPF Off
|
|
;;
|
|
esac
|
|
;;
|
|
RPM) ;;
|
|
*) echo "Unrecognized package type ${PKG_TYPE}." ; exit 1 ;;
|
|
esac
|
|
|
|
if [ "${ENABLE_SENTRY}" = "true" ]; then
|
|
if [ -z "${SENTRY_DSN}" ]; then
|
|
echo "ERROR: Sentry enabled but no DSN specified, exiting."
|
|
exit 1
|
|
fi
|
|
|
|
add_cmake_option ENABLE_SENTRY On
|
|
add_cmake_option NETDATA_SENTRY_ENVIRONMENT "${RELEASE_PIPELINE:-Unknown}"
|
|
add_cmake_option NETDATA_SENTRY_DIST "${BUILD_DESTINATION:-Unknown}"
|
|
add_cmake_option NETDATA_SENTRY_DSN "${SENTRY_DSN}"
|
|
else
|
|
add_cmake_option ENABLE_SENTRY Off
|
|
fi
|
|
|
|
# shellcheck disable=SC2086
|
|
cmake ${CMAKE_ARGS} -G Ninja
|
|
cmake --build "${BUILD_DIR}" --parallel "$(nproc)" -- -k 1
|
|
|
|
if [ "${ENABLE_SENTRY}" = "true" ] && [ "${UPLOAD_SENTRY}" = "true" ]; then
|
|
sentry-cli debug-files upload -o netdata-inc -p netdata-agent --force-foreground --log-level=debug --wait --include-sources build/netdata
|
|
fi
|
|
|
|
cd "${BUILD_DIR}" || exit 1
|
|
cpack -V -G "${PKG_TYPE}"
|