From d6d91bac09415ed7f9338c217dc6d7b26614459b Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Thu, 17 Dec 2020 11:31:05 +0100 Subject: [PATCH 1/3] Add 32-bit cross-compiled CI jobs on Debian Buster Since the forced removal of gcc:sid:i386 in 0aacabc6, we lacked a 32-bit environment to build and test BIND 9 in the CI. gcc:buster:amd64cross32 adds an environment to cross-compile BIND 9 to 32-bits on Debian Buster amd64 image with 32-bit BIND 9 dependencies. Commit also adds sanity checks to ensure that compiled objects are not of the build platform triplet type. (cherry picked from commit bfcaa2a8f12bab05cf535ef6d2a701f3d79dd105) --- .gitlab-ci.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4cc6c92321..5f786820b2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -122,6 +122,10 @@ stages: image: "$CI_REGISTRY_IMAGE:debian-buster-amd64" <<: *linux_amd64 +.debian-buster-amd64cross32: &debian_buster_amd64cross32_image + image: "$CI_REGISTRY_IMAGE:debian-buster-amd64cross32" + <<: *linux_amd64 + .debian-sid-amd64: &debian_sid_amd64_image image: "$CI_REGISTRY_IMAGE:debian-sid-amd64" <<: *linux_amd64 @@ -254,6 +258,9 @@ stages: - test -z "${RUN_MAKE_INSTALL}" || make DESTDIR="${INSTALL_PATH}" install - test -z "${RUN_MAKE_INSTALL}" || DESTDIR="${INSTALL_PATH}" sh util/check-make-install - if [[ "${CFLAGS}" == *"-fsanitize=address"* ]]; then ( ! grep -F AddressSanitizer config.log ); fi + - test -z "${CROSS_COMPILATION}" || grep -F -A 1 "checking whether we are cross compiling" config.log | grep -q "result.*yes" + - test -z "${CROSS_COMPILATION}" || file lib/dns/gen | grep -F -q "ELF 64-bit LSB" + - test -z "${CROSS_COMPILATION}" || ( ! git ls-files -z --others --exclude lib/dns/gen | xargs -0 file | grep "ELF 64-bit LSB" ) needs: - job: autoreconf artifacts: true @@ -688,6 +695,33 @@ unit:gcc:buster:amd64: - job: gcc:buster:amd64 artifacts: true +# Jobs for cross-compiled GCC builds on Debian 10 "buster" (amd64) with +# 32-bit libraries + +gcc:buster:amd64cross32: + variables: + BUILD_CC: gcc + BUILD_CFLAGS: "${CFLAGS_COMMON}" + CFLAGS: "${CFLAGS_COMMON}" + CROSS_COMPILATION: 1 + EXTRA_CONFIGURE: "--build=x86_64-linux-gnu --host=i686-linux-gnu --with-libidn2" + <<: *debian_buster_amd64cross32_image + <<: *build_job + +system:gcc:buster:amd64cross32: + <<: *debian_buster_amd64cross32_image + <<: *system_test_job + needs: + - job: gcc:buster:amd64cross32 + artifacts: true + +unit:gcc:buster:amd64cross32: + <<: *debian_buster_amd64cross32_image + <<: *unit_test_job + needs: + - job: gcc:buster:amd64cross32 + artifacts: true + # Jobs for scan-build builds on Debian 10 "buster" (amd64) .scan_build: &scan_build From 4e091cc19cb1e949a8caf65a3c54c7a69ab87dde Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Thu, 15 Jul 2021 11:55:04 +0200 Subject: [PATCH 2/3] Drop gcc:sid:i386 With gcc:buster:amd64cross32, the unmaintained gcc:sid:i386 is not needed anymore. --- .gitlab-ci.yml | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5f786820b2..5cf76771c3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -63,11 +63,6 @@ stages: - linux - amd64 -.linux-i386: &linux_i386 - tags: - - linux - - i386 - .linux-stress-amd64: &linux_stress_amd64 tags: - amd64 @@ -130,10 +125,6 @@ stages: image: "$CI_REGISTRY_IMAGE:debian-sid-amd64" <<: *linux_amd64 -.debian-sid-i386: &debian_sid_i386_image - image: "$CI_REGISTRY_IMAGE:debian-sid-i386" - <<: *linux_i386 - # openSUSE Tumbleweed .tumbleweed-latest-amd64: &tumbleweed_latest_amd64_image @@ -835,30 +826,6 @@ unit:gcc:tarball: - job: gcc:tarball artifacts: true -# Jobs for regular GCC builds on Debian "sid" (i386) - -gcc:sid:i386: - variables: - CC: gcc - CFLAGS: "${CFLAGS_COMMON}" - EXTRA_CONFIGURE: "--with-libidn2 --without-python" - <<: *debian_sid_i386_image - <<: *build_job - -system:gcc:sid:i386: - <<: *debian_sid_i386_image - <<: *system_test_job - needs: - - job: gcc:sid:i386 - artifacts: true - -unit:gcc:sid:i386: - <<: *debian_sid_i386_image - <<: *unit_test_job - needs: - - job: gcc:sid:i386 - artifacts: true - # Jobs for debug GCC builds on openSUSE Tumbleweed (amd64) gcc:tumbleweed:amd64: From 5729bfe7b31d89528060ad767c34b59c4b78add9 Mon Sep 17 00:00:00 2001 From: Michal Nowak Date: Thu, 15 Jul 2021 11:49:17 +0200 Subject: [PATCH 3/3] Drop FreeBSD 13 EXTRA_CONFIGURE variable The FreeBSD 13 EXTRA_CONFIGURE variable contains only the invalid WITH_READLINE_LIBEDIT variable, which slipped in ddf03e while backporting and should not be present at all. --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5cf76771c3..302ceb8673 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1166,7 +1166,6 @@ unit:clang:freebsd12:amd64: clang:freebsd13:amd64: variables: CFLAGS: "${CFLAGS_COMMON}" - EXTRA_CONFIGURE: "${WITH_READLINE_LIBEDIT}" USER: gitlab-runner <<: *freebsd_13_amd64_image <<: *build_job