@cryptotaxi247 / netdata-1 / commits / cd65c4258

Introduce workflow to always update bundled packages (static builds) into their latest release (part1) (#16191)

* Make bundled-packages file as the source of truth for all the bundled packages Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud>

Tasos Katsoulas committed Oct 20, 2023 at 18:01 UTC cd65c4258e0147662f29d53f4f6c371940af8aaf
8 files changed +38 -25
packaging/makeself/bundled-packages new
+16
@@ -0,0 +1,16 @@
1 +# Source of truth for all the packages we bundle in static builds
2 +PACKAGES=("OPENSSL" "CURL" "BASH" "IOPING" "LIBNETFILTER_ACT")
3 +SOURCE_TYPES=("GH_REPO_CLONE" "GH_REPO_CLONE" "DW_TARBALL" "GH_REPO_SOURCE" "DW_TARBALL")
4 +OPENSSL_VERSION="openssl-3.1.3"
5 +OPENSSL_SOURCE="https://github.com/openssl/openssl"
6 +CURL_VERSION="curl-8_4_0"
7 +CURL_SOURCE="https://github.com/curl/curl"
8 +BASH_VERSION="5.1.16"
9 +BASH_ARTIFACT_SOURCE="http://ftp.gnu.org/gnu/bash"
10 +BASH_ARTIFACT_SHA256="5bac17218d3911834520dad13cd1f85ab944e1c09ae1aba55906be1f8192f558"
11 +IOPING_VERSION="1.3"
12 +IOPING_SOURCE="https://github.com/koct9i/ioping"
13 +IOPING_ARTIFACT_SHA256="7aa48e70aaa766bc112dea57ebbe56700626871052380709df3a26f46766e8c8"
14 +LIBNETFILTER_ACT_VERSION="1.0.3"
15 +LIBNETFILTER_ACT_SOURCE="https://www.netfilter.org/projects/libnetfilter_acct/files"
16 +LIBNETFILTER_ACT_ARTIFACT_SHA256="4250ceef3efe2034f4ac05906c3ee427db31b9b0a2df41b2744f4bf79a959a1a"
packaging/makeself/curl.version deleted
-1
@@ -1 +0,0 @@
1 -curl-8_4_0
packaging/makeself/jobs/20-openssl.install.sh
+3 -4
@@ -3,12 +3,11 @@
3
4 # shellcheck source=packaging/makeself/functions.sh
5 . "$(dirname "${0}")/../functions.sh" "${@}" || exit 1
6 -
6 +# Source of truth for all the packages we bundle in static builds
7 +. "$(dirname "${0}")/../bundled-packages"
8 # shellcheck disable=SC2015
9 [ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Building OpenSSL" || true
10
10 -version="$(cat "$(dirname "${0}")/../openssl.version")"
11 -
11 export CFLAGS='-fno-lto -pipe'
12 export LDFLAGS='-static'
13 export PKG_CONFIG="pkg-config --static"
@@ -29,7 +28,7 @@ if [ -d "${cache}" ]; then
28 CACHE_HIT=1
29 else
30 echo "No cached copy of build directory for openssl found, fetching sources instead."
32 - run git clone --branch "${version}" --single-branch --depth 1 https://github.com/openssl/openssl.git "${NETDATA_MAKESELF_PATH}/tmp/openssl"
31 + run git clone --branch "${OPENSSL_VERSION}" --single-branch --depth 1 "${OPENSSL_SOURCE}" "${NETDATA_MAKESELF_PATH}/tmp/openssl"
32 CACHE_HIT=0
33 fi
34
packaging/makeself/jobs/50-bash-5.1.16.install.sh
+5 -5
@@ -3,14 +3,14 @@
3
4 # shellcheck source=packaging/makeself/functions.sh
5 . "$(dirname "${0}")/../functions.sh" "${@}" || exit 1
6 -
7 -version="5.1.16"
6 +# Source of truth for all the packages we bundle in static builds
7 +. "$(dirname "${0}")/../bundled-packages"
8
9 # shellcheck disable=SC2015
10 [ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::building bash" || true
11
12 -fetch "bash-${version}" "http://ftp.gnu.org/gnu/bash/bash-${version}.tar.gz" \
13 - 5bac17218d3911834520dad13cd1f85ab944e1c09ae1aba55906be1f8192f558 bash
12 +fetch "bash-${BASH_VERSION}" "${BASH_ARTIFACT_SOURCE}/bash-${BASH_VERSION}.tar.gz" \
13 + "${BASH_ARTIFACT_SHA256}" bash
14
15 export CFLAGS="-pipe"
16 export PKG_CONFIG_PATH="/openssl-static/lib64/pkgconfig"
@@ -39,7 +39,7 @@ fi
39
40 run make install
41
42 -store_cache bash "${NETDATA_MAKESELF_PATH}/tmp/bash-${version}"
42 +store_cache bash "${NETDATA_MAKESELF_PATH}/tmp/bash-${BASH_VERSION}"
43
44 if [ "${NETDATA_BUILD_WITH_DEBUG}" -eq 0 ]; then
45 run strip "${NETDATA_INSTALL_PATH}"/bin/bash
packaging/makeself/jobs/50-curl.install.sh
+3 -3
@@ -3,8 +3,8 @@
3
4 # shellcheck source=packaging/makeself/functions.sh
5 . "$(dirname "${0}")/../functions.sh" "${@}" || exit 1
6 -
7 -version="$(cat "$(dirname "${0}")/../curl.version")"
6 +# Source of truth for all the packages we bundle in static builds
7 +. "$(dirname "${0}")/../bundled-packages"
8
9 # shellcheck disable=SC2015
10 [ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Building cURL" || true
@@ -21,7 +21,7 @@ if [ -d "${cache}" ]; then
21 CACHE_HIT=1
22 else
23 echo "No cached copy of build directory for curl found, fetching sources instead."
24 - run git clone --branch "${version}" --single-branch --depth 1 'https://github.com/curl/curl.git' "${NETDATA_MAKESELF_PATH}/tmp/curl"
24 + run git clone --branch "${CURL_VERSION}" --single-branch --depth 1 "${CURL_SOURCE}" "${NETDATA_MAKESELF_PATH}/tmp/curl"
25 CACHE_HIT=0
26 fi
27
packaging/makeself/jobs/50-ioping-1.3.install.sh
+5 -5
@@ -3,14 +3,14 @@
3
4 # shellcheck source=packaging/makeself/functions.sh
5 . "$(dirname "${0}")/../functions.sh" "${@}" || exit 1
6 -
7 -version='1.3'
6 +# Source of truth for all the packages we bundle in static builds
7 +. "$(dirname "${0}")/../bundled-packages" || exit 1
8
9 # shellcheck disable=SC2015
10 [ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Building ioping" || true
11
12 -fetch "ioping-${version}" "https://github.com/koct9i/ioping/archive/v${version}.tar.gz" \
13 - 7aa48e70aaa766bc112dea57ebbe56700626871052380709df3a26f46766e8c8 ioping
12 +fetch "ioping-${IOPING_VERSION}" "${IOPING_SOURCE}/archive/refs/tags/v${IOPING_VERSION}.tar.gz" \
13 + "${IOPING_ARTIFACT_SHA256}" ioping
14
15 export CFLAGS="-static -pipe"
16
@@ -22,7 +22,7 @@ fi
22 run mkdir -p "${NETDATA_INSTALL_PATH}"/usr/libexec/netdata/plugins.d/
23 run install -o root -g root -m 4750 ioping "${NETDATA_INSTALL_PATH}"/usr/libexec/netdata/plugins.d/
24
25 -store_cache ioping "${NETDATA_MAKESELF_PATH}/tmp/ioping-${version}"
25 +store_cache ioping "${NETDATA_MAKESELF_PATH}/tmp/ioping-${IOPING_VERSION}"
26
27 if [ "${NETDATA_BUILD_WITH_DEBUG}" -eq 0 ]; then
28 run strip "${NETDATA_INSTALL_PATH}"/usr/libexec/netdata/plugins.d/ioping
packaging/makeself/jobs/50-libnetfilter_acct-1.0.3.install.sh
+6 -6
@@ -2,12 +2,12 @@
2 # SPDX-License-Identifier: GPL-3.0-or-later
3 #
4 # Install the libnetfilter_acct and it's dependency libmnl
5 -#
5 +
6
7 # shellcheck source=packaging/makeself/functions.sh
8 . "$(dirname "${0}")/../functions.sh" "${@}" || exit 1
9 -
10 -version="1.0.3"
9 +# Source of truth for all the packages we bundle in static builds
10 +. "$(dirname "${0}")/../bundled-packages" || exit 1
11
12 # shellcheck disable=SC2015
13 [ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::building libnetfilter_acct" || true
@@ -17,8 +17,8 @@ export LDFLAGS="-static -L/usr/lib -lmnl"
17 export PKG_CONFIG="pkg-config --static"
18 export PKG_CONFIG_PATH="/usr/lib/pkgconfig"
19
20 -fetch "libnetfilter_acct-${version}" "https://www.netfilter.org/projects/libnetfilter_acct/files/libnetfilter_acct-${version}.tar.bz2" \
21 - 4250ceef3efe2034f4ac05906c3ee427db31b9b0a2df41b2744f4bf79a959a1a libnetfilter_acct
20 +fetch "libnetfilter_acct-${LIBNETFILTER_ACT_VERSION}" "${LIBNETFILTER_ACT_SOURCE}/libnetfilter_acct-${LIBNETFILTER_ACT_VERSION}.tar.bz2" \
21 + "${LIBNETFILTER_ACT_ARTIFACT_SHA256}" libnetfilter_acct
22
23
24 if [ "${CACHE_HIT:-0}" -eq 0 ]; then
@@ -32,7 +32,7 @@ fi
32
33 run make install
34
35 -store_cache libnetfilter_acct "${NETDATA_MAKESELF_PATH}/tmp/libnetfilter_acct-${version}"
35 +store_cache libnetfilter_acct "${NETDATA_MAKESELF_PATH}/tmp/libnetfilter_acct-${LIBNETFILTER_ACT_VERSION}"
36
37
38 # shellcheck disable=SC2015
packaging/makeself/openssl.version deleted
-1
@@ -1 +0,0 @@
1 -openssl-3.1.3