diff options
author | James Mills <prologic@shortcircuit.net.au> | 2020-05-26 12:19:27 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-26 12:19:27 +1000 |
commit | a20e8f163fde7d64cbc258b6903230dda651adf9 (patch) | |
tree | e39afc950b1740c4853a346eb8a98f3f72f2e1ef /packaging/makeself/jobs | |
parent | b5f5675cb53d4b2f276666b55ef582aa8ba7a574 (diff) |
Add CI for our Static Netdata builds (which kickstart-static64 uses) (#9130)
* Add tool to build the static x864_64 Netdata
* Add error if the netdata binary is not statically linked
* Add Github Workflow for testing static builds
* Don't use docker run -i -t if not on a tty
Diffstat (limited to 'packaging/makeself/jobs')
-rwxr-xr-x | packaging/makeself/jobs/70-netdata-git.install.sh | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/packaging/makeself/jobs/70-netdata-git.install.sh b/packaging/makeself/jobs/70-netdata-git.install.sh index 238fc4817f..923c29667f 100755 --- a/packaging/makeself/jobs/70-netdata-git.install.sh +++ b/packaging/makeself/jobs/70-netdata-git.install.sh @@ -1,15 +1,15 @@ #!/usr/bin/env bash # SPDX-License-Identifier: GPL-3.0-or-later -. ${NETDATA_MAKESELF_PATH}/functions.sh "${@}" || exit 1 +# shellcheck source=./packaging/makeself/functions.sh +. "${NETDATA_MAKESELF_PATH}"/functions.sh "${@}" || exit 1 cd "${NETDATA_SOURCE_PATH}" || exit 1 -if [ ${NETDATA_BUILD_WITH_DEBUG} -eq 0 ] -then - export CFLAGS="-static -O3" +if [ ${NETDATA_BUILD_WITH_DEBUG} -eq 0 ]; then + export CFLAGS="-static -O3" else - export CFLAGS="-static -O1 -ggdb -Wall -Wextra -Wformat-signedness -fstack-protector-all -D_FORTIFY_SOURCE=2 -DNETDATA_INTERNAL_CHECKS=1" + export CFLAGS="-static -O1 -ggdb -Wall -Wextra -Wformat-signedness -fstack-protector-all -D_FORTIFY_SOURCE=2 -DNETDATA_INTERNAL_CHECKS=1" # export CFLAGS="-static -O1 -ggdb -Wall -Wextra -Wformat-signedness" fi @@ -18,16 +18,22 @@ fi export IS_NETDATA_STATIC_BINARY="yes" run ./netdata-installer.sh --install "${NETDATA_INSTALL_PARENT}" \ - --dont-wait \ - --dont-start-it \ - ${NULL} + --dont-wait \ + --dont-start-it \ + "${NULL}" # Remove the netdata.conf file from the tree. It has hard-coded sensible defaults builtin. rm -f "${NETDATA_INSTALL_PARENT}/etc/netdata/netdata.conf" -if [ ${NETDATA_BUILD_WITH_DEBUG} -eq 0 ] -then - run strip ${NETDATA_INSTALL_PATH}/bin/netdata - run strip ${NETDATA_INSTALL_PATH}/usr/libexec/netdata/plugins.d/apps.plugin - run strip ${NETDATA_INSTALL_PATH}/usr/libexec/netdata/plugins.d/cgroup-network +# Ensure the netdata binary is in fact statically linked +if run readelf -l "${NETDATA_INSTALL_PATH}"/bin/netdata | grep 'INTERP'; then + printf >&2 "Ooops. %s is not a statically linked binary!\n" "${NETDATA_INSTALL_PATH}"/bin/netdata + ldd "${NETDATA_INSTALL_PATH}"/bin/netdata + exit 1 +fi + +if [ ${NETDATA_BUILD_WITH_DEBUG} -eq 0 ]; then + run strip "${NETDATA_INSTALL_PATH}"/bin/netdata + run strip "${NETDATA_INSTALL_PATH}"/usr/libexec/netdata/plugins.d/apps.plugin + run strip "${NETDATA_INSTALL_PATH}"/usr/libexec/netdata/plugins.d/cgroup-network fi |