diff options
Diffstat (limited to '')
-rwxr-xr-x | makeself/jobs/10-prepare-destination.install.sh | 16 | ||||
-rwxr-xr-x | makeself/jobs/50-bash-4.4.install.sh | 47 | ||||
-rwxr-xr-x | makeself/jobs/50-curl-7.53.1.install.sh | 30 | ||||
-rwxr-xr-x | makeself/jobs/50-fping-4.0.install.sh | 25 | ||||
-rwxr-xr-x | makeself/jobs/70-netdata-git.install.sh | 16 | ||||
-rwxr-xr-x | makeself/jobs/99-makeself.install.sh | 121 |
6 files changed, 255 insertions, 0 deletions
diff --git a/makeself/jobs/10-prepare-destination.install.sh b/makeself/jobs/10-prepare-destination.install.sh new file mode 100755 index 00000000..58c8c25f --- /dev/null +++ b/makeself/jobs/10-prepare-destination.install.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +. $(dirname "${0}")/../functions.sh "${@}" || exit 1 + +[ -d "${NETDATA_INSTALL_PATH}.old" ] && run rm -rf "${NETDATA_INSTALL_PATH}.old" +[ -d "${NETDATA_INSTALL_PATH}" ] && run mv -f "${NETDATA_INSTALL_PATH}" "${NETDATA_INSTALL_PATH}.old" + +run mkdir -p "${NETDATA_INSTALL_PATH}/bin" +run mkdir -p "${NETDATA_INSTALL_PATH}/usr" +run cd "${NETDATA_INSTALL_PATH}" +run ln -s bin sbin +run cd "${NETDATA_INSTALL_PATH}/usr" +run ln -s ../bin bin +run ln -s ../sbin sbin +run ln -s . local + diff --git a/makeself/jobs/50-bash-4.4.install.sh b/makeself/jobs/50-bash-4.4.install.sh new file mode 100755 index 00000000..07c84b6d --- /dev/null +++ b/makeself/jobs/50-bash-4.4.install.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +. $(dirname "${0}")/../functions.sh "${@}" || exit 1 + +fetch "bash-4.4" "http://ftp.gnu.org/gnu/bash/bash-4.4.tar.gz" + +run ./configure \ + --prefix=${NETDATA_INSTALL_PATH} \ + --enable-static-link \ + --disable-nls \ + --without-bash-malloc \ +# --disable-rpath \ +# --enable-alias \ +# --enable-arith-for-command \ +# --enable-array-variables \ +# --enable-brace-expansion \ +# --enable-casemod-attributes \ +# --enable-casemod-expansions \ +# --enable-command-timing \ +# --enable-cond-command \ +# --enable-cond-regexp \ +# --enable-directory-stack \ +# --enable-dparen-arithmetic \ +# --enable-function-import \ +# --enable-glob-asciiranges-default \ +# --enable-help-builtin \ +# --enable-job-control \ +# --enable-net-redirections \ +# --enable-process-substitution \ +# --enable-progcomp \ +# --enable-prompt-string-decoding \ +# --enable-readline \ +# --enable-select \ + + +run make clean +run make -j${PROCESSORS} + +cat >examples/loadables/Makefile <<EOF +all: +clean: +install: +EOF + +run make install + +run strip ${NETDATA_INSTALL_PATH}/bin/bash diff --git a/makeself/jobs/50-curl-7.53.1.install.sh b/makeself/jobs/50-curl-7.53.1.install.sh new file mode 100755 index 00000000..0e375a91 --- /dev/null +++ b/makeself/jobs/50-curl-7.53.1.install.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +. $(dirname "${0}")/../functions.sh "${@}" || exit 1 + +fetch "curl-curl-7_53_1" "https://github.com/curl/curl/archive/curl-7_53_1.tar.gz" + +export LDFLAGS="-static" +export PKG_CONFIG="pkg-config --static" + +run ./buildconf + +run ./configure \ + --prefix=${NETDATA_INSTALL_PATH} \ + --enable-optimize \ + --disable-shared \ + --enable-static \ + --enable-http \ + --enable-proxy \ + --enable-ipv6 \ + --enable-cookies \ + ${NULL} + +# Curl autoconf does not honour the curl_LDFLAGS environment variable +run sed -i -e "s/curl_LDFLAGS =/curl_LDFLAGS = -all-static/" src/Makefile + +run make clean +run make -j${PROCESSORS} +run make install + +run strip ${NETDATA_INSTALL_PATH}/bin/curl diff --git a/makeself/jobs/50-fping-4.0.install.sh b/makeself/jobs/50-fping-4.0.install.sh new file mode 100755 index 00000000..dbc91c51 --- /dev/null +++ b/makeself/jobs/50-fping-4.0.install.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +. $(dirname "${0}")/../functions.sh "${@}" || exit 1 + +fetch "fping-4.0" "https://github.com/schweikert/fping/releases/download/v4.0/fping-4.0.tar.gz" + +export CFLAGS="-static" + +run ./configure \ + --prefix=${NETDATA_INSTALL_PATH} \ + --enable-ipv4 \ + --enable-ipv6 \ + ${NULL} + +cat >doc/Makefile <<EOF +all: +clean: +install: +EOF + +run make clean +run make -j${PROCESSORS} +run make install + +run strip ${NETDATA_INSTALL_PATH}/bin/fping diff --git a/makeself/jobs/70-netdata-git.install.sh b/makeself/jobs/70-netdata-git.install.sh new file mode 100755 index 00000000..873830f9 --- /dev/null +++ b/makeself/jobs/70-netdata-git.install.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +. ${NETDATA_MAKESELF_PATH}/functions.sh "${@}" || exit 1 + +cd "${NETDATA_SOURCE_PATH}" || exit 1 + +export CFLAGS="-O3 -static" + +run ./netdata-installer.sh --install "${NETDATA_INSTALL_PARENT}" \ + --dont-wait \ + --dont-start-it \ + ${NULL} + +run strip ${NETDATA_INSTALL_PATH}/bin/netdata +run strip ${NETDATA_INSTALL_PATH}/usr/libexec/netdata/plugins.d/apps.plugin + diff --git a/makeself/jobs/99-makeself.install.sh b/makeself/jobs/99-makeself.install.sh new file mode 100755 index 00000000..465a3195 --- /dev/null +++ b/makeself/jobs/99-makeself.install.sh @@ -0,0 +1,121 @@ +#!/usr/bin/env bash + +. $(dirname "${0}")/../functions.sh "${@}" || exit 1 + + +# ----------------------------------------------------------------------------- +# copy the files needed by makeself installation + +run mkdir -p "${NETDATA_INSTALL_PATH}/system" +run cd "${NETDATA_SOURCE_PATH}" || exit 1 + +cp \ + makeself/post-installer.sh \ + makeself/install-or-update.sh \ + installer/functions.sh \ + configs.signatures \ + system/netdata-init-d \ + system/netdata-lsb \ + system/netdata-openrc \ + system/netdata.logrotate \ + system/netdata.service \ + "${NETDATA_INSTALL_PATH}/system/" + + +# ----------------------------------------------------------------------------- +# create a wrapper to start our netdata with a modified path + +mkdir -p "${NETDATA_INSTALL_PATH}/bin/srv" + +mv "${NETDATA_INSTALL_PATH}/bin/netdata" \ + "${NETDATA_INSTALL_PATH}/bin/srv/netdata" || exit 1 + +cat >"${NETDATA_INSTALL_PATH}/bin/netdata" <<EOF +#!${NETDATA_INSTALL_PATH}/bin/bash +export PATH="${NETDATA_INSTALL_PATH}/bin:\${PATH}" +exec "${NETDATA_INSTALL_PATH}/bin/srv/netdata" "\${@}" +EOF +chmod 755 "${NETDATA_INSTALL_PATH}/bin/netdata" + + +# ----------------------------------------------------------------------------- +# move etc to protect the destination when unpacked + +if [ -d "${NETDATA_INSTALL_PATH}/etc" ] + then + if [ -d "${NETDATA_INSTALL_PATH}/etc.new" ] + then + rm -rf "${NETDATA_INSTALL_PATH}/etc.new" || exit 1 + fi + + mv "${NETDATA_INSTALL_PATH}/etc" \ + "${NETDATA_INSTALL_PATH}/etc.new" || exit 1 +fi + + +# ----------------------------------------------------------------------------- +# remove the links to allow untaring the archive + +rm "${NETDATA_INSTALL_PATH}/sbin" \ + "${NETDATA_INSTALL_PATH}/usr/bin" \ + "${NETDATA_INSTALL_PATH}/usr/sbin" \ + "${NETDATA_INSTALL_PATH}/usr/local" + + +# ----------------------------------------------------------------------------- +# create the makeself archive + +"${NETDATA_MAKESELF_PATH}/makeself.sh" \ + --gzip \ + --complevel 9 \ + --notemp \ + --needroot \ + --target "${NETDATA_INSTALL_PATH}" \ + --header "${NETDATA_MAKESELF_PATH}/makeself-header.sh" \ + --lsm "${NETDATA_MAKESELF_PATH}/makeself.lsm" \ + --license "${NETDATA_MAKESELF_PATH}/makeself-license.txt" \ + --help-header "${NETDATA_MAKESELF_PATH}/makeself-help-header.txt" \ + "${NETDATA_INSTALL_PATH}" \ + "${NETDATA_INSTALL_PATH}.gz.run" \ + "netdata, the real-time performance and health monitoring system" \ + ./system/post-installer.sh \ + ${NULL} + + +# ----------------------------------------------------------------------------- +# copy it to the netdata build dir + +NOWNER="unknown" +ORIGIN="$(git config --get remote.origin.url || echo "unknown")" +if [[ "${ORIGIN}" =~ ^git@github.com:.*/netdata.*$ ]] + then + NOWNER="${ORIGIN/git@github.com:/}" + NOWNER="${NOWNER/\/netdata*/}" + +elif [[ "${ORIGIN}" =~ ^https://github.com/.*/netdata.*$ ]] + then + NOWNER="${ORIGIN/https:\/\/github.com\//}" + NOWNER="${NOWNER/\/netdata*/}" +fi + +# make sure it does not have any slashes in it +NOWNER="${NOWNER//\//_}" + +if [ "${NOWNER}" = "firehol" ] + then + NOWNER= +else + NOWNER="-${NOWNER}" +fi + +VERSION="$(git describe || echo "undefined")" +[ -z "${VERSION}" ] && VERSION="undefined" + +FILE="netdata-${VERSION}-$(uname -m)-$(date +"%Y%m%d-%H%M%S")${NOWNER}.gz.run" + +cp "${NETDATA_INSTALL_PATH}.gz.run" "${FILE}" +echo >&2 "Self-extracting installer copied to '${FILE}'" + +[ -f netdata-latest.gz.run ] && rm netdata-latest.gz.run +ln -s "${FILE}" netdata-latest.gz.run +echo >&2 "Self-extracting installer linked to 'netdata-latest.gz.run'" |