summaryrefslogtreecommitdiffstats
path: root/packaging/makeself/jobs
diff options
context:
space:
mode:
authorJames Mills <prologic@shortcircuit.net.au>2020-05-26 12:19:27 +1000
committerGitHub <noreply@github.com>2020-05-26 12:19:27 +1000
commita20e8f163fde7d64cbc258b6903230dda651adf9 (patch)
treee39afc950b1740c4853a346eb8a98f3f72f2e1ef /packaging/makeself/jobs
parentb5f5675cb53d4b2f276666b55ef582aa8ba7a574 (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-xpackaging/makeself/jobs/70-netdata-git.install.sh32
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