diff --git a/CMakeLists.txt b/CMakeLists.txt index 66c5cad89..a25ea78a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,7 +136,8 @@ endif(WIN32) if ( CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR - CMAKE_SYSTEM_PROCESSOR MATCHES "amd64" + CMAKE_SYSTEM_PROCESSOR MATCHES "amd64" OR + CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64" ) message("++ Adding flags for processor ${CMAKE_SYSTEM_PROCESSOR}") add_compile_options(-maes -mrdrnd -mpclmul -msse -msse2 -mssse3) diff --git a/Jenkinsfile b/Jenkinsfile index fe519f191..8bcd87e02 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -55,6 +55,7 @@ def buildStaticBinaries() { def runtime = docker.image("ztbuild/${distro}-${platform}:latest") runtime.inside { dir("build") { + def cmakeFlags = 'CMAKE_ARGS="-DBUILD_STATIC=1"' if (platform == "i386") { cmakeFlags = 'CMAKE_ARGS="-DBUILD_32BIT=1 -DBUILD_STATIC=1"' @@ -329,6 +330,15 @@ def buildDebianNative() { } tasks << getTasks(ubuntu, ubuntuArchs, build) + def ubuntuFocal = ["ubuntu-focal"] + def ubuntuFocalArchs = [] + if (params.BUILD_ALL == true) { + ubuntuFocalArchs = ["amd64", "armhf", "arm64", "ppc64le", "s390x"] + } else { + ubuntuFocalArchs = ["amd64"] + } + tasks << getTasks(ubuntuFocal, ubuntuFocalArchs, build) + def kali = ["kali-rolling"] def kaliArchs = ["amd64"] tasks << getTasks(kali, kaliArchs, build) @@ -348,7 +358,11 @@ def buildCentosNative() { def runtime = docker.image("ztbuild/${distro}-${arch}:latest") runtime.inside { dir("build") { - sh 'make -j4' + if (distro == 'centos7') { + sh 'source scl_source enable devtoolset-8 llvm-toolset-7 && make' + } else { + sh 'make' + } // sh 'make redhat' // sh "mkdir -p ${distro}" // sh "cp -av `find ~/rpmbuild/ -type f -name \"*.rpm\"` ${distro}/" diff --git a/dockerbuild/Dockerfile.centos7 b/dockerbuild/Dockerfile.centos7 index 751d02c0c..f02bda4e7 100644 --- a/dockerbuild/Dockerfile.centos7 +++ b/dockerbuild/Dockerfile.centos7 @@ -3,7 +3,7 @@ FROM centos:7 ARG go_pkg_url RUN yum install -y epel-release -RUN yum install -y curl git wget openssh-server sudo make development-tools rpmdevtools clang gcc-c++ ruby ruby-devel centos-release-scl devtoolset-8 llvm-toolset-7 && yum clean all +RUN yum install -y curl git wget openssh-server sudo make development-tools rpmdevtools clang gcc-c++ ruby ruby-devel centos-release-scl scl-utils devtoolset-8 llvm-toolset-7 && yum clean all RUN curl -s $go_pkg_url -o go.tar.gz && \ tar -C /usr/local -xzf go.tar.gz && \ diff --git a/dockerbuild/Dockerfile.debian-stretch b/dockerbuild/Dockerfile.debian-stretch index cbc45c148..558a855d1 100644 --- a/dockerbuild/Dockerfile.debian-stretch +++ b/dockerbuild/Dockerfile.debian-stretch @@ -4,13 +4,14 @@ ARG go_pkg_url RUN apt-get update && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd -RUN curl -s -k $go_pkg_url -o go.tar.gz && \ +RUN curl -s -k -L $go_pkg_url -o go.tar.gz && \ tar -C /usr/local -xzf go.tar.gz && \ rm go.tar.gz -RUN curl -s -L https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3.17.3-Linux-x86_64.sh -o cmake.sh && \ - chmod +x cmake.sh && \ - ./cmake.sh --skip-license --exclude-subdir && \ - rm cmake.sh +RUN curl -s -k -L https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3.17.3.tar.gz -o cmake-3.17.3.tar.gz && tar -xzf cmake-3.17.3.tar.gz +WORKDIR /cmake-3.17.3 +RUN ./bootstrap && make && make install +WORKDIR / + RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build RUN chmod 777 /home && mkdir -p /home/jenkins-build && chown jenkins-build:jenkins-build /home/jenkins-build && chmod 777 /home/jenkins-build diff --git a/dockerbuild/Dockerfile.debian-stretch-x64 b/dockerbuild/Dockerfile.debian-stretch-x64 new file mode 100644 index 000000000..cbc45c148 --- /dev/null +++ b/dockerbuild/Dockerfile.debian-stretch-x64 @@ -0,0 +1,18 @@ +FROM debian:stretch-20191224 + +ARG go_pkg_url + +RUN apt-get update && apt-get -y install build-essential curl ca-certificates devscripts dh-systemd + +RUN curl -s -k $go_pkg_url -o go.tar.gz && \ + tar -C /usr/local -xzf go.tar.gz && \ + rm go.tar.gz +RUN curl -s -L https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3.17.3-Linux-x86_64.sh -o cmake.sh && \ + chmod +x cmake.sh && \ + ./cmake.sh --skip-license --exclude-subdir && \ + rm cmake.sh + +RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build +RUN chmod 777 /home && mkdir -p /home/jenkins-build && chown jenkins-build:jenkins-build /home/jenkins-build && chmod 777 /home/jenkins-build +CMD ["/usr/bin/sshd", "-D"] + diff --git a/dockerbuild/Dockerfile.ubuntu-focal b/dockerbuild/Dockerfile.ubuntu-focal new file mode 100644 index 000000000..4cca2cd9e --- /dev/null +++ b/dockerbuild/Dockerfile.ubuntu-focal @@ -0,0 +1,14 @@ +FROM ubuntu:focal-20200423 + +ARG go_pkg_url + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential curl cmake ca-certificates devscripts dh-systemd + +RUN curl -s -k $go_pkg_url -o go.tar.gz && \ + tar -C /usr/local -xzf go.tar.gz && \ + rm go.tar.gz + +RUN groupadd -g 1000 jenkins-build && useradd -u 1000 -g 1000 jenkins-build +RUN chmod 777 /home && mkdir -p /home/jenkins-build && chown jenkins-build:jenkins-build /home/jenkins-build && chmod 777 /home/jenkins-build +CMD ["/usr/bin/sshd", "-D"] + diff --git a/dockerbuild/Makefile b/dockerbuild/Makefile index 47953f289..e566c74dc 100644 --- a/dockerbuild/Makefile +++ b/dockerbuild/Makefile @@ -46,7 +46,7 @@ debian-buster: @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-buster . -t ztbuild/debian-buster-s390x --load debian-stretch: - @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-stretch . -t ztbuild/debian-stretch-amd64 --load + @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-stretch-x64 . -t ztbuild/debian-stretch-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-stretch . -t ztbuild/debian-stretch-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-stretch . -t ztbuild/debian-stretch-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-stretch . -t ztbuild/debian-stretch-armhf --load @@ -72,7 +72,7 @@ debian-sid: @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 -ubuntu: ubuntu-trusty ubuntu-xenial ubuntu-bionic ubuntu-eoan +ubuntu: ubuntu-trusty ubuntu-xenial ubuntu-bionic ubuntu-eoan ubuntu-focal ubuntu-trusty: @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.ubuntu-trusty . -t ztbuild/ubuntu-trusty-amd64 --load @@ -105,6 +105,12 @@ ubuntu-eoan: @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.ubuntu-eoan . -t ztbuild/ubuntu-eoan-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.ubuntu-eoan . -t ztbuild/ubuntu-eoan-s390x --load +ubuntu-focal: + @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.ubuntu-focal . -t ztbuild/ubuntu-focal-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.ubuntu-focal . -t ztbuild/ubuntu-focal-arm64 --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.ubuntu-focal . -t ztbuild/ubuntu-focal-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.ubuntu-focal . -t ztbuild/ubuntu-focal-s390x --load + kali-rolling: @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.kali-rolling . -t ztbuild/kali-rolling-amd64 --load