From 007b3bd10b21d7cc1e25fa0e0f2d46ee85160d50 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 08:47:55 -0700 Subject: [PATCH 01/12] openssl dev for sid --- dockerbuild/Dockerfile.debian-sid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerbuild/Dockerfile.debian-sid b/dockerbuild/Dockerfile.debian-sid index a69b91e2f..3651098d7 100644 --- a/dockerbuild/Dockerfile.debian-sid +++ b/dockerbuild/Dockerfile.debian-sid @@ -4,7 +4,7 @@ ARG go_pkg_url ARG BUILDPLATFORM ARG TARGETPLATFORM -RUN apt-get update && apt-get upgrade -y && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd +RUN apt-get update && apt-get upgrade -y && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd libssl-dev RUN if test "$TARGETPLATFORM" = "linux/mips64le"; then \ apt-get install -y golang; \ else \ From 8b45018f285040c2f17d84279d12ab04469298eb Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 09:39:06 -0700 Subject: [PATCH 02/12] remove ldflag on windows --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 96f13f0f5..ba34f995e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,7 +93,6 @@ if(NOT PACKAGE_STATIC) set(GOFLAGS -a -trimpath - -ldflags '-w' ) if(BUILD_32BIT) From 4968afb89a39f9202f9ed7c5fb7da28a61245b61 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 11:41:09 -0700 Subject: [PATCH 03/12] no 32-bit arm on sid for the time being --- Jenkinsfile | 13 ++++++++++++- dockerbuild/Makefile | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 21e4523d5..89f06b2e2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -367,7 +367,7 @@ def packageStatic() { def buildDebianNative() { def tasks = [:] - def buster = ["debian-buster", /*"debian-stretch",*/ "debian-bullseye", "debian-sid"] + def buster = ["debian-buster", /*"debian-stretch",*/ "debian-bullseye"] def busterArchs = [] if (params.BUILD_ALL) { busterArchs = ["s390x", "ppc64le", "i386", "armhf", "armel", "arm64", "amd64"] @@ -412,6 +412,17 @@ def buildDebianNative() { tasks << getTasks(buster, busterArchs, build) + // 32-bit arm and CMake don't get along right now on Sid + def sid = ["debian-sid"] + def sidArchs = [] + if (params.BUILD_ALL) { + busterArchs = ["s390x", "ppc64le", "i386", /*"armhf", "armel",*/ "arm64", "amd64"] + } else { + busterArchs = ["amd64", "i386"] + } + + tasks << getTasks(sid, sidArchs, build) + // bash is broken when running under QEMU-s390x on Xenial def xenial = ["ubuntu-xenial"] def xenialArchs = [] diff --git a/dockerbuild/Makefile b/dockerbuild/Makefile index d05e258b0..a0c94add7 100644 --- a/dockerbuild/Makefile +++ b/dockerbuild/Makefile @@ -67,8 +67,8 @@ debian-bullseye: debian-sid: docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-amd64 --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-arm64 --load - docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-armel --load - docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-armhf --load + # docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-armel --load + # docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-armhf --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-386.tar.gz" --platform linux/386 -f Dockerfile.debian-sid . -t ztbuild/debian-sid-i386 --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.debian-sid . -t ztbuild/debian-sid-ppc64le --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.debian-sid . -t ztbuild/debian-sid-s390x --load From 39d4fadf90ac3ea63034494c2c0c4a9016ffb0ce Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 11:56:32 -0700 Subject: [PATCH 04/12] add mips64le to debian native build lists --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 89f06b2e2..84c1c4788 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -370,7 +370,7 @@ def buildDebianNative() { def buster = ["debian-buster", /*"debian-stretch",*/ "debian-bullseye"] def busterArchs = [] if (params.BUILD_ALL) { - busterArchs = ["s390x", "ppc64le", "i386", "armhf", "armel", "arm64", "amd64"] + busterArchs = ["s390x", "ppc64le", "i386", "armhf", "armel", "arm64", "amd64", "mips64le"] } else { busterArchs = ["amd64", "i386"] } @@ -416,7 +416,7 @@ def buildDebianNative() { def sid = ["debian-sid"] def sidArchs = [] if (params.BUILD_ALL) { - busterArchs = ["s390x", "ppc64le", "i386", /*"armhf", "armel",*/ "arm64", "amd64"] + busterArchs = ["s390x", "ppc64le", "i386", /*"armhf", "armel",*/ "arm64", "amd64", "mips64le"] } else { busterArchs = ["amd64", "i386"] } From 9aac1fc47f2e5c8642d73fb634b999b16aa5daf1 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 14:52:08 -0700 Subject: [PATCH 05/12] default BUILD_ALL flag to true for now since that's what I"m testing now --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 84c1c4788..74cb0df57 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,7 +5,7 @@ pipeline { timestamps() } parameters { - booleanParam(name: "BUILD_ALL", defaultValue: false, description: "Build all supported platform/architecture combos. Defaults to x86/x64 only") + booleanParam(name: "BUILD_ALL", defaultValue: true, description: "Build all supported platform/architecture combos. Defaults to x86/x64 only") } environment { PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/jenkins-build/go/bin" From c22b0022267cbc36925ee335dcff0c43310d0cd4 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 14:55:01 -0700 Subject: [PATCH 06/12] Looks like we have to turn off bullseye 32-bit ARM too --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 74cb0df57..bac2193a9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -367,7 +367,7 @@ def packageStatic() { def buildDebianNative() { def tasks = [:] - def buster = ["debian-buster", /*"debian-stretch",*/ "debian-bullseye"] + def buster = ["debian-buster" /*, "debian-stretch",*/ ] def busterArchs = [] if (params.BUILD_ALL) { busterArchs = ["s390x", "ppc64le", "i386", "armhf", "armel", "arm64", "amd64", "mips64le"] @@ -412,8 +412,8 @@ def buildDebianNative() { tasks << getTasks(buster, busterArchs, build) - // 32-bit arm and CMake don't get along right now on Sid - def sid = ["debian-sid"] + // 32-bit arm and CMake don't get along right now on Sid/Bullseye + def sid = ["debian-sid", "debian-bullseye"] def sidArchs = [] if (params.BUILD_ALL) { busterArchs = ["s390x", "ppc64le", "i386", /*"armhf", "armel",*/ "arm64", "amd64", "mips64le"] From c0385466e20131faadbbb0d3e76e823029483347 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 15:07:12 -0700 Subject: [PATCH 07/12] no golang packages for buster or stretch on mips64 no mips on stretch at all --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index bac2193a9..465184345 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -370,7 +370,7 @@ def buildDebianNative() { def buster = ["debian-buster" /*, "debian-stretch",*/ ] def busterArchs = [] if (params.BUILD_ALL) { - busterArchs = ["s390x", "ppc64le", "i386", "armhf", "armel", "arm64", "amd64", "mips64le"] + busterArchs = ["s390x", "ppc64le", "i386", "armhf", "armel", "arm64", "amd64"] } else { busterArchs = ["amd64", "i386"] } From f08d20560b7e1864044484a6b62547d1fe978f5c Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 15:15:16 -0700 Subject: [PATCH 08/12] stretch has mips golang 1.11 in backports don't know if it'll work though --- dockerbuild/Dockerfile.debian-stretch | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dockerbuild/Dockerfile.debian-stretch b/dockerbuild/Dockerfile.debian-stretch index 2b0fdb758..206555740 100644 --- a/dockerbuild/Dockerfile.debian-stretch +++ b/dockerbuild/Dockerfile.debian-stretch @@ -7,6 +7,8 @@ ARG TARGETPLATFORM RUN apt-get update && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd libssl-dev RUN if test "$TARGETPLATFORM" = "linux/mips64le"; then \ + cat "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/backports.list; \ + apt-get update; \ apt-get install -y golang; \ else \ curl -s -k $go_pkg_url -o go.tar.gz; \ From d823725eb623644adc13341358ebf6bc6081177a Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 15:23:09 -0700 Subject: [PATCH 09/12] update alpine base image --- dockerbuild/Dockerfile.alpine | 2 +- dockerbuild/Makefile | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dockerbuild/Dockerfile.alpine b/dockerbuild/Dockerfile.alpine index d9e00af4e..0f2614415 100644 --- a/dockerbuild/Dockerfile.alpine +++ b/dockerbuild/Dockerfile.alpine @@ -1,4 +1,4 @@ -FROM alpine:3.11.3 +FROM alpine:3.12.0 ARG go_pkg_url diff --git a/dockerbuild/Makefile b/dockerbuild/Makefile index a0c94add7..03ff4b3bb 100644 --- a/dockerbuild/Makefile +++ b/dockerbuild/Makefile @@ -52,13 +52,13 @@ debian-stretch: docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-386.tar.gz" --platform linux/386 -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-i386 --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-ppc64le --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-s390x --load - docker buildx build --platform linux/mips64le -f Dockerfile.debian-sid . -t ztbuild/debian-sid-mips64le --load + docker buildx build --platform linux/mips64le -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-mips64le --load debian-bullseye: docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-amd64 --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-arm64.tar.gz" --platform linux/arm64 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-arm64 --load - docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-armel --load - docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-armhf --load + # docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-armv6l.tar.gz" --platform linux/arm/v6 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-armel --load + # docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-armv6l.tar.gz" --platform linux/arm/v7 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-armhf --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-386.tar.gz" --platform linux/386 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-i386 --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-ppc64le --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-s390x --load From d569217ff50907b733c220197ed9c82ca6e0288e Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 15:38:21 -0700 Subject: [PATCH 10/12] echo, not cat --- dockerbuild/Dockerfile.debian-stretch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerbuild/Dockerfile.debian-stretch b/dockerbuild/Dockerfile.debian-stretch index 206555740..4bf993d89 100644 --- a/dockerbuild/Dockerfile.debian-stretch +++ b/dockerbuild/Dockerfile.debian-stretch @@ -7,7 +7,7 @@ ARG TARGETPLATFORM RUN apt-get update && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd libssl-dev RUN if test "$TARGETPLATFORM" = "linux/mips64le"; then \ - cat "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/backports.list; \ + echo "deb http://deb.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list; \ apt-get update; \ apt-get install -y golang; \ else \ From 1eea80194b21ebdfcb78876e637bd61891263fe7 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 15:40:10 -0700 Subject: [PATCH 11/12] apparently not in backports as advertised --- dockerbuild/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerbuild/Makefile b/dockerbuild/Makefile index 03ff4b3bb..8a827e8ed 100644 --- a/dockerbuild/Makefile +++ b/dockerbuild/Makefile @@ -52,7 +52,7 @@ debian-stretch: docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-386.tar.gz" --platform linux/386 -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-i386 --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-ppc64le.tar.gz" --platform linux/ppc64le -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-ppc64le --load docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-s390x.tar.gz" --platform linux/s390x -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-s390x --load - docker buildx build --platform linux/mips64le -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-mips64le --load + # docker buildx build --platform linux/mips64le -f Dockerfile.debian-stretch . -t ztbuild/debian-stretch-mips64le --load debian-bullseye: docker buildx build --build-arg go_pkg_url="https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz" --platform linux/amd64 -f Dockerfile.debian-bullseye . -t ztbuild/debian-bullseye-amd64 --load From 917cc5856055631eb38adcab4844be7037024f93 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 25 Jun 2020 18:01:27 -0700 Subject: [PATCH 12/12] Only build problems left are the compiler errors adam has tickets for --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 465184345..c0ba7e1f2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -23,7 +23,7 @@ pipeline { tasks << buildCentosNative() tasks << buildMacOS() tasks << buildWindows() - // tasks << buildFreeBSD() + tasks << buildFreeBSD() parallel tasks } @@ -367,7 +367,7 @@ def packageStatic() { def buildDebianNative() { def tasks = [:] - def buster = ["debian-buster" /*, "debian-stretch",*/ ] + def buster = ["debian-buster" , "debian-stretch"] def busterArchs = [] if (params.BUILD_ALL) { busterArchs = ["s390x", "ppc64le", "i386", "armhf", "armel", "arm64", "amd64"] @@ -438,7 +438,7 @@ def buildDebianNative() { if (params.BUILD_ALL == true) { ubuntuArchs = ["i386", "amd64", "armhf", "arm64", "ppc64le", "s390x"] } else { - ubuntuArchs = ["i386" /*, "amd64"*/] + ubuntuArchs = ["i386", "amd64"] } tasks << getTasks(ubuntu, ubuntuArchs, build)