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