Disable automake dependency tracking in our various one-time builds. (#12701)
* Disable automake dependency tracking in our various one-time builds. * Also disable dependency tracking code in package builds.
Austin S. Hemmelgarn committed
Apr 18, 2022 at 14:21 UTC
3f97fe0355dd809939fb5a73fe1e76b86306908f
15 files changed
+25
-17
.github/scripts/build-artifacts.sh
+1
@@ -33,6 +33,7 @@ build_dist() {
33
--with-zlib \
34
--with-math \
35
--with-user=netdata \
36
+ --disable-dependency-tracking \
37
CFLAGS=-O2
38
make dist
39
mv "${BASENAME}.tar.gz" artifacts/
.github/scripts/build-dist.sh
+1
@@ -32,6 +32,7 @@ build_dist() {
32
--with-zlib \
33
--with-math \
34
--with-user=netdata \
35
+ --disable-dependency-tracking \
36
CFLAGS=-O2
37
make dist
38
mv "${BASENAME}.tar.gz" artifacts/
.github/scripts/run_install_with_dist_file.sh
+1
-1
@@ -33,7 +33,7 @@ docker run \
33
-v "${PWD}:/netdata" \
34
-w /netdata \
35
"ubuntu:latest" \
36
- /bin/bash -c "./install-required-packages.sh --dont-wait --non-interactive netdata && apt install wget && ./netdata-installer.sh --dont-wait --require-cloud --disable-telemetry --install /tmp && echo \"Validating netdata instance is running\" && wget -O - 'http://127.0.0.1:19999/api/v1/info' | grep version"
36
+ /bin/bash -c "./install-required-packages.sh --dont-wait --non-interactive netdata && apt install wget && ./netdata-installer.sh --dont-wait --require-cloud --disable-telemetry --install /tmp --one-time-build && echo \"Validating netdata instance is running\" && wget -O - 'http://127.0.0.1:19999/api/v1/info' | grep version"
37
popd || exit 1
38
39
echo "All Done!"
.github/workflows/build.yml
+4
-4
@@ -321,23 +321,23 @@ jobs:
321
id: build-basic
322
run: |
323
docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
324
- /bin/sh -c 'autoreconf -ivf && ./configure && make -j2'
324
+ /bin/sh -c 'autoreconf -ivf && ./configure --disable-dependency-tracking && make -j2'
325
- name: netdata-installer on ${{ matrix.distro }}, disable cloud
326
id: build-no-cloud
327
run: |
328
docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
329
- /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --disable-cloud'
329
+ /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --disable-cloud --one-time-build'
330
- name: netdata-installer on ${{ matrix.distro }}, require cloud
331
id: build-cloud
332
run: |
333
docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
334
- /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --require-cloud'
334
+ /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --require-cloud --one-time-build'
335
- name: netdata-installer on ${{ matrix.distro }}, require cloud, no JSON-C
336
id: build-no-jsonc
337
if: matrix.jsonc_removal != ''
338
run: |
339
docker run --security-opt seccomp=unconfined -w /netdata sha256:${{ steps.load.outputs.image }} \
340
- /bin/sh -c '/rmjsonc.sh && ./netdata-installer.sh --dont-wait --dont-start-it --require-cloud'
340
+ /bin/sh -c '/rmjsonc.sh && ./netdata-installer.sh --dont-wait --dont-start-it --require-cloud --one-time-build'
341
- name: Failure Notification
342
uses: rtCamp/action-slack-notify@v2
343
env:
.github/workflows/checks.yml
+2
-2
@@ -27,7 +27,7 @@ jobs:
27
apk del openssl openssl-dev;
28
apk add libressl libressl-dev;
29
autoreconf -ivf;
30
- ./configure;
30
+ ./configure --disable-dependency-trackiong;
31
make;'
32
clang-checks:
33
name: Clang
@@ -51,7 +51,7 @@ jobs:
51
- name: Prepare environment
52
run: ./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata
53
- name: Build netdata
54
- run: ./netdata-installer.sh --dont-start-it --disable-telemetry --dont-wait --install /tmp/install
54
+ run: ./netdata-installer.sh --dont-start-it --disable-telemetry --dont-wait --install /tmp/install --one-time-build
55
- name: Check that repo is clean
56
run: |
57
git status --porcelain=v1 > /tmp/porcelain
.github/workflows/tests.yml
+1
-1
@@ -57,7 +57,7 @@ jobs:
57
- name: Configure
58
run: |
59
autoreconf -ivf
60
- ./configure --disable-ml
60
+ ./configure --disable-ml --disable-dependency-tracking
61
# XXX: Work-around for bug with libbson-1.0 in Ubuntu 18.04
62
# See: https://bugs.launchpad.net/ubuntu/+source/libmongoc/+bug/1790771
63
# https://jira.mongodb.org/browse/CDRIVER-2818
contrib/debian/rules
+1
-1
@@ -41,7 +41,7 @@ override_dh_auto_configure:
41
autoreconf -ivf
42
dh_auto_configure -- --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib \
43
--libexecdir=/usr/libexec --with-user=netdata --with-math --with-zlib --with-webdir=/var/lib/netdata/www \
44
- $(EBPF_CONFIG)
44
+ --disable-dependency-tracking $(EBPF_CONFIG)
45
46
override_dh_install:
47
cp -v $(BASE_CONFIG) debian/netdata.conf
netdata-installer.sh
+2
-1
@@ -343,6 +343,7 @@ while [ -n "${1}" ]; do
343
"--enable-ebpf") NETDATA_DISABLE_EBPF=0 ;;
344
"--disable-ebpf") NETDATA_DISABLE_EBPF=1 NETDATA_CONFIGURE_OPTIONS="$(echo "${NETDATA_CONFIGURE_OPTIONS%--disable-ebpf)}" | sed 's/$/ --disable-ebpf/g')" ;;
345
"--skip-available-ram-check") SKIP_RAM_CHECK=1 ;;
346
+ "--one-time-build") NETDATA_CONFIGURE_OPTIONS="$(echo "${NETDATA_CONFIGURE_OPTIONS%--disable-dependency-tracking)}" | sed 's/$/ --disable-dependency-tracking/g')" ;;
347
"--disable-cloud")
348
if [ -n "${NETDATA_REQUIRE_CLOUD}" ]; then
349
echo "Cloud explicitly enabled, ignoring --disable-cloud."
@@ -711,7 +712,7 @@ build_judy() {
712
run ${env_cmd} autoheader &&
713
run ${env_cmd} automake --add-missing --force --copy --include-deps &&
714
run ${env_cmd} autoconf &&
714
- run ${env_cmd} ./configure &&
715
+ run ${env_cmd} ./configure --disable-dependency-tracking &&
716
run ${env_cmd} ${make} ${MAKEOPTS} -C src &&
717
run ${env_cmd} ar -r src/libJudy.a src/Judy*/*.o; then
718
cd - > /dev/null || return 1
netdata.spec.in
+2
-1
@@ -272,7 +272,8 @@ autoreconf -ivf
272
--libdir="%{_libdir}" \
273
--with-zlib \
274
--with-math \
275
- --with-user=netdata
275
+ --with-user=netdata \
276
+ --disable-dependency-tracking
277
278
# Build step
279
%{__make} %{?_smp_mflags}
packaging/bundle-judy.sh
+1
-1
@@ -14,7 +14,7 @@ aclocal || exit 1
14
autoheader || exit 1
15
automake --add-missing --force --copy --include-deps || exit 1
16
autoconf || exit 1
17
-./configure || exit 1
17
+./configure --disable-dependncy-tracking || exit 1
18
make -C src || exit 1
19
ar -r src/libJudy.a src/Judy*/*.o || exit 1
20
cd "${OLDPWD}" || exit 1
packaging/docker/Dockerfile
+1
-1
@@ -27,7 +27,7 @@ RUN chmod +x netdata-installer.sh && \
27
cp -rp /deps/* /usr/local/ && \
28
/bin/echo -e "INSTALL_TYPE='oci'\nPREBUILT_ARCH='$(uname -m)'" > ./system/.install-type && \
29
./netdata-installer.sh --dont-wait --dont-start-it --use-system-protobuf ${EXTRA_INSTALL_OPTS} \
30
- "$([ "$RELEASE_CHANNEL" = stable ] && echo --stable-channel)"
30
+ --one-time-build "$([ "$RELEASE_CHANNEL" = stable ] && echo --stable-channel)"
31
32
# files to one directory
33
RUN mkdir -p /app/usr/sbin/ \
packaging/makeself/jobs/50-bash-5.1.16.install.sh
+2
-1
@@ -20,7 +20,8 @@ run ./configure \
20
--enable-array-variables \
21
--disable-progcomp \
22
--disable-profiling \
23
- --disable-nls
23
+ --disable-nls \
24
+ --disable-dependency-tracking
25
26
run make clean
27
run make -j "$(nproc)"
packaging/makeself/jobs/50-curl-7.82.0.install.sh
+2
-1
@@ -37,7 +37,8 @@ run ./configure \
37
--enable-ipv6 \
38
--enable-cookies \
39
--with-ca-fallback \
40
- --with-openssl
40
+ --with-openssl \
41
+ --disable-dependency-tracking
42
43
# Curl autoconf does not honour the curl_LDFLAGS environment variable
44
run sed -i -e "s/LDFLAGS =/LDFLAGS = -all-static/" src/Makefile
packaging/makeself/jobs/50-fping-5.1.install.sh
+2
-1
@@ -17,7 +17,8 @@ export PKG_CONFIG_PATH="/openssl-static/lib/pkgconfig"
17
run ./configure \
18
--prefix="${NETDATA_INSTALL_PATH}" \
19
--enable-ipv4 \
20
- --enable-ipv6
20
+ --enable-ipv6 \
21
+ --disable-dependency-tracking
22
23
cat > doc/Makefile << EOF
24
all:
packaging/makeself/jobs/70-netdata-git.install.sh
+2
-1
@@ -32,7 +32,8 @@ run ./netdata-installer.sh \
32
--dont-start-it \
33
--require-cloud \
34
--use-system-protobuf \
35
- --dont-scrub-cflags-even-though-it-may-break-things
35
+ --dont-scrub-cflags-even-though-it-may-break-things \
36
+ --one-time-build
37
38
# shellcheck disable=SC2015
39
[ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Finishing netdata install" || true